00001
00002 #include <basix/system.hpp>
00003 #include <basix/glue.hpp>
00004
00005 namespace mmx {
00006 extern void glue_affine_generic ();
00007 extern void glue_ball_double ();
00008 extern void glue_ball_floating ();
00009 extern void glue_complex_double ();
00010 extern void glue_complex_floating ();
00011 extern void glue_complex_generic ();
00012 extern void glue_complex_rational ();
00013 extern void glue_floating ();
00014 extern void glue_integer ();
00015 extern void glue_interval_double ();
00016 extern void glue_interval_floating ();
00017 extern void glue_modular_int ();
00018 extern void glue_modular_integer ();
00019 extern void glue_rational ();
00020 extern void glue_tangent_double ();
00021 extern void glue_tangent_floating ();
00022 extern void glue_tangent_generic ();
00023 extern void glue_tangent_rational ();
00024
00025 void
00026 glue_numerix () {
00027 static bool done = false;
00028 if (done) return;
00029 done = true;
00030 register_glue (string ("glue_affine_generic"), (& (glue_affine_generic)));
00031 register_glue (string ("glue_ball_double"), (& (glue_ball_double)));
00032 register_glue (string ("glue_ball_floating"), (& (glue_ball_floating)));
00033 register_glue (string ("glue_complex_double"), (& (glue_complex_double)));
00034 register_glue (string ("glue_complex_floating"), (& (glue_complex_floating)));
00035 register_glue (string ("glue_complex_generic"), (& (glue_complex_generic)));
00036 register_glue (string ("glue_complex_rational"), (& (glue_complex_rational)));
00037 register_glue (string ("glue_floating"), (& (glue_floating)));
00038 register_glue (string ("glue_integer"), (& (glue_integer)));
00039 register_glue (string ("glue_interval_double"), (& (glue_interval_double)));
00040 register_glue (string ("glue_interval_floating"), (& (glue_interval_floating)));
00041 register_glue (string ("glue_modular_int"), (& (glue_modular_int)));
00042 register_glue (string ("glue_modular_integer"), (& (glue_modular_integer)));
00043 register_glue (string ("glue_rational"), (& (glue_rational)));
00044 register_glue (string ("glue_tangent_double"), (& (glue_tangent_double)));
00045 register_glue (string ("glue_tangent_floating"), (& (glue_tangent_floating)));
00046 register_glue (string ("glue_tangent_generic"), (& (glue_tangent_generic)));
00047 register_glue (string ("glue_tangent_rational"), (& (glue_tangent_rational)));
00048 register_glue (string ("glue_numerix"), (& (glue_numerix)));
00049 dl_link ("basix");
00050 glue_affine_generic ();
00051 glue_ball_double ();
00052 glue_ball_floating ();
00053 glue_complex_double ();
00054 glue_complex_floating ();
00055 glue_complex_generic ();
00056 glue_complex_rational ();
00057 glue_floating ();
00058 glue_integer ();
00059 glue_interval_double ();
00060 glue_interval_floating ();
00061 glue_modular_int ();
00062 glue_modular_integer ();
00063 glue_rational ();
00064 glue_tangent_double ();
00065 glue_tangent_floating ();
00066 glue_tangent_generic ();
00067 glue_tangent_rational ();
00068 include ("numerix/big_operators.mmx");
00069 }
00070 }
00071
00072 void (*define_numerix) () = mmx::glue_numerix;