assert(readerdata !=
NULL);
111assert( vars !=
NULL);
113assert( nvars !=
NULL);
114assert( constant !=
NULL);
120 if( requiredsize > *nvars )
126assert( requiredsize <= *nvars );
131 for( v = 0; v < *nvars; ++v )
146assert( linebuffer !=
NULL);
147assert( linecnt !=
NULL);
150linebuffer[0] =
'\0';
164assert( linebuffer !=
NULL);
165assert( linecnt !=
NULL);
167 if( (*linecnt) > 0 )
169linebuffer[(*linecnt)] =
'\0';
171 if(readerdata->rgb_ascii)
187 const char* extension
191assert( linebuffer !=
NULL);
192assert( linecnt !=
NULL);
193assert( extension !=
NULL);
196 endLine(
scip, file, readerdata, linebuffer, linecnt);
199(void) strncat(linebuffer, extension,
PPM_MAX_LINELEN- (
unsigned int)(*linecnt) - 1);
200(*linecnt) += (int) strlen(extension);
219assert(readerdata !=
NULL);
220assert(readerdata->rgb_limit >= 0);
225 if( !(readerdata->rgb_relative) )
228(*blue) = readerdata->rgb_limit - (int) (
unsigned short) (coef/scale * readerdata->rgb_limit);
236 if( coeflog >= readerdata->coef_limit )
243(*blue) = readerdata->rgb_limit - (int) (
unsigned short) (readerdata->rgb_limit * coeflog/readerdata->coef_limit);
250coeflog = -1.0*coeflog;
251 if( coeflog >= readerdata->coef_limit )
258(*red) = (readerdata->rgb_limit) - (
int) (
unsignedshort) ((readerdata->rgb_limit)*coeflog/(readerdata->coef_limit));
295 const unsigned charmax = (
unsignedchar)255;
300assert (readerdata !=
NULL);
306(void)
SCIPsnprintf(white, 4,
"%c%c%c", max, max, max);
310 for( v = 0; v < nvars; ++v )
315assert(maxvarindex < ntotalvars);
318 for(v = 0; v < nvars; ++v)
320actvarindex = maxvarindex;
321 for(j = 0; j < nvars; ++j)
329varindex = actvarindex;
332 for( ; i < varindex; ++i )
334 if(readerdata->rgb_ascii)
335 appendLine(
scip, file, readerdata, linebuffer, &linecnt, white);
337 appendLine(
scip, file, readerdata, linebuffer, &linecnt,
" 255 255 255 ");
341 if( readerdata->rgb_ascii )
343 if( red == 35 || red == 0 )
345 if( green==35 || green == 0 )
347 if( blue==35 || blue == 0 )
354 appendLine(
scip, file, readerdata, linebuffer, &linecnt, buffer);
359 for( ; i < ntotalvars; ++i )
361 if(readerdata->rgb_ascii)
362 appendLine(
scip, file, readerdata, linebuffer, &linecnt, white);
364 appendLine(
scip, file, readerdata, linebuffer, &linecnt,
" 255 255 255 ");
367 endLine(
scip, file, readerdata, linebuffer, &linecnt);
393assert( vars !=
NULL);
395assert( readerdata !=
NULL);
408 for( v = 0; v < nactivevars; ++v )
415 if( ! readerdata->rgb_relative )
419 for(v = 0; v < nactivevars; ++v)
421 if(
REALABS(activevals[v]) > *maxcoef)
422*maxcoef =
REALABS(activevals[v]);
427assert (*maxcoef > 0);
429 printRow(
scip, file, readerdata, activevars, activevals, nactivevars, ncompletevars, *maxcoef);
435 printRow(
scip, file, readerdata, activevars, activevals, nactivevars, ncompletevars, *maxcoef);
455assert(reader !=
NULL);
472assert(readerdata !=
NULL);
487assert(readerdata !=
NULL);
513assert(reader !=
NULL);
522 "reading/ppmreader/rgbrelativ",
"should the coloring values be relativ or absolute",
525 "reading/ppmreader/rgbascii",
"should the output format be binary(P6) (otherwise plain(P3) format)",
528 "reading/ppmreader/coefficientlimit",
529 "splitting coefficients in this number of intervals",
532 "reading/ppmreader/rgblimit",
533 "maximal color value",
562 const char* conshdlrname;
573assert(readerdata !=
NULL);
574assert(vars !=
NULL);
577 if(readerdata->rgb_ascii)
587 if( ! readerdata->rgb_relative )
590 for(i = 0; i < i_max; ++i)
598 for(c = 0; c < nconss; ++c)
601assert( cons !=
NULL);
607assert( conshdlr !=
NULL);
612 if( strcmp(conshdlrname,
"linear") == 0 )
616assert( consvars !=
NULL|| nconsvars == 0 );
621nconsvars, nvars, transformed, &maxcoef, printbool) );
624 else if( strcmp(conshdlrname,
"setppc") == 0 )
628assert( consvars !=
NULL|| nconsvars == 0 );
633nconsvars, nvars, transformed, &maxcoef, printbool) );
636 else if( strcmp(conshdlrname,
"logicor") == 0 )
640assert( consvars !=
NULL|| nconsvars == 0 );
645nconsvars, nvars, transformed, &maxcoef, printbool) );
648 else if( strcmp(conshdlrname,
"knapsack") == 0 )
654assert( consvars !=
NULL|| nconsvars == 0 );
659 for( v = 0; v < nconsvars; ++v )
669 else if( strcmp(conshdlrname,
"varbound") == 0 )
Constraint handler for knapsack constraints of the form , x binary and .
Constraint handler for linear constraints in their most general form, .
Constraint handler for logicor constraints (equivalent to set covering, but algorithms are suited fo...
Constraint handler for the set partitioning / packing / covering constraints .
Constraint handler for variable bound constraints .
int SCIPgetNVarsKnapsack(SCIP *scip, SCIP_CONS *cons)
SCIP_Real SCIPgetVbdcoefVarbound(SCIP *scip, SCIP_CONS *cons)
int SCIPgetNVarsLogicor(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR ** SCIPgetVarsLinear(SCIP *scip, SCIP_CONS *cons)
int SCIPgetNVarsLinear(SCIP *scip, SCIP_CONS *cons)
SCIP_Real * SCIPgetValsLinear(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR * SCIPgetVbdvarVarbound(SCIP *scip, SCIP_CONS *cons)
int SCIPgetNVarsSetppc(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR ** SCIPgetVarsSetppc(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR * SCIPgetVarVarbound(SCIP *scip, SCIP_CONS *cons)
SCIP_Longint * SCIPgetWeightsKnapsack(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR ** SCIPgetVarsLogicor(SCIP *scip, SCIP_CONS *cons)
SCIP_VAR ** SCIPgetVarsKnapsack(SCIP *scip, SCIP_CONS *cons)
SCIP_RETCODE SCIPwritePpm(SCIP *scip, FILE *file, const char *name, SCIP_READERDATA *readerdata, SCIP_Bool transformed, SCIP_VAR **vars, int nvars, SCIP_CONS **conss, int nconss, SCIP_RESULT *result)
SCIP_RETCODE SCIPincludeReaderPpm(SCIP *scip)
void SCIPinfoMessage(SCIP *scip, FILE *file, const char *formatstr,...)
#define SCIPdebugMsgPrint
void SCIPwarningMessage(SCIP *scip, const char *formatstr,...)
SCIP_RETCODE SCIPaddIntParam(SCIP *scip, const char *name, const char *desc, int *valueptr, SCIP_Bool isadvanced, int defaultvalue, int minvalue, int maxvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
SCIP_RETCODE SCIPaddBoolParam(SCIP *scip, const char *name, const char *desc, SCIP_Bool *valueptr, SCIP_Bool isadvanced, SCIP_Bool defaultvalue, SCIP_DECL_PARAMCHGD((*paramchgd)), SCIP_PARAMDATA *paramdata)
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
SCIP_CONSHDLR * SCIPconsGetHdlr(SCIP_CONS *cons)
SCIP_RETCODE SCIPprintCons(SCIP *scip, SCIP_CONS *cons, FILE *file)
SCIP_Bool SCIPconsIsTransformed(SCIP_CONS *cons)
SCIP_Bool SCIPconsIsEnabled(SCIP_CONS *cons)
#define SCIPallocBufferArray(scip, ptr, num)
#define SCIPreallocBufferArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPduplicateBufferArray(scip, ptr, source, num)
#define SCIPfreeBlockMemory(scip, ptr)
#define SCIPallocBlockMemory(scip, ptr)
SCIP_RETCODE SCIPincludeReaderBasic(SCIP *scip, SCIP_READER **readerptr, const char *name, const char *desc, const char *extension, SCIP_READERDATA *readerdata)
SCIP_RETCODE SCIPsetReaderCopy(SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERCOPY((*readercopy)))
SCIP_READERDATA * SCIPreaderGetData(SCIP_READER *reader)
SCIP_RETCODE SCIPsetReaderFree(SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERFREE((*readerfree)))
const char * SCIPreaderGetName(SCIP_READER *reader)
SCIP_RETCODE SCIPsetReaderWrite(SCIP *scip, SCIP_READER *reader, SCIP_DECL_READERWRITE((*readerwrite)))
SCIP_Real SCIPfloor(SCIP *scip, SCIP_Real val)
SCIP_RETCODE SCIPgetProbvarLinearSum(SCIP *scip, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, int varssize, SCIP_Real *constant, int *requiredsize, SCIP_Bool mergemultiples)
SCIP_RETCODE SCIPvarGetOrigvarSum(SCIP_VAR **var, SCIP_Real *scalar, SCIP_Real *constant)
int SCIPvarGetProbindex(SCIP_VAR *var)
int SCIPsnprintf(char *t, int len, const char *s,...)
static const SCIP_Real scalars[]
memory allocation routines
public methods for managing constraints
public methods for message output
public data structures and miscellaneous methods
public methods for input file readers
public methods for problem variables
#define DEFAULT_PPM_COEF_LIMIT
static SCIP_DECL_READERCOPY(readerCopyPpm)
static void clearLine(char *linebuffer, int *linecnt)
static void endLine(SCIP *scip, FILE *file, SCIP_READERDATA *readerdata, char *linebuffer, int *linecnt)
static void initReaderdata(SCIP_READERDATA *readerdata)
static SCIP_RETCODE getActiveVariables(SCIP *scip, SCIP_VAR **vars, SCIP_Real *scalars, int *nvars, SCIP_Real *constant, SCIP_Bool transformed)
static void appendLine(SCIP *scip, FILE *file, SCIP_READERDATA *readerdata, char *linebuffer, int *linecnt, const char *extension)
#define DEFAULT_PPM_RGB_LIMIT
#define DEFAULT_PPM_RGB_ASCII
#define DEFAULT_PPM_RGB_RELATIVE
static void printRow(SCIP *scip, FILE *file, SCIP_READERDATA *readerdata, SCIP_VAR **vars, SCIP_Real *vals, int nvars, int ntotalvars, SCIP_Real maxcoef)
static void calcColorValue(SCIP *scip, SCIP_READERDATA *readerdata, SCIP_Real coef, int *red, int *green, int *blue, SCIP_Real scale)
static SCIP_DECL_READERFREE(readerFreePpm)
static SCIP_RETCODE printLinearCons(SCIP *scip, FILE *file, SCIP_READERDATA *readerdata, SCIP_VAR **vars, SCIP_Real *vals, int nvars, int ncompletevars, SCIP_Bool transformed, SCIP_Real *maxcoef, SCIP_Bool printbool)
static SCIP_DECL_READERWRITE(readerWritePpm)
file writer for portable pixmap file format (PPM), open with common graphic viewer programs (e....
public methods for constraint handler plugins and constraints
public methods for memory management
public methods for message handling
public methods for numerical tolerances
public methods for SCIP parameter handling
public methods for reader plugins
public methods for SCIP variables
struct SCIP_ReaderData SCIP_READERDATA
enum SCIP_Result SCIP_RESULT
enum SCIP_Retcode SCIP_RETCODE
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4