00001 00002 #include <basix/system.hpp> 00003 #include <basix/glue.hpp> 00004 00005 namespace mmx { 00006 extern void glue_integer_roots (); 00007 extern void glue_linear_factors (); 00008 extern void glue_lmonomial (); 00009 extern void glue_lmvpolynomial_generic (); 00010 extern void glue_lmvpolynomial_integer (); 00011 extern void glue_lpolynomial_generic (); 00012 extern void glue_lpolynomial_integer (); 00013 00014 void 00015 glue_lacunaryx () { 00016 static bool done = false; 00017 if (done) return; 00018 done = true; 00019 register_glue (string ("glue_integer_roots"), (& (glue_integer_roots))); 00020 register_glue (string ("glue_linear_factors"), (& (glue_linear_factors))); 00021 register_glue (string ("glue_lmonomial"), (& (glue_lmonomial))); 00022 register_glue (string ("glue_lmvpolynomial_generic"), (& (glue_lmvpolynomial_generic))); 00023 register_glue (string ("glue_lmvpolynomial_integer"), (& (glue_lmvpolynomial_integer))); 00024 register_glue (string ("glue_lpolynomial_generic"), (& (glue_lpolynomial_generic))); 00025 register_glue (string ("glue_lpolynomial_integer"), (& (glue_lpolynomial_integer))); 00026 register_glue (string ("glue_lacunaryx"), (& (glue_lacunaryx))); 00027 dl_link ("factorix"); 00028 glue_integer_roots (); 00029 glue_linear_factors (); 00030 glue_lmonomial (); 00031 glue_lmvpolynomial_generic (); 00032 glue_lmvpolynomial_integer (); 00033 glue_lpolynomial_generic (); 00034 glue_lpolynomial_integer (); 00035 } 00036 } 00037 00038 void (*define_lacunaryx) () = mmx::glue_lacunaryx;