ABC: A System for Sequential Synthesis and Verification
 
Loading...
Searching...
No Matches
msatSort.c File Reference
#include "msatInt.h"
Include dependency graph for msatSort.c:

Go to the source code of this file.

Functions

void Msat_SolverSortDB (Msat_Solver_t *p)
 FUNCTION DEFINITIONS ///.
 
void Msat_SolverSortSelection (Msat_Clause_t **array, int size)
 

Function Documentation

◆ Msat_SolverSortDB()

void Msat_SolverSortDB ( Msat_Solver_t * p)

FUNCTION DEFINITIONS ///.

Function*************************************************************

Synopsis [Msat_SolverSort the learned clauses in the increasing order of activity.]

Description []

SideEffects []

SeeAlso []

Definition at line 61 of file msatSort.c.

62{
63 Msat_ClauseVec_t * pVecClauses;
64 Msat_Clause_t ** pLearned;
65 int nLearned;
66 // read the parameters
67 pVecClauses = Msat_SolverReadLearned( p );
68 nLearned = Msat_ClauseVecReadSize( pVecClauses );
69 pLearned = Msat_ClauseVecReadArray( pVecClauses );
70 // Msat_SolverSort the array
71// qMsat_SolverSort( (void *)pLearned, nLearned, sizeof(Msat_Clause_t *),
72// (int (*)(const void *, const void *)) Msat_SolverSortCompare );
73// printf( "Msat_SolverSorting.\n" );
74 Msat_SolverSort( pLearned, nLearned, 91648253 );
75/*
76 if ( nLearned > 2 )
77 {
78 printf( "Clause 1: %0.20f\n", Msat_ClauseReadActivity(pLearned[0]) );
79 printf( "Clause 2: %0.20f\n", Msat_ClauseReadActivity(pLearned[1]) );
80 printf( "Clause 3: %0.20f\n", Msat_ClauseReadActivity(pLearned[2]) );
81 }
82*/
83}
Cube * p
Definition exorList.c:222
int Msat_ClauseVecReadSize(Msat_ClauseVec_t *p)
Msat_Clause_t ** Msat_ClauseVecReadArray(Msat_ClauseVec_t *p)
typedefABC_NAMESPACE_HEADER_START struct Msat_Clause_t_ Msat_Clause_t
INCLUDES ///.
Definition msatInt.h:57
Msat_ClauseVec_t * Msat_SolverReadLearned(Msat_Solver_t *p)
struct Msat_ClauseVec_t_ Msat_ClauseVec_t
Definition msat.h:46
Here is the call graph for this function:

◆ Msat_SolverSortSelection()

void Msat_SolverSortSelection ( Msat_Clause_t ** array,
int size )

Function*************************************************************

Synopsis [Selection sort for small array size.]

Description []

SideEffects []

SeeAlso []

Definition at line 119 of file msatSort.c.

120{
121 Msat_Clause_t * tmp;
122 int i, j, best_i;
123 for ( i = 0; i < size-1; i++ )
124 {
125 best_i = i;
126 for (j = i+1; j < size; j++)
127 {
128 if ( Msat_ClauseReadActivity(array[j]) < Msat_ClauseReadActivity(array[best_i]) )
129 best_i = j;
130 }
131 tmp = array[i]; array[i] = array[best_i]; array[best_i] = tmp;
132 }
133}
float Msat_ClauseReadActivity(Msat_Clause_t *pC)
Definition msatClause.c:295
unsigned long long size
Definition giaNewBdd.h:39
Here is the call graph for this function: