Developer documentation

solver_uv_test.cpp
#include <iostream>
#include <iomanip>
#include <realroot/GMP.hpp>
using namespace mmx;
int main(int argc, char** argv)
{
typedef GMP::integer integer;
typedef GMP::rational rational;
upol_t p("x^2+3*x-1");
std::cout <<"p: "<<p<< std::endl;
std::cout <<std::setprecision(16);
std::cout << "Sleeve double: " << std::endl;
std::cout << solve(p,Sleeve<Isolate>())<<std::endl;
std::cout << solve(p,Sleeve<Approximate>())<<std::endl;
// std::cout << "*********************" << std::endl;
Poly f( "x^10+21*x^5+3*x^2-1"), g("x^2-2*x-3");
f = f + Poly( "-3*x");
std::cout << "f: " << f << std::endl;
std::cout << "Sleeve Integer: " << std::endl;
std::cout << solve(g,Sleeve<Approximate>())<<std::endl;
// std::cout << solve(g,ContFrac<Approximate>())<<std::endl;
std::cout << solve(f,Sleeve<Isolate>())<<std::endl;
std::cout << solve(f,Sleeve<Approximate>())<<std::endl;
std::cout << solve(f,Sleeve<Approximate>(),-1.,0.)<<std::endl;
std::cout << "ContFrac: " << std::endl;
std::cout << solve(f,ContFrac<Isolate>() ) << std::endl;
std::cout << solve(f,ContFrac<Approximate>() ) << std::endl;
f = Poly("x^2-3");
std::cout << solve(f,ContFrac<Approximate>(),
rational(1),rational(2)) << std::endl;
f = Poly("x^3-4*x-1");
solver_t::set_precision(100);
solver_t::solve(sol,f,rational(0), rational(3));
std::cout << sol<<std::endl;
}
Home