From fedb9571eb423bff0f806ae3fcb106e16e1e56e9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 20 Jun 2019 18:36:13 +0200 Subject: gnu: Add lcalc. * gnu/packages/sagemath.scm (lcalc): New variable. * gnu/packages/patches/lcalc-default-parameters-1.patch, gnu/packages/patches/lcalc-default-parameters-2.patch, gnu/packages/patches/lcalc-lcommon-h.patch, gnu/packages/patches/lcalc-using-namespace-std.patch: New files. * gnu/local.mk (dist_patch_DATA): Register patches. --- .../patches/lcalc-default-parameters-1.patch | 26 ++++++++++ .../patches/lcalc-default-parameters-2.patch | 58 ++++++++++++++++++++++ gnu/packages/patches/lcalc-lcommon-h.patch | 13 +++++ .../patches/lcalc-using-namespace-std.patch | 43 ++++++++++++++++ 4 files changed, 140 insertions(+) create mode 100644 gnu/packages/patches/lcalc-default-parameters-1.patch create mode 100644 gnu/packages/patches/lcalc-default-parameters-2.patch create mode 100644 gnu/packages/patches/lcalc-lcommon-h.patch create mode 100644 gnu/packages/patches/lcalc-using-namespace-std.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/lcalc-default-parameters-1.patch b/gnu/packages/patches/lcalc-default-parameters-1.patch new file mode 100644 index 0000000000..19b0776320 --- /dev/null +++ b/gnu/packages/patches/lcalc-default-parameters-1.patch @@ -0,0 +1,26 @@ +Patch taken from the Sage packaging system. + +diff -Naur lcalc-1.23-vanilla/include/Ldirichlet_series.h lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h +--- lcalc-1.23-vanilla/include/Ldirichlet_series.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23-fixed-gcc.4.9/include/Ldirichlet_series.h 2014-04-21 14:37:59.027464849 +0200 +@@ -43,7 +43,7 @@ + //XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + template + Complex L_function :: +-dirichlet_series(Complex s, long long N=-1) ++dirichlet_series(Complex s, long long N) + { + Complex z=0.; + long long m,n; +diff -Naur lcalc-1.23-vanilla/include/L.h lcalc-1.23-fixed-gcc.4.9/include/L.h +--- lcalc-1.23-vanilla/include/L.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23-fixed-gcc.4.9/include/L.h 2014-04-21 14:32:04.003467348 +0200 +@@ -491,7 +491,7 @@ + + //#include "Ldirichlet_series.h" //for computing Dirichlet series + Complex partial_dirichlet_series(Complex s, long long N1, long long N2); +- Complex dirichlet_series(Complex s, long long N); ++ Complex dirichlet_series(Complex s, long long N=-1LL); + + //#include "Ltaylor_series.h" //for computing taylor series for Dirichlet series + //void compute_taylor_series(int N, int K, Complex s_0, Complex *series); diff --git a/gnu/packages/patches/lcalc-default-parameters-2.patch b/gnu/packages/patches/lcalc-default-parameters-2.patch new file mode 100644 index 0000000000..1d881ee0c4 --- /dev/null +++ b/gnu/packages/patches/lcalc-default-parameters-2.patch @@ -0,0 +1,58 @@ +Patch taken from the Sage packaging system. + +--- lcalc-1.23/include/Lgamma.h 2012-08-08 23:21:55.000000000 +0200 ++++ lcalc-1.23/include/Lgamma.h 2014-05-18 21:15:27.786889718 +0200 +@@ -77,7 +77,7 @@ + //n=0 should just give log_GAMMA(z)... thus making log_GAMMA + //code obsolete. But leave log_GAMMA intact anyways. + template +-precise(ttype) log_GAMMA (ttype z,int n=0) ++precise(ttype) log_GAMMA (ttype z,int n) + { + int M; + precise(ttype) log_G,r,r2,y; +@@ -230,7 +230,7 @@ + //value exp_w which holds exp(-w) + //computes G(z,w), so there's an extra w^(-z) factor. + template +-Complex inc_GAMMA (ttype z,ttype w, const char *method="temme", ttype exp_w = 0, bool recycle=false) ++Complex inc_GAMMA (ttype z,ttype w, const char *method, ttype exp_w, bool recycle) + { + + Complex G; +@@ -334,7 +334,7 @@ + + + template +-ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w=0, bool recycle=false) //computes G(z,w) via continued fraction ++ttype cfrac_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via continued fraction + { + + ttype G; +@@ -424,7 +424,7 @@ + } + + template +-ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w = 0, bool recycle=false) //computes G(z,w) via asymptotic series ++ttype asympt_GAMMA (ttype z,ttype w, ttype exp_w, bool recycle) //computes G(z,w) via asymptotic series + { + + if(my_verbose>3) cout << "called asympt_GAMMA("< +-ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w = 0, bool recycle=false) //computes g(z,w) ++ttype comp_inc_GAMMA (ttype z,ttype w,ttype exp_w, bool recycle) //computes g(z,w) + { + + ttype g; +@@ -604,7 +604,7 @@ + } + + template +-Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta=1, const char *method="temme") ++Complex gamma_sum(Complex s, int what_type, ttype *coeff, int N, Double g, Complex l, Double Q, Long Period, Complex delta, const char *method) + { + Complex SUM=0; + diff --git a/gnu/packages/patches/lcalc-lcommon-h.patch b/gnu/packages/patches/lcalc-lcommon-h.patch new file mode 100644 index 0000000000..897956de64 --- /dev/null +++ b/gnu/packages/patches/lcalc-lcommon-h.patch @@ -0,0 +1,13 @@ +Patch taken from the Sage packaging system. + +--- src/include/Lcommon.h 2010-01-31 15:16:45.000000000 +0000 ++++ src/include/Lcommon.h 2011-03-08 21:19:11.849443238 +0000 +@@ -25,7 +25,7 @@ + #ifdef USE_MPFR + inline double lcalc_to_double(const double& x) { return x; } + #endif +-//inline double lcalc_to_double(const long double& x) { return x; } ++inline double lcalc_to_double(const long double& x) { return x; } + inline double lcalc_to_double(const int& x) { return x; } + inline double lcalc_to_double(const long long& x) { return x; } + inline double lcalc_to_double(const short& x) { return x; } diff --git a/gnu/packages/patches/lcalc-using-namespace-std.patch b/gnu/packages/patches/lcalc-using-namespace-std.patch new file mode 100644 index 0000000000..6e0075fdc8 --- /dev/null +++ b/gnu/packages/patches/lcalc-using-namespace-std.patch @@ -0,0 +1,43 @@ +Patch taken from the Sage packaging system. + +diff --git a/include/Lcommon.h b/include/Lcommon.h +index 1b3be43..bf40532 100644 +--- a/include/Lcommon.h ++++ b/include/Lcommon.h +@@ -48,7 +48,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th + + // Loop i from m to n + // Useful in tidying up most for loops +-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) ++#define loop(i,m,n) for(auto i=(m); i!=(n); i++) + + // A class for calculations involving polynomials of small degree + // Not efficient enough for huge polynomials +diff --git a/include/Lcommon_ld.h b/include/Lcommon_ld.h +index 86ae4df..33c560c 100644 +--- a/include/Lcommon_ld.h ++++ b/include/Lcommon_ld.h +@@ -53,7 +53,7 @@ const bool outputSeries=true; // Whether to output the coefficients or just th + + // Loop i from m to n + // Useful in tidying up most for loops +-#define loop(i,m,n) for(typeof(m) i=(m); i!=(n); i++) ++#define loop(i,m,n) for(auto i=(m); i!=(n); i++) + + // A class for calculations involving polynomials of small degree + // Not efficient enough for huge polynomials +diff --git a/include/Lglobals.h b/include/Lglobals.h +index 60002e4..ca2606c 100644 +--- a/include/Lglobals.h ++++ b/include/Lglobals.h +@@ -24,9 +24,9 @@ + #ifndef Lglobals_H + #define Lglobals_H + ++#include + using namespace std; + +-#include + #ifdef USE_MPFR + #include "Lgmpfrxx.h" + typedef mpfr_class Double; -- cgit v1.2.3