MCPcopy Create free account
hub / github.com/Gecode/gecode / initfg

Function initfg

gecode/flatzinc/parser.tab.cpp:302–497  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

300 */
301
302void initfg(ParserState* pp) {
303 if (!pp->hadError)
304 pp->fg->init(pp->intvars.size(),
305 pp->boolvars.size(),
306 pp->setvars.size(),
307 pp->floatvars.size());
308
309 for (unsigned int i=0; i<pp->intvars.size(); i++) {
310 if (!pp->hadError) {
311 try {
312 pp->fg->newIntVar(static_cast<IntVarSpec*>(pp->intvars[i].second));
313 } catch (Gecode::FlatZinc::Error& e) {
314 yyerror(pp, e.toString().c_str());
315 }
316 }
317 delete pp->intvars[i].second;
318 pp->intvars[i].second = NULL;
319 }
320 for (unsigned int i=0; i<pp->boolvars.size(); i++) {
321 if (!pp->hadError) {
322 try {
323 pp->fg->newBoolVar(
324 static_cast<BoolVarSpec*>(pp->boolvars[i].second));
325 } catch (Gecode::FlatZinc::Error& e) {
326 yyerror(pp, e.toString().c_str());
327 }
328 }
329 delete pp->boolvars[i].second;
330 pp->boolvars[i].second = NULL;
331 }
332 for (unsigned int i=0; i<pp->setvars.size(); i++) {
333 if (!pp->hadError) {
334 try {
335 pp->fg->newSetVar(static_cast<SetVarSpec*>(pp->setvars[i].second));
336 } catch (Gecode::FlatZinc::Error& e) {
337 yyerror(pp, e.toString().c_str());
338 }
339 }
340 delete pp->setvars[i].second;
341 pp->setvars[i].second = NULL;
342 }
343 for (unsigned int i=0; i<pp->floatvars.size(); i++) {
344 if (!pp->hadError) {
345 try {
346 pp->fg->newFloatVar(
347 static_cast<FloatVarSpec*>(pp->floatvars[i].second));
348 } catch (Gecode::FlatZinc::Error& e) {
349 yyerror(pp, e.toString().c_str());
350 }
351 }
352 delete pp->floatvars[i].second;
353 pp->floatvars[i].second = NULL;
354 }
355 if (!pp->hadError) {
356 int iv_size = pp->sol_int.size() * 2;
357 iv_size += pp->last_val_int.size();
358 iv_size += pp->uniform_int.size();
359 iv_size += (pp->status_idx >= 0) ? 1 : 0;

Callers 1

yyparseFunction · 0.85

Calls 14

yyerrorFunction · 0.85
newIntVarMethod · 0.80
toStringMethod · 0.80
newBoolVarMethod · 0.80
newSetVarMethod · 0.80
newFloatVarMethod · 0.80
postConstraintsMethod · 0.80
IntVarArrayClass · 0.50
postFunction · 0.50
BoolVarArrayClass · 0.50
SetVarArrayClass · 0.50
FloatVarArrayClass · 0.50

Tested by

no test coverage detected