* conversion to decimal: real time: 54507.003 s, run time: 40063.510 s
*/
-#include <cl_number.h>
-#include <cl_io.h>
-#include <cl_integer.h>
-#include <cl_integer_io.h>
-#include <cl_float.h>
-#include <cl_float_io.h>
-#include <cl_real.h>
-#include <cl_complex.h>
-#include <stdlib.h>
-#include <string.h>
-#include <cl_timing.h>
-#include <math.h>
+#include <cln/number.h>
+#include <cln/io.h>
+#include <cln/integer.h>
+#include <cln/integer_io.h>
+#include <cln/float.h>
+#include <cln/float_io.h>
+#include <cln/real.h>
+#include <cln/complex.h>
+#include <cstring>
+#include <cln/timing.h>
+#include <cmath>
+
+using namespace std;
+using namespace cln;
void
-sum_exp1 (uintL a, uintL b, cl_I & first, cl_I & second)
+sum_exp1 (uintC a, uintC b, cl_I & first, cl_I & second)
{
switch (b - a)
{
default:
{
cl_I lp, lq, rp, rq, tmp;
- uintL mid = (a + b) >> 1;
+ uintC mid = (a + b) >> 1;
sum_exp1 (a, mid, lp, lq);
sum_exp1 (mid, b, rp, rq);
tmp = lp * rq;
}
}
+namespace cln {
+ extern cl_LF cl_I_to_LF(const cl_I&, uintC);
+}
+
void
-const_exp1 (cl_LF & result, uintL dec)
+const_exp1 (cl_LF & result, uintC dec)
{
- uintL c = (uintL) (dec * log (10));
- uintL n = dec;
+ uintC c = (uintC) (dec * ::log (10));
+ uintC n = dec;
uintC actuallen = (uintC)(3.321928094 * dec / intDsize);
- n = (uintL) ((n + c) / log ((double)n));
- n = (uintL) ((n + c) / log ((double)n));
- n = (uintL) ((n + c) / log ((double)n));
+ n = (uintC) ((n + c) / ::log ((double)n));
+ n = (uintC) ((n + c) / ::log ((double)n));
+ n = (uintC) ((n + c) / ::log ((double)n));
n += 2;
actuallen += 2;
cl_I p, q;
sum_exp1 (0, n, p, q);
cout << "sum_exp1 ends ok" << endl;
- extern cl_LF cl_I_to_LF(const cl_I&, uintC);
result = The(cl_LF)(cl_I_to_LF (p, actuallen) / cl_I_to_LF (q, actuallen));
cout << "const_exp1 returns ok" << endl;
}
int
main (int argc, char *argv[])
{
- int digits = 100;
+ long digits = 100;
while (argc >= 3) {
if (!strcmp(argv[1],"-n")) {
- digits = atoi(argv[2]);
+ digits = atol(argv[2]);
argc -= 2; argv += 2;
continue;
}
break;
}
if (argc < 1)
- exit(1);
+ return(1);
cl_LF c1;
long l = digits;
cout << c1 << endl;
cout << "@" << endl;
}
+ return(0);
}