shape_doc 0.1
mmx Namespace Reference

Namespaces

Classes

Functions

Variables


Function Documentation

void mmx::add ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b 
) [inline]

Definition at line 60 of file fxv.hpp.

References fxv< C, N, H >::data.

Referenced by add(), and fxv< Interval< C >, N >::operator+=().

{ add(a.data,b.data); };
void mmx::add ( A(&)  a[N],
const B(&)  b[N] 
) [inline]

Definition at line 11 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] += b[i], i++ ); };
void mmx::add ( A(&)  a[N],
const B(&)  b[N],
const C(&)  c[N] 
) [inline]

Definition at line 15 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] = b[i]+c[i], i ++); };
void mmx::add ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const fxv< C, N, H > &  c 
) [inline]

Definition at line 62 of file fxv.hpp.

References add(), and fxv< C, N, H >::data.

{ add(a.data,b.data,c.data); };
void mmx::add ( fxv< C, N, H > &  a,
const C &  c 
) [inline]

Definition at line 85 of file fxv.hpp.

{ scadd(a,c); };
void mmx::add ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const C &  c 
)

Definition at line 88 of file fxv.hpp.

{ scadd(a,b,c); };
static SSIQTS::aabb3* mmx::alloc ( int &  l,
int  m,
int &  s 
) [static]

Definition at line 23 of file ssiqts.cpp.

References SSIQTS::m.

Referenced by qsegment::qsegment(), and SSIQTS::SSIQTS().

{
  int c = m*m;
  s = 0;
  l = 0;
  while ( c ) { s += c; c /= 4; l ++;  };
  return new SSIQTS::aabb3[s];
};
static void mmx::build ( SSIQTS::aabb3 *  base,
const SSIQTS &  ssi 
) [static]

Definition at line 99 of file ssiqts.cpp.

References SSIQTS::m, merge(), and update().

Referenced by SSIQTS::SSIQTS().

{
  int N = ssi.m;
  SSIQTS::aabb3 * cptr,*eptr,*next,*enext;
  cptr  = base;
  eptr  = base + N;
  next  = base + N*N;
  enext = next + (N/2*N/2);
  
  while ( next < enext )
    {
      base = next;
      do
        {
          for ( ;cptr < eptr; cptr += 2, next++ )
            {  
              merge(*next,*cptr,*(cptr+1));
              update(*next,*(cptr+N),*(cptr+1+N));
            };
          
          cptr += N;
          eptr  = cptr + N;
        }
      while ( next < enext );
      cptr = base;
      N /= 2;
      eptr = cptr + N;
      enext = next + (N/2)*(N/2);
    };
};
static void mmx::cfforward ( int *  ncf,
int *  bcf,
int *  ecf,
int  m 
) [static]

Definition at line 213 of file ssiqts.cpp.

References expandcf().

Referenced by search().

{
  for ( int * cf = bcf; cf != ecf; ncf = expandcf(cf,ncf,m), cf += *cf  );
};
static int mmx::cfhunt ( SSIQTS::aabb3 *  lbb,
SSIQTS::aabb3 *  rbb,
int *  bcf,
int *  ecf 
) [static]

Definition at line 132 of file ssiqts.cpp.

References cfbg_, cfhsz, cflq_, and intersectp().

Referenced by search().

{
  int s = 0;
  int * rqp;  // right-quad pointer
  int *  cf;
  int * lrqp; // the last right-quad pointer...
  
  /* pour tous les conflits encore presents a la resolution actuelle */
  for ( cf = bcf; cf != ecf; cf += *cf ) 
    {
      const int lq = cf[cflq_];              // addresse de l'element de la surface "gauche"
      lrqp = cf+cfbg_;                       // debut de la liste des elements de "droite"
       /* pour tout les elements de droite test d'intersection avec l'element de gauche */
       for ( rqp = lrqp; rqp != cf + *cf; rqp ++ ) 
         {
           /* si les boites s'intersectent, tassement de la liste  */
           if ( intersectp(*(lbb+lq),*(rbb+*rqp)) ) { *lrqp++ = *rqp; };
         };
       if ( lrqp != rqp ) *lrqp = -1; // marque la fin de liste
       int nc = lrqp-(cf+cfbg_);          // nombre de collisions restantes
       s += (nc)?4*(cfhsz+4*nc):0;        // taille necessaire pour leurs subdivisions
    };
  return s; // taille totale necessaire apres traitement d'un niveau de subdivision
}
static void mmx::cfprint ( std::ostream &  gp,
std::ostream &  gpl,
int *  bcf,
int *  ecf,
int  m 
) [static]

Definition at line 262 of file ssiqts.cpp.

References cfbg_, cflq_, and SSIQTS::m.

{
  for( int * cf = bcf; cf != ecf; cf += *cf )
    {
      if ( cf[cfbg_] != -1 )
          {
            gp << (cf[cflq_]/m) << " " << (cf[cflq_]%m) << std::endl;
            int * rpq = cf+cfbg_;
            while ( *rpq != -1 && rpq != cf+*cf ) 
              {
                gpl << (*rpq/m) << " " << (*rpq%m) << std::endl;
                rpq++;
              };
          }
    };
};  
static int* mmx::cfsimplify ( int *  bcf,
int *  ecf 
) [static]

Definition at line 162 of file ssiqts.cpp.

References cfbg_, and cflq_.

Referenced by search().

{
  int * necf = bcf;
  for ( int * cf = bcf; cf != ecf; )
    {
      int * rp = cf+cfbg_;
      //      int i = 0;
      int * dst = necf+cfbg_;
      while( *rp != -1 && rp < cf + *cf ) *dst++ = *rp++;
      necf[cflq_] = cf[cflq_];
      
      cf += *cf;
      *necf = dst-necf;
      necf += *necf;
    };
  return necf;
};
void mmx::copy ( const A(&)  a[N],
const B(&)  b[N] 
) [inline]

Definition at line 63 of file ssi_base_array_ops.hpp.

Referenced by expandcf(), fsvector< K, n >::fsvector(), and fxv< C, N, H >::operator=().

{
  for ( unsigned i = 0; i < N; i ++ ) a[i] = b[i];
};
shape::curve_rational<rational,shape::MGXK> mmx::create_curve_rational ( const interval< double > &  I,
const polynomial< rational, with< Sparse, DegRevLex > > &  e1,
const polynomial< rational, with< Sparse, DegRevLex > > &  e2,
const polynomial< rational, with< Sparse, DegRevLex > > &  e3 
) [inline]

Definition at line 81 of file curve_rational_glue.hpp.

References CURVE, mmx::shape::lower(), and mmx::shape::upper().

  {
    return CURVE(lower(I), upper(I), e1,e2,e3);
  }
shape::curve_rational<rational,shape::MGXK> mmx::create_curve_rational ( const polynomial< rational, with< Sparse, DegRevLex > > &  e1,
const polynomial< rational, with< Sparse, DegRevLex > > &  e2,
const polynomial< rational, with< Sparse, DegRevLex > > &  e3,
const polynomial< rational, with< Sparse, DegRevLex > > &  e4 
) [inline]

Definition at line 86 of file curve_rational_glue.hpp.

References CURVE.

  {
    return CURVE(e1,e2,e3,e4);
  }
shape::curve_rational<rational,shape::MGXK> mmx::create_curve_rational ( const interval< double > &  I,
const polynomial< rational, with< Sparse, DegRevLex > > &  e1,
const polynomial< rational, with< Sparse, DegRevLex > > &  e2,
const polynomial< rational, with< Sparse, DegRevLex > > &  e3,
const polynomial< rational, with< Sparse, DegRevLex > > &  e4 
) [inline]

Definition at line 91 of file curve_rational_glue.hpp.

References CURVE, mmx::shape::lower(), and mmx::shape::upper().

  {
    return CURVE(lower(I), upper(I), e1,e2,e3,e4);
  }
shape::curve_rational<rational,shape::MGXK> mmx::create_curve_rational ( const polynomial< rational, with< Sparse, DegRevLex > > &  e1,
const polynomial< rational, with< Sparse, DegRevLex > > &  e2,
const polynomial< rational, with< Sparse, DegRevLex > > &  e3 
) [inline]

Definition at line 76 of file curve_rational_glue.hpp.

References CURVE.

Referenced by GLUE_17(), GLUE_18(), GLUE_19(), and GLUE_20().

  {
    return CURVE(e1,e2,e3);
  }
void mmx::crossprod ( fxv< C, 3, H > &  res,
const fxv< C, 3, H > &  a,
const fxv< C, 3, H > &  b 
) [inline]

Definition at line 82 of file fxv.hpp.

{ res[0]=a[1]*b[2]-b[1]*a[2]; res[1]=a[2]*b[0]-b[2]*a[0]; res[2]=a[0]*b[1]-b[0]*a[1]; };
mmx::declare_binary_operator ( template< typename Ca, typename Cb, unsigned N, class H >  ,
fxv< Ca, N, H >  ,
fxv< Cb, N, H >  ,
texp::_add_  ,
operator+   
)
mmx::declare_binary_operator ( template< typename Ca, typename Cb, unsigned N, class H >  ,
fxv< Ca, N, H >  ,
fxv< Cb, N, H >  ,
texp::_add_  ,
operator-   
)
mmx::declare_binary_operator ( template< typename Ca, typename Cb, unsigned N, class H >  ,
fxv< Ca, N, H >  ,
fxv< Cb, N, H >  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, unsigned N, class H >  ,
fxv< C, N, H >  ,
typename fxv< C, N, H >::value_type  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, unsigned N, class H >  ,
typename fxv< C, N, H >::value_type  ,
fxv< C, N, H >  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, unsigned N, class H >  ,
fxv< C, N, H >  ,
typename fxv< C, N, H >::value_type  ,
texp::_div_  ,
operator/   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
fxv< C, N, H >  ,
typename K::integer  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
typename K::integer  ,
fxv< C, N, H >  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
fxv< C, N, H >  ,
typename K::integer  ,
texp::_div_  ,
operator/   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
fxv< C, N, H >  ,
typename K::rational  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
typename K::rational  ,
fxv< C, N, H >  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
fxv< C, N, H >  ,
typename K::rational  ,
texp::_div_  ,
operator/   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
fxv< C, N, H >  ,
typename K::floating  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
typename K::floating  ,
fxv< C, N, H >  ,
texp::_mul_  ,
operator*   
)
mmx::declare_binary_operator ( template< class C, class H, class K, unsigned N >  ,
fxv< C, N, H >  ,
typename K::floating  ,
texp::_div_  ,
operator/   
)
const C& mmx::distance ( const fxv< C, N, H > &  a,
const fxv< C, N, H > &  b 
) [inline]

Definition at line 212 of file fxv.hpp.

References fxv< C, N, H >::data.

{
  return distance(a.data,b.data);
};
const C& mmx::distance ( const C(&)  a[N],
const C(&)  b[N] 
) [inline]

Definition at line 104 of file ssi_base_array_ops.hpp.

References squared_distance().

{
  return sqrt(squared_distance(a,b));
};
void mmx::div ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const C &  s 
) [inline]

Definition at line 109 of file fxv.hpp.

References fxv< C, N, H >::data, and scdiv().

{ scdiv(a.data,b.data,s); };
void mmx::div ( fxv< C, N, H > &  a,
const C &  s 
) [inline]

Definition at line 106 of file fxv.hpp.

References fxv< C, N, H >::data, and scdiv().

Referenced by fxv< Interval< C >, N >::operator/=().

{ scdiv(a.data,s); };
texp::ringof<A,B>::T mmx::dotprod ( const A(&)  a[N],
const B(&)  b[N] 
) [inline]

Definition at line 43 of file ssi_base_array_ops.hpp.

{
  typename texp::ringof<A,B>::T res(0);
  for ( unsigned i = 0; i < N; res += a[i]*b[i], i ++ );
  return res;
};
C mmx::dotprod ( const fxv< C, N, H > &  a,
const fxv< C, N, H > &  b 
) [inline]

Definition at line 76 of file fxv.hpp.

References fxv< C, N, H >::data.

Referenced by mul(), and norm2().

{ return dotprod(a.data,b.data); };
bool mmx::eqxual ( const C(&)  a[N],
const C(&)  b[N] 
) [inline]

Definition at line 87 of file ssi_base_array_ops.hpp.

{
  for ( int i = 0; i < N; i ++ ) if ( a[i] != b[i] ) return false;
  return true;
};
C mmx::eval ( const polynomial< C, with< Bernstein > > &  f,
const C &  x 
)
static int* mmx::expandcf ( int *  cf,
int *  ncf,
int  m 
) [static]

Definition at line 180 of file ssiqts.cpp.

References cfbg_, cfhsz, cflq_, cfsz_, copy(), and SSIQTS::m.

Referenced by cfforward().

{
  int * ecf, * rpq, *pncf;
  ecf = cf + cf[cfsz_];
  rpq = cf + cfbg_;
  while ( *rpq != -1 && rpq != ecf ) rpq++;
  if ( rpq == cf + cfbg_ ) return ncf;
  *ncf = 4*(rpq-(cf+cfbg_))+cfhsz;
  rpq = cf + cfbg_;
  for ( pncf = ncf + cfbg_; pncf != ncf + *ncf; pncf += 4 , rpq ++  )
    {
      int i =  *rpq / m;
      int j =  *rpq % m;
      int a =  i*(4*m)+2*j;
      pncf[0] = a;//2**rpq;
      pncf[1] = a+1;//2**rpq+1;
      pncf[2] = a+2*m;//2*(*rpq+m);
      pncf[3] = a+2*m+1;//2*(*rpq+m)+1;
    };
  // they are all the same 
  for ( pncf = ncf + *ncf; pncf != ncf + 4**ncf; pncf += *ncf )
    std::copy(ncf,ncf+*ncf,pncf);
  // with a change on the left quad ...
  int i =  cf[cflq_]/ m;
  int j =  cf[cflq_]% m;
  int a =  i*(4*m)+2*j;
  (ncf+0**ncf)[cflq_] = a;//2*cf[1];
  (ncf+1**ncf)[cflq_] = a+1;//2*cf[1]+1;
  (ncf+2**ncf)[cflq_] = a+2*m;//2*(cf[1]+m);
  (ncf+3**ncf)[cflq_] = a+2*m+1;//2*(cf[1]+m)+1;
  return ncf + 4**ncf;
};
void mmx::fill ( aabb< C, N > &  box,
const fxv< C, N > &  v 
) [inline]

Definition at line 18 of file ssi_base_aabb.hpp.

Referenced by fill(), mmx::shape_ssi::fill_quad_box(), and fsvector< K, n >::fsvector().

{ 
  for ( unsigned i = 0; i < N; box[i] = v[i], i ++  ); 
};
void mmx::fill ( aabb< C, N > &  box,
const fxv< C, N > *  v,
unsigned  sz 
) [inline]

Definition at line 24 of file ssi_base_aabb.hpp.

References init().

{
  init(box,v[sz-1]);
  double m,M;
  const fxv<C,N> * src;
  for ( src = v; src != v+sz; src ++ )
    {
      for ( unsigned i = 0; i < 3; i++ )
        {
          if ( (*src)[i] > (*(src+1))[i] ) { m = (*(src+1))[i]; M =  (*src)[i];    }
          else                             { m = (*src)[i];     M = (*(src+1))[i]; }; 
          if ( box[i].m > m ) box[i].m = m;
          if ( box[i].M < M ) box[i].M = M;
        };
    };
};
void mmx::fill ( aabb< C, N > &  box,
const fxv< C, N > &  a,
const fxv< C, N > &  b 
) [inline]

Definition at line 42 of file ssi_base_aabb.hpp.

{
  for ( unsigned d = 0; d < N; d++ )
    {
      if ( a[d] < b[d] ) 
        { box[d].m = a[d]; box[d].M = b[d]; }
      else 
        { box[d].m = b[d]; box[d].M = a[d]; };
    };
};
void mmx::fill ( aabb< C, N > &  box,
const fxv< C, N > &  a,
const fxv< C, N > &  b,
const fxv< C, N > &  c,
const fxv< C, N > &  d 
) [inline]

Definition at line 106 of file ssi_base_aabb.hpp.

References fill(), and hull().

{
  aabb<C,N> tmp; 
  fill(box,a,b);
  fill(tmp,c,d);
  hull(box,tmp);
};
static void mmx::fillboxes ( SSIQTS::aabb3 *  qta,
const SSIQTS::vector3 *  base,
SSIQTS &  ssi 
) [static]

Definition at line 58 of file ssiqts.cpp.

References fillpatchbox(), SSIQTS::m, SSIQTS::udeg, and SSIQTS::vdeg.

Referenced by SSIQTS::SSIQTS().

{
  unsigned nrows = ssi.m*ssi.udeg+1;
  unsigned ncols = ssi.m*ssi.vdeg+1;
  unsigned srows = ssi.udeg*ncols;
  const SSIQTS::vector3 * lptr  = base;
  const SSIQTS::vector3 * cptr;
  const SSIQTS::vector3 * elptr = base + nrows*(ncols-1);
  for ( lptr = base; lptr != elptr; lptr += srows )
    for ( cptr = lptr; cptr != lptr + ncols-1; cptr += ssi.vdeg, qta++  )
      fillpatchbox( *qta, cptr, ssi );
};
static void mmx::fillpatchbox ( SSIQTS::aabb3 &  b,
const SSIQTS::vector3 *  a,
SSIQTS &  ssi 
) [static]

Definition at line 32 of file ssiqts.cpp.

References SSIQTS::m, SSIQTS::udeg, and SSIQTS::vdeg.

Referenced by fillboxes().

{
  //  unsigned nrows = ssi.m*ssi.udeg+1;
  unsigned ncols = ssi.m*ssi.vdeg+1;
  //  unsigned srows = ssi.udeg*ncols;      
  const SSIQTS::vector3 *  la = a;
  const SSIQTS::vector3 * ela = a + (ssi.udeg+1)*ncols;
  const SSIQTS::vector3 * ca;
  for ( int d = 0; d < 3;  d ++ ) b[d][0] = b[d][1] = (*a)[d];
  for ( ca = a+1; ca != la + ssi.vdeg+1; ca++ )
    for ( int d = 0; d < 3; d ++ )
      {
        if ( (*ca)[d] < b[d][0] ) b[d][0] = (*ca)[d];
        else if ( (*ca)[d] > b[d][1]) b[d][1] = (*ca)[d];
      };
  
  for ( la = a+ncols; la != ela; la += ncols )
    for ( ca = la; ca != la + ssi.vdeg+1; ca ++ )
      for ( int d = 0; d < 3; d ++ )
        {
          if ( (*ca)[d] < b[d][0] ) b[d][0] = (*ca)[d];
          else if ( (*ca)[d] > b[d][1] ) b[d][1] = (*ca)[d];
        };
};
static shape_color mmx::GLUE_1 ( const int &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 12 of file glue_color.cpp.

References shape_color.

                                                                {
    return shape_color (arg_1, arg_2, arg_3);
  }
static integer mmx::GLUE_1 ( const literal &  arg_1) [static]

Definition at line 17 of file glue_point.cpp.

                                {
    return make_literal_integer (arg_1);
  }
static bool mmx::GLUE_1 ( const generic &  arg_1) [static]

Definition at line 16 of file glue_point_floating.cpp.

                                {
    return is_vector (arg_1);
  }
static interval<double> mmx::GLUE_1 ( const double &  arg_1) [static]

Definition at line 30 of file glue_rational_curve.cpp.

                               {
    return interval<double > (arg_1);
  }
static alias<shape_axel> mmx::GLUE_1 ( const alias< shape_axel > &  arg_1,
const shape_algebraic_curve &  arg_2 
) [static]
static alias<shape_axel> mmx::GLUE_1 ( const alias< shape_axel > &  arg_1,
const shape_surface_algebraic &  arg_2 
) [static]

Definition at line 30 of file glue_algebraic_surface.cpp.

                                                                                {
    return alias_write (arg_1, arg_2);
  }
static shape_axel mmx::GLUE_1 ( ) [static]

Definition at line 7 of file glue_axel.cpp.

References shape_axel.

            {
    return shape_axel ();
  }
static integer mmx::GLUE_10 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 62 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return arg_1 + arg_2;
  }
static vector<mmx_floating> mmx::GLUE_10 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 61 of file glue_point_floating.cpp.

References mmx::shape_ssi::append().

                                                                                 {
    return append (arg_1, arg_2);
  }
static interval<double> mmx::GLUE_10 ( const interval< double > &  arg_1,
const double &  arg_2 
) [static]

Definition at line 75 of file glue_rational_curve.cpp.

                                                               {
    return arg_1 - arg_2;
  }
static bool mmx::GLUE_100 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 512 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 > arg_2;
  }
static bool mmx::GLUE_101 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 517 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 >= arg_2;
  }
static mmx_floating mmx::GLUE_102 ( const mmx_floating &  arg_1) [static]

Definition at line 522 of file glue_point.cpp.

References abs().

Referenced by glue_point().

                                       {
    return abs (arg_1);
  }
static mmx_floating mmx::GLUE_103 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 527 of file glue_point.cpp.

References min().

Referenced by glue_point().

                                                                  {
    return min (arg_1, arg_2);
  }
static mmx_floating mmx::GLUE_104 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 532 of file glue_point.cpp.

References max().

Referenced by glue_point().

                                                                  {
    return max (arg_1, arg_2);
  }
static mmx_floating mmx::GLUE_105 ( const mmx_floating &  arg_1) [static]

Definition at line 537 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return floor (arg_1);
  }
static mmx_floating mmx::GLUE_106 ( const mmx_floating &  arg_1) [static]

Definition at line 542 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return ceil (arg_1);
  }
static mmx_floating mmx::GLUE_107 ( const mmx_floating &  arg_1) [static]

Definition at line 547 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return trunc (arg_1);
  }
static mmx_floating mmx::GLUE_108 ( const mmx_floating &  arg_1) [static]

Definition at line 552 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return round (arg_1);
  }
static bool mmx::GLUE_109 ( const mmx_floating &  arg_1) [static]

Definition at line 557 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return is_finite (arg_1);
  }
static integer mmx::GLUE_11 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 67 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return arg_1 - arg_2;
  }
static alias<vector<mmx_floating> > mmx::GLUE_11 ( const alias< vector< mmx_floating > > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 66 of file glue_point_floating.cpp.

                                                                                         {
    return alias_write (arg_1, arg_2);
  }
static interval<double> mmx::GLUE_11 ( const double &  arg_1,
const interval< double > &  arg_2 
) [static]

Definition at line 80 of file glue_rational_curve.cpp.

                                                               {
    return arg_1 * arg_2;
  }
static bool mmx::GLUE_110 ( const mmx_floating &  arg_1) [static]

Definition at line 562 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return is_infinite (arg_1);
  }
static bool mmx::GLUE_111 ( const mmx_floating &  arg_1) [static]

Definition at line 567 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return is_nan (arg_1);
  }
static mmx_floating mmx::GLUE_112 ( const mmx_floating &  arg_1) [static]

Definition at line 572 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return times_infinity (arg_1);
  }
static int mmx::GLUE_113 ( const mmx_floating &  arg_1) [static]

Definition at line 577 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return precision (arg_1);
  }
static mmx_floating mmx::GLUE_114 ( const mmx_floating &  arg_1) [static]

Definition at line 582 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return next_above (arg_1);
  }
static mmx_floating mmx::GLUE_115 ( const mmx_floating &  arg_1) [static]

Definition at line 587 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return next_below (arg_1);
  }
static int mmx::GLUE_116 ( const mmx_floating &  arg_1) [static]

Definition at line 592 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return exponent (arg_1);
  }
static double mmx::GLUE_117 ( const mmx_floating &  arg_1) [static]

Definition at line 597 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return magnitude (arg_1);
  }
static mmx_floating mmx::GLUE_118 ( const mmx_floating &  arg_1,
const int &  arg_2 
) [static]

Definition at line 602 of file glue_point.cpp.

Referenced by glue_point().

                                                         {
    return incexp2 (arg_1, arg_2);
  }
static mmx_floating mmx::GLUE_119 ( const mmx_floating &  arg_1,
const int &  arg_2 
) [static]

Definition at line 607 of file glue_point.cpp.

Referenced by glue_point().

                                                         {
    return decexp2 (arg_1, arg_2);
  }
static integer mmx::GLUE_12 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 72 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return arg_1 * arg_2;
  }
static vector<mmx_floating> mmx::GLUE_12 ( const mmx_floating &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 71 of file glue_point_floating.cpp.

                                                                         {
    return cons (arg_1, arg_2);
  }
static interval<double> mmx::GLUE_12 ( const interval< double > &  arg_1,
const double &  arg_2 
) [static]

Definition at line 85 of file glue_rational_curve.cpp.

                                                               {
    return arg_1 * arg_2;
  }
static mmx_floating mmx::GLUE_120 ( const mmx_floating &  arg_1) [static]

Definition at line 612 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return rounding_error (arg_1);
  }
static mmx_floating mmx::GLUE_121 ( const mmx_floating &  arg_1) [static]

Definition at line 617 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return additive_error (arg_1);
  }
static mmx_floating mmx::GLUE_122 ( const mmx_floating &  arg_1) [static]

Definition at line 622 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return multiplicative_error (arg_1);
  }
static mmx_floating mmx::GLUE_123 ( const mmx_floating &  arg_1) [static]

Definition at line 627 of file glue_point.cpp.

Referenced by glue_point().

                                       {
    return elementary_error (arg_1);
  }
static bool mmx::GLUE_124 ( const generic &  arg_1) [static]

Definition at line 632 of file glue_point.cpp.

Referenced by glue_point().

                                  {
    return is_vector (arg_1);
  }
static vector<integer> mmx::GLUE_125 ( const tuple< integer > &  arg_1) [static]

Definition at line 637 of file glue_point.cpp.

Referenced by glue_point().

                                         {
    return vector<integer > (as_vector (arg_1));
  }
static vector<integer> mmx::GLUE_126 ( const tuple< integer > &  arg_1) [static]

Definition at line 642 of file glue_point.cpp.

Referenced by glue_point().

                                         {
    return vector<integer > (as_vector (arg_1));
  }
static iterator<generic> mmx::GLUE_127 ( const vector< integer > &  arg_1) [static]

Definition at line 647 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return as<iterator<generic> > (iterate (arg_1));
  }
static int mmx::GLUE_128 ( const vector< integer > &  arg_1) [static]

Definition at line 652 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return N (arg_1);
  }
static integer mmx::GLUE_129 ( const vector< integer > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 657 of file glue_point.cpp.

Referenced by glue_point().

                                                            {
    return arg_1[arg_2];
  }
static interval<double> mmx::GLUE_13 ( const interval< double > &  arg_1,
const interval< double > &  arg_2 
) [static]

Definition at line 90 of file glue_rational_curve.cpp.

                                                                         {
    return arg_1 / arg_2;
  }
static integer mmx::GLUE_13 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 77 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return arg_1 / arg_2;
  }
static mmx_floating mmx::GLUE_13 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 76 of file glue_point_floating.cpp.

                                              {
    return car (arg_1);
  }
static alias<integer> mmx::GLUE_130 ( const alias< vector< integer > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 662 of file glue_point.cpp.

Referenced by glue_point().

                                                                    {
    return alias_access<integer > (arg_1, arg_2);
  }
static vector<integer> mmx::GLUE_131 ( const vector< integer > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 667 of file glue_point.cpp.

Referenced by glue_point().

                                                                              {
    return range (arg_1, arg_2, arg_3);
  }
static vector<integer> mmx::GLUE_132 ( const vector< integer > &  arg_1) [static]

Definition at line 672 of file glue_point.cpp.

References mmx::shape_ssi::reverse().

Referenced by glue_point().

                                          {
    return reverse (arg_1);
  }
static vector<integer> mmx::GLUE_133 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 677 of file glue_point.cpp.

References mmx::shape_ssi::append().

Referenced by glue_point().

                                                                        {
    return append (arg_1, arg_2);
  }
static alias<vector<integer> > mmx::GLUE_134 ( const alias< vector< integer > > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 682 of file glue_point.cpp.

Referenced by glue_point().

                                                                                {
    return alias_write (arg_1, arg_2);
  }
static vector<integer> mmx::GLUE_135 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 687 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return cons (arg_1, arg_2);
  }
static integer mmx::GLUE_136 ( const vector< integer > &  arg_1) [static]

Definition at line 692 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return car (arg_1);
  }
static vector<integer> mmx::GLUE_137 ( const vector< integer > &  arg_1) [static]

Definition at line 697 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return cdr (arg_1);
  }
static bool mmx::GLUE_138 ( const vector< integer > &  arg_1) [static]

Definition at line 702 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return is_nil (arg_1);
  }
static bool mmx::GLUE_139 ( const vector< integer > &  arg_1) [static]

Definition at line 707 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return is_atom (arg_1);
  }
static integer mmx::GLUE_14 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 82 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return quo (arg_1, arg_2);
  }
static vector<mmx_floating> mmx::GLUE_14 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 81 of file glue_point_floating.cpp.

                                              {
    return cdr (arg_1);
  }
static double mmx::GLUE_14 ( const interval< double > &  arg_1) [static]

Definition at line 95 of file glue_rational_curve.cpp.

                                          {
    return interval_lower (arg_1);
  }
static vector<integer> mmx::GLUE_140 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 712 of file glue_point.cpp.

References mmx::shape::insert().

Referenced by glue_point().

                                                                {
    return insert (arg_1, arg_2);
  }
static int mmx::GLUE_141 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 717 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return find (arg_1, arg_2);
  }
static bool mmx::GLUE_142 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 722 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return contains (arg_1, arg_2);
  }
static vector<rational> mmx::GLUE_143 ( const tuple< rational > &  arg_1) [static]

Definition at line 727 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return vector<rational > (as_vector (arg_1));
  }
static vector<rational> mmx::GLUE_144 ( const tuple< rational > &  arg_1) [static]

Definition at line 732 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return vector<rational > (as_vector (arg_1));
  }
static iterator<generic> mmx::GLUE_145 ( const vector< rational > &  arg_1) [static]

Definition at line 737 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return as<iterator<generic> > (iterate (arg_1));
  }
static int mmx::GLUE_146 ( const vector< rational > &  arg_1) [static]

Definition at line 742 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return N (arg_1);
  }
static rational mmx::GLUE_147 ( const vector< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 747 of file glue_point.cpp.

Referenced by glue_point().

                                                             {
    return arg_1[arg_2];
  }
static alias<rational> mmx::GLUE_148 ( const alias< vector< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 752 of file glue_point.cpp.

Referenced by glue_point().

                                                                     {
    return alias_access<rational > (arg_1, arg_2);
  }
static vector<rational> mmx::GLUE_149 ( const vector< rational > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 757 of file glue_point.cpp.

Referenced by glue_point().

                                                                               {
    return range (arg_1, arg_2, arg_3);
  }
static integer mmx::GLUE_15 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 87 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return rem (arg_1, arg_2);
  }
static bool mmx::GLUE_15 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 86 of file glue_point_floating.cpp.

                                              {
    return is_nil (arg_1);
  }
static double mmx::GLUE_15 ( const interval< double > &  arg_1) [static]

Definition at line 100 of file glue_rational_curve.cpp.

                                          {
    return interval_upper (arg_1);
  }
static vector<rational> mmx::GLUE_150 ( const vector< rational > &  arg_1) [static]

Definition at line 762 of file glue_point.cpp.

References mmx::shape_ssi::reverse().

Referenced by glue_point().

                                           {
    return reverse (arg_1);
  }
static vector<rational> mmx::GLUE_151 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 767 of file glue_point.cpp.

References mmx::shape_ssi::append().

Referenced by glue_point().

                                                                          {
    return append (arg_1, arg_2);
  }
static alias<vector<rational> > mmx::GLUE_152 ( const alias< vector< rational > > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 772 of file glue_point.cpp.

Referenced by glue_point().

                                                                                  {
    return alias_write (arg_1, arg_2);
  }
static vector<rational> mmx::GLUE_153 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 777 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return cons (arg_1, arg_2);
  }
static rational mmx::GLUE_154 ( const vector< rational > &  arg_1) [static]

Definition at line 782 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return car (arg_1);
  }
static vector<rational> mmx::GLUE_155 ( const vector< rational > &  arg_1) [static]

Definition at line 787 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return cdr (arg_1);
  }
static bool mmx::GLUE_156 ( const vector< rational > &  arg_1) [static]

Definition at line 792 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return is_nil (arg_1);
  }
static bool mmx::GLUE_157 ( const vector< rational > &  arg_1) [static]

Definition at line 797 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return is_atom (arg_1);
  }
static vector<rational> mmx::GLUE_158 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 802 of file glue_point.cpp.

References mmx::shape::insert().

Referenced by glue_point().

                                                                  {
    return insert (arg_1, arg_2);
  }
static int mmx::GLUE_159 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 807 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return find (arg_1, arg_2);
  }
static bool mmx::GLUE_16 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 92 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return divides (arg_1, arg_2);
  }
static bool mmx::GLUE_16 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 91 of file glue_point_floating.cpp.

                                              {
    return is_atom (arg_1);
  }
static alias<shape_axel> mmx::GLUE_16 ( const alias< shape_axel > &  arg_1,
const shape_curve_rational &  arg_2 
) [static]

Definition at line 105 of file glue_rational_curve.cpp.

                                                                              {
    return alias_write (arg_1, arg_2);
  }
static bool mmx::GLUE_160 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 812 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return contains (arg_1, arg_2);
  }
static vector<integer> mmx::GLUE_161 ( const vector< integer > &  arg_1) [static]

Definition at line 817 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return -arg_1;
  }
static vector<integer> mmx::GLUE_162 ( const vector< integer > &  arg_1) [static]

Definition at line 822 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return square (arg_1);
  }
static vector<integer> mmx::GLUE_163 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 827 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return arg_1 + arg_2;
  }
static vector<integer> mmx::GLUE_164 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 832 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return arg_1 - arg_2;
  }
static vector<integer> mmx::GLUE_165 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 837 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return arg_1 * arg_2;
  }
static vector<integer> mmx::GLUE_166 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 842 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return arg_1 + arg_2;
  }
static vector<integer> mmx::GLUE_167 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 847 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return arg_1 + arg_2;
  }
static vector<integer> mmx::GLUE_168 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 852 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return arg_1 - arg_2;
  }
static vector<integer> mmx::GLUE_169 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 857 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return arg_1 - arg_2;
  }
static integer mmx::GLUE_17 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 97 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return gcd (arg_1, arg_2);
  }
static vector<mmx_floating> mmx::GLUE_17 ( const vector< mmx_floating > &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 96 of file glue_point_floating.cpp.

References mmx::shape::insert().

                                                                         {
    return insert (arg_1, arg_2);
  }
static shape_curve_rational mmx::GLUE_17 ( const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_1,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_2,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_3 
) [static]

Definition at line 110 of file glue_rational_curve.cpp.

References create_curve_rational().

                                                                                                                                                                                         {
    return create_curve_rational (arg_1, arg_2, arg_3);
  }
static vector<integer> mmx::GLUE_170 ( const integer &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 862 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return arg_1 * arg_2;
  }
static vector<integer> mmx::GLUE_171 ( const vector< integer > &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 867 of file glue_point.cpp.

Referenced by glue_point().

                                                                {
    return arg_1 * arg_2;
  }
static integer mmx::GLUE_172 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 872 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return dot (arg_1, arg_2);
  }
static integer mmx::GLUE_173 ( const vector< integer > &  arg_1) [static]

Definition at line 877 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return big_mul (arg_1);
  }
static integer mmx::GLUE_174 ( const vector< integer > &  arg_1) [static]

Definition at line 882 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return big_add (arg_1);
  }
static vector<rational> mmx::GLUE_175 ( const vector< rational > &  arg_1) [static]

Definition at line 887 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return -arg_1;
  }
static vector<rational> mmx::GLUE_176 ( const vector< rational > &  arg_1) [static]

Definition at line 892 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return square (arg_1);
  }
static vector<rational> mmx::GLUE_177 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 897 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 + arg_2;
  }
static vector<rational> mmx::GLUE_178 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 902 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 - arg_2;
  }
static vector<rational> mmx::GLUE_179 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 907 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 * arg_2;
  }
static integer mmx::GLUE_18 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 102 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return lcm (arg_1, arg_2);
  }
static int mmx::GLUE_18 ( const vector< mmx_floating > &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 101 of file glue_point_floating.cpp.

                                                                         {
    return find (arg_1, arg_2);
  }
static shape_curve_rational mmx::GLUE_18 ( const interval< double > &  arg_1,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_2,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_3,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_4 
) [static]

Definition at line 115 of file glue_rational_curve.cpp.

References create_curve_rational().

                                                                                                                                                                                                                        {
    return create_curve_rational (arg_1, arg_2, arg_3, arg_4);
  }
static vector<rational> mmx::GLUE_180 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 912 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 + arg_2;
  }
static vector<rational> mmx::GLUE_181 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 917 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 + arg_2;
  }
static vector<rational> mmx::GLUE_182 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 922 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 - arg_2;
  }
static vector<rational> mmx::GLUE_183 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 927 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 - arg_2;
  }
static vector<rational> mmx::GLUE_184 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 932 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 * arg_2;
  }
static vector<rational> mmx::GLUE_185 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 937 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 * arg_2;
  }
static rational mmx::GLUE_186 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 942 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return dot (arg_1, arg_2);
  }
static rational mmx::GLUE_187 ( const vector< rational > &  arg_1) [static]

Definition at line 947 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return big_mul (arg_1);
  }
static rational mmx::GLUE_188 ( const vector< rational > &  arg_1) [static]

Definition at line 952 of file glue_point.cpp.

Referenced by glue_point().

                                           {
    return big_add (arg_1);
  }
static vector<rational> mmx::GLUE_189 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 957 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 / arg_2;
  }
static bool mmx::GLUE_19 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 107 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return arg_1 < arg_2;
  }
static bool mmx::GLUE_19 ( const vector< mmx_floating > &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 106 of file glue_point_floating.cpp.

                                                                         {
    return contains (arg_1, arg_2);
  }
static shape_curve_rational mmx::GLUE_19 ( const interval< double > &  arg_1,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_2,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_3,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_4,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_5 
) [static]

Definition at line 120 of file glue_rational_curve.cpp.

References create_curve_rational().

                                                                                                                                                                                                                                                                                  {
    return create_curve_rational (arg_1, arg_2, arg_3, arg_4, arg_5);
  }
static vector<rational> mmx::GLUE_190 ( const rational &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 962 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 / arg_2;
  }
static vector<rational> mmx::GLUE_191 ( const vector< rational > &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 967 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1 / arg_2;
  }
static bool mmx::GLUE_192 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 972 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return arg_1 <= arg_2;
  }
static bool mmx::GLUE_193 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 977 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return arg_1 >= arg_2;
  }
static bool mmx::GLUE_194 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 982 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return arg_1 < arg_2;
  }
static bool mmx::GLUE_195 ( const vector< integer > &  arg_1,
const vector< integer > &  arg_2 
) [static]

Definition at line 987 of file glue_point.cpp.

Referenced by glue_point().

                                                                        {
    return arg_1 > arg_2;
  }
static bool mmx::GLUE_196 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 992 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 <= arg_2;
  }
static bool mmx::GLUE_197 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 997 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 >= arg_2;
  }
static bool mmx::GLUE_198 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 1002 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 < arg_2;
  }
static bool mmx::GLUE_199 ( const vector< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 1007 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return arg_1 > arg_2;
  }
static alias<shape_axel> mmx::GLUE_2 ( const alias< shape_axel > &  arg_1,
const shape_color &  arg_2 
) [static]

Definition at line 17 of file glue_color.cpp.

                                                                    {
    return alias_write (arg_1, arg_2);
  }
static generic mmx::GLUE_2 ( const int &  arg_1) [static]

Definition at line 22 of file glue_point.cpp.

                            {
    return integer_construct (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_2 ( const tuple< mmx_floating > &  arg_1) [static]

Definition at line 21 of file glue_point_floating.cpp.

                                            {
    return vector<mmx_floating > (as_vector (arg_1));
  }
static alias<shape_axel> mmx::GLUE_2 ( const alias< shape_axel > &  arg_1,
const shape_color_point_set &  arg_2 
) [static]

Definition at line 27 of file glue_point_set_with_color.cpp.

                                                                              {
    return alias_write (arg_1, arg_2);
  }
static interval<double> mmx::GLUE_2 ( const double &  arg_1,
const double &  arg_2 
) [static]

Definition at line 35 of file glue_rational_curve.cpp.

                                                    {
    return interval_from_pair (arg_1, arg_2);
  }
static shape_algebraic_curve mmx::GLUE_2 ( const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_1) [static]
static shape_algebraic_curve mmx::GLUE_2 ( const shape_surface_algebraic &  arg_1,
const shape_surface_algebraic &  arg_2 
) [static]

Definition at line 35 of file glue_algebraic_surface.cpp.

References shape_surface_algebraic_intersection().

                                                                                      {
    return shape_surface_algebraic_intersection (arg_1, arg_2);
  }
static shape_axel mmx::GLUE_2 ( const string &  arg_1) [static]

Definition at line 12 of file glue_axel.cpp.

References shape_axel_string().

                               {
    return shape_axel_string (arg_1);
  }
static bool mmx::GLUE_20 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 112 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                                       {
    return arg_1 <= arg_2;
  }
static vector<mmx_floating> mmx::GLUE_20 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 111 of file glue_point_floating.cpp.

                                              {
    return -arg_1;
  }
static shape_curve_rational mmx::GLUE_20 ( const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_1,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_2,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_3,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_4 
) [static]

Definition at line 125 of file glue_rational_curve.cpp.

References create_curve_rational().

                                                                                                                                                                                                                                                   {
    return create_curve_rational (arg_1, arg_2, arg_3, arg_4);
  }
static vector<rational> mmx::GLUE_200 ( const vector< rational > &  arg_1) [static]

Definition at line 1012 of file glue_point.cpp.

References abs().

Referenced by glue_point().

                                           {
    return abs (arg_1);
  }
static vector<rational> mmx::GLUE_201 ( const vector< integer > &  arg_1) [static]

Definition at line 1017 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return as<vector<rational> > (arg_1);
  }
static shape_axel mmx::GLUE_202 ( ) [static]

Definition at line 1022 of file glue_point.cpp.

References shape_axel.

Referenced by glue_point().

              {
    return shape_axel ();
  }
static shape_axel mmx::GLUE_203 ( const string &  arg_1) [static]

Definition at line 1027 of file glue_point.cpp.

References shape_axel_string().

Referenced by glue_point().

                                 {
    return shape_axel_string (arg_1);
  }
static void mmx::GLUE_204 ( const shape_axel &  arg_1) [static]

Definition at line 1032 of file glue_point.cpp.

References shape_axel_view().

Referenced by glue_point().

                                     {
    shape_axel_view (arg_1);
  }
static shape::point<rational> mmx::GLUE_205 ( const tuple< rational > &  arg_1) [static]

Definition at line 1037 of file glue_point.cpp.

Referenced by glue_point().

                                          {
    return shape_point_tuple<rational > (as_vector (arg_1));
  }
static rational mmx::GLUE_206 ( const shape::point< rational > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 1042 of file glue_point.cpp.

Referenced by glue_point().

                                                                  {
    return arg_1[arg_2];
  }
static alias<rational> mmx::GLUE_207 ( const alias< shape::point< rational > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 1047 of file glue_point.cpp.

Referenced by glue_point().

                                                                          {
    return alias_access<rational > (arg_1, arg_2);
  }
static vector<rational> mmx::GLUE_208 ( const shape::point< rational > &  arg_1,
const shape::point< rational > &  arg_2 
) [static]

Definition at line 1052 of file glue_point.cpp.

Referenced by glue_point().

                                                                                    {
    return arg_1 - arg_2;
  }
static shape::point<rational> mmx::GLUE_209 ( const shape::point< rational > &  arg_1,
const vector< rational > &  arg_2 
) [static]

Definition at line 1057 of file glue_point.cpp.

Referenced by glue_point().

                                                                               {
    return arg_1 + arg_2;
  }
static bool mmx::GLUE_21 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 117 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return arg_1 > arg_2;
  }
static vector<mmx_floating> mmx::GLUE_21 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 116 of file glue_point_floating.cpp.

                                              {
    return square (arg_1);
  }
static alias<shape_axel> mmx::GLUE_210 ( const alias< shape_axel > &  arg_1,
const shape::point< rational > &  arg_2 
) [static]

Definition at line 1062 of file glue_point.cpp.

Referenced by glue_point().

                                                                                {
    return alias_write (arg_1, arg_2);
  }
static bool mmx::GLUE_22 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 122 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return arg_1 >= arg_2;
  }
static vector<mmx_floating> mmx::GLUE_22 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 121 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 + arg_2;
  }
static integer mmx::GLUE_23 ( const integer &  arg_1) [static]

Definition at line 127 of file glue_point.cpp.

References abs().

Referenced by glue_point(), and glue_point_floating().

                                 {
    return abs (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_23 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 126 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 - arg_2;
  }
static integer mmx::GLUE_24 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 132 of file glue_point.cpp.

References min().

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return min (arg_1, arg_2);
  }
static vector<mmx_floating> mmx::GLUE_24 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 131 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 * arg_2;
  }
static integer mmx::GLUE_25 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 137 of file glue_point.cpp.

References max().

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return max (arg_1, arg_2);
  }
static vector<mmx_floating> mmx::GLUE_25 ( const mmx_floating &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 136 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 + arg_2;
  }
static integer mmx::GLUE_26 ( const integer &  arg_1) [static]

Definition at line 142 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return factorial (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_26 ( const vector< mmx_floating > &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 141 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 + arg_2;
  }
static integer mmx::GLUE_27 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 147 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return binomial (arg_1, arg_2);
  }
static vector<mmx_floating> mmx::GLUE_27 ( const mmx_floating &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 146 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 - arg_2;
  }
static bool mmx::GLUE_28 ( const integer &  arg_1) [static]

Definition at line 152 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return is_probable_prime (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_28 ( const vector< mmx_floating > &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 151 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 - arg_2;
  }
static integer mmx::GLUE_29 ( const integer &  arg_1) [static]

Definition at line 157 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return probable_next_prime (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_29 ( const mmx_floating &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 156 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 * arg_2;
  }
static integer mmx::GLUE_3 ( const int &  arg_1) [static]

Definition at line 27 of file glue_point.cpp.

                            {
    return integer (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_3 ( const tuple< mmx_floating > &  arg_1) [static]

Definition at line 26 of file glue_point_floating.cpp.

                                            {
    return vector<mmx_floating > (as_vector (arg_1));
  }
static alias<shape_color_point_set> mmx::GLUE_3 ( const alias< shape_color_point_set > &  arg_1,
const vector< generic > &  arg_2 
) [static]

Definition at line 32 of file glue_point_set_with_color.cpp.

                                                                                   {
    return alias_write (arg_1, arg_2);
  }
static interval<double> mmx::GLUE_3 ( const interval< double > &  arg_1) [static]

Definition at line 40 of file glue_rational_curve.cpp.

                                         {
    return -arg_1;
  }
static shape_algebraic_curve mmx::GLUE_3 ( const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_1,
const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_2 
) [static]
static shape_surface_algebraic mmx::GLUE_3 ( const ring< rational, Sparse, DegRevLex >::Polynomial &  arg_1) [static]

Definition at line 40 of file glue_algebraic_surface.cpp.

References shape_surface_algebraic.

                                                                    {
    return shape_surface_algebraic (arg_1);
  }
static void mmx::GLUE_3 ( const shape_axel &  arg_1) [static]

Definition at line 17 of file glue_axel.cpp.

References shape_axel_view().

                                   {
    shape_axel_view (arg_1);
  }
static integer mmx::GLUE_30 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 162 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return arg_1 & arg_2;
  }
static vector<mmx_floating> mmx::GLUE_30 ( const vector< mmx_floating > &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 161 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 * arg_2;
  }
static integer mmx::GLUE_31 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 167 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return arg_1 | arg_2;
  }
static mmx_floating mmx::GLUE_31 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 166 of file glue_point_floating.cpp.

                                                                                 {
    return dot (arg_1, arg_2);
  }
static integer mmx::GLUE_32 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 172 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return arg_1 ^ arg_2;
  }
static mmx_floating mmx::GLUE_32 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 171 of file glue_point_floating.cpp.

                                              {
    return big_mul (arg_1);
  }
static integer mmx::GLUE_33 ( const integer &  arg_1) [static]

Definition at line 177 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return ~arg_1;
  }
static mmx_floating mmx::GLUE_33 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 176 of file glue_point_floating.cpp.

                                              {
    return big_add (arg_1);
  }
static int mmx::GLUE_34 ( const integer &  arg_1) [static]

Definition at line 182 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return bit_size (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_34 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 181 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 / arg_2;
  }
static bool mmx::GLUE_35 ( const integer &  arg_1,
const int &  arg_2 
) [static]

Definition at line 187 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                   {
    return arg_1[arg_2];
  }
static vector<mmx_floating> mmx::GLUE_35 ( const mmx_floating &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 186 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 / arg_2;
  }
static int mmx::GLUE_36 ( const integer &  arg_1) [static]

Definition at line 192 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return hamming_norm (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_36 ( const vector< mmx_floating > &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 191 of file glue_point_floating.cpp.

                                                                         {
    return arg_1 / arg_2;
  }
static int mmx::GLUE_37 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 197 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return hamming_distance (arg_1, arg_2);
  }
static bool mmx::GLUE_37 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 196 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 <= arg_2;
  }
static rational mmx::GLUE_38 ( const integer &  arg_1) [static]

Definition at line 202 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return rational (arg_1);
  }
static bool mmx::GLUE_38 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 201 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 >= arg_2;
  }
static rational mmx::GLUE_39 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 207 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return rational_new (arg_1, arg_2);
  }
static bool mmx::GLUE_39 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 206 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 < arg_2;
  }
static shape_bounding_box mmx::GLUE_4 ( ) [static]
static int mmx::GLUE_4 ( const integer &  arg_1) [static]

Definition at line 32 of file glue_point.cpp.

                                {
    return as_int (arg_1);
  }
static iterator<generic> mmx::GLUE_4 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 31 of file glue_point_floating.cpp.

                                             {
    return as<iterator<generic> > (iterate (arg_1));
  }
static interval<double> mmx::GLUE_4 ( const interval< double > &  arg_1,
const interval< double > &  arg_2 
) [static]

Definition at line 45 of file glue_rational_curve.cpp.

                                                                        {
    return arg_1 + arg_2;
  }
static rational mmx::GLUE_40 ( const integer &  arg_1) [static]

Definition at line 212 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                 {
    return rational (arg_1);
  }
static bool mmx::GLUE_40 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 211 of file glue_point_floating.cpp.

                                                                                 {
    return arg_1 > arg_2;
  }
static double mmx::GLUE_41 ( const rational &  arg_1) [static]

Definition at line 217 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                  {
    return as_double (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_41 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 216 of file glue_point_floating.cpp.

                                              {
    return sqrt (arg_1);
  }
static rational mmx::GLUE_42 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 222 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return rational_new (arg_1, arg_2);
  }
static vector<mmx_floating> mmx::GLUE_42 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 221 of file glue_point_floating.cpp.

                                              {
    return exp (arg_1);
  }
static integer mmx::GLUE_43 ( const rational &  arg_1) [static]

Definition at line 227 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                  {
    return numerator (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_43 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 226 of file glue_point_floating.cpp.

                                              {
    return log (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_44 ( const vector< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 231 of file glue_point_floating.cpp.

                                                                                 {
    return pow (arg_1, arg_2);
  }
static integer mmx::GLUE_44 ( const rational &  arg_1) [static]

Definition at line 232 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                  {
    return denominator (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_45 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 236 of file glue_point_floating.cpp.

                                              {
    return cos (arg_1);
  }
static rational mmx::GLUE_45 ( const rational &  arg_1) [static]

Definition at line 237 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                  {
    return -arg_1;
  }
static vector<mmx_floating> mmx::GLUE_46 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 241 of file glue_point_floating.cpp.

                                              {
    return sin (arg_1);
  }
static rational mmx::GLUE_46 ( const rational &  arg_1) [static]

Definition at line 242 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                  {
    return square (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_47 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 246 of file glue_point_floating.cpp.

                                              {
    return tan (arg_1);
  }
static rational mmx::GLUE_47 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 247 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 + arg_2;
  }
static vector<mmx_floating> mmx::GLUE_48 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 251 of file glue_point_floating.cpp.

                                              {
    return acos (arg_1);
  }
static rational mmx::GLUE_48 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 252 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 - arg_2;
  }
static rational mmx::GLUE_49 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 257 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 * arg_2;
  }
static vector<mmx_floating> mmx::GLUE_49 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 256 of file glue_point_floating.cpp.

                                              {
    return asin (arg_1);
  }
static int mmx::GLUE_5 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 36 of file glue_point_floating.cpp.

                                             {
    return N (arg_1);
  }
static integer mmx::GLUE_5 ( const int &  arg_1) [static]

Definition at line 37 of file glue_point.cpp.

                            {
    return integer (arg_1);
  }
static shape_bounding_box mmx::GLUE_5 ( const tuple< double > &  arg_1) [static]
static interval<double> mmx::GLUE_5 ( const interval< double > &  arg_1,
const interval< double > &  arg_2 
) [static]

Definition at line 50 of file glue_rational_curve.cpp.

                                                                        {
    return arg_1 - arg_2;
  }
static vector<mmx_floating> mmx::GLUE_50 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 261 of file glue_point_floating.cpp.

                                              {
    return atan (arg_1);
  }
static rational mmx::GLUE_50 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 262 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 / arg_2;
  }
static generic mmx::GLUE_51 ( const integer &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 267 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                       {
    return integer_pow (arg_1, arg_2);
  }
static vector<mmx_floating> mmx::GLUE_51 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 266 of file glue_point_floating.cpp.

References abs().

                                              {
    return abs (arg_1);
  }
static shape_axel mmx::GLUE_52 ( ) [static]

Definition at line 271 of file glue_point_floating.cpp.

References shape_axel.

             {
    return shape_axel ();
  }
static rational mmx::GLUE_52 ( const rational &  arg_1,
const integer &  arg_2 
) [static]

Definition at line 272 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                        {
    return pow (arg_1, arg_2);
  }
static shape_axel mmx::GLUE_53 ( const string &  arg_1) [static]

Definition at line 276 of file glue_point_floating.cpp.

References shape_axel_string().

                                {
    return shape_axel_string (arg_1);
  }
static rational mmx::GLUE_53 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 277 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 / arg_2;
  }
static void mmx::GLUE_54 ( const shape_axel &  arg_1) [static]

Definition at line 281 of file glue_point_floating.cpp.

References shape_axel_view().

                                    {
    shape_axel_view (arg_1);
  }
static bool mmx::GLUE_54 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 282 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return divides (arg_1, arg_2);
  }
static rational mmx::GLUE_55 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 287 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return gcd (arg_1, arg_2);
  }
static shape::point<mmx_floating> mmx::GLUE_55 ( const tuple< mmx_floating > &  arg_1) [static]

Definition at line 286 of file glue_point_floating.cpp.

                                             {
    return shape_point_tuple<mmx_floating > (as_vector (arg_1));
  }
static mmx_floating mmx::GLUE_56 ( const shape::point< mmx_floating > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 291 of file glue_point_floating.cpp.

                                                                     {
    return arg_1[arg_2];
  }
static rational mmx::GLUE_56 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 292 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return lcm (arg_1, arg_2);
  }
static bool mmx::GLUE_57 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 297 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 < arg_2;
  }
static alias<mmx_floating> mmx::GLUE_57 ( const alias< shape::point< mmx_floating > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 296 of file glue_point_floating.cpp.

                                                                             {
    return alias_access<mmx_floating > (arg_1, arg_2);
  }
static bool mmx::GLUE_58 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 302 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 <= arg_2;
  }
static vector<mmx_floating> mmx::GLUE_58 ( const shape::point< mmx_floating > &  arg_1,
const shape::point< mmx_floating > &  arg_2 
) [static]

Definition at line 301 of file glue_point_floating.cpp.

                                                                                           {
    return arg_1 - arg_2;
  }
static shape::point<mmx_floating> mmx::GLUE_59 ( const shape::point< mmx_floating > &  arg_1,
const vector< mmx_floating > &  arg_2 
) [static]

Definition at line 306 of file glue_point_floating.cpp.

                                                                                      {
    return arg_1 + arg_2;
  }
static bool mmx::GLUE_59 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 307 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 > arg_2;
  }
static shape_bounding_box mmx::GLUE_6 ( const tuple< mmx_floating > &  arg_1) [static]
static integer mmx::GLUE_6 ( const string &  arg_1) [static]

Definition at line 42 of file glue_point.cpp.

                               {
    return integer (arg_1);
  }
static mmx_floating mmx::GLUE_6 ( const vector< mmx_floating > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 41 of file glue_point_floating.cpp.

                                                               {
    return arg_1[arg_2];
  }
static interval<double> mmx::GLUE_6 ( const interval< double > &  arg_1,
const interval< double > &  arg_2 
) [static]

Definition at line 55 of file glue_rational_curve.cpp.

                                                                        {
    return arg_1 * arg_2;
  }
static bool mmx::GLUE_60 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 312 of file glue_point.cpp.

Referenced by glue_point(), and glue_point_floating().

                                                         {
    return arg_1 >= arg_2;
  }
static alias<shape_axel> mmx::GLUE_60 ( const alias< shape_axel > &  arg_1,
const shape::point< mmx_floating > &  arg_2 
) [static]

Definition at line 311 of file glue_point_floating.cpp.

                                                                                   {
    return alias_write (arg_1, arg_2);
  }
static rational mmx::GLUE_61 ( const rational &  arg_1) [static]

Definition at line 317 of file glue_point.cpp.

References abs().

Referenced by glue_point().

                                  {
    return abs (arg_1);
  }
static rational mmx::GLUE_62 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 322 of file glue_point.cpp.

References min().

Referenced by glue_point().

                                                         {
    return min (arg_1, arg_2);
  }
static rational mmx::GLUE_63 ( const rational &  arg_1,
const rational &  arg_2 
) [static]

Definition at line 327 of file glue_point.cpp.

References max().

Referenced by glue_point().

                                                         {
    return max (arg_1, arg_2);
  }
static rational mmx::GLUE_64 ( const rational &  arg_1) [static]

Definition at line 332 of file glue_point.cpp.

Referenced by glue_point().

                                  {
    return floor (arg_1);
  }
static rational mmx::GLUE_65 ( const rational &  arg_1) [static]

Definition at line 337 of file glue_point.cpp.

Referenced by glue_point().

                                  {
    return ceil (arg_1);
  }
static rational mmx::GLUE_66 ( const rational &  arg_1) [static]

Definition at line 342 of file glue_point.cpp.

Referenced by glue_point().

                                  {
    return trunc (arg_1);
  }
static rational mmx::GLUE_67 ( const rational &  arg_1) [static]

Definition at line 347 of file glue_point.cpp.

Referenced by glue_point().

                                  {
    return round (arg_1);
  }
static mmx_floating mmx::GLUE_68 ( const literal &  arg_1) [static]

Definition at line 352 of file glue_point.cpp.

Referenced by glue_point().

                                 {
    return make_literal_floating (arg_1);
  }
static mmx_floating mmx::GLUE_69 ( const int &  arg_1) [static]

Definition at line 357 of file glue_point.cpp.

Referenced by glue_point().

                             {
    return mmx_floating (arg_1);
  }
static alias<mmx_floating> mmx::GLUE_7 ( const alias< vector< mmx_floating > > &  arg_1,
const int &  arg_2 
) [static]

Definition at line 46 of file glue_point_floating.cpp.

                                                                       {
    return alias_access<mmx_floating > (arg_1, arg_2);
  }
static string mmx::GLUE_7 ( const integer &  arg_1) [static]

Definition at line 47 of file glue_point.cpp.

                                {
    return as_string (arg_1);
  }
static alias<shape_axel> mmx::GLUE_7 ( const alias< shape_axel > &  arg_1,
const shape_bounding_box &  arg_2 
) [static]

Definition at line 46 of file glue_bounding_box.cpp.

Referenced by glue_bounding_box(), glue_point(), glue_point_floating(), and glue_rational_curve().

                                                                           {
    return alias_write (arg_1, arg_2);
  }
static interval<double> mmx::GLUE_7 ( const double &  arg_1,
const interval< double > &  arg_2 
) [static]

Definition at line 60 of file glue_rational_curve.cpp.

                                                              {
    return arg_1 + arg_2;
  }
static mmx_floating mmx::GLUE_70 ( const integer &  arg_1) [static]

Definition at line 362 of file glue_point.cpp.

Referenced by glue_point().

                                 {
    return mmx_floating (arg_1);
  }
static mmx_floating mmx::GLUE_71 ( const rational &  arg_1) [static]

Definition at line 367 of file glue_point.cpp.

Referenced by glue_point().

                                  {
    return mmx_floating (arg_1);
  }
static mmx_floating mmx::GLUE_72 ( const int &  arg_1) [static]

Definition at line 372 of file glue_point.cpp.

Referenced by glue_point().

                             {
    return mmx_floating (arg_1);
  }
static mmx_floating mmx::GLUE_73 ( const double &  arg_1) [static]

Definition at line 377 of file glue_point.cpp.

Referenced by glue_point().

                                {
    return mmx_floating (arg_1);
  }
static mmx_floating mmx::GLUE_74 ( const integer &  arg_1) [static]

Definition at line 382 of file glue_point.cpp.

Referenced by glue_point().

                                 {
    return mmx_floating (arg_1);
  }
static mmx_floating mmx::GLUE_75 ( const rational &  arg_1) [static]

Definition at line 387 of file glue_point.cpp.

Referenced by glue_point().

                                  {
    return mmx_floating (arg_1);
  }
static mmx_floating mmx::GLUE_76 ( const string &  arg_1) [static]

Definition at line 392 of file glue_point.cpp.

Referenced by glue_point().

                                {
    return mmx_floating (arg_1);
  }
static int mmx::GLUE_77 ( const mmx_floating &  arg_1) [static]

Definition at line 397 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return as_int (arg_1);
  }
static double mmx::GLUE_78 ( const mmx_floating &  arg_1) [static]

Definition at line 402 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return as_double (arg_1);
  }
static integer mmx::GLUE_79 ( const mmx_floating &  arg_1) [static]

Definition at line 407 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return as_integer (arg_1);
  }
static integer mmx::GLUE_8 ( const integer &  arg_1) [static]

Definition at line 52 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                {
    return -arg_1;
  }
static vector<mmx_floating> mmx::GLUE_8 ( const vector< mmx_floating > &  arg_1,
const int &  arg_2,
const int &  arg_3 
) [static]

Definition at line 51 of file glue_point_floating.cpp.

                                                                                 {
    return range (arg_1, arg_2, arg_3);
  }
static interval<double> mmx::GLUE_8 ( const interval< double > &  arg_1,
const double &  arg_2 
) [static]

Definition at line 65 of file glue_rational_curve.cpp.

                                                              {
    return arg_1 + arg_2;
  }
static string mmx::GLUE_80 ( const mmx_floating &  arg_1) [static]

Definition at line 412 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return as_string (arg_1);
  }
static mmx_floating mmx::GLUE_81 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 417 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return uniform_deviate (arg_1, arg_2);
  }
static mmx_floating mmx::GLUE_82 ( const mmx_floating &  arg_1) [static]

Definition at line 422 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return -arg_1;
  }
static mmx_floating mmx::GLUE_83 ( const mmx_floating &  arg_1) [static]

Definition at line 427 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return square (arg_1);
  }
static mmx_floating mmx::GLUE_84 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 432 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return arg_1 + arg_2;
  }
static mmx_floating mmx::GLUE_85 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 437 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return arg_1 - arg_2;
  }
static mmx_floating mmx::GLUE_86 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 442 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return arg_1 * arg_2;
  }
static mmx_floating mmx::GLUE_87 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 447 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return arg_1 / arg_2;
  }
static mmx_floating mmx::GLUE_88 ( const mmx_floating &  arg_1) [static]

Definition at line 452 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return sqrt (arg_1);
  }
static mmx_floating mmx::GLUE_89 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 457 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return pow (arg_1, arg_2);
  }
static integer mmx::GLUE_9 ( const integer &  arg_1) [static]

Definition at line 57 of file glue_point.cpp.

Referenced by glue_point(), glue_point_floating(), and glue_rational_curve().

                                {
    return square (arg_1);
  }
static vector<mmx_floating> mmx::GLUE_9 ( const vector< mmx_floating > &  arg_1) [static]

Definition at line 56 of file glue_point_floating.cpp.

References mmx::shape_ssi::reverse().

                                             {
    return reverse (arg_1);
  }
static interval<double> mmx::GLUE_9 ( const double &  arg_1,
const interval< double > &  arg_2 
) [static]

Definition at line 70 of file glue_rational_curve.cpp.

                                                              {
    return arg_1 - arg_2;
  }
static mmx_floating mmx::GLUE_90 ( const mmx_floating &  arg_1) [static]

Definition at line 462 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return exp (arg_1);
  }
static mmx_floating mmx::GLUE_91 ( const mmx_floating &  arg_1) [static]

Definition at line 467 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return log (arg_1);
  }
static mmx_floating mmx::GLUE_92 ( const mmx_floating &  arg_1) [static]

Definition at line 472 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return cos (arg_1);
  }
static mmx_floating mmx::GLUE_93 ( const mmx_floating &  arg_1) [static]

Definition at line 477 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return sin (arg_1);
  }
static mmx_floating mmx::GLUE_94 ( const mmx_floating &  arg_1) [static]

Definition at line 482 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return tan (arg_1);
  }
static mmx_floating mmx::GLUE_95 ( const mmx_floating &  arg_1) [static]

Definition at line 487 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return acos (arg_1);
  }
static mmx_floating mmx::GLUE_96 ( const mmx_floating &  arg_1) [static]

Definition at line 492 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return asin (arg_1);
  }
static mmx_floating mmx::GLUE_97 ( const mmx_floating &  arg_1) [static]

Definition at line 497 of file glue_point.cpp.

Referenced by glue_point().

                                      {
    return atan (arg_1);
  }
static bool mmx::GLUE_98 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 502 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return arg_1 < arg_2;
  }
static bool mmx::GLUE_99 ( const mmx_floating &  arg_1,
const mmx_floating &  arg_2 
) [static]

Definition at line 507 of file glue_point.cpp.

Referenced by glue_point().

                                                                 {
    return arg_1 <= arg_2;
  }
void glue_algebraic_curve ( )

Definition at line 44 of file glue_algebraic_curve.cpp.

References GLUE_1(), GLUE_2(), and GLUE_3().

Referenced by glue_shape().

                          {
    static bool done = false;
    if (done) return;
    done = true;
    call_glue (string ("glue_double"));
    call_glue (string ("glue_string"));
    call_glue (string ("glue_vector_generic"));
    call_glue (string ("glue_polynomial_sparse_rational"));
    call_glue (string ("glue_axel"));
    define_type<shape_algebraic_curve > (lit ("AlgebraicCurve"));
    define ("<<", GLUE_1);
    define ("algebraic_curve", GLUE_2);
    define ("algebraic_curve", GLUE_3);
  }
void glue_algebraic_surface ( )

Definition at line 45 of file glue_algebraic_surface.cpp.

References GLUE_1(), GLUE_2(), and GLUE_3().

Referenced by glue_shape().

                            {
    static bool done = false;
    if (done) return;
    done = true;
    call_glue (string ("glue_double"));
    call_glue (string ("glue_string"));
    call_glue (string ("glue_vector_generic"));
    call_glue (string ("glue_polynomial_sparse_rational"));
    call_glue (string ("glue_algebraic_curve"));
    define_type<shape_surface_algebraic > (lit ("AlgebraicSurface"));
    define ("<<", GLUE_1);
    define ("*", GLUE_2);
    define ("surface_algebraic", GLUE_3);
  }
void glue_axel ( )

Definition at line 22 of file glue_axel.cpp.

References GLUE_1(), GLUE_2(), and GLUE_3().

Referenced by glue_shape().

               {
    static bool done = false;
    if (done) return;
    done = true;
    define_type<shape_axel > (lit ("Axel"));
    define ("axel", GLUE_1);
    define ("axel", GLUE_2);
    define ("view", GLUE_3);
  }
void glue_bounding_box ( )

Definition at line 51 of file glue_bounding_box.cpp.

References GLUE_1(), GLUE_2(), GLUE_3(), GLUE_4(), GLUE_5(), GLUE_6(), and GLUE_7().

Referenced by glue_shape().

                       {
    static bool done = false;
    if (done) return;
    done = true;
    call_glue (string ("glue_double"));
    call_glue (string ("glue_floating"));
    define_type<shape_axel > (lit ("Axel"));
    define ("axel", GLUE_1);
    define ("axel", GLUE_2);
    define ("view", GLUE_3);
    define_type<shape_bounding_box > (lit ("BoundingBox"));
    define ("bounding_box", GLUE_4);
    define ("bounding_box", GLUE_5);
    define ("bounding_box", GLUE_6);
    define ("<<", GLUE_7);
  }
void glue_color ( )

Definition at line 22 of file glue_color.cpp.

References GLUE_1(), and GLUE_2().

Referenced by glue_shape().

                {
    static bool done = false;
    if (done) return;
    done = true;
    call_glue (string ("glue_int"));
    call_glue (string ("glue_axel"));
    define_type<shape_color > (lit ("Color"));
    define ("color", GLUE_1);
    define ("<<", GLUE_2);
  }
void glue_point ( )

Definition at line 1067 of file glue_point.cpp.

References GLUE_1(), GLUE_10(), GLUE_100(), GLUE_101(), GLUE_102(), GLUE_103(), GLUE_104(), GLUE_105(), GLUE_106(), GLUE_107(), GLUE_108(), GLUE_109(), GLUE_11(), GLUE_110(), GLUE_111(), GLUE_112(), GLUE_113(), GLUE_114(), GLUE_115(), GLUE_116(), GLUE_117(), GLUE_118(), GLUE_119(), GLUE_12(), GLUE_120(), GLUE_121(), GLUE_122(), GLUE_123(), GLUE_124(), GLUE_125(), GLUE_126(), GLUE_127(), GLUE_128(), GLUE_129(), GLUE_13(), GLUE_130(), GLUE_131(), GLUE_132(), GLUE_133(), GLUE_134(), GLUE_135(), GLUE_136(), GLUE_137(), GLUE_138(), GLUE_139(), GLUE_14(), GLUE_140(), GLUE_141(), GLUE_142(), GLUE_143(), GLUE_144(), GLUE_145(), GLUE_146(), GLUE_147(), GLUE_148(), GLUE_149(), GLUE_15(), GLUE_150(), GLUE_151(), GLUE_152(), GLUE_153(), GLUE_154(), GLUE_155(), GLUE_156(), GLUE_157(), GLUE_158(), GLUE_159(), GLUE_16(), GLUE_160(), GLUE_161(), GLUE_162(), GLUE_163(), GLUE_164(), GLUE_165(), GLUE_166(), GLUE_167(), GLUE_168(), GLUE_169(), GLUE_17(), GLUE_170(), GLUE_171(), GLUE_172(), GLUE_173(), GLUE_174(), GLUE_175(), GLUE_176(), GLUE_177(), GLUE_178(), GLUE_179(), GLUE_18(), GLUE_180(), GLUE_181(), GLUE_182(), GLUE_183(), GLUE_184(), GLUE_185(), GLUE_186(), GLUE_187(), GLUE_188(), GLUE_189(), GLUE_19(), GLUE_190(), GLUE_191(), GLUE_192(), GLUE_193(), GLUE_194(), GLUE_195(), GLUE_196(), GLUE_197(), GLUE_198(), GLUE_199(), GLUE_2(), GLUE_20(), GLUE_200(), GLUE_201(), GLUE_202(), GLUE_203(), GLUE_204(), GLUE_205(), GLUE_206(), GLUE_207(), GLUE_208(), GLUE_209(), GLUE_21(), GLUE_210(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_61(), GLUE_62(), GLUE_63(), GLUE_64(), GLUE_65(), GLUE_66(), GLUE_67(), GLUE_68(), GLUE_69(), GLUE_7(), GLUE_70(), GLUE_71(), GLUE_72(), GLUE_73(), GLUE_74(), GLUE_75(), GLUE_76(), GLUE_77(), GLUE_78(), GLUE_79(), GLUE_8(), GLUE_80(), GLUE_81(), GLUE_82(), GLUE_83(), GLUE_84(), GLUE_85(), GLUE_86(), GLUE_87(), GLUE_88(), GLUE_89(), GLUE_9(), GLUE_90(), GLUE_91(), GLUE_92(), GLUE_93(), GLUE_94(), GLUE_95(), GLUE_96(), GLUE_97(), GLUE_98(), and GLUE_99().

Referenced by glue_shape().

                {
    static bool done = false;
    if (done) return;
    done = true;
    define_type<integer > (lit ("Integer"));
    define ("literal_integer", GLUE_1);
    define_constructor<int > (GLUE_2);
    define ("integer", GLUE_3);
    define_converter ("upgrade", GLUE_4, PENALTY_INCLUSION);
    define_converter (":>", GLUE_5, PENALTY_CAST);
    define ("as_integer", GLUE_6);
    define ("as_string", GLUE_7);
    define ("-", GLUE_8);
    define ("square", GLUE_9);
    define ("+", GLUE_10);
    define ("-", GLUE_11);
    define ("*", GLUE_12);
    define ("div", GLUE_13);
    define ("quo", GLUE_14);
    define ("rem", GLUE_15);
    define ("divides?", GLUE_16);
    define ("gcd", GLUE_17);
    define ("lcm", GLUE_18);
    define ("<", GLUE_19);
    define ("<=", GLUE_20);
    define (">", GLUE_21);
    define (">=", GLUE_22);
    define ("abs", GLUE_23);
    define ("min", GLUE_24);
    define ("max", GLUE_25);
    define (".!", GLUE_26);
    define ("binomial", GLUE_27);
    define ("probable_prime?", GLUE_28);
    define ("probable_next_prime", GLUE_29);
    define ("/\\", GLUE_30);
    define ("\\/", GLUE_31);
    define ("xor", GLUE_32);
    define ("!", GLUE_33);
    define ("#", GLUE_34);
    define (".[]", GLUE_35);
    define ("hamming_norm", GLUE_36);
    define ("hamming_distance", GLUE_37);
    define_type<rational > (lit ("Rational"));
    define ("rational", GLUE_38);
    define ("rational", GLUE_39);
    define_converter ("upgrade", GLUE_40, PENALTY_INCLUSION);
    define_converter ("upgrade", GLUE_41, PENALTY_INCLUSION);
    define ("/", GLUE_42);
    define ("numerator", GLUE_43);
    define ("denominator", GLUE_44);
    define ("-", GLUE_45);
    define ("square", GLUE_46);
    define ("+", GLUE_47);
    define ("-", GLUE_48);
    define ("*", GLUE_49);
    define ("/", GLUE_50);
    define ("^", GLUE_51);
    define ("^", GLUE_52);
    define ("div", GLUE_53);
    define ("divides?", GLUE_54);
    define ("gcd", GLUE_55);
    define ("lcm", GLUE_56);
    define ("<", GLUE_57);
    define ("<=", GLUE_58);
    define (">", GLUE_59);
    define (">=", GLUE_60);
    define ("abs", GLUE_61);
    define ("min", GLUE_62);
    define ("max", GLUE_63);
    define ("floor", GLUE_64);
    define ("ceil", GLUE_65);
    define ("trunc", GLUE_66);
    define ("round", GLUE_67);
    static alias<int> mmx_significant_digits_alias = global_alias (((int&) mmx_significant_digits));
    define_constant<alias<int> > ("significant_digits", mmx_significant_digits_alias);
    static alias<int> mmx_bit_precision_alias = global_alias (((int&) mmx_bit_precision));
    define_constant<alias<int> > ("bit_precision", mmx_bit_precision_alias);
    static alias<int> mmx_discrepancy_alias = global_alias (((int&) mmx_discrepancy));
    define_constant<alias<int> > ("discrepancy", mmx_discrepancy_alias);
    static alias<bool> mmx_pretty_exponents_alias = global_alias (((bool&) mmx_pretty_exponents));
    define_constant<alias<bool> > ("pretty_exponents", mmx_pretty_exponents_alias);
    define_type<mmx_floating > (lit ("Floating"));
    define ("literal_floating", GLUE_68);
    define_converter ("upgrade", GLUE_69, PENALTY_INCLUSION);
    define_converter ("upgrade", GLUE_70, PENALTY_INCLUSION);
    define_converter ("upgrade", GLUE_71, PENALTY_INCLUSION);
    define ("as_floating", GLUE_72);
    define ("as_floating", GLUE_73);
    define ("as_floating", GLUE_74);
    define ("as_floating", GLUE_75);
    define ("as_floating", GLUE_76);
    define ("as_int", GLUE_77);
    define ("as_double", GLUE_78);
    define ("as_integer", GLUE_79);
    define ("as_string", GLUE_80);
    define ("uniform_deviate", GLUE_81);
    define ("-", GLUE_82);
    define ("square", GLUE_83);
    define ("+", GLUE_84);
    define ("-", GLUE_85);
    define ("*", GLUE_86);
    define ("/", GLUE_87);
    define ("sqrt", GLUE_88);
    define ("^", GLUE_89);
    define ("exp", GLUE_90);
    define ("log", GLUE_91);
    define ("cos", GLUE_92);
    define ("sin", GLUE_93);
    define ("tan", GLUE_94);
    define ("arccos", GLUE_95);
    define ("arcsin", GLUE_96);
    define ("arctan", GLUE_97);
    define ("<", GLUE_98);
    define ("<=", GLUE_99);
    define (">", GLUE_100);
    define (">=", GLUE_101);
    define ("abs", GLUE_102);
    define ("min", GLUE_103);
    define ("max", GLUE_104);
    define ("floor", GLUE_105);
    define ("ceil", GLUE_106);
    define ("trunc", GLUE_107);
    define ("round", GLUE_108);
    define ("finite?", GLUE_109);
    define ("infinite?", GLUE_110);
    define ("nan?", GLUE_111);
    define ("times_infinity", GLUE_112);
    define ("precision", GLUE_113);
    define ("next_above", GLUE_114);
    define ("next_below", GLUE_115);
    define ("exponent", GLUE_116);
    define ("magnitude", GLUE_117);
    define ("increase_exponent", GLUE_118);
    define ("decrease_exponent", GLUE_119);
    define ("rounding_error", GLUE_120);
    define ("additive_error", GLUE_121);
    define ("multiplicative_error", GLUE_122);
    define ("elementary_error", GLUE_123);
    define_type<vector<integer> > (gen (lit ("Vector"), lit ("Integer")));
    define_type<vector<rational> > (gen (lit ("Vector"), lit ("Rational")));
    define ("vector?", GLUE_124);
    define ("vector", GLUE_125);
    define ("[]", GLUE_126);
    define_converter (":>", GLUE_127, PENALTY_CAST);
    define ("#", GLUE_128);
    define (".[]", GLUE_129);
    define (".[]", GLUE_130);
    define (".[]", GLUE_131);
    define ("reverse", GLUE_132);
    define ("><", GLUE_133);
    define ("<<", GLUE_134);
    define ("cons", GLUE_135);
    define ("car", GLUE_136);
    define ("cdr", GLUE_137);
    define ("nil?", GLUE_138);
    define ("atom?", GLUE_139);
    define ("insert", GLUE_140);
    define ("find", GLUE_141);
    define ("contains?", GLUE_142);
    define ("vector", GLUE_143);
    define ("[]", GLUE_144);
    define_converter (":>", GLUE_145, PENALTY_CAST);
    define ("#", GLUE_146);
    define (".[]", GLUE_147);
    define (".[]", GLUE_148);
    define (".[]", GLUE_149);
    define ("reverse", GLUE_150);
    define ("><", GLUE_151);
    define ("<<", GLUE_152);
    define ("cons", GLUE_153);
    define ("car", GLUE_154);
    define ("cdr", GLUE_155);
    define ("nil?", GLUE_156);
    define ("atom?", GLUE_157);
    define ("insert", GLUE_158);
    define ("find", GLUE_159);
    define ("contains?", GLUE_160);
    define ("-", GLUE_161);
    define ("square", GLUE_162);
    define ("+", GLUE_163);
    define ("-", GLUE_164);
    define ("*", GLUE_165);
    define ("+", GLUE_166);
    define ("+", GLUE_167);
    define ("-", GLUE_168);
    define ("-", GLUE_169);
    define ("*", GLUE_170);
    define ("*", GLUE_171);
    define ("dot", GLUE_172);
    define ("big_mul", GLUE_173);
    define ("big_add", GLUE_174);
    define ("-", GLUE_175);
    define ("square", GLUE_176);
    define ("+", GLUE_177);
    define ("-", GLUE_178);
    define ("*", GLUE_179);
    define ("+", GLUE_180);
    define ("+", GLUE_181);
    define ("-", GLUE_182);
    define ("-", GLUE_183);
    define ("*", GLUE_184);
    define ("*", GLUE_185);
    define ("dot", GLUE_186);
    define ("big_mul", GLUE_187);
    define ("big_add", GLUE_188);
    define ("/", GLUE_189);
    define ("/", GLUE_190);
    define ("/", GLUE_191);
    define ("<=", GLUE_192);
    define (">=", GLUE_193);
    define ("<", GLUE_194);
    define (">", GLUE_195);
    define ("<=", GLUE_196);
    define (">=", GLUE_197);
    define ("<", GLUE_198);
    define (">", GLUE_199);
    define ("abs", GLUE_200);
    define_converter (":>", GLUE_201, PENALTY_INCLUSION);
    define_type<shape_axel > (lit ("Axel"));
    define ("axel", GLUE_202);
    define ("axel", GLUE_203);
    define ("view", GLUE_204);
    define_type<shape_point<rational> > (gen (lit ("Point"), lit ("Rational")));
    define ("point", GLUE_205);
    define (".[]", GLUE_206);
    define (".[]", GLUE_207);
    define ("-", GLUE_208);
    define ("+", GLUE_209);
    define ("<<", GLUE_210);
  }
void glue_point_floating ( )

Definition at line 316 of file glue_point_floating.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_21(), GLUE_22(), GLUE_23(), GLUE_24(), GLUE_25(), GLUE_26(), GLUE_27(), GLUE_28(), GLUE_29(), GLUE_3(), GLUE_30(), GLUE_31(), GLUE_32(), GLUE_33(), GLUE_34(), GLUE_35(), GLUE_36(), GLUE_37(), GLUE_38(), GLUE_39(), GLUE_4(), GLUE_40(), GLUE_41(), GLUE_42(), GLUE_43(), GLUE_44(), GLUE_45(), GLUE_46(), GLUE_47(), GLUE_48(), GLUE_49(), GLUE_5(), GLUE_50(), GLUE_51(), GLUE_52(), GLUE_53(), GLUE_54(), GLUE_55(), GLUE_56(), GLUE_57(), GLUE_58(), GLUE_59(), GLUE_6(), GLUE_60(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_shape().

                         {
    static bool done = false;
    if (done) return;
    done = true;
    call_glue (string ("glue_floating"));
    define_type<vector<mmx_floating> > (gen (lit ("Vector"), lit ("Floating")));
    define ("vector?", GLUE_1);
    define ("vector", GLUE_2);
    define ("[]", GLUE_3);
    define_converter (":>", GLUE_4, PENALTY_CAST);
    define ("#", GLUE_5);
    define (".[]", GLUE_6);
    define (".[]", GLUE_7);
    define (".[]", GLUE_8);
    define ("reverse", GLUE_9);
    define ("><", GLUE_10);
    define ("<<", GLUE_11);
    define ("cons", GLUE_12);
    define ("car", GLUE_13);
    define ("cdr", GLUE_14);
    define ("nil?", GLUE_15);
    define ("atom?", GLUE_16);
    define ("insert", GLUE_17);
    define ("find", GLUE_18);
    define ("contains?", GLUE_19);
    define ("-", GLUE_20);
    define ("square", GLUE_21);
    define ("+", GLUE_22);
    define ("-", GLUE_23);
    define ("*", GLUE_24);
    define ("+", GLUE_25);
    define ("+", GLUE_26);
    define ("-", GLUE_27);
    define ("-", GLUE_28);
    define ("*", GLUE_29);
    define ("*", GLUE_30);
    define ("dot", GLUE_31);
    define ("big_mul", GLUE_32);
    define ("big_add", GLUE_33);
    define ("/", GLUE_34);
    define ("/", GLUE_35);
    define ("/", GLUE_36);
    define ("<=", GLUE_37);
    define (">=", GLUE_38);
    define ("<", GLUE_39);
    define (">", GLUE_40);
    define ("sqrt", GLUE_41);
    define ("exp", GLUE_42);
    define ("log", GLUE_43);
    define ("^", GLUE_44);
    define ("cos", GLUE_45);
    define ("sin", GLUE_46);
    define ("tan", GLUE_47);
    define ("arccos", GLUE_48);
    define ("arcsin", GLUE_49);
    define ("arctan", GLUE_50);
    define ("abs", GLUE_51);
    define_type<shape_axel > (lit ("Axel"));
    define ("axel", GLUE_52);
    define ("axel", GLUE_53);
    define ("view", GLUE_54);
    define_type<shape_point<mmx_floating> > (gen (lit ("Point"), lit ("Floating")));
    define ("point", GLUE_55);
    define (".[]", GLUE_56);
    define (".[]", GLUE_57);
    define ("-", GLUE_58);
    define ("+", GLUE_59);
    define ("<<", GLUE_60);
  }
void glue_point_set_with_color ( )

Definition at line 42 of file glue_point_set_with_color.cpp.

References GLUE_1(), GLUE_2(), GLUE_3(), and GLUE_4().

Referenced by glue_shape().

                               {
    static bool done = false;
    if (done) return;
    done = true;
    call_glue (string ("glue_double"));
    call_glue (string ("glue_string"));
    call_glue (string ("glue_vector_generic"));
    call_glue (string ("glue_axel"));
    call_glue (string ("glue_point_floating"));
    call_glue (string ("glue_color"));
    define_type<shape_color_point_set > (lit ("ColorPointSet"));
    define ("color_point_set", GLUE_1);
    define ("<<", GLUE_2);
    define ("<<", GLUE_3);
    define_converter (":>", GLUE_4, PENALTY_PROMOTE_GENERIC);
  }
void glue_rational_curve ( )

Definition at line 130 of file glue_rational_curve.cpp.

References GLUE_1(), GLUE_10(), GLUE_11(), GLUE_12(), GLUE_13(), GLUE_14(), GLUE_15(), GLUE_16(), GLUE_17(), GLUE_18(), GLUE_19(), GLUE_2(), GLUE_20(), GLUE_3(), GLUE_4(), GLUE_5(), GLUE_6(), GLUE_7(), GLUE_8(), and GLUE_9().

Referenced by glue_shape().

                         {
    static bool done = false;
    if (done) return;
    done = true;
    call_glue (string ("glue_double"));
    call_glue (string ("glue_string"));
    call_glue (string ("glue_vector_generic"));
    call_glue (string ("glue_interval"));
    call_glue (string ("glue_polynomial_sparse_rational"));
    call_glue (string ("glue_axel"));
    define_type<interval<double> > (gen (lit ("Interval"), lit ("Double")));
    define ("interval", GLUE_1);
    define ("interval", GLUE_2);
    define ("-", GLUE_3);
    define ("+", GLUE_4);
    define ("-", GLUE_5);
    define ("*", GLUE_6);
    define ("+", GLUE_7);
    define ("+", GLUE_8);
    define ("-", GLUE_9);
    define ("-", GLUE_10);
    define ("*", GLUE_11);
    define ("*", GLUE_12);
    define ("/", GLUE_13);
    define ("lower", GLUE_14);
    define ("upper", GLUE_15);
    define_type<shape_curve_rational > (lit ("RationalCurve"));
    define ("<<", GLUE_16);
    define ("rational_curve", GLUE_17);
    define ("rational_curve", GLUE_18);
    define ("rational_curve", GLUE_19);
    define ("rational_curve", GLUE_20);
  }
void mmx::glue_shape ( )

Definition at line 17 of file glue_shape.cpp.

References glue_algebraic_curve(), glue_algebraic_surface(), glue_axel(), glue_bounding_box(), glue_color(), glue_point(), glue_point_floating(), glue_point_set_with_color(), and glue_rational_curve().

                {
    static bool done = false;
    if (done) return;
    done = true;
    register_glue (string ("glue_algebraic_curve"), (& (glue_algebraic_curve)));
    register_glue (string ("glue_algebraic_surface"), (& (glue_algebraic_surface)));
    register_glue (string ("glue_axel"), (& (glue_axel)));
    register_glue (string ("glue_bounding_box"), (& (glue_bounding_box)));
    register_glue (string ("glue_color"), (& (glue_color)));
    register_glue (string ("glue_point"), (& (glue_point)));
    register_glue (string ("glue_point_floating"), (& (glue_point_floating)));
    register_glue (string ("glue_point_set_with_color"), (& (glue_point_set_with_color)));
    register_glue (string ("glue_rational_curve"), (& (glue_rational_curve)));
    register_glue (string ("glue_shape"), (& (glue_shape)));
    dl_link ("realroot");
    glue_algebraic_curve ();
    glue_algebraic_surface ();
    glue_axel ();
    glue_bounding_box ();
    glue_color ();
    glue_point ();
    glue_point_floating ();
    glue_point_set_with_color ();
    glue_rational_curve ();
  }
void mmx::hull ( aabb< C, N > &  h,
const aabb< C, N > &  a,
const aabb< C, N > &  b 
) [inline]

Definition at line 54 of file ssi_base_aabb.hpp.

References max(), and min().

Referenced by fill(), qsegment::make(), and qsegment::scale_conflict().

{
  for ( unsigned i = 0; i < N; i++ )
    {
      h[i].m = std::min(a[i].m,b[i].m);
      h[i].M = std::max(a[i].M,b[i].M);
    };
};
void mmx::hull ( aabb< C, N > &  h,
const aabb< C, N > &  b 
) [inline]

Definition at line 64 of file ssi_base_aabb.hpp.

{
  for ( unsigned i = 0; i < 3; i ++ )
    if ( h[i].m > b[i] ) h[i].m = b[i]; else if ( h[i].M < b[i] ) h[i].M = b[i];
};
shape::ImplicitCurve mmx::implicit_curve ( const polynom< ring< mmx::rational, Sparse< DegReveLex > > > &  eq,
const shape::BoundingBox &  bx 
)

Definition at line 69 of file glue_implicit_curve.hpp.

References BOX, and CURVE.

  {
    BOX* b = new BOX(bx);
    return CURVE(eq, b);
  }
shape::ImplicitCurve mmx::implicit_curve_string ( const string &  eq)

Definition at line 58 of file glue_implicit_curve.hpp.

References CURVE.

  {
    return CURVE (as_charp(eq));
  }
shape::ImplicitCurve mmx::implicit_curve_string ( const string &  eq,
const shape::BoundingBox &  bx 
)

Definition at line 63 of file glue_implicit_curve.hpp.

References BOX, and CURVE.

  {
    BOX* b = new BOX(bx);
    return CURVE(as_charp(eq), b);
  }
void mmx::init ( fxv< C, N, H > &  v,
const C &  k 
) [inline]

Definition at line 139 of file fxv.hpp.

References init().

{ init(v.rep(),k); };
void mmx::init ( const A(&)  v[N],
const B &  k 
) [inline]

Definition at line 59 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; v[i++] = k ); };
void mmx::init ( const fxv< A, N > &  v,
const B &  k 
) [inline]

Definition at line 80 of file fxv.hpp.

References fxv< C, N, H >::data.

Referenced by fill(), and init().

{ init(v.data,k); };
bool mmx::intersectp ( const aabb< C, N > &  a,
const aabb< C, N > &  b 
) [inline]

Definition at line 71 of file ssi_base_aabb.hpp.

Referenced by cfhunt(), dsearch::search(), dsearch::search_f(), and dsearch::search_s().

{
  for ( unsigned i = 0; i < 3; i ++ )
    if ( a[i].m > b[i].M || b[i].m > a[i].M ) return false;
  return true;  
};
static bool mmx::intersectp ( const SSIQTS::aabb3 &  a,
const SSIQTS::aabb3 &  b 
) [static]

Definition at line 71 of file ssiqts.cpp.

{
  for ( int i = 0; i < 3; i ++ ) 
    if ( a[i][1] < b[i][0] || b[i][1] < a[i][0] ) return false;
  return true;
};
C mmx::lmax ( const aabb< C, N > &  box) [inline]

Definition at line 80 of file ssi_base_aabb.hpp.

Referenced by qsegment::make(), and qsegment::scale_conflict().

{
  C l,s;
  l = box[0].width();
  for ( unsigned i = 1; i < 3; i ++ )
    {
      s = box[i].width();
      if ( s > l ) l = s;
    };
  return l;
};
C mmx::lmin ( const aabb< C, N > &  box) [inline]

Definition at line 93 of file ssi_base_aabb.hpp.

Referenced by qsegment::make().

{
  C l,s;
  l = box[0].width();
  for ( unsigned i = 1; i < 3; i ++ )
    {
      s = box[i].width();
      if ( s < l ) l = s;
    };
  return l;
};
C mmx::max_abs ( const fxv< C, N, H > &  v)

Definition at line 202 of file fxv.hpp.

References abs(), and max().

Referenced by sample_curve3d().

{
  using std::abs;
  C s(abs(v[0]));
  for ( unsigned i = 1; i < N; i ++ )
    s = std::max(s,abs(v[i]));
  return s;
};
static void merge ( SSIQTS::aabb3 &  box,
const SSIQTS::aabb3 &  a,
const SSIQTS::aabb3 &  b 
) [static]

Definition at line 78 of file ssiqts.cpp.

References max(), and min().

Referenced by build(), and solve_cf().

{
  for ( unsigned i = 0; i < 3; i ++ )
    {
      box[i][0] = std::min(a[i][0],b[i][0]);
      box[i][1] = std::max(a[i][1],b[i][1]);
    };
};
void mmx::mod ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const fxv< C, N, H > &  c 
) [inline]

Definition at line 112 of file fxv.hpp.

Referenced by fxv< Interval< C >, N >::operator%=().

{ a = b-((b*c)/(c*c))*c; };
void mmx::mul ( C &  r,
const fxv< C, N, H > &  a,
const fxv< C, N, H > &  b 
) [inline]

Definition at line 103 of file fxv.hpp.

References dotprod().

{ r = dotprod(a,b); };
void mmx::mul ( fxv< C, N, H > &  a,
const C &  c 
) [inline]

Definition at line 94 of file fxv.hpp.

References scmul().

Referenced by fxv< Interval< C >, N >::operator*=().

{ scmul(a,c); };
void mmx::mul ( fxv< C, N, H > &  a,
const C &  c,
const fxv< C, N, H > &  b 
) [inline]

Definition at line 100 of file fxv.hpp.

References fxv< C, N, H >::data, and scmul().

{ scmul(a.data,b.data,c); };
void mmx::mul ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const C &  c 
) [inline]

Definition at line 97 of file fxv.hpp.

References fxv< C, N, H >::data, and scmul().

{ scmul(a.data,b.data,c); };
C mmx::norm ( const fxv< C, N, H > &  v) [inline]

Definition at line 118 of file fxv.hpp.

References norm2().

{ return sqrt(norm2(v)); };
C mmx::norm ( const C(&)  v[N],
int  p 
) [inline]

Definition at line 51 of file ssi_base_array_ops.hpp.

{
  C a(0);
  for ( unsigned i = 0; i < N;  a += pow(v[i],p), i ++ );
  return pow(a,C(1)/p);
};
C mmx::norm ( const fxv< C, N, H > &  v,
int  p 
) [inline]

Definition at line 78 of file fxv.hpp.

References fxv< C, N, H >::data.

{ return norm(v.data,p); };     
C mmx::norm2 ( const fxv< C, N, R > &  v) [inline]

Definition at line 115 of file fxv.hpp.

References dotprod().

Referenced by norm().

{ return dotprod(v,v); };
bool mmx::not_const_sign ( const polynomial< C, with< Bernstein > > &  f)

Definition at line 14 of file topological_degree.hpp.

Referenced by separate_roots().

{
  bool b = false;
  int d  = f.size();
  int i,j;
  for (i = 0; (i < d) && (f[i] == 0); i++) ;
  
  if (i < d)
  {
    for (j = i+1; (j < d+1)&&(!b); j++)
    {
      b = (sign(f[i]) * sign(f[j]) < 0);
    }
  }
  return b;
}
shape::point<C> mmx::operator+ ( const shape::point< C > &  p,
const vector< C > &  v 
)

Definition at line 64 of file point_glue.hpp.

                                                            {
    Point res;
    for(unsigned i=0;i<3; i++) res[i]=p[i]+v[i];
    return res;
  }
vector<C> mmx::operator- ( const shape::point< C > &  p1,
const shape::point< C > &  p2 
)

Definition at line 58 of file point_glue.hpp.

References Vector.

                                                            {
    Vector res((C)0,3);
    for(unsigned i=0;i<3; i++) res[i]=p1[i]-p2[i];
    return res;
  }
std::ostream& mmx::operator<< ( std::ostream &  o,
const fxv_dlink< C, N > &  a 
)

Definition at line 23 of file fxv.hpp.

References fxv_dlink< C, N >::l0, and fxv_dlink< C, N >::l1.

{
  o << a.l0 << ", " << a.l1 << std::endl; return o;
}; 
OSTREAM& mmx::operator<< ( OSTREAM &  os,
const shape::line< K > &  l 
)

Definition at line 77 of file line.hpp.

                                               {
  os << l.origin() << std::endl << l.extremity() << std::endl;
  return os;
}
std::ostream& mmx::operator<< ( std::ostream &  o,
const fxv< C, N, H > &  v 
) [inline]

Definition at line 130 of file fxv.hpp.

References fxv< C, N, H >::data, and print().

                                                             { 
  o << *((const H*)&v);
  o << "[ data = ";
  print(o,v.data);
  o << "]";
  return o;
};
std::ostream& mmx::operator<< ( std::ostream &  o,
const fxv_empty &   
) [inline]

Definition at line 12 of file fxv.hpp.

{ return o; };
OSTREAM& mmx::operator<< ( OSTREAM &  os,
const shape::algebraic_curve< C, V > &  cv 
)

Definition at line 132 of file algebraic_curve.hpp.

References print().

                                                      {
  os<<"AlgebraicCurve(";
  for(int i=0; i<cv.nbequation();i++){
    if(i>0) os<<",";
    print(os,cv.equation(i),variables("x y z"));
  }
  os<<")";
  return os;
}
axel::ostream& mmx::operator<< ( axel::ostream &  os,
const shape::ImplicitCurve &  c 
)

Definition at line 76 of file glue_implicit_curve.hpp.

References mmx::shape::print(), and bounding_box< C, V >::xmin().

  {
    os<<"<curve type=\"implicit\">\n";
    os<<"  <domain>"
      <<c.boundingBox()->xmin()<<" "<<c.boundingBox()->xmax()<<" "
      <<c.boundingBox()->ymin()<<" "<<c.boundingBox()->ymax()
      <<"</domain>\n";
    os<<"  <polynomial>";
    MPOLDST::print(os,c.equation(),Variables("x y"));
    os<<"</polynomial>\n";
    os<<"</curve>\n";
  return os;
  }
shape::viewer<shape::axel,K>& mmx::operator<< ( shape::viewer< shape::axel, K > &  os,
const mmx::rational &  x 
) [inline]

Definition at line 52 of file axel_glue.hpp.

                                                               {
    os << as_double(x);  return os;
  }
std::ostream& mmx::operator<< ( std::ostream &  o,
const aabb< C, N > &  b 
) [inline]

Definition at line 115 of file ssi_base_aabb.hpp.

{
  o << "[ ";
  for ( int i = 0; i < N; i ++ ) o << b[i] << " ";
  o << "] ";
  return o;
};
shape::viewer<shape::axel,K>& mmx::operator<< ( shape::viewer< shape::axel, K > &  os,
const mmx::floating<> &  x 
) [inline]

Definition at line 57 of file axel_glue.hpp.

                                                                  {
    os << as_double(x);  return os;
    }
OSTREAM& mmx::operator<< ( OSTREAM &  os,
const shape::vertex< K > &  p 
)

Definition at line 160 of file vertex.hpp.

References point< C, V, N >::x().

                                                 {
  os <<p.x()<<" "<<p.y()<<" "<<p.z();
  return os;
}
shape::viewer<shape::axel,K>& mmx::operator<< ( shape::viewer< shape::axel, K > &  os,
const vector< C > &  p 
)

Definition at line 62 of file axel_glue.hpp.

                                                 {
    os<<"<point> ";
    for(unsigned i=0;i<N(p);i++) {
      os<<p[i]<<" ";
    }
    for(unsigned i=N(p); i<3;i++) os<<"0 ";
    os<<"</point>\n";
    return os;
  }
void mmx::POLYLINE ( std::ostream &  o,
double *  src,
int  nv,
float *  colors,
int  nc 
)

Definition at line 9 of file ssiqtsl.cpp.

Referenced by SSIQTSL::gmvdump().

{
  o << "{ = VECT\n";
  o << 1 << " " << nv << " " << nc << std::endl;
  o << nv << std::endl;
  o << nc << std::endl;
  for ( int i = 0; i < nv; i++, src += 3 )
    o << src[0] << " " << src[1] << " " << src[2] << std::endl;
  for ( int i = 0; i < nc; i++ )
    o << colors[i*4] << " " << colors[i*4+1] << " " << colors[i*4+2] << " " << colors[i*4+3] << std::endl;
  o << "}\n";
};
void mmx::print ( std::ostream &  o,
const C(&)  a[N] 
) [inline]

Definition at line 69 of file ssi_base_array_ops.hpp.

Referenced by operator<<().

{
  o << "{";
  for ( unsigned i = 0; i < N-1; i ++ ) o << a[i] << ",";
  o << a[N-1];
  o << "}";
};
void mmx::sample_curve3d ( shape::surface_parametric< double > *  srfa,
shape::surface_parametric< double > *  srfb,
SSIQTSL &  ssi 
)

Definition at line 263 of file ssiqtsl.cpp.

References SSIQTSL::errmax, SSIQTSL::lpts, max_abs(), SSIQTSL::rpts, and SSIQTSL::spcs.

Referenced by SSIQTSL::SSIQTSL().

{
  //  std::cout << " left = " << ssi.lpts.size() << std::endl;
  int nl = ssi.lpts.size();
  //  std::cout << " right = " << ssi.rpts.size() << std::endl;
  ssi.spcs.resize( nl );
  std::vector<SSIQTSL::vector3> srfb_samples(nl);
  srfa->eval( (double*)(&(ssi.spcs[0])), (const double*)(&ssi.lpts[0]), ssi.lpts.size() );
  srfb->eval( (double*)(&(srfb_samples[0])), (const double*)(&ssi.rpts[0]), ssi.rpts.size() );
  //  std::vector<double> errs;
  //  ssi.errs.resize( ssi.lpts.size() );
  ssi.errmax = 0;
  for ( unsigned i = 0; i < ssi.lpts.size(); i ++ )
    {

      //      int lk0, lk1, stat;
      //      SSIQTSL::vector3 pa,pb;
      SSIQTSL::vector3 delta;
      double s = 0;
      //      std::cout << ssi.spcs[i] << std::endl;
      //      std::cout << srfb_samples[i] << std::endl;
      for ( int k =0; k < 3; k ++ )
        delta[k] = ssi.spcs[i][k]-srfb_samples[i][k];
      s = max_abs( delta );
      for ( int k = 0; k < 3; k ++ )
        ssi.spcs[i][k] = (ssi.spcs[i][k]+srfb_samples[i][k])/2;
      if ( s > ssi.errmax ) ssi.errmax = s;
    };
};
void mmx::scdiv ( A(&)  a[N],
const B &  s 
) [inline]

Definition at line 35 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] /= s, i ++  ); };
void mmx::scdiv ( fxv< A, N > &  a,
const B &  s 
) [inline]

Definition at line 72 of file fxv.hpp.

References fxv< C, N, H >::data.

Referenced by div(), and scdiv().

{ scdiv(a.data,s); };
void mmx::scdiv ( A(&)  a[N],
const B(&)  b[N],
const W &  c 
) [inline]

Definition at line 39 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] = b[i]/c, i ++ ); };
void mmx::scdiv ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const C &  s 
) [inline]

Definition at line 74 of file fxv.hpp.

References fxv< C, N, H >::data, and scdiv().

{ scdiv(a.data,b.data,s); };
void mmx::scmul ( A(&)  a[N],
const C &  c 
) [inline]

Definition at line 27 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] *= c, i ++ ); };
void mmx::scmul ( A(&)  a[N],
const B(&)  b[N],
const W &  c 
) [inline]

Definition at line 31 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] = b[i]*c, i ++ ); };
void mmx::scmul ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const C &  c 
) [inline]

Definition at line 70 of file fxv.hpp.

References fxv< C, N, H >::data, and scmul().

{ scmul(a.data,b.data,c); };
void mmx::scmul ( fxv< C, N, H > &  a,
const C &  c 
) [inline]

Definition at line 68 of file fxv.hpp.

References fxv< C, N, H >::data.

Referenced by mul(), and scmul().

{ scmul(a.data,c); };
static void mmx::search ( SSIQTS::aabb3 *  lroot,
SSIQTS::aabb3 *  rroot,
SSIQTS &  ssi 
) [static]

Definition at line 219 of file ssiqts.cpp.

References cfbg_, cfforward(), cfhsz, cfhunt(), cflq_, cfsimplify(), cfsz_, SSIQTS::m, SSIQTS::m_bcf, and SSIQTS::m_ecf.

Referenced by SSIQTS::SSIQTS().

{
  int S, M;
  int *  bcf, * ecf, * ncf;
  
  // nxt,ext,lq,b0,b1...
  /* conflits de depart: (0, 0) */
  bcf = new int[cfhsz+1];
  bcf[cfsz_]   = cfhsz+1;
  bcf[cflq_]   = 0;
  bcf[cfbg_]   = 0;
  ecf = bcf + bcf[cfsz_];
  int s = 0;
  
  SSIQTS::aabb3 *lbb = lroot; /* represente le niveau courant dans le quadtree "gauche" */
  SSIQTS::aabb3 *rbb = rroot; /* represente le niveau courant dans le quadtree "droit" */
    
  /* pour toutes resolutions M = 1 .. m=2^p */
  for ( S = 1, M = 1, lbb = lroot, rbb = rroot; M != ssi.m;  M *= 2, S *= 4, lbb -= S, rbb -= S )
    {
      /* traitement des collisions pour chaque conflit */
      s = cfhunt( lbb, rbb, bcf, ecf );
      /* si pas de collisions retour */
      if ( !s ) { delete[] bcf; return; };
      /* sinon allocation de l'espace necessaire */
      ncf = new int[ s ];
      /* definition des nouveaux conflits a tester */
      //      std::cout << "cfforward\n";
      cfforward(ncf,bcf,ecf,M);
      /* suppression des anciens conflits */
      delete[] bcf;
      bcf = ncf;
      ecf = ncf + s;
      };
  
  /* traitement du dernier niveau */
  s = cfhunt(lbb,rbb,bcf,ecf);
  ecf = cfsimplify(bcf,ecf);
  ssi.m_bcf = bcf;
  ssi.m_ecf = ecf;
};
void mmx::separate_roots ( Seq< Interval< B > > &  L,
const polynomial< C, with< Bernstein > > &  bf,
const polynomial< C, with< Bernstein > > &  bg,
double  eps 
)

Definition at line 42 of file topological_degree.hpp.

References not_const_sign(), and Polynomial.

{
  typedef Interval<B> interval_t;
  Seq< interval_t > L0; 
  Seq< Polynomial > Lf, Lg; 
  Polynomial f1,f2,g1,g2;
  interval_t I0;

  std::cout<< bf<< std::endl;
  std::cout<< bg<< std::endl;
  if (not_const_sign(bf) || not_const_sign(bg))
  {
    Lf.push_back(bf);
    Lg.push_back(bg);
    L0 << interval_t(0,1);
  }
  B middle = 0.5;
  while (L0.size())
  {
    int i = L0.size()-1;
    I0 = L0[i];
    L0.resize(i);
    f1 = Lf[i]; f2=f1;
    Lf.resize(i);
    g1 = Lg[i]; g2=g1;
    Lg.resize(i);
    
    if (I0.size() < eps)
    {
      L << I0;
    }
    else
    {
      tensor::split(f1,f2,0,0.5);
      tensor::split(g1,g2,0,0.5);

      if (not_const_sign(f2) || not_const_sign(g2))
      {
        Lf.push_back(f2);
        Lg.push_back(g2);
        L0 << interval_t(middle * I0.lower() + (1-middle) * I0.upper(),
                         I0.upper());
      }
        
      if ((f2[0]==0) || (g2[0]==0))
      {
        Lf.push_back(f2);
        Lg.push_back(g2);
        L0 << interval_t(middle * I0.lower() + (1-middle) * I0.upper(),
                         middle * I0.lower() + (1-middle) * I0.upper());
      }
        
      if (not_const_sign(f1) || not_const_sign(g1))
      {
        Lf.push_back(f1);
        Lg.push_back(g1);
        L0<< interval_t(I0.lower(),
                        middle * I0.lower() + (1-middle) * I0.upper());
      }
    }
  }
}
shape::viewer<shape::axel,shape::MGXK> mmx::shape_axel_string ( const mmx::string &  s) [inline]

Definition at line 43 of file axel_glue.hpp.

References shape_axel.

Referenced by GLUE_2(), GLUE_203(), and GLUE_53().

                                         { 
    return shape_axel(as_charp(s));
  } 
void mmx::shape_axel_view ( const shape::viewer< shape::axel, K > &  os) [inline]

Definition at line 48 of file axel_glue.hpp.

Referenced by GLUE_204(), GLUE_3(), and GLUE_54().

                                   {
    os.view();
  } 
shape::bounding_box<double,shape::MGXK> mmx::shape_bounding_box_from_vector ( const vector< C > &  v) [inline]

Definition at line 53 of file bounding_box_glue.hpp.

References BoundingBox.

Referenced by GLUE_5(), and GLUE_6().

  {
    unsigned n= N(v);
    double a=0,b=1,c=0,d=1,e=0,f=1;
    if (n>1) a =as_double(v[0]); b=as_double(v[1]);
    if (n>3) c =as_double(v[2]); d=as_double(v[3]);
    if (n<5) return BoundingBox(a,b,c,d);
    if (n>5) e =as_double(v[4]); f=as_double(v[5]);
    return BoundingBox(a,b,c,d,e,f);
  }
shape::point<C> mmx::shape_point_tuple ( const vector< C > &  v)

Definition at line 51 of file point_glue.hpp.

                                                   {
    Point p;
    for(unsigned i=0;i<N(v) && i<3; i++)
      p[i]=v[i];
    return p;
  }
shape::algebraic_curve<rational,shape::MGXK> mmx::shape_surface_algebraic_intersection ( const shape::surface_algebraic< rational, shape::MGXK > &  s1,
const shape::surface_algebraic< rational, shape::MGXK > &  s2 
)

Definition at line 56 of file surface_algebraic_glue.hpp.

References CURVE.

Referenced by GLUE_2().

  {
    //    using namespace shape;
    //    BOX *bx= s1.boundingBox() * s2.boundingBox();
    return CURVE(s1.equation(), s2.equation());
  }
void mmx::solve ( SSIQTSL &  ssi)

Definition at line 191 of file ssiqtsl.cpp.

References cfbg_, cflq_, SSIQTS::m, SSIQTS::m_bcf, SSIQTS::m_ecf, SSIQTS::smpa, SSIQTS::smpb, and solve_cf().

Referenced by solver_implicit< C, V >::common_edge_point(), solver_implicit< C, V >::edge_point(), mmx::shape::plot(), and SSIQTSL::SSIQTSL().

{
  SSIQTSL::vector3 * sleft  = (SSIQTSL::vector3*)(&(ssi.smpa->m_svals)[0]);
  SSIQTSL::vector3 * sright = (SSIQTSL::vector3*)(&(ssi.smpb->m_svals)[0]);
  
  
  for( int * cf = ssi.m_bcf; cf != ssi.m_ecf; cf += *cf )
    {
      if ( cf[cfbg_] != -1 )
      {
        int lu = cf[cflq_]/ssi.m;
        int lv = cf[cflq_]%ssi.m;
        SSIQTSL::vector3 * qpl[4];
        qpl[0] = sleft  + lu*(ssi.m+1)+lv;
        qpl[1] = sleft  + (lu+1)*(ssi.m+1)+lv;
        qpl[2] = qpl[1] + 1;
        qpl[3] = qpl[0] + 1;
        int * rpq = cf+cfbg_;
        while ( *rpq != -1 && rpq != cf+*cf ) 
          {
            int ru = (*rpq/ssi.m);
            int rv = (*rpq%ssi.m);
            SSIQTSL::vector3 * qpr[4];
            qpr[0] = sright + ru*(ssi.m+1)+rv;
            qpr[1] = sright + (ru+1)*(ssi.m+1)+rv;
            qpr[2] = qpr[1] + 1;
            qpr[3] = qpr[0] + 1;
            solve_cf(qpl,qpr,cf[cflq_],*rpq,ssi);
            rpq++;
          };
        }
    };
};
static void mmx::solve_cf ( SSIQTSL::vector3 **  qpa,
SSIQTSL::vector3 **  qpb,
int  a,
int  b,
SSIQTSL &  ssi 
) [static]

Definition at line 149 of file ssiqtsl.cpp.

References __down__, __triangle_triangle_case__, __up__, SSIQTS::boxa, SSIQTS::boxb, mmx::shape::intersection(), and merge().

Referenced by solve().

{
  // scaling 
  SSIQTSL::aabb3 zoom;
  double mx = 0;
  merge(zoom,ssi.boxa[a],ssi.boxb[b]);
  /*
  std::cout << "boxa\n";
  for ( int i = 0; i < 3; i ++ )
    std::cout << boxa[a][i][0] << " " << boxa[a][i][1] << std::endl;
  std::cout << "boxb\n";
  for ( int i = 0; i < 3; i ++ )
    std::cout << boxb[b][i][0] << " " << boxb[b][i][1] << std::endl;
  */
    for ( int k = 0; k < 3; k ++ ) { 
    zoom[k][1] -= zoom[k][0];
    if ( zoom[k][1] > mx ) mx = zoom[k][1];
  };

  double sc = double(1.0)/mx;
  SSIQTSL::vector3 qa[4];
  SSIQTSL::vector3 qb[4];

  for ( int i = 0; i < 4; i ++ )
    for ( int k = 0; k < 3; k ++ )
      {
        qa[i][k] = ((*(qpa[i]))[k] - zoom[k][0]) * sc;
        qb[i][k] = ((*(qpb[i]))[k] - zoom[k][0]) * sc;
      };
  
  SSIQTSL::vector3 seg [2];
  SSIQTSL::vector2 seg0[2];
  SSIQTSL::vector2 seg1[2];
  bool coplanar = false;
  bool intersection;
  __triangle_triangle_case__(__up__,__up__);
  __triangle_triangle_case__(__up__,__down__);
  __triangle_triangle_case__(__down__,__up__);
  __triangle_triangle_case__(__down__,__down__);
};
static void mmx::space2prm ( SSIQTSL::vector2 &  pa,
SSIQTSL::vector2 &  pb,
const SSIQTSL::vector3 &  sa,
const SSIQTSL::vector3 &  sb,
const SSIQTSL::vector3 &  base,
const SSIQTSL::vector3 &  pu,
const SSIQTSL::vector3 &  pv 
) [static]

Definition at line 95 of file ssiqtsl.cpp.

{
  /* T(u,v) = base + u*bu +v*bv
     => 
     spc[0] - base[0] = delta[0]  = / bu[0] bv[0]\  / u \
     spc[1] - base[1] = delta[1]  = | bu[1] bv[1]|  |   |
     spc[2] - base[2] = delta[2]  = \ bu[2] bv[2]/  \ v /
  */
  SSIQTSL::vector3 bu;
  for ( int i = 0; i < 3; i ++ ) bu[i] = pu[i]-base[i];
  SSIQTSL::vector3 bv;
  for ( int i = 0; i < 3; i ++ ) bv[i] = pv[i]-base[i];
  double muu, mvv, muv;
  muu = 0;
  for ( int i = 0; i < 3; i ++ ) muu += bu[i]*bu[i];
  mvv = 0;
  for ( int i = 0; i < 3; i ++ ) mvv += bv[i]*bv[i];
  muv = 0; 
  for ( int i = 0; i < 3; i ++ ) muv += bu[i]*bv[i];
  double detm = muu*mvv - muv*muv;
  SSIQTSL::vector3 delta;
  double x, y;
  for ( int k = 0; k < 3; k ++ ) delta[k] = sa[k]-base[k];
  x = 0;
  for ( int k = 0; k < 3; k ++ ) x += bu[k]*delta[k];
  y = 0; 
  for ( int k = 0; k < 3; k ++ ) y += bv[k]*delta[k];
  pa[0] = (mvv * x - muv * y)/detm;
  pa[1] = (muu * y - muv * x)/detm;
  for ( int k = 0; k < 3; k ++ ) delta[k] = sb[k]-base[k];
  x = 0;
  for ( int k = 0; k < 3; k ++ ) x += bu[k]*delta[k];
  y = 0; 
  for ( int k = 0; k < 3; k ++ ) y += bv[k]*delta[k];
  pb[0] = (mvv * x - muv * y)/detm;
  pb[1] = (muu * y - muv * x)/detm;
};
const C& mmx::squared_distance ( const C(&)  a[N],
const C(&)  b[N] 
) [inline]

Definition at line 95 of file ssi_base_array_ops.hpp.

Referenced by distance().

{
  C s(0);
  C sv;
  for ( int i = 0; i < N; i ++ ) { sv = b[i]-a[i]; s += sv*sv; };
  return s;
};
void mmx::sub ( A(&)  a[N],
const B(&)  b[N],
const C(&)  c[N] 
) [inline]

Definition at line 23 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] = b[i]-c[i], i ++); };
void mmx::sub ( fxv< C, N, H > &  a,
const C &  c 
) [inline]

Definition at line 91 of file fxv.hpp.

{ scsub(a,c); };
void mmx::sub ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b 
) [inline]

Definition at line 64 of file fxv.hpp.

References fxv< C, N, H >::data.

Referenced by fxv< Interval< C >, N >::operator-=(), and sub().

{ sub(a.data,b.data); };
void mmx::sub ( fxv< C, N, H > &  a,
const fxv< C, N, H > &  b,
const fxv< C, N, H > &  c 
) [inline]

Definition at line 66 of file fxv.hpp.

References fxv< C, N, H >::data, and sub().

{ sub(a.data,b.data,c.data); };
void mmx::sub ( A(&)  a[N],
const B(&)  b[N] 
) [inline]

Definition at line 19 of file ssi_base_array_ops.hpp.

{ for ( unsigned i = 0; i < N; a[i] -= b[i], i++ ); };
int mmx::topological_degree ( const polynomial< C, with< Bernstein > > &  f,
const polynomial< C, with< Bernstein > > &  g 
)

Compute the topological degree of f and g at (0,0) on the box [0,1] x [0,1].

Definition at line 112 of file topological_degree.hpp.

References Polynomial.

{
  typedef Interval<double> interval_t;
  //  double a=0, b=1, c=0, d=1;
  
  std::cout<< "B topo"<< std::endl;
  //  print(std::cout,f); 
  //  std::cout<<"f "<<f;std::cout<< std::endl;
  //  print(std::cout,g); std::cout<< std::endl;
  //  std::cout<<"g "<<g;std::cout<< std::endl;

  Seq< interval_t > sa, sb, sc, sd;

  Polynomial ff;
  tensor::face(ff, f, 0, 0);
  //  std::cout<<"ff "<<ff; std::cout<< std::endl;

  Polynomial fg;   //Polynomial h1(face(g.env,0));
  tensor::face(fg, g, 0, 0);
  //  std::cout<<"fg "<<fg; std::cout<< std::endl;

 //  tensor::face(fb, f, 0, 1);
//   std::cout<<"fb "<<fb; std::cout<< std::endl;
 
//   tensor::face(fc, f, 1, 0);
//   std::cout<<"fc "<<fc; std::cout<< std::endl;

//   tensor::face(fd, f, 1, 1);
//   std::cout<<"fd "<<fd; std::cout<< std::endl;

//   std::cout<< "C topo"<<std::endl;


//   tensor::face(gb, g, 0, 1);
//   std::cout<<gb; std::cout<< std::endl;

//   tensor::face(gc, g, 1, 0);
//   std::cout<<gc; std::cout<< std::endl;

//   tensor::face(gd, g, 1, 1);
//   std::cout<<gd;
  return 0;

  // fa(t) = f(a,t), fb(t) = f(b,t), fc(t) = f(t,c), fd(t) = f(t,d)
  // ga(t) = g(a,t), gb(t) = g(b,t), gc(t) = g(t,c), fd(t) = f(t,d)
  
  // sa la liste d'intervalles qui isolent les racines reelles de fa*ga=0
  // sb la liste d'intervalles qui isolent les racines reelles de fb*gb=0
  // sc la liste d'intervalles qui isolent les racines reelles de fc*gc=0
  // sd la liste d'intervalles qui isolent les racines reelles de fd*gd=0
  
//   double eps = 1e-8; 
//   separate_roots(sa, fa, ga, eps);
//   std::cout << "A "<< sa.size()<< std::endl;
//   separate_roots(sb, fb, gb, eps);
//   std::cout << "B "<< sb.size()<< std::endl;
//   separate_roots(sc, fc, gc, eps);
//   std::cout << "C "<< sc.size()<< std::endl;
//   separate_roots(sd, fd, gd, eps);
//   std::cout << "D "<< sd.size()<< std::endl;
  
//  int ja = sa.size();
//   if (ja < 2)
//   {
//     if (ja == 0) sa.resize(1);
//     sa[0].assign(c, d);
//   }
//   else
//   {
//     sa[0].assign(c, 0.5*(sa[0].upper() + sa[1].lower()));
//     for (int i = 1; i < ja-1; i++)
//     {
//       sa[i].assign(sa[i-1].upper(), 0.5*(sa[i].upper() + sa[i+1].lower()));
//     }
//     sa[ja-1].assign(sa[ja-2].upper(), d);
//   }

//   int jb = sb.size();
//   if (jb < 2)
//   {
//     if (jb == 0) sb.resize(1);
//     sb[0].assign(c, d);
//   }
//   else
//   {
//     sb[0].assign(c, 0.5*(sb[0].upper() + sb[1].lower()));
//     for (int i = 1; i < jb-1; i++)
//     {
//       sb[i].assign(sb[i-1].upper(), 0.5*(sb[i].upper()+sb[i+1].lower()));
//     }
//     sb[jb-1].assign(sb[jb-2].upper(), d);
//   }
  
//   int jc = sc.size();
//   if (jc < 2)
//   {
//     if (jc == 0) sc.resize(1);
//     sc[0].assign(a, b);
//   }
//   else
//   {
//     sc[0].assign(a, 0.5*(sc[0].upper() + sc[1].lower()));
//     for (int i = 1; i < jc-1; i++)
//     {
//       sc[i].assign(sc[i-1].upper(), 0.5*(sc[i].upper() + sc[i+1].lower()));
//     }
//     sc[jc-1].assign(sc[jc-2].upper(), b);
//   }

//   int jd = sd.size();
//   if (jd < 2)
//   {
//     if (jd == 0) sd.resize(1);
//     sd[0].assign(a, b);
//   }
//   else
//   {
//     sd[0].assign(a, 0.5*(sd[0].upper() + sd[1].lower()));
//     for (int i = 1; i < jd-1; i++)
//     {
//       sd[i].assign(sd[i-1].upper(), 0.5*(sd[i].upper()+sd[i+1].lower()));
//     }
//     sd[jd-1].assign(sd[jd-2].upper(), b);
//   }

//   int deg = 0;
  
//   for (int i = 0; i < ja; i++)
//   {
//     C u = sa[i].lower(), v = sa[i].upper();
//     int sfu = sign(eval<C>(fa,(u-c)/(d-c))), 
//       sfv = sign(eval<C>(fa,(v-c)/(d-c))), 
//       sgu = sign(eval<C>(ga,(u-c)/(d-c))), 
//       sgv = sign(eval<C>(ga,(v-c)/(d-c)));
//     if (sfu == sfv)
//       deg += sfu * (sgu - sgv);
//     else
//       deg += sgu * (sfv - sfu);
//   }
  
//   for (int i = 0; i < jb; i++)
//   {
//     C u = sb[i].lower(), v = sb[i].upper();
//     int sfu = sign(eval<C>(fb,(u-c)/(d-c))), 
//       sfv = sign(eval<C>(fb,(v-c)/(d-c))), 
//       sgu = sign(eval<C>(gb,(u-c)/(d-c))), 
//       sgv = sign(eval<C>(gb,(v-c)/(d-c)));
//     if (sfu == sfv)
//       deg += sfu * (sgv - sgu);
//     else
//       deg += sgu * (sfu - sfv);
//   }
  
//   for (int i = 0; i < jc; i++)
//   {
//     C u = sc[i].lower(), v = sc[i].upper();
//     int sfu = sign(eval<C>(fc,(u-a)/(b-a))), 
//       sfv = sign(eval<C>(fc,(v-a)/(b-a))), 
//       sgu = sign(eval<C>(gc,(u-a)/(b-a))), 
//       sgv = sign(eval<C>(gc,(v-a)/(b-a)));
//     if (sfu == sfv)
//       deg += sfu * (sgv - sgu);
//     else
//       deg += sgu * (sfu - sfv);
//   }
  
//   for (int i = 0; i < jd; i++)
//   {
//     C u = sd[i].lower(), v = sd[i].upper();
//     int sfu = sign(eval<C>(fd,(u-a)/(b-a))), 
//       sfv = sign(eval<C>(fd,(v-a)/(b-a))), 
//       sgu = sign(eval<C>(gd,(u-a)/(b-a))), 
//       sgv = sign(eval<C>(gd,(v-a)/(b-a)));
//     if (sfu == sfv)
//       deg += sfu * (sgu - sgv);
//     else
//       deg += sgu * (sfv - sfu);
//   }

//   return (int)(deg/8);
}
static void mmx::update ( SSIQTS::aabb3 &  box,
const SSIQTS::aabb3 &  a,
const SSIQTS::aabb3 &  b 
) [static]

Definition at line 87 of file ssiqts.cpp.

References max(), and min().

Referenced by build().

{
  double tmp;
  for ( int i = 0; i < 3; i ++ )
    {
      tmp = std::min(a[i][0],b[i][0]);
      if ( tmp < box[i][0] ) box[i][0] = tmp;
      tmp = std::max(a[i][1],b[i][1]);
      if ( tmp > box[i][1] ) box[i][1] = tmp;
    };
};
void mmx::urand ( C(&)  v[N],
const C &  a,
const C &  b 
) [inline]

Definition at line 78 of file ssi_base_array_ops.hpp.

{
  for ( int i = 0; i < N; i ++ )
    {
      v[i] = ((double)rand()/RAND_MAX)*(b-a)+a ;
    };
};
void mmx::urand ( fxv< C, N, H > &  v,
const C &  a = (C)0.0,
const C &  b = (C)1.0 
) [inline]

Definition at line 127 of file fxv.hpp.

References fxv< C, N, H >::data.

{ urand(v.data,a,b); };
void mmx::UVSMP ( std::ostream &  o,
double *  src,
unsigned  m,
unsigned  n 
)

Definition at line 22 of file ssiqtsl.cpp.

Referenced by SSIQTSL::gmvdump().

{
#define _ij_(i,j) (i)*n+j
  o << " { = MESH\n";
  o << m << " " << n << std::endl;
  for ( unsigned i = 0; i < m*n; i ++ )
    o << (src+i*3)[0] << " " <<  (src+i*3)[1] << " " << (src+i*3)[2] << std::endl;
  o << " }\n";
};

Variable Documentation

bool swap [static]

Definition at line 8 of file ssiqts.cpp.

Referenced by SSIQTS::sample::sample().