]> www.ginac.de Git - ginac.git/blobdiff - ginac/numeric.cpp
Happy New Year!
[ginac.git] / ginac / numeric.cpp
index 9b23214b05e4b0a0e8e9b6dd28fb819349d8f4b6..2b43193ee484d1c56b4f22f47837a615473c9a9c 100644 (file)
@@ -7,7 +7,7 @@
  *  of special functions or implement the interface to the bignum package. */
 
 /*
- *  GiNaC Copyright (C) 1999-2015 Johannes Gutenberg University Mainz, Germany
+ *  GiNaC Copyright (C) 1999-2019 Johannes Gutenberg University Mainz, Germany
  *
  *  This program is free software; you can redistribute it and/or modify
  *  it under the terms of the GNU General Public License as published by
@@ -89,7 +89,7 @@ numeric::numeric()
 numeric::numeric(int i)
 {
        // Not the whole int-range is available if we don't cast to long
-       // first.  This is due to the behaviour of the cl_I-ctor, which
+       // first.  This is due to the behavior of the cl_I-ctor, which
        // emphasizes efficiency.  However, if the integer is small enough
        // we save space and dereferences by using an immediate type.
        // (C.f. <cln/object.h>)
@@ -110,7 +110,7 @@ numeric::numeric(int i)
 numeric::numeric(unsigned int i)
 {
        // Not the whole uint-range is available if we don't cast to ulong
-       // first.  This is due to the behaviour of the cl_I-ctor, which
+       // first.  This is due to the behavior of the cl_I-ctor, which
        // emphasizes efficiency.  However, if the integer is small enough
        // we save space and dereferences by using an immediate type.
        // (C.f. <cln/object.h>)
@@ -442,7 +442,7 @@ static void print_real_csrc(const print_context & c, const cln::cl_R & x)
                // Rational number
                const cln::cl_I numer = cln::numerator(cln::the<cln::cl_RA>(x));
                const cln::cl_I denom = cln::denominator(cln::the<cln::cl_RA>(x));
-               if (cln::plusp(x) > 0) {
+               if (cln::plusp(x)) {
                        c.s << "(";
                        print_integer_csrc(c, numer);
                } else {
@@ -714,8 +714,6 @@ bool numeric::info(unsigned inf) const
                        return is_odd();
                case info_flags::prime:
                        return is_prime();
-               case info_flags::algebraic:
-                       return !is_real();
        }
        return false;
 }
@@ -786,11 +784,9 @@ ex numeric::eval() const
  *  currently set.  In case the object already was a floating point number the
  *  precision is trimmed to match the currently set default.
  *
- *  @param level  ignored, only needed for overriding basic::evalf.
  *  @return  an ex-handle to a numeric. */
-ex numeric::evalf(int level) const
+ex numeric::evalf() const
 {
-       // level can safely be discarded for numeric objects.
        return numeric(cln::cl_float(1.0, cln::default_float_format) * value);
 }
 
@@ -1743,7 +1739,7 @@ class lanczos_coeffs
                std::vector<cln::cl_N> *current_vector;
 };
 
-std::vector<cln::cl_N>* lanczos_coeffs::coeffs = 0;
+std::vector<cln::cl_N>* lanczos_coeffs::coeffs = nullptr;
 
 bool lanczos_coeffs::sufficiently_accurate(int digits)
 {      if (digits<=20) {
@@ -2221,7 +2217,7 @@ const numeric bernoulli(const numeric &nn)
 
        results.reserve(n/2);
        for (unsigned p=next_r; p<=n;  p+=2) {
-               cln::cl_I  c = 1;  // seed for binonmial coefficients
+               cln::cl_I  c = 1;  // seed for binomial coefficients
                cln::cl_RA b = cln::cl_RA(p-1)/-2;
                // The CLN manual says: "The conversion from `unsigned int' works only
                // if the argument is < 2^29" (This is for 32 Bit machines. More