MCPcopy Create free account
hub / github.com/NeuralNetworkVerification/Marabou / saveQuery

Method saveQuery

src/engine/InputQuery.cpp:436–532  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

434}
435
436void InputQuery::saveQuery( const String &fileName )
437{
438 AutoFile queryFile( fileName );
439 queryFile->open( IFile::MODE_WRITE_TRUNCATE );
440
441 // Number of Variables
442 queryFile->write( Stringf( "%u\n", _numberOfVariables ) );
443
444 // Number of Bounds
445 queryFile->write( Stringf( "%u\n", _lowerBounds.size() ) );
446 queryFile->write( Stringf( "%u\n", _upperBounds.size() ) );
447
448 // Number of Equations
449 queryFile->write( Stringf( "%u\n", _equations.size() ) );
450
451 // Number of Non-linear Constraints
452 queryFile->write( Stringf( "%u", _plConstraints.size() + _nlConstraints.size() ) );
453
454 printf( "Number of variables: %u\n", _numberOfVariables );
455 printf( "Number of lower bounds: %u\n", _lowerBounds.size() );
456 printf( "Number of upper bounds: %u\n", _upperBounds.size() );
457 printf( "Number of equations: %u\n", _equations.size() );
458 printf( "Number of non-linear constraints: %u\n",
459 _plConstraints.size() + _nlConstraints.size() );
460
461 // Number of Input Variables
462 queryFile->write( Stringf( "\n%u", getNumInputVariables() ) );
463
464 // Input Variables
465 unsigned i = 0;
466 for ( const auto &inVar : getInputVariables() )
467 {
468 queryFile->write( Stringf( "\n%u,%u", i, inVar ) );
469 ++i;
470 }
471 ASSERT( i == getNumInputVariables() );
472
473 // Number of Output Variables
474 queryFile->write( Stringf( "\n%u", getNumOutputVariables() ) );
475
476 // Output Variables
477 i = 0;
478 for ( const auto &outVar : getOutputVariables() )
479 {
480 queryFile->write( Stringf( "\n%u,%u", i, outVar ) );
481 ++i;
482 }
483 ASSERT( i == getNumOutputVariables() );
484
485 // Lower Bounds
486 for ( const auto &lb : _lowerBounds )
487 queryFile->write( Stringf( "\n%d,%.10f", lb.first, lb.second ) );
488
489 // Upper Bounds
490 for ( const auto &ub : _upperBounds )
491 queryFile->write( Stringf( "\n%d,%.10f", ub.first, ub.second ) );
492
493 // Equations

Callers 6

mainFunction · 0.45
test_load_queryMethod · 0.45
runMethod · 0.45
prepareInputQueryMethod · 0.45
test_save_queryMethod · 0.45

Calls 6

StringfClass · 0.85
openMethod · 0.45
writeMethod · 0.45
sizeMethod · 0.45
serializeToStringMethod · 0.45
closeMethod · 0.45

Tested by 2

test_load_queryMethod · 0.36
test_save_queryMethod · 0.36