Developer documentation

system_pstack.h
Go to the documentation of this file.
1 /********************************************************************
2  * This file is part of the source code of the realroot library.
3  * Author(s): J.P. Pavone, GALAAD, INRIA
4  * $Id: pstack.h,v 1.1 2005/07/11 10:03:57 jppavone Exp $
5  ********************************************************************/
6 #ifndef realroot_SOLVE_SBDSLV_PSTACK_HPP
7 #define realroot_SOLVE_SBDSLV_PSTACK_HPP
8 //--------------------------------------------------------------------
9 #include "system_vstack.h"
10 //--------------------------------------------------------------------
11 namespace mmx {
12 //--------------------------------------------------------------------
13 namespace realroot
14 {
15  template< class creal_t >
16  struct pstack
17  {
18  typedef unsigned sz_t;
20  unsigned m_nvr;
21  vstack_t * m_prj;
22  inline
23  void reset(){ for ( sz_t i = 0; i < m_nvr; m_prj[i].reset(), i ++ ) ; };
24  inline
25  void push( sz_t v, creal_t *& pmn, creal_t*& pmx, sz_t sz ) { m_prj[v].push(pmn,pmx,sz);};
26  inline
27  void add( sz_t v, creal_t * const pmn, creal_t * const pmx, sz_t sz ) { m_prj[v].add(pmn,pmx,sz); };
28  inline
29  void read( sz_t v, sz_t i, creal_t*& pmn, creal_t *& pmx, unsigned& sz ) { m_prj[v].read(i,pmn,pmx,sz); };
30  inline
31  sz_t nbp ( sz_t v ) const { return m_prj[v].nbp(); };
32  vstack_t& projections( sz_t v ) { return m_prj[v]; };
33  bool thickness( const creal_t& eps ) {
34  for ( unsigned i = 0; i < m_nvr; i ++ )
35  if ( ! m_prj[i].thickness( eps ) ) return false;
36  return true;
37  };
38 
39  pstack( sz_t nvr ) { m_nvr = nvr; m_prj = new vstack_t[nvr]; };
40  ~pstack() { delete[] m_prj; };
41  };
42 };
43 //--------------------------------------------------------------------
44 } //namespace mmx
45 /********************************************************************/
46 #endif //
void read(sz_t i, creal_t const *&pmn, creal_t const *&pmx, sz_t &sz) const
Definition: system_vstack.h:77
~pstack()
Definition: system_pstack.h:40
void read(sz_t v, sz_t i, creal_t *&pmn, creal_t *&pmx, unsigned &sz)
Definition: system_pstack.h:29
void push(creal_t *&pmn, creal_t *&pmx, sz_t sz)
Definition: system_vstack.h:52
bool thickness(const creal_t &eps)
Definition: system_pstack.h:33
Definition: system_pstack.h:16
void push(sz_t v, creal_t *&pmn, creal_t *&pmx, sz_t sz)
Definition: system_pstack.h:25
sz_t nbp(sz_t v) const
Definition: system_pstack.h:31
void reset()
Definition: system_vstack.h:80
vstack_t & projections(sz_t v)
Definition: system_pstack.h:32
sz_t nbp() const
Definition: system_vstack.h:21
Definition: system_vstack.h:16
vstack< creal_t > vstack_t
Definition: system_pstack.h:19
void add(creal_t const *pmn, creal_t const *pmx, sz_t sz)
Definition: system_vstack.h:69
pstack(sz_t nvr)
Definition: system_pstack.h:39
vstack_t * m_prj
Definition: system_pstack.h:21
unsigned sz_t
Definition: system_pstack.h:18
void add(sz_t v, creal_t *const pmn, creal_t *const pmx, sz_t sz)
Definition: system_pstack.h:27
Definition: array.hpp:12
unsigned m_nvr
Definition: system_pstack.h:20
void reset()
Definition: system_pstack.h:23
Home