62 assert(set->scip !=
NULL);
64 if( disp->dispcopy !=
NULL )
67 SCIP_CALL( disp->dispcopy(set->scip, disp) );
100 assert(name !=
NULL);
101 assert(desc !=
NULL);
102 assert(header !=
NULL);
103 assert(dispoutput !=
NULL);
110 (*disp)->dispstatus = dispstatus;
111 (*disp)->dispcopy = dispcopy;
112 (*disp)->dispfree = dispfree;
113 (*disp)->dispinit = dispinit;
114 (*disp)->dispexit = dispexit;
115 (*disp)->dispinitsol = dispinitsol;
116 (*disp)->dispexitsol = dispexitsol;
117 (*disp)->dispoutput = dispoutput;
118 (*disp)->dispdata = dispdata;
119 (*disp)->width = width;
120 (*disp)->priority = priority;
121 (*disp)->position = position;
122 (*disp)->stripline = stripline;
123 (*disp)->initialized =
FALSE;
129 (void)
SCIPsnprintf(paramdesc,
SCIP_MAXSTRLEN,
"display activation status of display column <%s> (0: off, 1: auto, 2:on)", name);
131 (
int*)(&(*disp)->dispstatus),
FALSE, (
int)dispstatus, 0, 2, SCIPparamChgdDispActive,
NULL) );
142 assert(disp !=
NULL);
143 assert(*disp !=
NULL);
144 assert(!(*disp)->initialized);
148 if( (*disp)->dispfree !=
NULL )
150 SCIP_CALL( (*disp)->dispfree(set->scip, *disp) );
167 assert(disp !=
NULL);
176 if( disp->dispinit !=
NULL )
178 SCIP_CALL( disp->dispinit(set->scip, disp) );
191 assert(disp !=
NULL);
200 if( disp->dispexit !=
NULL )
202 SCIP_CALL( disp->dispexit(set->scip, disp) );
215 assert(disp !=
NULL);
219 if( disp->dispinitsol !=
NULL )
221 SCIP_CALL( disp->dispinitsol(set->scip, disp) );
233 assert(disp !=
NULL);
237 if( disp->dispexitsol !=
NULL )
239 SCIP_CALL( disp->dispexitsol(set->scip, disp) );
252 assert(disp !=
NULL);
253 assert(disp->dispoutput !=
NULL);
256 SCIP_CALL( disp->dispoutput(set->scip, disp, file) );
266 assert(disp !=
NULL);
277 assert(disp !=
NULL);
287 assert(disp !=
NULL);
297 assert(disp !=
NULL);
307 assert(disp !=
NULL);
317 assert(disp !=
NULL);
327 assert(disp !=
NULL);
337 assert(disp !=
NULL);
347 assert(disp !=
NULL);
357 assert(disp !=
NULL);
373 assert(set->disp_freq >= -1);
374 assert(set->disp_headerfreq >= -1);
375 assert(stat !=
NULL);
382 && set->disp_freq > 0
383 && (stat->
nnodes % set->disp_freq == 0 || stat->
nnodes == 1)) )
390 if( (set->disp_headerfreq == 0 && stat->
ndisplines == 0)
391 || (set->disp_headerfreq > 0 && stat->
ndisplines % set->disp_headerfreq == 0) )
396 for( i = 0; i <
set->ndisps; ++i )
398 assert(set->disps[i] !=
NULL);
399 if( set->disps[i]->active )
403 fillspace =
set->disps[i]->width - (int)strlen(set->disps[i]->header);
404 for( j = 0; j < (fillspace)/2; ++j )
407 for( j = 0; j < (fillspace+1)/2; ++j )
409 stripline =
set->disps[i]->stripline;
417 for( i = 0; i <
set->ndisps; ++i )
419 assert(set->disps[i] !=
NULL);
420 if( set->disps[i]->active )
425 stripline =
set->disps[i]->stripline;
463 assert(syncstore !=
NULL);
477 for( i = 0; i <
set->ndisps; ++i )
479 width = disps[i]->width;
480 if( disps[i]->stripline )
484 disps[i]->active =
TRUE;
488 disps[i]->active =
FALSE;
492 for( i = 0; i <
set->ndisps; ++i )
496 assert(!disps[i]->
active);
498 width = disps[i]->width;
499 if( disps[i]->stripline )
501 if( totalwidth + width <= set->disp_width && (disps[i]->mode & mode) )
503 disps[i]->active =
TRUE;
526 #define MAXDECPOWER 6 555 for( i = 0; i < width-1; ++i )
560 while( ABS(val) >= maxval && decpower <
MAXDECPOWER )
567 if( width == 2 && val < 0 )
589 #define MAXTIMEPOWER 4 605 else if( val < 10.0 )
618 for( i = 0; i < width-1; ++i )
626 val /= timepowerval[timepower];
628 if(
REALABS(val) + 0.05 < maxval/100 )
633 if( width == 2 && val < 0.0 )
void SCIPdispChgMode(SCIP_DISP *disp, SCIP_DISPMODE mode)
SCIP_RETCODE SCIPdispInit(SCIP_DISP *disp, SCIP_SET *set)
#define SCIP_DECL_DISPINITSOL(x)
struct SCIP_DispData SCIP_DISPDATA
SCIP_RETCODE SCIPdispInitsol(SCIP_DISP *disp, SCIP_SET *set)
SCIP_DISPSTATUS SCIPdispGetStatus(SCIP_DISP *disp)
SCIP_RETCODE SCIPdispAutoActivate(SCIP_SET *set)
data structures for displaying runtime statistics
SCIP_RETCODE SCIPdispPrintLine(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, SCIP_STAT *stat, FILE *file, SCIP_Bool forcedisplay, SCIP_Bool endline)
SCIP_RETCODE SCIPdispOutput(SCIP_DISP *disp, SCIP_SET *set, FILE *file)
SCIP_RETCODE SCIPdispFree(SCIP_DISP **disp, SCIP_SET *set)
void SCIPdispLongint(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_Longint val, int width)
int SCIPdispGetWidth(SCIP_DISP *disp)
enum SCIP_DispMode SCIP_DISPMODE
SCIP_RETCODE SCIPdispExit(SCIP_DISP *disp, SCIP_SET *set)
const SCIP_Real timepowerval[]
int SCIPsnprintf(char *t, int len, const char *s,...)
enum SCIP_Retcode SCIP_RETCODE
int SCIPdispGetPriority(SCIP_DISP *disp)
enum SCIP_VerbLevel SCIP_VERBLEVEL
static GRAPHNODE ** active
const char * SCIPdispGetDesc(SCIP_DISP *disp)
SCIP_RETCODE SCIPdispCreate(SCIP_DISP **disp, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, const char *header, SCIP_DISPSTATUS dispstatus, SCIP_DECL_DISPCOPY((*dispcopy)), SCIP_DECL_DISPFREE((*dispfree)), SCIP_DECL_DISPINIT((*dispinit)), SCIP_DECL_DISPEXIT((*dispexit)), SCIP_DECL_DISPINITSOL((*dispinitsol)), SCIP_DECL_DISPEXITSOL((*dispexitsol)), SCIP_DECL_DISPOUTPUT((*dispoutput)), SCIP_DISPDATA *dispdata, int width, int priority, int position, SCIP_Bool stripline)
SCIP_Longint lastdispnode
#define BMSfreeMemory(ptr)
void SCIPdispInt(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, int val, int width)
#define SCIP_DECL_DISPCOPY(x)
SCIP_RETCODE SCIPdispCopyInclude(SCIP_DISP *disp, SCIP_SET *set)
#define SCIP_DECL_DISPINIT(x)
#define BMSfreeMemoryArray(ptr)
SCIP_Bool SCIPsyncstoreIsInitialized(SCIP_SYNCSTORE *syncstore)
SCIP_RETCODE SCIPdispExitsol(SCIP_DISP *disp, SCIP_SET *set)
SCIP_Bool SCIPdispIsInitialized(SCIP_DISP *disp)
const char * SCIPdispGetHeader(SCIP_DISP *disp)
void SCIPsortPtr(void **ptrarray, SCIP_DECL_SORTPTRCOMP((*ptrcomp)), int len)
internal methods for global SCIP settings
static SCIP_DECL_SORTPTRCOMP(dispComp)
void SCIPdispTime(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, SCIP_Real val, int width)
SCIP_RETCODE SCIPsetAddIntParam(SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
#define BMSduplicateMemoryArray(ptr, source, num)
the function declarations for the synchronization store
public data structures and miscellaneous methods
int SCIPdispGetPosition(SCIP_DISP *disp)
static const char * paramname[]
#define SCIP_DECL_DISPFREE(x)
SCIP_RETCODE SCIPautoselectDisps(SCIP *scip)
SCIP_SYNCSTORE * SCIPgetSyncstore(SCIP *scip)
SCIP_DECL_PARAMCHGD(SCIPparamChgdDispActive)
#define SCIP_DECL_DISPEXITSOL(x)
#define SCIP_DECL_DISPEXIT(x)
void SCIPdispSetData(SCIP_DISP *disp, SCIP_DISPDATA *dispdata)
static const char decpowerchar[]
public methods for message output
SCIP_DISPSTATUS dispstatus
void SCIPmessageFPrintInfo(SCIP_MESSAGEHDLR *messagehdlr, FILE *file, const char *formatstr,...)
enum SCIP_DispStatus SCIP_DISPSTATUS
internal methods for problem statistics
#define BMSallocMemory(ptr)
SCIP_DISPDATA * SCIPdispGetData(SCIP_DISP *disp)
static const char timepowerchar[]
common defines and data types used in all packages of SCIP
#define SCIP_DECL_DISPOUTPUT(x)
struct BMS_BlkMem BMS_BLKMEM
const char * SCIPdispGetName(SCIP_DISP *disp)
internal methods for displaying runtime statistics
memory allocation routines