Skip to content

Commit

Permalink
test(ibex): add newton_01.cpp
Browse files Browse the repository at this point in the history
  • Loading branch information
soonhokong committed May 24, 2016
1 parent cb2fa4e commit 5f22761
Showing 1 changed file with 46 additions and 0 deletions.
46 changes: 46 additions & 0 deletions src/tests/ibex/newton_01.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*********************************************************************
Author: Soonho Kong <soonhok@cs.cmu.edu>
dReal -- Copyright (C) 2013 - 2016, the dReal Team
dReal is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
dReal is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with dReal. If not, see <http://www.gnu.org/licenses/>.
*********************************************************************/

// Related issue: https://github.com/ibex-team/ibex-lib/issues/145

#include <algorithm>
#include <iostream>
#include "ibex/ibex.h"

using ibex::Variable;
using ibex::Function;
using ibex::NumConstraint;
using ibex::CtcFwdBwd;
using ibex::IntervalVector;
using ibex::Interval;
using ibex::ExprSymbol;
using std::cout;
using std::endl;

int main() {
Variable x1,x2;
Function f(x1,x2,ibex::Return(x1 - 1, ibex::asin(x2) - x1));
double init_box[][2]={{1, 1}, {1.570796326794893, 1.570796326794901}};
IntervalVector box(2,init_box);
ibex::CtcNewton newton(f);
cout << "Before: " << box << endl;
newton.contract(box);
cout << "After: " << box << endl;
return 0;
}

0 comments on commit 5f22761

Please sign in to comment.