6 #ifndef realroot_SOLVE_SBDSLV_VSTACK_HPP
7 #define realroot_SOLVE_SBDSLV_VSTACK_HPP
15 template<
class creal_t >
27 inline sz_t*
pinf( sz_t iptr ) {
return m_ipchnk.
data(iptr); };
28 inline const sz_t*
pinf( sz_t iptr )
const {
return m_ipchnk.
data(iptr); };
29 inline sz_t&
pmsz( sz_t iptr ) {
return pinf(iptr)[0]; };
30 inline sz_t
pmsz( sz_t iptr )
const {
return pinf(iptr)[0]; };
31 inline sz_t&
pmad( sz_t iptr ) {
return pinf(iptr)[1]; };
32 inline sz_t
pmad( sz_t iptr )
const {
return pinf(iptr)[1]; };
33 inline sz_t&
pMsz( sz_t iptr ) {
return pinf(iptr)[2]; };
34 inline sz_t
pMsz( sz_t iptr )
const {
return pinf(iptr)[2]; };
35 inline sz_t&
pMad( sz_t iptr ) {
return pinf(iptr)[3]; };
36 inline sz_t
pMad( sz_t iptr )
const {
return pinf(iptr)[3]; };
39 inline const creal_t*
pmdata( sz_t iptr )
const {
return m_cpchnk.
data(
pmad(iptr)); };
41 inline const creal_t*
pMdata( sz_t iptr )
const {
return m_cpchnk.
data(
pMad(iptr)); };
44 inline const creal_t&
plower( sz_t iptr )
const {
return *(
pmdata(iptr)-2); };
46 inline const creal_t&
pupper( sz_t iptr )
const {
return *(
pmdata(iptr)-1); };
52 void push( creal_t *& pmn, creal_t *& pmx, sz_t sz )
57 m_cpchnk.
data(iptr)[0] = 0.0;
58 m_cpchnk.
data(iptr)[1] = 1.0;
69 void add( creal_t
const * pmn, creal_t
const * pmx, sz_t sz )
77 inline void read( sz_t i, creal_t
const *& pmn, creal_t
const *& pmx, sz_t& sz )
const
89 if (
nbp() == 0 )
return true;
92 if ( mn*mx > 0 )
return false;
93 for ( sz_t i = 4; i < 4*
nbp(); i += 4 )
98 if ( imx*imn > 0 )
return false;
110 for ( i = 0; i < vs.
nbp(); i ++ )
112 vs.
read(i,pmn,pmx,sz);
void min(A &mn, B const *v, unsigned n, int s=1)
Definition: tensor_vctops.hpp:185
sz_t pmsz(sz_t iptr) const
Definition: system_vstack.h:30
void read(sz_t i, creal_t const *&pmn, creal_t const *&pmx, sz_t &sz) const
Definition: system_vstack.h:77
sz_t pmad(sz_t iptr) const
Definition: system_vstack.h:32
creal_t * pMdata(sz_t iptr)
Definition: system_vstack.h:40
sz_t pMsz(sz_t iptr) const
Definition: system_vstack.h:34
sz_t alloci(sz_t sz)
Definition: system_vstack.h:49
void push(creal_t *&pmn, creal_t *&pmx, sz_t sz)
Definition: system_vstack.h:52
sz_t & pMsz(sz_t iptr)
Definition: system_vstack.h:33
creal_t * pmdata(sz_t iptr)
Definition: system_vstack.h:38
sz_t * pinf(sz_t iptr)
Definition: system_vstack.h:27
sz_t & pMad(sz_t iptr)
Definition: system_vstack.h:35
memory::linear_allocator< creal_t > m_cpchnk
Definition: system_vstack.h:21
sz_t m_nbp
Definition: system_vstack.h:20
const creal_t * pMdata(sz_t iptr) const
Definition: system_vstack.h:41
const sz_t * pinf(sz_t iptr) const
Definition: system_vstack.h:28
sz_t pMad(sz_t iptr) const
Definition: system_vstack.h:36
void copy(const vstack &vs)
Definition: system_vstack.h:103
TMPL void copy(Polynomial &r, const Polynomial &a)
Copy of a in r.
Definition: sparse_monomials.hpp:613
unsigned sz_t
Definition: system_vstack.h:18
sz_t & pmad(sz_t iptr)
Definition: system_vstack.h:31
bool thickness(const creal_t &eps)
Definition: system_vstack.h:88
sz_t alloc(sz_t sz)
Definition: system_linear_allocator.h:54
vstack()
Definition: system_vstack.h:25
T * data(sz_t address, const automatic_dispatch< false > &) const
Definition: system_linear_allocator.h:76
void reset()
Definition: system_vstack.h:80
void free(sz_t sz)
Definition: system_linear_allocator.h:67
sz_t nbp() const
Definition: system_vstack.h:21
Definition: system_vstack.h:16
const creal_t & plower(sz_t iptr) const
Definition: system_vstack.h:44
const creal_t & pupper(sz_t iptr) const
Definition: system_vstack.h:46
void add(creal_t const *pmn, creal_t const *pmx, sz_t sz)
Definition: system_vstack.h:69
creal_t & plower(sz_t iptr)
Definition: system_vstack.h:43
void max(A &mx, B const *v, unsigned n, int s=1)
Definition: tensor_vctops.hpp:200
creal_t & pupper(sz_t iptr)
Definition: system_vstack.h:45
memory::linear_allocator< sz_t > m_ipchnk
Definition: system_vstack.h:24
sz_t allocc(sz_t sz)
Definition: system_vstack.h:48
const creal_t * pmdata(sz_t iptr) const
Definition: system_vstack.h:39
sz_t & pmsz(sz_t iptr)
Definition: system_vstack.h:29