realroot_doc 0.1.1
continued_fraction_approximate< K, B > Struct Template Reference

#include <solver_uv_continued_fraction.hpp>

List of all members.

Public Types

Static Public Member Functions

Static Public Attributes


Detailed Description

template<class K, class B>
struct mmx::continued_fraction_approximate< K, B >

Definition at line 102 of file solver_uv_continued_fraction.hpp.


Member Typedef Documentation

Definition at line 110 of file solver_uv_continued_fraction.hpp.

typedef K::integer integer

Definition at line 104 of file solver_uv_continued_fraction.hpp.

typedef K::interval_rational interval_rational

Definition at line 106 of file solver_uv_continued_fraction.hpp.

typedef polynomial<integer, with<MonomialTensor> > Polynomial

Definition at line 107 of file solver_uv_continued_fraction.hpp.

typedef K::rational rational

Definition at line 105 of file solver_uv_continued_fraction.hpp.

Definition at line 108 of file solver_uv_continued_fraction.hpp.

typedef Seq<root_t> sol_t

Definition at line 109 of file solver_uv_continued_fraction.hpp.


Member Function Documentation

static root_t as_root ( const data ID) [inline, static]

Definition at line 116 of file solver_uv_continued_fraction.hpp.

    {
      return as<root_t>(ID);
    }
static unsigned get_precision ( ) [inline, static]

Definition at line 114 of file solver_uv_continued_fraction.hpp.

References continued_fraction_approximate< K, B >::prec.

{ return prec; }
static bool is_empty ( const data ID) [inline, static]

Definition at line 121 of file solver_uv_continued_fraction.hpp.

References IntervalData< RT, Poly >::s.

{return ID.s==0;}
static bool is_good ( const data ID) [inline, static]

Definition at line 122 of file solver_uv_continued_fraction.hpp.

References IntervalData< RT, Poly >::a, IntervalData< RT, Poly >::b, IntervalData< RT, Poly >::c, IntervalData< RT, Poly >::d, mmx::N(), continued_fraction_approximate< K, B >::prec, and IntervalData< RT, Poly >::s.

    {
      //      std::cout << __FUNCTION__ <<" "<<ID.p<<" "<<ID.s<<std::endl; 
      if(ID.s !=1)
        return false;
      else
        {
          integer N = ID.a*ID.d-ID.b*ID.c, D=ID.c*ID.d ;
          if(D==0)
            return false;
          if(N<0) N = -N;
          N<<=prec;
          if(D<0) D = -D;
          if(N<D)  
            return true;
          else
            return false;
        }      
    }
static integer lower_bound ( const Polynomial p) [inline, static]

Definition at line 141 of file solver_uv_continued_fraction.hpp.

{return B::lower_bound(p);}
static void set_precision ( unsigned  n) [inline, static]

Member Data Documentation


The documentation for this struct was generated from the following file: