You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
900 B

25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
25 years ago
  1. // cl_R_to_double().
  2. // General includes.
  3. #include "cl_sysdep.h"
  4. // Specification.
  5. #include "cln/real.h"
  6. // Implementation.
  7. #include "cl_R.h"
  8. #include "cl_F.h"
  9. #include "cln/integer.h"
  10. #include "cln/rational.h"
  11. #include "cln/float.h"
  12. #include "cln/sfloat.h"
  13. #include "cln/ffloat.h"
  14. #include "cln/dfloat.h"
  15. #include "cln/lfloat.h"
  16. #if 0
  17. namespace cln {
  18. double double_approx (const cl_R& x)
  19. {
  20. if (rationalp(x)) {
  21. DeclareType(cl_RA,x);
  22. return double_approx(x);
  23. } else {
  24. DeclareType(cl_F,x);
  25. return double_approx(x);
  26. }
  27. }
  28. } // namespace cln
  29. #else // fully inlined, faster
  30. #include "cl_RA.h"
  31. #include "cl_I.h"
  32. namespace cln {
  33. double double_approx (const cl_R& x)
  34. {
  35. realcase6(x
  36. , return double_approx(x);
  37. , return double_approx(x);
  38. , return double_approx(x);
  39. , return double_approx(x);
  40. , return double_approx(x);
  41. , return double_approx(x);
  42. );
  43. }
  44. } // namespace cln
  45. #endif