Developer documentation

texp_kernelof.hpp
Go to the documentation of this file.
1 #ifndef realroot_ARITHM_TRAITS_KERNELOF_H
2 #define realroot_ARITHM_TRAITS_KERNELOF_H
3 #include <realroot/texp.hpp>
4 
5 namespace mmx {
6 
7 template<class K> struct algebraic;
8 
9 namespace texp {
10 
11  using namespace texp;
12 
13  template<class mplib, typename _ieee_ = double >
14  struct kernel
15  {
16  typedef typename mplib::integer integer;
17  typedef typename mplib::rational rational;
18  typedef typename mplib::floating floating;
19  typedef _ieee_ ieee;
20  };
21 
23  template<class X>
24  struct kernelof_ { typedef null_t T; };
25  template<class K>
26  struct kernelof_< algebraic<K> > { typedef K T; };
27 
29  template<class X>
30  struct kernelof { typedef typename kernelof_< typename ucstref<X>::T >::T T; };
32  template<class X>
34 
35 
36 };
37 
38 }// end namespace mmx
39 
40 #endif
K T
Definition: texp_kernelof.hpp:26
structure defining a the empty list
Definition: texp_bool.hpp:11
null_t T
Definition: texp_kernelof.hpp:24
return true_t if the number type X comes from a kernel.
Definition: texp_kernelof.hpp:33
Definition: texp_kernelof.hpp:14
tnot< typename equal< null_t, typename kernelof< X >::T >::T >::T T
Definition: texp_kernelof.hpp:33
kernelof_< typename ucstref< X >::T >::T T
Definition: texp_kernelof.hpp:30
mplib::floating floating
Definition: texp_kernelof.hpp:18
Definition: texp_tests.hpp:41
mplib::integer integer
Definition: texp_kernelof.hpp:16
Definition: texp_kernelof.hpp:7
mplib::rational rational
Definition: texp_kernelof.hpp:17
_ieee_ ieee
Definition: texp_kernelof.hpp:19
structure defining a negative answer
Definition: texp_bool.hpp:9
return the arithmetic kernel from which the type X comes from.
Definition: texp_kernelof.hpp:30
Definition: array.hpp:12
return the arithmetic kernel from which the unqualified type X comes from.
Definition: GMP.hpp:50
Home