shape_doc 0.1
|
00001 00002 #include <basix/double.hpp> 00003 #include <basix/vector.hpp> 00004 #include <basix/port.hpp> 00005 #include <basix/int.hpp> 00006 #include <numerix/integer.hpp> 00007 #include <numerix/rational.hpp> 00008 #include <numerix/floating.hpp> 00009 #include <numerix/kernel.hpp> 00010 #include <realroot/polynomial.hpp> 00011 #include <realroot/polynomial_glue.hpp> 00012 #include <realroot/polynomial_sparse_glue.hpp> 00013 #include <shape/axel_glue.hpp> 00014 #include <shape/algebraic_curve_glue.hpp> 00015 #include <basix/alias.hpp> 00016 #include <basix/glue.hpp> 00017 00018 #define double_literal(x) as_double (as_string (x)) 00019 #define int_literal(x) as_int (as_string (x)) 00020 #define set_of_generic set_of(generic) 00021 #define set_of_double set_of(double) 00022 #define set_of_integer set_of(integer) 00023 #define set_of_rational set_of(rational) 00024 #define set_of_bigfloat set_of(bigfloat) 00025 #define set_of_complex_bigfloat set_of(complex_bigfloat) 00026 00027 namespace mmx { 00028 static alias<shape_axel> 00029 GLUE_1 (const alias<shape_axel> &arg_1, const shape_algebraic_curve &arg_2) { 00030 return alias_write (arg_1, arg_2); 00031 } 00032 00033 static shape_algebraic_curve 00034 GLUE_2 (const ring<rational, Sparse, DegRevLex>::Polynomial &arg_1) { 00035 return shape_algebraic_curve (arg_1); 00036 } 00037 00038 static shape_algebraic_curve 00039 GLUE_3 (const ring<rational, Sparse, DegRevLex>::Polynomial &arg_1, const ring<rational, Sparse, DegRevLex>::Polynomial &arg_2) { 00040 return shape_algebraic_curve (arg_1, arg_2); 00041 } 00042 00043 void 00044 glue_algebraic_curve () { 00045 static bool done = false; 00046 if (done) return; 00047 done = true; 00048 call_glue (string ("glue_double")); 00049 call_glue (string ("glue_string")); 00050 call_glue (string ("glue_vector_generic")); 00051 call_glue (string ("glue_polynomial_sparse_rational")); 00052 call_glue (string ("glue_axel")); 00053 define_type<shape_algebraic_curve > (lit ("AlgebraicCurve")); 00054 define ("<<", GLUE_1); 00055 define ("algebraic_curve", GLUE_2); 00056 define ("algebraic_curve", GLUE_3); 00057 } 00058 }