]> www.ginac.de Git - cln.git/blobdiff - src/float/transcendental/cl_F_pi_var.cc
Update known-to-work-with compilers.
[cln.git] / src / float / transcendental / cl_F_pi_var.cc
index 3c708f1e4892c45735738a4fb94946b5be886963..1dacd429e9b5c441e5412d8f4c230b7fe66c6b3b 100644 (file)
@@ -1,33 +1,52 @@
-// cl_SF_pi, cl_FF_pi, cl_DF_pi, cl_LF_pi.
+// cl_SF_pi(), cl_FF_pi(), cl_DF_pi(), cl_LF_pi().
 
 // General includes.
-#include "cl_sysdep.h"
+#include "base/cl_sysdep.h"
 
-CL_PROVIDE(cl_F_pi_var)
 
 // Specification.
-#include "cl_F_tran.h"
+#include "float/transcendental/cl_F_tran.h"
 
 
 // Implementation.
 
-#include "cl_DS.h"
-#include "cl_LF.h"
-#include "cl_LF_impl.h"
-#include "cl_F.h"
+#include "base/digitseq/cl_DS.h"
+#include "float/lfloat/cl_LF.h"
+#include "float/lfloat/cl_LF_impl.h"
+#include "float/cl_F.h"
 
-// Mantisse von pi :
-  static const uintD pi_mantisse [2048/intDsize] =
-    #include "cl_F_pi_var.h"
+namespace cln {
 
-cl_LF cl_LF_pi = encode_LF_array(0,2,pi_mantisse,2048/intDsize);
+cl_LF& cl_LF_pi()
+{
+       // Mantisse von pi :
+       static const uintD pi_mantisse [2048/intDsize] =
+               #include "cl_F_pi_var.h"
+       static cl_LF val = encode_LF_array(0,2,pi_mantisse,2048/intDsize);
+       return val;
+}
 
-// Problem: If someone changes cl_free_hook, the destructor of this
+// Problem: If someone changes free_hook, the destructor of this
 // will call the new hook, passing it some pointer obtained by the old
-// cl_malloc_hook. ??
+// malloc_hook. ??
 
-const cl_SF cl_SF_pi = cl_LF_to_SF(cl_LF_pi);
-const cl_FF cl_FF_pi = cl_LF_to_FF(cl_LF_pi);
-const cl_DF cl_DF_pi = cl_LF_to_DF(cl_LF_pi);
+const cl_SF& cl_SF_pi()
+{
+       static const cl_SF val = cl_LF_to_SF(cl_LF_pi());
+       return val;
+}
+
+const cl_DF& cl_DF_pi()
+{
+       static const cl_DF val = cl_LF_to_DF(cl_LF_pi());
+       return val;
+}
+
+const cl_FF& cl_FF_pi()
+{
+       static const cl_FF val = cl_LF_to_FF(cl_LF_pi());
+       return val;
+}
+
+}  // namespace cln
 
-CL_PROVIDE_END(cl_F_pi_var)