#include <solver_binary.hpp>
Definition at line 82 of file solver_binary.hpp.
typedef double creal_t |
Definition at line 83 of file solver_binary.hpp.
typedef unsigned sz_t |
Definition at line 84 of file solver_binary.hpp.
typedef unsigned unsigned_t |
Definition at line 85 of file solver_binary.hpp.
data_t | ( | ) | [inline] |
Definition at line 97 of file solver_binary.hpp.
References data_t::m_data.
data_t | ( | bool | isl | ) | [inline] |
Definition at line 98 of file solver_binary.hpp.
References data_t::m_data.
Definition at line 99 of file solver_binary.hpp.
References data_t::m_data.
~data_t | ( | ) | [inline] |
Definition at line 114 of file solver_binary.hpp.
References data_t::Free(), data_t::m_data, data_t::m_dmn, data_t::m_limit, data_t::m_res, data_t::m_s, and mmx::min().
Referenced by binary_subdivision< K >::run_loop().
bound& bcka | ( | ) | [inline] |
Definition at line 126 of file solver_binary.hpp.
References data_t::m_res.
00126 { return m_res.back().a; };
const bound& bcka | ( | ) | const [inline] |
Definition at line 125 of file solver_binary.hpp.
References data_t::m_res.
Referenced by data_t::bstore(), data_t::estore(), data_t::setbck(), data_t::sstore(), and data_t::writebck().
00125 { return m_res.back().a; };
bound& bckb | ( | ) | [inline] |
Definition at line 128 of file solver_binary.hpp.
References data_t::m_res.
00128 { return m_res.back().b; };
const bound& bckb | ( | ) | const [inline] |
Definition at line 127 of file solver_binary.hpp.
References data_t::m_res.
Referenced by data_t::bstore(), data_t::estore(), data_t::setbck(), data_t::sstore(), and data_t::writebck().
00127 { return m_res.back().b; };
bool bckt | ( | ) | const [inline] |
Definition at line 131 of file solver_binary.hpp.
References data_t::m_res.
00131 { return m_res.back().t; };
bool& bckt | ( | ) | [inline] |
Definition at line 130 of file solver_binary.hpp.
References data_t::m_res.
Referenced by data_t::bstore(), data_t::estore(), data_t::mstore(), data_t::setbck(), and data_t::sstore().
00130 { return m_res.back().t; };
void bstore | ( | int | d, | |
int | t = 1 | |||
) | [inline] |
Definition at line 162 of file solver_binary.hpp.
References data_t::bcka(), data_t::bckb(), data_t::bckt(), bound::m, data_t::m_dmn, and data_t::pshbck().
void convert | ( | real & | a, | |
const bound & | b, | |||
const homography< coeff > & | H | |||
) | [inline] |
Definition at line 226 of file solver_binary.hpp.
References homography< real >::a, homography< real >::b, homography< real >::c, homography< real >::d, bound::e, bound::m, mmx::reverse(), and data_t::root_bound.
00227 { 00228 unsigned_t m(b.m); 00229 numerics::hdwi<unsigned_t>::reverse(b.e+1,m); 00230 a = H.b; 00231 real d = -H.d; 00232 real x = H.a, y = -H.c; 00233 for ( unsigned i = 0; i < b.e + 1; x /= 2, y/=2, i ++ ) 00234 { 00235 if ( m & 1 ) {a += x; d+=y;} 00236 m >>= 1; 00237 }; 00238 // std::cout <<"\n\t d= "<<d<<" a= "<<a<< std::endl; 00239 if(d==0 ) 00240 { 00241 // std::cout <<"\n\t rb= "<<this->root_bound<< std::endl; 00242 a = real(root_bound); 00243 } 00244 else 00245 { 00246 a /= real(-d); 00247 //std::cout <<"\t d!=0 a= "<<a<< std::endl; 00248 } 00249 };
static void convert | ( | real & | a, | |
const bound & | b, | |||
const real & | first = 0 , |
|||
const real & | scale = 1 | |||
) | [inline, static] |
Definition at line 211 of file solver_binary.hpp.
References bound::e, bound::m, mmx::reverse(), and mmx::scale().
00213 { 00214 unsigned m(b.m); 00215 numerics::hdwi<unsigned_t>::reverse(b.e+1,m); 00216 a = first; 00217 real x = scale; 00218 for ( unsigned i = 0; i < b.e + 1; x /= 2, i ++ ) 00219 { 00220 if ( m & 1 ) a += x; 00221 m >>= 1; 00222 }; 00223 }
void estore | ( | int | d, | |
int | t = 1 | |||
) | [inline] |
Definition at line 173 of file solver_binary.hpp.
References data_t::bcka(), data_t::bckb(), data_t::bckt(), bound::m, data_t::m_dmn, and data_t::pshbck().
void Free | ( | ) | [inline] |
Definition at line 103 of file solver_binary.hpp.
References data_t::m_data, data_t::m_dmn, and data_t::m_res.
Referenced by data_t::alloc(), and data_t::~data_t().
creal_t get_root_bound | ( | ) | [inline] |
Definition at line 208 of file solver_binary.hpp.
References data_t::root_bound.
00208 { return root_bound;}
void mstore | ( | int | d | ) | [inline] |
Definition at line 184 of file solver_binary.hpp.
References data_t::bckt(), and data_t::sstore().
Referenced by binary_subdivision< K >::Loop().
sz_t nb_sol | ( | ) | [inline] |
Definition at line 191 of file solver_binary.hpp.
References data_t::m_res.
00191 { return m_res.size();}
void pshbck | ( | ) | [inline] |
Definition at line 145 of file solver_binary.hpp.
References data_t::m_res.
Referenced by data_t::bstore(), data_t::estore(), and data_t::sstore().
00146 { 00147 m_res.push_back(res_t()); 00148 };
void set_back_a | ( | const bound & | a | ) | [inline] |
Definition at line 134 of file solver_binary.hpp.
References data_t::m_res.
00134 { m_res.back().a = a;};
void set_back_b | ( | const bound & | b | ) | [inline] |
Definition at line 135 of file solver_binary.hpp.
References data_t::m_res.
00135 { m_res.back().b = b;};
Definition at line 137 of file solver_binary.hpp.
References data_t::bcka(), data_t::bckb(), and data_t::bckt().
sz_t size | ( | void | ) | const [inline] |
Definition at line 190 of file solver_binary.hpp.
References data_t::m_res.
00190 { return m_res.size(); };
void sstore | ( | int | d, | |
int | t = 1 | |||
) | [inline] |
Definition at line 151 of file solver_binary.hpp.
References data_t::bcka(), data_t::bckb(), data_t::bckt(), bound::m, data_t::m_dmn, and data_t::pshbck().
Referenced by binary_subdivision< K >::Loop(), and data_t::mstore().
void writebck | ( | ) | [inline] |
Definition at line 201 of file solver_binary.hpp.
References data_t::bcka(), data_t::bckb(), bound::e, and bound::m.
void writedomain | ( | int | d | ) | [inline] |
Definition at line 194 of file solver_binary.hpp.
References bound::e, bound::m, and data_t::m_dmn.
Definition at line 93 of file solver_binary.hpp.
bool isole |
Definition at line 94 of file solver_binary.hpp.
Definition at line 92 of file solver_binary.hpp.
Definition at line 91 of file solver_binary.hpp.
Definition at line 87 of file solver_binary.hpp.
Referenced by data_t::alloc(), data_t::data_t(), data_t::Free(), binary_subdivision< K >::Loop(), and binary_subdivision< K >::run_loop().
Definition at line 88 of file solver_binary.hpp.
Referenced by data_t::alloc(), data_t::bstore(), data_t::estore(), data_t::Free(), binary_subdivision< K >::Loop(), data_t::sstore(), and data_t::writedomain().
Definition at line 89 of file solver_binary.hpp.
Referenced by data_t::alloc(), and binary_subdivision< K >::Loop().
Definition at line 95 of file solver_binary.hpp.
Referenced by data_t::alloc(), data_t::bcka(), data_t::bckb(), data_t::bckt(), data_t::Free(), binary_subdivision< K >::get_flags(), data_t::nb_sol(), data_t::pshbck(), data_t::set_back_a(), data_t::set_back_b(), and data_t::size().
Definition at line 90 of file solver_binary.hpp.
Referenced by data_t::alloc(), and binary_subdivision< K >::Loop().
Definition at line 93 of file solver_binary.hpp.
Referenced by data_t::convert(), and data_t::get_root_bound().