realroot_doc 0.1.1
uv_binary_approx Struct Reference

#include <subdivisor_uv_binary.hpp>

Inheritance diagram for uv_binary_approx:
uv_binary_isolate

List of all members.

Static Public Member Functions

Static Public Attributes


Detailed Description

Definition at line 21 of file subdivisor_uv_binary.hpp.


Member Function Documentation

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);
};

Member Data Documentation

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().


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