|
realroot_doc 0.1.1
|
#include <subdivisor_uv_binary.hpp>
Definition at line 21 of file subdivisor_uv_binary.hpp.
| bool reduce | ( | Cell * | cl | ) | [static] |
Reimplemented in uv_binary_isolate.
Definition at line 62 of file subdivisor_uv_binary.hpp.
References mmx::has_sign_variation(), and uv_binary_approx::m_eps.
{
if(cl->size() < m_eps) return false;
if(!has_sign_variation(cl->equation())) return false;
return true;
}
| bool regular | ( | Cell * | cl | ) | [static] |
Definition at line 69 of file subdivisor_uv_binary.hpp.
References mmx::has_sign_variation().
{
if(!has_sign_variation(cl->equation())) return false;
return true;
}
| void subdivide | ( | Cell * | cl, |
| Stack * | stack | ||
| ) | [static] |
Definition at line 39 of file subdivisor_uv_binary.hpp.
References Scalar, and mmx::split().
{
Cell* left = new Cell(*cl);
Cell* right = new Cell(*cl);
unsigned v=0;
// typename Cell::Scalar s=cl->domain().upper()-cl->domain().lower(),s0;
typename Cell::Scalar m=(cl->domain().upper()+cl->domain().lower())/2;
tensor::split(left->equation(), right->equation(), v);
left->domain().upper()=m;
right->domain().lower()=m;
// std::cout<<"==> "<<left->equation(0)<< " "<<left->domain(0)<<std::endl;
// std::cout<<"==> "<<right->equation(0)<< " "<<right->domain(0)<<std::endl;
// std::cout<<std::endl;
st->push(left);
st->push(right);
};
double m_eps = 1e-6 [static] |
Definition at line 23 of file subdivisor_uv_binary.hpp.
Referenced by uv_binary_isolate::reduce(), and uv_binary_approx::reduce().