46 ScipDiffParamSet::allocateMemoty(
49 if( boolParamNamesSize > 0 )
51 boolParamNames =
new char[boolParamNamesSize];
53 if (numBoolParams > 0 )
55 boolParamValues =
new unsigned int[numBoolParams];
57 if (intParamNamesSize > 0 )
59 intParamNames =
new char[intParamNamesSize];
61 if( numIntParams > 0 )
63 intParamValues =
new int[numIntParams];
65 if( longintParamNamesSize > 0 )
67 longintParamNames =
new char[longintParamNamesSize];
69 if( numLongintParams > 0 )
71 longintParamValues =
new long long[numLongintParams];
73 if( realParamNamesSize > 0 )
75 realParamNames =
new char[realParamNamesSize];
79 realParamValues =
new double[numRealParams];
81 if( charParamNamesSize > 0 )
83 charParamNames =
new char[charParamNamesSize];
85 if( numCharParams > 0 )
87 charParamValues =
new char[numCharParams];
89 if( stringParamNamesSize > 0 )
91 stringParamNames =
new char[stringParamNamesSize];
93 if( stringParamValuesSize > 0 )
95 stringParamValues =
new char[stringParamValuesSize];
100 ScipDiffParamSet::ScipDiffParamSet(
103 : numBoolParams(0), boolParamNamesSize(0), boolParamNames(0), boolParamValues(0),
104 numIntParams(0), intParamNamesSize(0), intParamNames(0), intParamValues(0),
105 numLongintParams(0), longintParamNamesSize(0), longintParamNames(0), longintParamValues(0),
106 numRealParams(0), realParamNamesSize(0), realParamNames(0), realParamValues(0),
107 numCharParams(0), charParamNamesSize(0), charParamNames(0), charParamValues(0),
108 numStringParams(0), stringParamNamesSize(0), stringParamNames(0), stringParamValuesSize(0), stringParamValues(0)
111 int nParams = SCIPgetNParams (scip);
112 SCIP_PARAM **params = SCIPgetParams (scip);
115 for(
int i = 0; i < nParams; i++ )
117 if( !SCIPparamIsDefault (params[i]) )
119 switch (SCIPparamGetType (params[i]))
121 case SCIP_PARAMTYPE_BOOL:
125 case SCIP_PARAMTYPE_INT:
129 case SCIP_PARAMTYPE_LONGINT:
133 case SCIP_PARAMTYPE_REAL:
137 case SCIP_PARAMTYPE_CHAR:
141 case SCIP_PARAMTYPE_STRING:
169 for(
int i = 0; i < nParams; i++ )
171 if( !SCIPparamIsDefault (params[i]) )
173 switch (SCIPparamGetType (params[i]))
175 case SCIP_PARAMTYPE_BOOL:
176 strcpy(boolName, SCIPparamGetName(params[i]));
178 boolName += ( strlen(SCIPparamGetName(params[i]) ) + 1 );
181 case SCIP_PARAMTYPE_INT:
182 strcpy(intName, SCIPparamGetName(params[i]));
184 intName += ( strlen( SCIPparamGetName(params[i]) ) + 1 );
187 case SCIP_PARAMTYPE_LONGINT:
188 strcpy(longintName, SCIPparamGetName(params[i]));
190 longintName += ( strlen( SCIPparamGetName(params[i]) ) + 1 );
193 case SCIP_PARAMTYPE_REAL:
194 strcpy(realName, SCIPparamGetName(params[i]));
196 realName += ( strlen( SCIPparamGetName(params[i]) ) + 1 );
199 case SCIP_PARAMTYPE_CHAR:
200 strcpy(charName, SCIPparamGetName(params[i]));
202 charName += ( strlen( SCIPparamGetName(params[i]) ) + 1 );
205 case SCIP_PARAMTYPE_STRING:
206 strcpy( stringName, SCIPparamGetName(params[i]) );
207 strcpy( stringValue, SCIPparamGetString(params[i]) );
208 stringName += ( strlen( SCIPparamGetName(params[i]) ) + 1 );
209 stringValue += ( strlen( SCIPparamGetString(params[i]) ) + 1 );
246 paramName += ( strlen(paramName) + 1 );
257 paramName += ( strlen(paramName) + 1 );
268 paramName += ( strlen(paramName) + 1 );
279 paramName += ( strlen(paramName) + 1 );
290 paramName += ( strlen(paramName) + 1 );
300 SCIPsetStringParam(scip, paramName, paramValue)
302 paramName += ( strlen(paramName) + 1 );
303 paramValue += ( strlen(paramValue) + 1 );
315 std::ostringstream s;
323 s << paramName <<
" = ";
333 paramName += strlen(paramName) + 1;
342 paramName += strlen(paramName) + 1;
351 paramName += strlen(paramName) + 1;
360 paramName += strlen(paramName) + 1;
369 paramName += strlen(paramName) + 1;
378 s << paramName <<
" = \"" << paramValue <<
"\"" << std::endl;
379 paramName += strlen(paramName) + 1;
380 paramValue += strlen(paramValue) + 1;
389 ScipDiffParamSet::write(
390 gzstream::ogzstream &out
396 if( numBoolParams > 0 )
409 if( numIntParams > 0 )
422 if( numLongintParams > 0 )
434 if( numRealParams > 0 )
447 if( numCharParams > 0 )
460 if( numStringParams > 0 )
471 gzstream::igzstream &in
476 if( in.eof() )
return false;
478 if( numBoolParams > 0 )
492 if( numIntParams > 0 )
506 if( numLongintParams > 0 )
520 if( numRealParams > 0 )
534 if( numCharParams > 0 )
549 if( numStringParams > 0 )
size_t charParamNamesSize
unsigned int * boolParamValues
static ScipParaCommTh * comm
void setParametersInScip(SCIP *scip)
size_t stringParamValuesSize
size_t longintParamNamesSize
size_t boolParamNamesSize
SCIP parameter set to be transferred ( Only keep difference between default settings )...
#define THROW_LOGICAL_ERROR2(msg1, msg2)
void read(ParaComm *comm, const char *filename)
read ParaParams from file
size_t stringParamNamesSize
long long * longintParamValues
size_t realParamNamesSize
Base class of communicator object.