Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] More math libraries and tools
@ 2021-04-06  3:35 tornaria
  2021-04-06  3:53 ` abenson
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: tornaria @ 2021-04-06  3:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1080 bytes --]

There is a new pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

More math libraries and tools
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This continues #29997.
- includes `eclib`, `flintqs`, `lcalc`, `mpfi`
- `eclib` depends on `ntl` and `flintlib`, the other 3 are independent.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.
- The long files in `srcpkgs/lcalc/files` are just tests. The 3 versions are almost the same except for a few minor rounding differences.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 154539 bytes --]

From cd34ac325286b1aa7423f4b65e98651fbfa0a23b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 9 Jan 2018 23:00:22 -0300
Subject: [PATCH 01/11] New package: givaro-4.1.1

---
 common/options.description |  1 +
 common/shlibs              |  1 +
 srcpkgs/givaro-devel       |  1 +
 srcpkgs/givaro/template    | 38 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 41 insertions(+)
 create mode 120000 srcpkgs/givaro-devel
 create mode 100644 srcpkgs/givaro/template

diff --git a/common/options.description b/common/options.description
index 06360211a23f..40f5074e63cf 100644
--- a/common/options.description
+++ b/common/options.description
@@ -49,6 +49,7 @@ desc_option_lz4="Enable support for LZ4 compression format"
 desc_option_lzo="Enable support for LZO compression format"
 desc_option_microhttpd="Enable support for microhttpd"
 desc_option_mpcdec="Enable support for the Musepack decoder"
+desc_option_native="Enable instruction subsets supported by the build computer"
 desc_option_notify="Enable support for desktop notifications (libnotify)"
 desc_option_nvenc="Enable support for NVENC codecs"
 desc_option_openblas="Enable support for OpenBLAS accelerated linear algebra"
diff --git a/common/shlibs b/common/shlibs
index 9aa0a601250b..02175ed0b76a 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libgivaro.so.9 givaro-4.1.1_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/givaro-devel b/srcpkgs/givaro-devel
new file mode 120000
index 000000000000..587339b2c069
--- /dev/null
+++ b/srcpkgs/givaro-devel
@@ -0,0 +1 @@
+givaro
\ No newline at end of file
diff --git a/srcpkgs/givaro/template b/srcpkgs/givaro/template
new file mode 100644
index 000000000000..7e36c656c5ef
--- /dev/null
+++ b/srcpkgs/givaro/template
@@ -0,0 +1,38 @@
+# Template file for 'givaro'
+pkgname=givaro
+version=4.1.1
+revision=1
+build_style="gnu-configure"
+makedepends="gmpxx-devel"
+short_desc="C++ library for arithmetic and algebraic computations"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="CECILL-B"
+homepage="https://github.com/linbox-team/givaro"
+distfiles="${homepage}/releases/download/v${version}/givaro-${version}.tar.gz"
+checksum=628049899386e91da245aee6cd446350fbca87e94863bc0d815066c08150487f
+nocross=yes
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--enable-sse --enable-sse2
+	  --disable-sse3 --disable-ssse3 --disable-sse41 --disable-sse42
+	  --disable-avx --disable-avx2 --disable-fma --disable-fma4"
+fi
+
+post_install() {
+	vlicense "Licence_CeCILL-B_V1-en.txt"
+}
+
+givaro-devel_package() {
+	depends="givaro-${version}_${revision}"
+	depends+=" gmpxx-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+		vmove "usr/bin"
+	}
+}

From 3115b4391783db54695859a8057c2ce40c0edc1c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 9 Jan 2018 23:39:59 -0300
Subject: [PATCH 02/11] New package: fflas-ffpack-2.4.3

---
 srcpkgs/fflas-ffpack/template | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 srcpkgs/fflas-ffpack/template

diff --git a/srcpkgs/fflas-ffpack/template b/srcpkgs/fflas-ffpack/template
new file mode 100644
index 000000000000..ff2410ea0e90
--- /dev/null
+++ b/srcpkgs/fflas-ffpack/template
@@ -0,0 +1,25 @@
+# Template file for 'fflas-ffpack'
+pkgname=fflas-ffpack
+version=2.4.3
+revision=1
+wrksrc="fflas_ffpack-${version}"
+build_style="gnu-configure"
+hostmakedepends="pkg-config"
+makedepends="givaro-devel openblas-devel"
+depends="givaro-devel openblas-devel"
+short_desc="Finite Field Linear Algebra Subroutines / Package"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="http://linbox-team.github.io/fflas-ffpack/"
+distfiles="https://github.com/linbox-team/fflas-ffpack/releases/download/v${version}/fflas_ffpack-${version}.tar.bz2"
+checksum=d4ecfc6289c7077185ed5e58fa77d07fdb034c1a74385366566226a4887c50c3
+nocross=yes
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--enable-sse --enable-sse2
+	  --disable-sse3 --disable-ssse3 --disable-sse41 --disable-sse42
+	  --disable-avx --disable-avx2 --disable-fma --disable-fma4
+	  --disable-avx512f --disable-avx512dq --disable-avx512vl"
+fi

From 89e7c4404b669acf47fc0a1ca1912d799999e0b2 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 10 Jan 2018 00:14:35 -0300
Subject: [PATCH 03/11] New package: linbox-1.6.3

---
 common/shlibs           |  1 +
 srcpkgs/linbox-devel    |  1 +
 srcpkgs/linbox/template | 46 +++++++++++++++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)
 create mode 120000 srcpkgs/linbox-devel
 create mode 100644 srcpkgs/linbox/template

diff --git a/common/shlibs b/common/shlibs
index 02175ed0b76a..559cbd305c71 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3957,6 +3957,7 @@ libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
 libgivaro.so.9 givaro-4.1.1_1
+liblinbox.so.0 linbox-1.6.3_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/linbox-devel b/srcpkgs/linbox-devel
new file mode 120000
index 000000000000..4b90ac79c1e7
--- /dev/null
+++ b/srcpkgs/linbox-devel
@@ -0,0 +1 @@
+linbox
\ No newline at end of file
diff --git a/srcpkgs/linbox/template b/srcpkgs/linbox/template
new file mode 100644
index 000000000000..fd582a435276
--- /dev/null
+++ b/srcpkgs/linbox/template
@@ -0,0 +1,46 @@
+# Template file for 'linbox'
+pkgname=linbox
+version=1.6.3
+revision=1
+build_style="gnu-configure"
+hostmakedepends="pkg-config"
+makedepends="fflas-ffpack"
+short_desc="C++ library for exact, high-performance linear algebra"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://linalg.org"
+distfiles="https://github.com/linbox-team/linbox/releases/download/v${version}/linbox-${version}.tar.gz"
+checksum=a58a188307b07c57964e844bceb99321d3043a8a4a1fccc082a54928bb9a0057
+nocross=yes
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--enable-sse --enable-sse2
+	  --disable-sse3 --disable-ssse3 --disable-sse41 --disable-sse42
+	  --disable-avx --disable-avx2 --disable-fma --disable-fma4"
+fi
+
+pre_check() {
+	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
+		# skip test that doesn't compile on i686
+		# see https://github.com/linbox-team/linbox/issues/273
+		touch tests/test-qlup.o
+		echo 'exit 77' > tests/test-qlup
+		chmod +x tests/test-qlup
+	fi
+}
+
+linbox-devel_package() {
+	depends="linbox-${version}_${revision}"
+	depends+=" fflas-ffpack"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+		vmove "usr/bin"
+		vmove "usr/share"
+	}
+}

From 9fda871e3705ce10e770775c6b0d9a5c07bcbfd0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 04/11] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 559cbd305c71..0add3b90fced 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
 libpari-gmp.so.7 pari-2.13.0_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..41580840c6fa
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="${homepage}/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 0f6e6ba9a071073154a11e22878c66a6b4e43d35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 05/11] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index 0add3b90fced..f9f1ee9e845f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3959,6 +3959,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
+libntl.so.43 ntl-11.4.4_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..68d7b090586c
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="${homepage}/${pkgname}-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From aa5edb0a974a7b902770fd1338f297ed9d81bca5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 06/11] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index f9f1ee9e845f..d488757ccc72 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..c96312598923
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="${homepage}/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 1c2d7c6f21b097d1d3adf6dbfb87212bf80c1e13 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 07/11] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index d488757ccc72..116d6f7462e0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3956,6 +3956,7 @@ libopenaptx.so.0 libopenaptx-0.2.0_1
 libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
+libarb.so.2 arb-2.19.0_1
 libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From a6fe930e654adb22688e729e3748be63d50d99eb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 08/11] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 116d6f7462e0..647ed636ebe1 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3957,6 +3957,7 @@ libsimavr.so.1 simavr-1.6_2
 libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..4f99c356714b
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib/"
+distfiles="${homepage}/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From bcfe485b4800ae4ab6bc765a19867cdc768dae80 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 22:51:44 -0300
Subject: [PATCH 09/11] New package: flintqs-1.0

---
 srcpkgs/flintqs/template | 41 ++++++++++++++++++++++++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 srcpkgs/flintqs/template

diff --git a/srcpkgs/flintqs/template b/srcpkgs/flintqs/template
new file mode 100644
index 000000000000..7156083e6ed8
--- /dev/null
+++ b/srcpkgs/flintqs/template
@@ -0,0 +1,41 @@
+# Template file for 'flintqs'
+pkgname=flintqs
+version=1.0
+revision=1
+wrksrc="FlintQS-${version}"
+build_style="gnu-configure"
+hostmakedepends="automake"
+makedepends="gmp-devel"
+checkdepends="bc"
+short_desc="Multi-polynomial quadratic sieve for integer factorization"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/sagemath/FlintQS"
+distfiles="${homepage}/archive/v${version}.tar.gz"
+checksum=b983052f267988192c9ec59c9d2754470e5f2db74b45e364cf7ad62f349bc9eb
+
+pre_configure() {
+	touch ChangeLog
+	autoreconf -fi
+}
+
+_check_factor() {
+	echo -n "Factor $1 ... "
+	factors=$(echo "$1" | src/QuadraticSieve | awk 'x{print}/FACTORS:/{x=1}' | sort -u)
+	echo -n $factors | sed -e 's/ / * /'
+	prod=$(echo $factors | sed -e 's/ /*/' | bc)
+	if [ "$prod" == "$1" ] ; then
+		echo " - OK"
+		return 0
+	else
+		echo " - FAIL"
+		return 1
+	fi
+}
+
+do_check() {
+	# check that it can factor
+	_check_factor 7115311179635024735652627015068546182713648318529
+	_check_factor 55100662978045942257527719411373552579109062399339
+	_check_factor 179926028483627295233062780598576300117675953698228811539221
+}

From 1b18f92ef8bebc404d0e2a6f5b8484f8b3b6a58f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 1 Feb 2018 16:32:51 -0300
Subject: [PATCH 10/11] New package: lcalc-1.23

---
 srcpkgs/lcalc-devel                           |    1 +
 srcpkgs/lcalc/files/test                      |   14 +
 srcpkgs/lcalc/files/test.i686                 | 2102 +++++++++++++++++
 srcpkgs/lcalc/files/test.musl                 | 2102 +++++++++++++++++
 srcpkgs/lcalc/files/test.out                  | 2102 +++++++++++++++++
 srcpkgs/lcalc/patches/Lcommon.h.patch         |   11 +
 .../lcalc-1.23_default_parameters_1.patch     |   24 +
 .../lcalc-1.23_default_parameters_2.patch     |   56 +
 .../patches/lcalc-1.23_fix-const-char.patch   |   53 +
 .../lcalc-1.23_fix-return-non-void.patch      |   20 +
 srcpkgs/lcalc/patches/pari-2.7.patch          |   67 +
 srcpkgs/lcalc/patches/pari-mem.patch          |   24 +
 srcpkgs/lcalc/patches/pari_include.patch      |   30 +
 .../lcalc/patches/using_namespace_std.patch   |   41 +
 srcpkgs/lcalc/template                        |   44 +
 srcpkgs/lcalc/update                          |    2 +
 16 files changed, 6693 insertions(+)
 create mode 120000 srcpkgs/lcalc-devel
 create mode 100644 srcpkgs/lcalc/files/test
 create mode 100644 srcpkgs/lcalc/files/test.i686
 create mode 100644 srcpkgs/lcalc/files/test.musl
 create mode 100644 srcpkgs/lcalc/files/test.out
 create mode 100644 srcpkgs/lcalc/patches/Lcommon.h.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch
 create mode 100644 srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch
 create mode 100644 srcpkgs/lcalc/patches/pari-2.7.patch
 create mode 100644 srcpkgs/lcalc/patches/pari-mem.patch
 create mode 100644 srcpkgs/lcalc/patches/pari_include.patch
 create mode 100644 srcpkgs/lcalc/patches/using_namespace_std.patch
 create mode 100644 srcpkgs/lcalc/template
 create mode 100644 srcpkgs/lcalc/update

diff --git a/srcpkgs/lcalc-devel b/srcpkgs/lcalc-devel
new file mode 120000
index 000000000000..ec3437a2fb19
--- /dev/null
+++ b/srcpkgs/lcalc-devel
@@ -0,0 +1 @@
+lcalc
\ No newline at end of file
diff --git a/srcpkgs/lcalc/files/test b/srcpkgs/lcalc/files/test
new file mode 100644
index 000000000000..cbac6d8b324d
--- /dev/null
+++ b/srcpkgs/lcalc/files/test
@@ -0,0 +1,14 @@
+echo "### First 1000 zeros of zeta function"
+./lcalc -z 1000
+echo
+echo "### Analytic rank of elliptic curve 5077a1"
+./lcalc -e --a1=0 --a2=0 --a3=1 --a4=-7 --a6=6 -r
+echo
+echo "### run example program"
+LD_LIBRARY_PATH=. example_programs/example
+echo
+echo "### test data files: zeros of data_mass"
+./lcalc -F example_data_files/data_maass -z 20
+echo
+echo "### test data files: zeros of data_tau"
+./lcalc -F example_data_files/data_tau -z 1000
diff --git a/srcpkgs/lcalc/files/test.i686 b/srcpkgs/lcalc/files/test.i686
new file mode 100644
index 000000000000..08872e4cc25f
--- /dev/null
+++ b/srcpkgs/lcalc/files/test.i686
@@ -0,0 +1,2102 @@
+### First 1000 zeros of zeta function
+ 14.13472514173
+ 21.02203963877
+ 25.01085758015
+ 30.42487612586
+ 32.93506158774
+ 37.58617815883
+ 40.91871901215
+ 43.32707328091
+ 48.00515088117
+ 49.77383247767
+ 52.97032147771
+ 56.44624769706
+ 59.3470440026
+ 60.83177852461
+ 65.11254404808
+ 67.07981052949
+ 69.54640171117
+ 72.06715767448
+ 75.70469069908
+ 77.14484006887
+ 79.33737502025
+ 82.91038085409
+ 84.73549298052
+ 87.42527461313
+ 88.80911120763
+ 92.49189927056
+ 94.65134404052
+ 95.87063422825
+ 98.831194218194
+ 101.31785100573
+ 103.72553804048
+ 105.44662305233
+ 107.16861118428
+ 111.02953554317
+ 111.87465917699
+ 114.32022091545
+ 116.22668032086
+ 118.79078286598
+ 121.37012500242
+ 122.94682929355
+ 124.25681855435
+ 127.5166838796
+ 129.57870419996
+ 131.08768853093
+ 133.497737203
+ 134.75650975337
+ 138.11604205453
+ 139.73620895212
+ 141.12370740402
+ 143.11184580762
+ 146.00098248677
+ 147.42276534256
+ 150.05352042078
+ 150.92525761224
+ 153.0246938112
+ 156.11290929424
+ 157.59759181759
+ 158.84998817142
+ 161.1889641376
+ 163.03070968718
+ 165.5370691879
+ 167.1844399782
+ 169.0945154156
+ 169.9119764794
+ 173.4115365196
+ 174.7541915234
+ 176.4414342977
+ 178.3774077761
+ 179.9164840203
+ 182.2070784844
+ 184.8744678484
+ 185.5987836777
+ 187.2289225835
+ 189.416158656
+ 192.0266563607
+ 193.0797266038
+ 195.2653966795
+ 196.876481841
+ 198.0153096763
+ 201.2647519437
+ 202.4935945141
+ 204.1896718031
+ 205.3946972022
+ 207.9062588878
+ 209.5765097169
+ 211.6908625954
+ 213.3479193597
+ 214.5470447835
+ 216.1695385083
+ 219.067596349
+ 220.7149188393
+ 221.4307055547
+ 224.0070002546
+ 224.9833246696
+ 227.4214442797
+ 229.3374133055
+ 231.2501887005
+ 231.9872352532
+ 233.6934041789
+ 236.5242296658
+ 237.7698204809
+ 239.5554775733
+ 241.0491577962
+ 242.8232719342
+ 244.0708984971
+ 247.1369900749
+ 248.1019900601
+ 249.5736896447
+ 251.014947795
+ 253.069986748
+ 255.3062564549
+ 256.3807136944
+ 258.6104394915
+ 259.8744069897
+ 260.8050845046
+ 263.5738939049
+ 265.5578518389
+ 266.6149737815
+ 267.9219150828
+ 269.970449024
+ 271.4940556416
+ 273.4596091884
+ 275.5874926493
+ 276.4520495031
+ 278.2507435298
+ 279.2292509277
+ 282.4651147651
+ 283.2111857332
+ 284.8359639809
+ 286.667445363
+ 287.9119205014
+ 289.5798549292
+ 291.8462913291
+ 293.5584341394
+ 294.9653696193
+ 295.573254879
+ 297.9792770619
+ 299.8403260537
+ 301.6493254622
+ 302.6967495896
+ 304.8643713409
+ 305.728912602
+ 307.2194961282
+ 310.1094631467
+ 311.1651415304
+ 312.4278011806
+ 313.9852857312
+ 315.4756160895
+ 317.7348059424
+ 318.8531042563
+ 321.1601343091
+ 322.1445586725
+ 323.4669695575
+ 324.8628660517
+ 327.4439012619
+ 329.0330716805
+ 329.9532397282
+ 331.4744675827
+ 333.6453785249
+ 334.2113548332
+ 336.8418504284
+ 338.3399928508
+ 339.8582167254
+ 341.042261111
+ 342.0548775104
+ 344.6617029403
+ 346.347870566
+ 347.2726775844
+ 349.3162608707
+ 350.4084193492
+ 351.8786490254
+ 353.4889004887
+ 356.0175749773
+ 357.151302252
+ 357.9526851016
+ 359.7437549531
+ 361.2893616958
+ 363.331330579
+ 364.7360241141
+ 366.2127102883
+ 367.9935754817
+ 368.9684380957
+ 370.0509192121
+ 373.0619283721
+ 373.8648739109
+ 375.8259127667
+ 376.3240922307
+ 378.43668025
+ 379.8729753465
+ 381.4844686172
+ 383.4435294495
+ 384.9561168149
+ 385.861300846
+ 387.2228902224
+ 388.8461283542
+ 391.4560835636
+ 392.2450833395
+ 393.4277438444
+ 395.582870011
+ 396.3818542226
+ 397.9187362096
+ 399.9851198762
+ 401.8392286005
+ 402.8619177639
+ 404.2364418002
+ 405.1343874599
+ 407.5814603869
+ 408.9472455024
+ 410.5138691934
+ 411.9722678043
+ 413.2627360702
+ 415.0188097552
+ 415.4552149963
+ 418.3877057895
+ 419.8613648182
+ 420.643827625
+ 422.0767100588
+ 423.7165796275
+ 425.0698824945
+ 427.2088250841
+ 428.1279140766
+ 430.3287454309
+ 431.3013069307
+ 432.1386417346
+ 433.8892184809
+ 436.1610064326
+ 437.5816981677
+ 438.6217386563
+ 439.9184422144
+ 441.6831992012
+ 442.9045463026
+ 444.3193362776
+ 446.8606226964
+ 447.4417041945
+ 449.148545685
+ 450.1269457803
+ 451.4033084454
+ 453.9867378067
+ 454.9746837686
+ 456.3284266892
+ 457.9038930641
+ 459.5134152811
+ 460.0879444222
+ 462.0653672749
+ 464.0572869105
+ 465.6715392114
+ 466.5702869308
+ 467.4390462103
+ 469.5360045591
+ 470.7736554781
+ 472.7991746619
+ 473.8352323451
+ 475.6003393694
+ 476.7690152375
+ 478.0752637667
+ 478.9421815346
+ 481.8303393763
+ 482.834782791
+ 483.8514272125
+ 485.5391481294
+ 486.5287182617
+ 488.38056709
+ 489.661761578
+ 491.3988215937
+ 493.3144415818
+ 493.9579978054
+ 495.3588288221
+ 496.4296962158
+ 498.5807824297
+ 500.3090849417
+ 501.6044469651
+ 502.2762703271
+ 504.4997733134
+ 505.4152317422
+ 506.4641527095
+ 508.8007003365
+ 510.2642279437
+ 511.5622897004
+ 512.6231445314
+ 513.6689855555
+ 515.4350571673
+ 517.5896685725
+ 518.2342231476
+ 520.1063104117
+ 521.5251934495
+ 522.4566961777
+ 523.960530892
+ 525.0773856873
+ 527.9036416013
+ 528.4062138523
+ 529.8062263187
+ 530.866917884
+ 532.6881830283
+ 533.7796307538
+ 535.6643140759
+ 537.0697590831
+ 538.4285261762
+ 540.2131663762
+ 540.6313902473
+ 541.8474371212
+ 544.323890101
+ 545.6368332489
+ 547.0109120581
+ 547.9316133645
+ 549.4975675627
+ 550.9700100395
+ 552.0495722006
+ 553.7649721192
+ 555.7920205617
+ 556.8994764069
+ 557.5646591721
+ 559.3162370287
+ 560.2408074973
+ 562.559207616
+ 564.1608791108
+ 564.5060559381
+ 566.6987876828
+ 567.7317579012
+ 568.9239551796
+ 570.0511147825
+ 572.4199841325
+ 573.6146105268
+ 575.0938860145
+ 575.8072471409
+ 577.0390034721
+ 579.098834672
+ 580.1369593624
+ 581.9465762659
+ 583.2360882192
+ 584.5617059035
+ 585.984563205
+ 586.7427718913
+ 588.1396632662
+ 590.6603975168
+ 591.725858065
+ 592.5713583002
+ 593.9747146822
+ 595.7281536974
+ 596.3627683284
+ 598.4930773462
+ 599.5456403644
+ 601.6021367359
+ 602.5791678864
+ 603.6256189036
+ 604.6162184938
+ 606.3834604221
+ 608.4132173112
+ 609.3895751547
+ 610.8391629377
+ 611.7742096209
+ 613.5997786756
+ 614.6462378722
+ 615.5385633694
+ 618.1128313664
+ 619.184482598
+ 620.2728936722
+ 621.7092945279
+ 622.3750027398
+ 624.2699000182
+ 626.0192834277
+ 627.2683968508
+ 628.3258623595
+ 630.4738874383
+ 630.8057809272
+ 632.2251411671
+ 633.5468582523
+ 635.5238003106
+ 637.3971931598
+ 637.9255139808
+ 638.9279382669
+ 640.6947946688
+ 641.9454996657
+ 643.2788837814
+ 644.9905782297
+ 646.3481915955
+ 647.7617530043
+ 648.7864008888
+ 650.1975193453
+ 650.6686838914
+ 653.6495716054
+ 654.3019205863
+ 655.7094630224
+ 656.9640845995
+ 658.1756144186
+ 659.663845973
+ 660.7167325953
+ 662.2965864311
+ 664.2446046523
+ 665.3427630956
+ 666.5151477042
+ 667.1484948946
+ 668.9758488202
+ 670.3235852059
+ 672.4581835842
+ 673.0435782861
+ 674.3558978101
+ 676.1396743636
+ 677.2301806688
+ 677.8004447462
+ 679.7421978825
+ 681.8949915332
+ 682.6027350198
+ 684.0135498139
+ 684.9726298621
+ 686.1632235877
+ 687.9615431847
+ 689.3689413623
+ 690.4747350324
+ 692.4516844155
+ 693.1769700606
+ 694.5339086999
+ 695.7263359209
+ 696.6260699003
+ 699.132095476
+ 700.2967391321
+ 701.3017429546
+ 702.2273431458
+ 704.0338392955
+ 705.1258139546
+ 706.1846547995
+ 708.2690708851
+ 709.2295885703
+ 711.1302741797
+ 711.9002899144
+ 712.7493834701
+ 714.0827718207
+ 716.1123964541
+ 717.4825697031
+ 718.7427865455
+ 719.6971009884
+ 721.3511622185
+ 722.2775049757
+ 723.8458210451
+ 724.5626138904
+ 727.05640323
+ 728.4054815889
+ 728.7587497956
+ 730.4164821228
+ 731.4173549186
+ 732.8180527145
+ 734.7896432524
+ 735.7654592086
+ 737.0529289123
+ 738.5804211714
+ 739.909523674
+ 740.5738074473
+ 741.7573355729
+ 743.8950131425
+ 745.3449895506
+ 746.4993058994
+ 747.6745636243
+ 748.2427544651
+ 750.6559503621
+ 750.9663810667
+ 752.8876215672
+ 754.3223704717
+ 755.839308976
+ 756.76824844
+ 758.1017292464
+ 758.9002382249
+ 760.2823669835
+ 762.7000332497
+ 763.5930661728
+ 764.3075227242
+ 766.0875400998
+ 767.2184721555
+ 768.2814618065
+ 769.6934072526
+ 771.0708393137
+ 772.9616175658
+ 774.1177446279
+ 775.0478470966
+ 775.9997119632
+ 777.2997485296
+ 779.1570769492
+ 780.3489250042
+ 782.1376643908
+ 782.5979439461
+ 784.2888226125
+ 785.7390897007
+ 786.4611474505
+ 787.4684638159
+ 790.0590923641
+ 790.8316204679
+ 792.4277076086
+ 792.8886525626
+ 794.4837918699
+ 795.6065961562
+ 797.263470038
+ 798.7075701663
+ 799.6543362109
+ 801.604246463
+ 802.5419848784
+ 803.2430962043
+ 804.7622391127
+ 805.8616356671
+ 808.151814936
+ 809.1977833633
+ 810.0818048864
+ 811.1843588465
+ 812.7711083891
+ 814.0459136075
+ 814.8705396259
+ 816.7277377144
+ 818.3806688664
+ 819.2046421708
+ 820.7218984439
+ 821.7134541334
+ 822.1977574934
+ 824.5262938716
+ 826.0392873766
+ 826.9058109541
+ 828.3401743005
+ 829.4370109683
+ 830.8958840533
+ 831.7997776591
+ 833.0036409092
+ 834.6519151478
+ 836.6935761876
+ 837.3473350595
+ 838.2490219927
+ 839.4653948103
+ 841.036389829
+ 842.0413542065
+ 844.1661966074
+ 844.8059939758
+ 846.1947699277
+ 847.9717176395
+ 848.4892811809
+ 849.8622743487
+ 850.645448466
+ 853.1631125834
+ 854.0955117199
+ 855.2867102444
+ 856.4841174908
+ 857.3107406026
+ 858.9040264665
+ 860.410670896
+ 861.1710982127
+ 863.1897197719
+ 864.3408239301
+ 865.5946643265
+ 866.423739904
+ 867.6931226118
+ 868.6704942291
+ 870.8469023258
+ 872.1887508216
+ 873.0989789713
+ 873.9083892353
+ 875.9852851088
+ 876.600825833
+ 877.654698341
+ 879.3809519698
+ 880.8346488479
+ 882.3866966272
+ 883.4303318387
+ 884.1987431146
+ 885.2723044796
+ 886.8528019629
+ 888.4755666738
+ 889.7352942941
+ 890.8131321125
+ 892.3864332602
+ 893.1191175673
+ 894.8862923209
+ 895.3979196748
+ 896.6322515562
+ 899.2215226684
+ 899.8588846079
+ 900.8497398605
+ 902.2432075868
+ 903.0996744426
+ 904.7029027223
+ 905.8299407582
+ 907.656729469
+ 908.3335436451
+ 910.1863340572
+ 911.234951486
+ 912.3310456
+ 912.8239992467
+ 914.7300969584
+ 916.3550008086
+ 917.8253775704
+ 918.8365352435
+ 919.4483444397
+ 921.1563955072
+ 922.5006293066
+ 923.2857198024
+ 924.7734839335
+ 926.5515527846
+ 927.8508589858
+ 928.6636593289
+ 929.8740928506
+ 931.0092113366
+ 931.8527407455
+ 934.3853068373
+ 934.9954248638
+ 936.2286493793
+ 937.532925712
+ 939.0243008992
+ 939.6609406145
+ 941.156999642
+ 942.0523416434
+ 944.1880358096
+ 945.333562503
+ 946.7658422047
+ 947.0791830963
+ 948.346646255
+ 950.1516126846
+ 951.0332487338
+ 952.7279886199
+ 954.1297192696
+ 954.8293089382
+ 956.6754793433
+ 957.5100525964
+ 958.4145933901
+ 959.4591688071
+ 961.6695724742
+ 963.1820866713
+ 963.5670401916
+ 965.0555796238
+ 966.1107548184
+ 967.3711537663
+ 968.6363019061
+ 970.1256105569
+ 971.0714914864
+ 973.1853612943
+ 973.8730789927
+ 974.7746350658
+ 976.1785024206
+ 976.9172021171
+ 978.7666715351
+ 980.5780006398
+ 981.2886153018
+ 982.3964851688
+ 983.5750760064
+ 985.1869286558
+ 986.1305151102
+ 986.7560084077
+ 988.9926223707
+ 990.223917804
+ 991.37429414776
+ 992.72869633673
+ 993.21458095744
+ 994.40459057109
+ 996.2053361643
+ 997.51193475194
+ 998.82754713693
+ 999.79157155741
+ 1001.3494826378
+ 1002.4043054884
+ 1003.2678081795
+ 1004.6750441212
+ 1005.5434203044
+ 1008.0067043071
+ 1008.7957099007
+ 1009.806590747
+ 1010.5697570111
+ 1012.4100425158
+ 1013.0586380984
+ 1014.6896326224
+ 1016.0601789426
+ 1017.2664023644
+ 1018.6055725186
+ 1019.9124397439
+ 1020.9174750173
+ 1021.5443444999
+ 1022.8852709117
+ 1025.2657241977
+ 1025.7079443715
+ 1027.4676935156
+ 1028.1289642555
+ 1029.227297444
+ 1030.8973687906
+ 1031.8331802974
+ 1032.8128830352
+ 1034.6129155295
+ 1036.1959173581
+ 1037.0247076463
+ 1038.0877522406
+ 1039.0774014369
+ 1040.2640379377
+ 1041.6215280145
+ 1043.6239543496
+ 1044.5149758291
+ 1045.107042353
+ 1047.0898174843
+ 1047.9871474896
+ 1048.9537851947
+ 1049.9962842566
+ 1051.5765718432
+ 1053.2457851584
+ 1054.7810394783
+ 1055.0021464757
+ 1056.6888473638
+ 1057.1000436596
+ 1059.1337691069
+ 1060.1395185616
+ 1061.5013044651
+ 1062.9153815079
+ 1064.0715510717
+ 1065.1218551063
+ 1066.4632234692
+ 1067.418860121
+ 1067.990000079
+ 1070.5350419968
+ 1071.6186232151
+ 1072.5439980111
+ 1073.5703531651
+ 1074.7477710443
+ 1076.2666255942
+ 1076.9240560658
+ 1078.647198481
+ 1079.8099654293
+ 1081.1710023435
+ 1082.9527497231
+ 1083.2954665141
+ 1084.1832643104
+ 1085.6478312086
+ 1086.9119989898
+ 1088.7557246748
+ 1089.7953379241
+ 1090.8631910262
+ 1091.7284729669
+ 1093.4408732724
+ 1094.2844575238
+ 1095.4330847587
+ 1096.4019177947
+ 1098.8410154666
+ 1099.3606671786
+ 1100.5744606225
+ 1101.8391111688
+ 1102.5517798999
+ 1103.7322971745
+ 1105.6171888308
+ 1106.7743716758
+ 1107.774531955
+ 1109.1589188568
+ 1110.4441429936
+ 1111.4435047649
+ 1112.4329954081
+ 1113.3975951148
+ 1115.0653594616
+ 1116.7872538812
+ 1117.9659196692
+ 1118.684134861
+ 1119.4732474262
+ 1121.1559376758
+ 1122.4586213569
+ 1123.1011173878
+ 1125.3147293978
+ 1125.7634424293
+ 1127.6580235272
+ 1128.4302246139
+ 1129.7289967771
+ 1130.3915978962
+ 1131.4950855619
+ 1133.7086256695
+ 1134.8856545915
+ 1135.5622139755
+ 1136.929293481
+ 1138.1515897798
+ 1138.9923418205
+ 1140.7218481719
+ 1141.2610229641
+ 1142.8586596079
+ 1144.7822995186
+ 1145.4853275171
+ 1146.5768149249
+ 1147.5017765233
+ 1148.6152772088
+ 1149.9826010281
+ 1151.5628147237
+ 1152.9431285306
+ 1153.8903037163
+ 1154.6975195354
+ 1156.6215678339
+ 1157.4323145756
+ 1158.0016090273
+ 1159.480657019
+ 1161.3966446344
+ 1162.487528602
+ 1163.7010316828
+ 1164.7375863512
+ 1165.2712277065
+ 1166.9436134095
+ 1168.0862716101
+ 1169.6983568849
+ 1170.4636385783
+ 1172.1206818657
+ 1173.305687764
+ 1174.2327668565
+ 1175.215452396
+ 1176.6328758098
+ 1177.1063044217
+ 1179.7012235019
+ 1180.6535437871
+ 1181.2673181517
+ 1182.5822703469
+ 1183.712775296
+ 1185.1558428475
+ 1185.8753586954
+ 1187.3451614933
+ 1188.8564442982
+ 1189.9636364979
+ 1191.4826059264
+ 1192.2186114781
+ 1193.3240214275
+ 1193.8574271354
+ 1196.0346717487
+ 1197.0717866588
+ 1198.6865691046
+ 1199.3565137079
+ 1200.5326920312
+ 1201.8103348566
+ 1203.1373508614
+ 1203.8552475941
+ 1204.9854921715
+ 1206.8704997939
+ 1208.4714599495
+ 1208.9894841679
+ 1209.8980300875
+ 1211.4161158928
+ 1212.1131530663
+ 1213.5983726804
+ 1215.389975065
+ 1216.1837220335
+ 1217.1744824977
+ 1219.0500281774
+ 1219.6144713109
+ 1220.816347691
+ 1221.6922424831
+ 1222.9524840951
+ 1225.0183300242
+ 1225.8550207608
+ 1227.2318276415
+ 1227.9171416144
+ 1228.793154363
+ 1230.5846031542
+ 1231.5622738776
+ 1232.5295870406
+ 1234.2778166534
+ 1235.5025485265
+ 1236.3990174658
+ 1237.9772985136
+ 1238.4572327957
+ 1239.4908071468
+ 1240.8134717852
+ 1243.078076398
+ 1243.5381465261
+ 1244.851433967
+ 1245.6558661881
+ 1247.3725619699
+ 1248.0630610532
+ 1249.159887953
+ 1250.6723972757
+ 1251.6598320043
+ 1253.6735778521
+ 1254.4313284218
+ 1255.4082306453
+ 1256.1812141985
+ 1257.5412194126
+ 1258.7792334886
+ 1260.3445483162
+ 1261.6117171615
+ 1262.5566140004
+ 1263.6767328439
+ 1264.957223007
+ 1266.1790377606
+ 1267.2003456118
+ 1267.5705717794
+ 1270.1189218865
+ 1271.1342996316
+ 1272.0839595993
+ 1273.2611446335
+ 1274.1962208895
+ 1275.0920303158
+ 1276.8421715556
+ 1277.7630919863
+ 1279.3328433167
+ 1280.155794409
+ 1281.8287269597
+ 1283.0004913867
+ 1283.3350321389
+ 1284.8547951546
+ 1285.6950233311
+ 1287.4100266171
+ 1289.1653515328
+ 1290.1047715198
+ 1290.417708073
+ 1291.9458709681
+ 1293.4939815574
+ 1294.1184743778
+ 1295.3653635054
+ 1296.8011109923
+ 1298.2565270679
+ 1299.4051712507
+ 1300.4900189824
+ 1301.4955166806
+ 1302.3467423792
+ 1303.2732002288
+ 1305.401672188
+ 1306.508393313
+ 1307.2672421078
+ 1308.9881965176
+ 1309.4215324933
+ 1311.0565705111
+ 1311.966940608
+ 1313.031599369
+ 1314.0525656517
+ 1316.2121126029
+ 1317.0729860348
+ 1318.1712791322
+ 1318.9478805966
+ 1319.9310828775
+ 1321.6281385519
+ 1322.2580671234
+ 1324.2249787188
+ 1325.237624359
+ 1325.9819696304
+ 1327.6352811085
+ 1329.0435179965
+ 1329.2050187855
+ 1330.4299371205
+ 1331.8275913853
+ 1333.6735226103
+ 1334.7473290517
+ 1335.694974526
+ 1336.6901846534
+ 1337.6887918097
+ 1338.9231645987
+ 1340.4264004573
+ 1341.1662722529
+ 1342.6085078838
+ 1344.1560440036
+ 1345.4771062614
+ 1345.7314132554
+ 1347.5194717509
+ 1348.0172380187
+ 1349.085194014
+ 1351.2962063741
+ 1352.2104651592
+ 1353.4833383583
+ 1353.8867819717
+ 1355.6805953206
+ 1356.6056557098
+ 1357.7717428286
+ 1358.4601603992
+ 1360.3931447622
+ 1361.3930747136
+ 1363.0223286033
+ 1363.8791907971
+ 1364.5765848968
+ 1365.4937335513
+ 1367.10409097
+ 1368.330193308
+ 1369.6869490773
+ 1370.9735227678
+ 1371.6865535528
+ 1373.2029145624
+ 1374.1547986586
+ 1375.3023923447
+ 1376.1617799936
+ 1377.1776336421
+ 1379.6832830286
+ 1380.1485784417
+ 1381.0739771492
+ 1382.3456629785
+ 1383.2975910079
+ 1384.4444158478
+ 1385.6637770112
+ 1387.3266476635
+ 1387.9214541271
+ 1389.5658317984
+ 1390.7054902864
+ 1391.8532004433
+ 1392.6440277885
+ 1393.4334017408
+ 1394.8841846757
+ 1396.5441631237
+ 1397.8346233214
+ 1398.8376752014
+ 1399.8394729412
+ 1400.4269462974
+ 1402.5643472501
+ 1402.9737476409
+ 1404.0062921705
+ 1405.6669750592
+ 1407.0851427764
+ 1408.1363074962
+ 1409.3206810798
+ 1410.0248107258
+ 1411.2570568157
+ 1411.9656534618
+ 1413.8431487886
+ 1415.5857847955
+ 1415.7815813033
+ 1417.1028229338
+ 1418.6969638525
+ 1419.422480946
+
+### Analytic rank of elliptic curve 5077a1
+analytic rank equals 3
+
+### run example program
+-----------------------------------------------
+
+Name of L_function: zeta
+All coefficients are equal to 1
+
+Q = 0.564189583548
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0,0)
+
+
+number of poles (of the completed L function) = 2
+pole[1] =(1,0)    residue[1] =(1,0)
+pole[2] =(0,0)    residue[2] =(-1,0)
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L4
+number of dirichlet coefficients = 4
+coefficients are periodic
+b[1] = 1
+b[2] = 0
+b[3] = -1
+b[4] = 0
+
+Q = 1.1283791671
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L5
+number of dirichlet coefficients = 5
+coefficients are periodic
+b[1] = (1,0)
+b[2] = (0,1)
+b[3] = (-0,-1)
+b[4] = (-1,0)
+b[5] = (0,0)
+
+Q = 1.26156626101
+OMEGA = (0.850650808352,0.525731112119)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+zeta(0.5,0) = (-1.46035450881,0)
+L4(0.5,0) = (0.6676914571896,0)
+L5(0.5,0) = (0.7637478801173,0.2169647675189)
+L4(1,0) = (0.7853981633975,0)
+L5(1,0) = (0.8648062659772,0.2041530661384)
+0.4285714285714
+1.5
+0.1666666666667
+0.6666666666667
+0.5714285714286
+0
+0.5714285714286
+0.5714285714286
+0
+0.8888888888889
+6.123031769112e-17
+-0.7071067811865
+
+### test data files: zeros of data_mass
+ 2.89772467827
+ 5.59124531532
+ 21.09037750873
+ 23.15751048459
+ 25.43930038984
+ 29.18920671354
+ 31.06173948455
+ 32.45271823746
+ 34.02727968404
+ 36.93123719687
+ 38.98709821794
+ 40.46554901427
+ 41.68511034313
+ 43.05108147996
+ 45.22036201604
+ 47.66072427933
+ 48.81796648431
+ 49.79846517638
+ 51.37514501231
+ 52.55988761653
+
+### test data files: zeros of data_tau
+ 9.222379399921
+ 13.90754986139
+ 17.44277697823
+ 19.65651314195
+ 22.33610363721
+ 25.27463654811
+ 26.80439115835
+ 28.83168262419
+ 31.17820949836
+ 32.77487538223
+ 35.19699584121
+ 36.74146297671
+ 37.75391597562
+ 40.21903437422
+ 41.73049228931
+ 43.59174123558
+ 45.04007921378
+ 46.19731875314
+ 48.35905247802
+ 49.27605353656
+ 51.15656028144
+ 53.06671423543
+ 54.09995263156
+ 55.21778745348
+ 56.71529404473
+ 58.58016100791
+ 59.78593800332
+ 61.13672295793
+ 62.66499232631
+ 64.08664571893
+ 64.84864127983
+ 66.49476926719
+ 67.93860977475
+ 69.04339787489
+ 71.11465341425
+ 71.74750419617
+ 72.81406066759
+ 74.09582544002
+ 75.77216168976
+ 77.10183189349
+ 77.68461125026
+ 79.79293909124
+ 80.5601920681
+ 82.00757620452
+ 82.84252583957
+ 83.97564035576
+ 85.46221814858
+ 86.75597218826
+ 88.07513099426
+ 89.02289034074
+ 90.45103289616
+ 91.11271853147
+ 92.44292549472
+ 93.76912394744
+ 95.13807853977
+ 95.62492107705
+ 97.34104088985
+ 98.709804088181
+ 99.746648900304
+ 100.22461499968
+ 101.34359353371
+ 103.16663591564
+ 103.81733899745
+ 105.22181333799
+ 106.2938221342
+ 107.42670755393
+ 108.47543790164
+ 109.39169607603
+ 110.709662684
+ 111.53473540164
+ 112.75715359897
+ 113.84343404772
+ 115.06276556053
+ 116.4634839837
+ 117.11654084727
+ 118.14687073685
+ 119.08216779665
+ 119.99454209524
+ 121.78633067852
+ 122.55731782503
+ 123.21241716312
+ 124.60624049117
+ 125.9428934493
+ 126.75939204587
+ 127.55580316015
+ 128.62383894451
+ 129.60342208413
+ 130.9485924074
+ 131.70819904812
+ 132.96854278614
+ 134.34729668877
+ 135.07869588874
+ 135.55289998753
+ 137.090334711
+ 137.70022292032
+ 139.28400855168
+ 139.93658439006
+ 140.89653322681
+ 142.14115198902
+ 143.08355526348
+ 144.3547263694
+ 145.16531200641
+ 146.1487705718
+ 146.40978836463
+ 148.11775412261
+ 149.04126788157
+ 150.27507429698
+ 150.90642375398
+ 152.13443437848
+ 153.11514719403
+ 154.05182909662
+ 154.79531222958
+ 155.73207939114
+ 157.09578319229
+ 157.91275288651
+ 158.66081392258
+ 159.66861391034
+ 161.30637028119
+ 161.85035860513
+ 162.87145492254
+ 163.5474941088
+ 164.3389052284
+ 165.6101228958
+ 166.5807970057
+ 167.6436347091
+ 168.6591247847
+ 169.2457741065
+ 170.5979320488
+ 171.4664999977
+ 172.2169267498
+ 173.5242528689
+ 173.9134135057
+ 174.8765292772
+ 176.1665777917
+ 177.2078297826
+ 177.6927239362
+ 179.2467652208
+ 180.0763485343
+ 180.763679308
+ 181.7354944856
+ 182.2024919488
+ 183.5234365784
+ 184.7663025824
+ 185.4918147412
+ 186.2444170036
+ 187.0757402666
+ 188.5368725277
+ 189.2689736566
+ 190.183009487
+ 190.9583656893
+ 191.6328149027
+ 192.7925002062
+ 193.5481111769
+ 194.837180509
+ 195.4071279189
+ 196.8654811
+ 197.4600122758
+ 198.1569402301
+ 199.3112321519
+ 200.1461412029
+ 200.7860427714
+ 201.843714962
+ 203.1511121528
+ 203.536310991
+ 204.5123933434
+ 205.6235312757
+ 206.4551567297
+ 207.846761068
+ 208.3443022524
+ 208.8862430002
+ 209.7545253738
+ 210.7039058347
+ 211.9648793319
+ 212.9829738766
+ 213.4280929692
+ 214.4386923504
+ 215.5826154495
+ 216.423719513
+ 217.1374984504
+ 217.8974922792
+ 219.0577593492
+ 219.6196634032
+ 220.8424853007
+ 221.2983798027
+ 222.4923346026
+ 223.3196639866
+ 224.4885153001
+ 225.2978104732
+ 226.1301840738
+ 226.6142171531
+ 227.6019259102
+ 228.5023298788
+ 229.309991752
+ 230.57189985
+ 231.3567694302
+ 232.0759318125
+ 232.6653058039
+ 234.1010064029
+ 234.8267446127
+ 235.74710144
+ 236.3093063595
+ 237.3473335472
+ 237.6450888275
+ 239.289059163
+ 239.8992460699
+ 240.4924083209
+ 241.8682289971
+ 242.570187861
+ 243.7263550403
+ 243.9341977649
+ 245.0890157105
+ 245.5943279944
+ 246.6926898485
+ 247.8638440831
+ 248.4749527797
+ 249.1617534962
+ 250.0852489562
+ 251.0710985655
+ 252.2017418298
+ 252.763898597
+ 253.6220781406
+ 254.636456582
+ 255.0804799369
+ 255.6503879912
+ 257.1157213659
+ 257.8064380484
+ 258.8193362763
+ 259.5597420518
+ 260.3196678497
+ 261.3765190186
+ 261.9559808789
+ 263.2167448602
+ 263.4609411671
+ 264.333389913
+ 265.5303740019
+ 266.1943306679
+ 267.0749849987
+ 267.9143130553
+ 268.5129542542
+ 269.8286792243
+ 270.8988961225
+ 271.4162122773
+ 271.7926935992
+ 272.7023215418
+ 273.6244064675
+ 274.5969844018
+ 275.4098195361
+ 276.5361690897
+ 276.9253544225
+ 277.8396903879
+ 278.9549020578
+ 279.5595175681
+ 280.4631782672
+ 281.329358549
+ 281.989594894
+ 282.7955544863
+ 283.5803955395
+ 284.3899259683
+ 285.3270241537
+ 286.391637452
+ 286.856599307
+ 288.053289884
+ 288.8006650626
+ 289.542732101
+ 290.1350782102
+ 291.101338116
+ 291.5382880479
+ 292.7113897787
+ 293.9381254377
+ 294.3724290565
+ 295.0297012071
+ 295.6922564133
+ 297.2842177677
+ 297.5534155805
+ 298.6305678823
+ 299.4765749055
+ 299.8355700865
+ 300.6053092776
+ 301.5784501395
+ 302.6077895528
+ 303.338282435
+ 303.9688372747
+ 305.1095949091
+ 306.0720603098
+ 306.4583488649
+ 307.3518759722
+ 308.2187292243
+ 308.7765237235
+ 309.843954242
+ 310.5622090525
+ 311.2325407073
+ 312.4969547628
+ 312.7215429826
+ 313.7660202434
+ 314.6279086185
+ 315.6181024136
+ 316.4577129805
+ 317.0960150769
+ 317.7914075384
+ 318.3616944674
+ 319.0690896988
+ 320.2426837231
+ 321.2416146557
+ 321.8138419056
+ 322.6315783665
+ 323.4360729966
+ 324.0061027022
+ 325.5738331178
+ 325.7479417843
+ 326.3286660475
+ 327.3678299142
+ 328.1230302867
+ 329.0257388381
+ 329.658141759
+ 330.4848328263
+ 331.3228769708
+ 332.0708905071
+ 333.2490196451
+ 334.0835689792
+ 334.3972950425
+ 335.3045870282
+ 335.8778298615
+ 336.9065217434
+ 337.3867493912
+ 338.5895326087
+ 339.36876123
+ 340.067355744
+ 340.7148879606
+ 341.6493355687
+ 342.3800601324
+ 343.3260341321
+ 344.1094216926
+ 344.898361981
+ 345.5424536678
+ 345.9837371779
+ 346.8525389262
+ 348.0322080089
+ 348.6820197512
+ 349.553089947
+ 350.0319040263
+ 351.28960164
+ 351.9730519484
+ 352.7440783264
+ 353.1107490671
+ 354.0570557411
+ 354.9855222604
+ 355.2922238613
+ 356.8338668125
+ 357.4425566582
+ 357.7031585097
+ 358.6071448756
+ 359.6318917814
+ 360.529956209
+ 361.4460080487
+ 361.835939688
+ 362.9109338715
+ 363.2059203685
+ 364.0228859107
+ 364.8890717283
+ 365.7941219473
+ 366.3946310163
+ 367.673032655
+ 368.1154302097
+ 368.7373188992
+ 369.7778301412
+ 370.4275144261
+ 371.2020690388
+ 372.0496199652
+ 372.6107172183
+ 373.3200722486
+ 374.3113862667
+ 374.9243466649
+ 375.8449583875
+ 376.5412950432
+ 377.1835802572
+ 378.1164551309
+ 379.2793078941
+ 379.6929732133
+ 380.5776722324
+ 381.1774071699
+ 381.3492984959
+ 382.5430013711
+ 383.5919971027
+ 384.2670525581
+ 385.0510712163
+ 385.7574243736
+ 386.3420931504
+ 387.3373820285
+ 388.178605882
+ 388.9973676622
+ 389.3990336151
+ 390.3466532774
+ 391.1159227001
+ 391.7784046796
+ 392.3140308101
+ 393.3171989127
+ 394.3868425001
+ 394.5399598806
+ 395.7471548949
+ 396.7547231083
+ 397.1807480369
+ 397.8266928791
+ 398.6963498691
+ 399.410855365
+ 400.1592344328
+ 400.4886536787
+ 401.9200307113
+ 402.4204792092
+ 403.4792667242
+ 403.8196349588
+ 404.3622957518
+ 405.5873310222
+ 406.4105028833
+ 407.1690726594
+ 407.936718736
+ 408.2753097467
+ 409.0928595592
+ 409.756711946
+ 410.5601675382
+ 411.7836485129
+ 412.1003585138
+ 412.9909693929
+ 413.6693598069
+ 414.8388470742
+ 415.2601024032
+ 415.9258006044
+ 416.8249176263
+ 417.3019624028
+ 418.1071018321
+ 419.0749538439
+ 419.6836233385
+ 420.5464642084
+ 421.0717682948
+ 421.7948585105
+ 422.9097886826
+ 423.4843519255
+ 424.1849816321
+ 425.4269555222
+ 425.7244703918
+ 426.3130294323
+ 426.9277273908
+ 427.9032509045
+ 428.3549687941
+ 429.5665602469
+ 430.2946165983
+ 430.9899218068
+ 431.7133442405
+ 432.1270106631
+ 433.302690053
+ 433.9677033632
+ 434.7562935884
+ 435.2921766875
+ 436.2409315236
+ 436.4745702407
+ 437.5201512612
+ 438.4315260285
+ 439.1392629552
+ 439.4946176433
+ 440.5637942063
+ 441.3004870257
+ 442.3624551689
+ 443.0119244634
+ 443.5001164934
+ 443.972496073
+ 444.870611287
+ 445.6034828587
+ 446.3573771416
+ 447.1729484623
+ 448.0916398015
+ 448.6875613652
+ 449.3107759589
+ 449.9538530656
+ 451.0168035029
+ 451.7600259829
+ 452.3466911118
+ 453.0511188508
+ 454.0821798329
+ 454.44853114
+ 454.9499653675
+ 455.7206618436
+ 456.8053468352
+ 457.737178687
+ 457.9627565758
+ 459.0701009815
+ 459.671372983
+ 460.5695936199
+ 461.1466034987
+ 462.057394796
+ 462.3806309246
+ 463.2589055236
+ 463.7405482997
+ 464.8907178657
+ 465.7444357651
+ 466.1431406005
+ 466.8457443575
+ 467.6995428623
+ 468.1858650096
+ 469.4242322641
+ 470.2470663986
+ 470.632742058
+ 471.2762765664
+ 472.0853674123
+ 472.5529897442
+ 473.2178548669
+ 474.5271591927
+ 474.7927674814
+ 475.6705828315
+ 476.5344223262
+ 477.2231058871
+ 478.0017010518
+ 478.5493401775
+ 479.2761504172
+ 480.1909877699
+ 480.8777358595
+ 481.2823090642
+ 482.2318739581
+ 482.8283347184
+ 483.8478239232
+ 484.0400298822
+ 485.4694583119
+ 485.5953266191
+ 486.4293767199
+ 487.5900376226
+ 488.211583768
+ 488.7669723707
+ 489.6497600134
+ 489.9058984976
+ 490.5665522955
+ 491.5669708503
+ 492.1540748274
+ 493.4235293344
+ 493.9557783289
+ 494.3044354588
+ 494.9581999027
+ 495.9770107757
+ 496.9369560649
+ 497.4254399269
+ 498.0590027016
+ 498.8883173132
+ 499.4256062698
+ 500.1922122541
+ 500.8130967713
+ 501.6671459939
+ 502.2461898094
+ 503.2198027716
+ 503.6924652613
+ 504.7108959469
+ 505.3921039021
+ 506.2059663774
+ 506.779902007
+ 507.122200488
+ 508.1498959856
+ 508.7030083139
+ 509.6589270955
+ 509.9262423147
+ 511.1672837687
+ 511.8440280087
+ 512.3725751341
+ 512.9023170055
+ 513.8118007869
+ 514.7026839653
+ 515.2818401225
+ 516.288582045
+ 516.8168143226
+ 517.4399630057
+ 517.6980824848
+ 518.5157058242
+ 519.6593828202
+ 520.2050178374
+ 521.1153821745
+ 521.556609138
+ 522.3987628217
+ 523.2884492583
+ 523.7426510586
+ 524.6670082532
+ 525.3169714212
+ 525.8430761523
+ 526.3966398408
+ 527.3364604715
+ 528.1087348605
+ 528.8023083549
+ 529.4906043154
+ 530.0652382711
+ 530.688238201
+ 531.6407074272
+ 532.6285805167
+ 532.9806498884
+ 534.0334296322
+ 534.4092441631
+ 534.9792072748
+ 535.9634526077
+ 536.2247715823
+ 536.993367906
+ 538.0713781815
+ 538.7983796168
+ 539.3652424452
+ 540.1792739855
+ 540.8757169457
+ 541.2147076142
+ 542.3276545663
+ 543.0916763147
+ 543.6891780917
+ 544.1813507955
+ 545.0293563831
+ 545.7728940077
+ 546.0353104691
+ 547.1758033702
+ 547.8290543163
+ 548.695012734
+ 549.0170325921
+ 549.7836611539
+ 551.0217342631
+ 551.7080761102
+ 552.0283049181
+ 552.5480712559
+ 553.2979027587
+ 554.169452465
+ 554.5005752598
+ 555.6667852599
+ 556.3780490535
+ 557.0468370642
+ 557.4580781764
+ 558.4520689557
+ 558.7954256711
+ 560.0492291097
+ 560.4674899656
+ 561.202446462
+ 562.0387210723
+ 562.4486290956
+ 563.2225688205
+ 563.8354849359
+ 564.37761433
+ 565.3131129716
+ 566.0714711421
+ 566.7437544135
+ 567.5904646345
+ 568.1695453876
+ 568.8345731712
+ 569.7544549057
+ 570.1254948436
+ 570.9138176242
+ 571.756687239
+ 572.1479785473
+ 572.6724247839
+ 573.7931388244
+ 574.657757711
+ 575.0897369417
+ 575.6618469341
+ 576.2441114677
+ 577.2600813089
+ 577.976004581
+ 578.7528172084
+ 579.5615552965
+ 580.0131664726
+ 580.5370290842
+ 581.2054055556
+ 581.5964993952
+ 583.0180045495
+ 583.3127136797
+ 584.0842967758
+ 584.9173723789
+ 585.6489028533
+ 585.9766036081
+ 587.1646847002
+ 587.6518722029
+ 588.2803287035
+ 588.8046774763
+ 589.8422420162
+ 590.2650595054
+ 591.0246435458
+ 591.6709281049
+ 592.3144660519
+ 593.0635253283
+ 593.8611857051
+ 594.5042402355
+ 595.0425842537
+ 596.3164027673
+ 596.4832760844
+ 597.4668841687
+ 598.0686701066
+ 598.5163375553
+ 599.088985808
+ 599.8724924494
+ 600.590372786
+ 601.3911329161
+ 602.2984252947
+ 602.9818380952
+ 603.4126135135
+ 603.833028865
+ 604.808460113
+ 605.7677254319
+ 606.3669696952
+ 607.1057762699
+ 607.4116309095
+ 608.1614285363
+ 609.053964657
+ 609.3949560148
+ 610.2284496929
+ 611.152994214
+ 611.6669694346
+ 612.2618139833
+ 613.0526664738
+ 614.2345951373
+ 614.502885248
+ 615.120794419
+ 615.7444748144
+ 616.5707917567
+ 617.0151078002
+ 617.7934565735
+ 618.4313130811
+ 619.3839838155
+ 620.0510108515
+ 620.4792229126
+ 621.2266252288
+ 622.0122890334
+ 622.639192718
+ 623.3591842295
+ 624.2776924812
+ 624.7358509773
+ 625.783241064
+ 625.8878893225
+ 626.6289872637
+ 627.1707375404
+ 627.8654595271
+ 628.9545412652
+ 629.6936197945
+ 630.1928770806
+ 630.6830957996
+ 631.6694288012
+ 632.3290416465
+ 632.8917506833
+ 633.6643616214
+ 634.3820086937
+ 634.8660702935
+ 635.3984422438
+ 636.2834873426
+ 636.9518024761
+ 637.8091595766
+ 638.3721344383
+ 638.8595131416
+ 639.4860794577
+ 640.5345455773
+ 641.0289443115
+ 642.1184975814
+ 642.6251032735
+ 643.0540591474
+ 643.7767417037
+ 644.0976179975
+ 645.195944393
+ 645.6921996602
+ 646.3228306082
+ 647.2403173592
+ 647.9614051035
+ 648.7323963272
+ 649.0161354724
+ 649.940138733
+ 650.406070262
+ 651.5422398424
+ 651.9578549588
+ 652.4076481383
+ 653.5761694226
+ 653.918956636
+ 654.2662503541
+ 655.1399416162
+ 656.1436522637
+ 656.4636345019
+ 657.355870447
+ 658.09679873
+ 658.5258638413
+ 659.469853767
+ 660.300762664
+ 660.8466019912
+ 661.4397604223
+ 661.8026206421
+ 662.5387604177
+ 663.2456368532
+ 663.9619087758
+ 665.0177946402
+ 665.4343037606
+ 666.123965049
+ 666.7657722667
+ 667.0747650385
+ 668.2104288865
+ 669.1515803844
+ 669.4421337627
+ 670.0808998901
+ 670.9525873037
+ 671.5549805474
+ 671.9640453313
+ 672.5914341134
+ 673.3458495361
+ 674.2882714466
+ 674.7932432583
+ 675.3811482285
+ 676.3793128206
+ 676.8747866226
+ 677.8535749111
+ 678.03721085
+ 678.7869852975
+ 679.6347513692
+ 680.2060748237
+ 680.8853194008
+ 681.2775043262
+ 682.1813201039
+ 682.9616335889
+ 683.5862451423
+ 684.280354746
+ 684.7611190712
+ 685.5554040746
+ 686.0268621626
+ 687.2333679383
+ 687.8630588617
+ 688.2695164282
+ 688.9700274893
+ 689.4887967334
+ 690.0287719359
+ 690.6234223665
+ 691.5283764461
+ 692.4881150453
+ 692.9086190681
+ 693.5965975886
+ 694.3144158553
+ 694.7886862017
+ 695.706850225
+ 696.4535916702
+ 696.8464986531
+ 697.792865264
+ 698.0906314358
+ 698.8476393335
+ 699.4912465351
+ 700.5716146347
+ 700.9048650841
+ 701.0973114665
+ 702.4463033628
+ 702.8327132509
+ 703.6167875189
+ 704.2303074719
+ 705.2893867465
+ 705.6100290328
+ 706.4019215452
+ 706.8168622372
+ 707.5134864183
+ 708.14584178
+ 708.7245834922
+ 709.4584356982
+ 710.2537137971
+ 711.1578646007
+ 711.7343823259
+ 712.0915771661
+ 712.6720043985
+ 713.7013789674
+ 714.1899433337
+ 715.0295363716
+ 715.8007336791
+ 716.2375626737
+ 716.9412604664
+ 717.2260850134
+ 718.1099004028
+ 718.6855143901
+ 719.6953824621
+ 720.3065676052
+ 720.6426884544
+ 721.4343053846
+ 722.3911416324
+ 722.9581490313
+ 723.8102637476
+ 724.0895792528
+ 724.9024584572
+ 725.1346147542
+ 726.2591473856
+ 726.6876042148
+ 727.3421515487
+ 728.2868630863
+ 728.8570402933
+ 729.4899639716
+ 730.0000943004
+ 730.5143943855
+ 731.6790844739
+ 732.3188243846
+ 732.6408854887
+ 733.5993896596
+ 734.1926807074
+ 734.856425002
+ 735.1901397363
+ 735.8741571034
+ 736.4295680899
+ 737.4705269107
+ 738.0388155975
+ 738.7350991619
+ 739.6950091845
+ 739.8438580846
+ 740.6032526517
+ 741.3750965284
+ 742.1010509211
+ 742.8563498819
+ 743.2580960816
+ 743.7871278817
+ 744.5214145137
+ 745.4082167245
+ 745.7006663497
+ 746.8493598724
+ 747.1118097607
+ 747.9556170627
+ 748.3071752408
+ 749.2477834966
+ 749.9539208565
+ 750.8621488749
+ 751.4165224271
+ 751.9854397139
+ 752.2691457493
+ 753.0158221848
+ 753.6067329909
+ 754.4477840392
+ 755.0695423481
+ 756.013465277
+ 756.3641990433
+ 757.0554832637
+ 757.8455316437
+ 758.5776717492
+ 758.8189289195
+ 759.8444806885
+ 760.5868520791
+ 760.9449038594
+ 761.7033478585
+ 762.4679225516
+ 762.9521388316
+ 763.4121816223
+ 764.2191940587
+ 764.8584398118
+ 765.7030582987
+ 766.3246054396
+ 766.8945393521
+ 767.4804863344
+ 768.549898282
+ 769.0724248217
+ 769.5598768844
+ 770.0075906714
+ 771.0511304086
+ 771.3618087961
+ 771.8554828074
+ 772.5415406394
+ 773.8316592955
+ 774.2342778298
+ 774.7121075155
+ 775.3977269092
+ 775.7841964027
+ 776.676090059
+ 777.5797066335
+ 778.2137968534
+ 778.7982728617
+ 779.3479665709
+ 779.9564449568
+ 780.5976969005
+ 781.054592128
+ 781.7892488953
+ 782.654818633
+ 783.0854269616
+ 783.9954790778
+ 784.6200582001
+ 785.0110937334
+ 786.2620308904
+ 786.4061120117
+ 787.3698462696
+ 787.5202801538
+ 788.5147336006
+ 789.0171619529
+ 789.7149272017
+ 790.4017218435
+ 790.83461823
+ 791.8454601846
+ 792.3229475541
+ 792.8555690461
+ 793.6824817862
+ 794.2494604355
+ 794.8643478829
+ 795.7108659659
+ 796.3599628579
+ 797.2415727207
+ 797.5367495806
+ 798.2405842527
+ 798.4808445315
+ 799.1140258006
+ 800.1561392321
+ 800.8559394303
+ 801.3394717495
+ 802.303512687
+ 802.7583089762
+ 803.3028993871
+ 803.8165934026
+ 804.8119519437
+ 805.583201496
+ 805.8640060142
+ 806.6989178963
+ 807.0969015865
+ 807.842135501
+ 808.5551619242
+ 809.0614773183
+ 809.9220540855
+ 810.4394871581
+ 810.954253284
diff --git a/srcpkgs/lcalc/files/test.musl b/srcpkgs/lcalc/files/test.musl
new file mode 100644
index 000000000000..5b1b4d8b978d
--- /dev/null
+++ b/srcpkgs/lcalc/files/test.musl
@@ -0,0 +1,2102 @@
+### First 1000 zeros of zeta function
+ 14.13472514173
+ 21.02203963877
+ 25.01085758015
+ 30.42487612586
+ 32.93506158774
+ 37.58617815883
+ 40.91871901215
+ 43.32707328091
+ 48.00515088117
+ 49.77383247767
+ 52.97032147771
+ 56.44624769706
+ 59.3470440026
+ 60.83177852461
+ 65.11254404808
+ 67.07981052949
+ 69.54640171117
+ 72.06715767448
+ 75.70469069908
+ 77.14484006887
+ 79.33737502025
+ 82.91038085409
+ 84.73549298052
+ 87.42527461313
+ 88.80911120763
+ 92.49189927056
+ 94.65134404052
+ 95.87063422825
+ 98.831194218194
+ 101.31785100573
+ 103.72553804048
+ 105.44662305233
+ 107.16861118428
+ 111.02953554317
+ 111.87465917699
+ 114.32022091545
+ 116.22668032086
+ 118.79078286598
+ 121.37012500242
+ 122.94682929355
+ 124.25681855435
+ 127.5166838796
+ 129.57870419996
+ 131.08768853093
+ 133.497737203
+ 134.75650975337
+ 138.11604205453
+ 139.73620895212
+ 141.12370740402
+ 143.11184580762
+ 146.00098248677
+ 147.42276534256
+ 150.05352042078
+ 150.92525761224
+ 153.0246938112
+ 156.11290929424
+ 157.59759181759
+ 158.84998817142
+ 161.1889641376
+ 163.03070968718
+ 165.5370691879
+ 167.1844399782
+ 169.0945154156
+ 169.9119764794
+ 173.4115365196
+ 174.7541915234
+ 176.4414342977
+ 178.3774077761
+ 179.9164840203
+ 182.2070784844
+ 184.8744678484
+ 185.5987836777
+ 187.2289225835
+ 189.416158656
+ 192.0266563607
+ 193.0797266038
+ 195.2653966795
+ 196.876481841
+ 198.0153096763
+ 201.2647519437
+ 202.4935945141
+ 204.1896718031
+ 205.3946972022
+ 207.9062588878
+ 209.5765097169
+ 211.6908625954
+ 213.3479193597
+ 214.5470447835
+ 216.1695385083
+ 219.067596349
+ 220.7149188393
+ 221.4307055547
+ 224.0070002546
+ 224.9833246696
+ 227.4214442797
+ 229.3374133055
+ 231.2501887005
+ 231.9872352532
+ 233.6934041789
+ 236.5242296658
+ 237.7698204809
+ 239.5554775733
+ 241.0491577962
+ 242.8232719342
+ 244.0708984971
+ 247.1369900749
+ 248.1019900601
+ 249.5736896447
+ 251.014947795
+ 253.069986748
+ 255.3062564549
+ 256.3807136944
+ 258.6104394915
+ 259.8744069897
+ 260.8050845046
+ 263.5738939049
+ 265.5578518389
+ 266.6149737815
+ 267.9219150828
+ 269.970449024
+ 271.4940556416
+ 273.4596091884
+ 275.5874926493
+ 276.4520495031
+ 278.2507435298
+ 279.2292509277
+ 282.4651147651
+ 283.2111857332
+ 284.8359639809
+ 286.667445363
+ 287.9119205014
+ 289.5798549292
+ 291.8462913291
+ 293.5584341394
+ 294.9653696193
+ 295.573254879
+ 297.9792770619
+ 299.8403260537
+ 301.6493254622
+ 302.6967495896
+ 304.8643713409
+ 305.728912602
+ 307.2194961282
+ 310.1094631467
+ 311.1651415304
+ 312.4278011806
+ 313.9852857312
+ 315.4756160895
+ 317.7348059424
+ 318.8531042563
+ 321.1601343091
+ 322.1445586725
+ 323.4669695575
+ 324.8628660517
+ 327.4439012619
+ 329.0330716805
+ 329.9532397282
+ 331.4744675827
+ 333.6453785249
+ 334.2113548332
+ 336.8418504284
+ 338.3399928508
+ 339.8582167254
+ 341.042261111
+ 342.0548775104
+ 344.6617029403
+ 346.347870566
+ 347.2726775844
+ 349.3162608707
+ 350.4084193492
+ 351.8786490254
+ 353.4889004887
+ 356.0175749773
+ 357.151302252
+ 357.9526851016
+ 359.7437549531
+ 361.2893616958
+ 363.331330579
+ 364.7360241141
+ 366.2127102883
+ 367.9935754817
+ 368.9684380957
+ 370.0509192121
+ 373.0619283721
+ 373.8648739109
+ 375.8259127667
+ 376.3240922307
+ 378.43668025
+ 379.8729753465
+ 381.4844686172
+ 383.4435294495
+ 384.9561168149
+ 385.861300846
+ 387.2228902224
+ 388.8461283542
+ 391.4560835636
+ 392.2450833395
+ 393.4277438444
+ 395.582870011
+ 396.3818542226
+ 397.9187362096
+ 399.9851198762
+ 401.8392286005
+ 402.8619177639
+ 404.2364418002
+ 405.1343874599
+ 407.5814603869
+ 408.9472455024
+ 410.5138691934
+ 411.9722678043
+ 413.2627360702
+ 415.0188097552
+ 415.4552149963
+ 418.3877057895
+ 419.8613648182
+ 420.643827625
+ 422.0767100588
+ 423.7165796275
+ 425.0698824945
+ 427.2088250841
+ 428.1279140766
+ 430.3287454309
+ 431.3013069307
+ 432.1386417346
+ 433.8892184809
+ 436.1610064326
+ 437.5816981677
+ 438.6217386563
+ 439.9184422144
+ 441.6831992012
+ 442.9045463026
+ 444.3193362776
+ 446.8606226964
+ 447.4417041945
+ 449.148545685
+ 450.1269457803
+ 451.4033084454
+ 453.9867378067
+ 454.9746837686
+ 456.3284266892
+ 457.9038930641
+ 459.5134152811
+ 460.0879444222
+ 462.0653672749
+ 464.0572869105
+ 465.6715392114
+ 466.5702869308
+ 467.4390462103
+ 469.5360045591
+ 470.7736554781
+ 472.7991746619
+ 473.8352323451
+ 475.6003393694
+ 476.7690152375
+ 478.0752637667
+ 478.9421815346
+ 481.8303393763
+ 482.834782791
+ 483.8514272125
+ 485.5391481294
+ 486.5287182617
+ 488.38056709
+ 489.661761578
+ 491.3988215937
+ 493.3144415818
+ 493.9579978054
+ 495.3588288221
+ 496.4296962158
+ 498.5807824297
+ 500.3090849417
+ 501.6044469651
+ 502.2762703271
+ 504.4997733134
+ 505.4152317422
+ 506.4641527095
+ 508.8007003365
+ 510.2642279437
+ 511.5622897004
+ 512.6231445314
+ 513.6689855555
+ 515.4350571673
+ 517.5896685725
+ 518.2342231476
+ 520.1063104117
+ 521.5251934495
+ 522.4566961777
+ 523.960530892
+ 525.0773856873
+ 527.9036416013
+ 528.4062138523
+ 529.8062263187
+ 530.866917884
+ 532.6881830283
+ 533.7796307538
+ 535.6643140759
+ 537.0697590831
+ 538.4285261762
+ 540.2131663762
+ 540.6313902473
+ 541.8474371212
+ 544.323890101
+ 545.6368332489
+ 547.0109120581
+ 547.9316133645
+ 549.4975675627
+ 550.9700100395
+ 552.0495722006
+ 553.7649721192
+ 555.7920205617
+ 556.8994764069
+ 557.5646591721
+ 559.3162370287
+ 560.2408074973
+ 562.559207616
+ 564.1608791108
+ 564.5060559381
+ 566.6987876828
+ 567.7317579012
+ 568.9239551796
+ 570.0511147825
+ 572.4199841325
+ 573.6146105268
+ 575.0938860145
+ 575.8072471409
+ 577.0390034721
+ 579.098834672
+ 580.1369593624
+ 581.9465762659
+ 583.2360882192
+ 584.5617059035
+ 585.984563205
+ 586.7427718913
+ 588.1396632662
+ 590.6603975168
+ 591.725858065
+ 592.5713583002
+ 593.9747146822
+ 595.7281536974
+ 596.3627683284
+ 598.4930773462
+ 599.5456403644
+ 601.6021367359
+ 602.5791678864
+ 603.6256189036
+ 604.6162184938
+ 606.3834604221
+ 608.4132173112
+ 609.3895751547
+ 610.8391629377
+ 611.7742096209
+ 613.5997786756
+ 614.6462378722
+ 615.5385633694
+ 618.1128313664
+ 619.184482598
+ 620.2728936722
+ 621.7092945279
+ 622.3750027398
+ 624.2699000182
+ 626.0192834277
+ 627.2683968508
+ 628.3258623595
+ 630.4738874383
+ 630.8057809272
+ 632.2251411671
+ 633.5468582523
+ 635.5238003106
+ 637.3971931598
+ 637.9255139808
+ 638.9279382669
+ 640.6947946688
+ 641.9454996657
+ 643.2788837814
+ 644.9905782297
+ 646.3481915955
+ 647.7617530043
+ 648.7864008888
+ 650.1975193453
+ 650.6686838914
+ 653.6495716054
+ 654.3019205863
+ 655.7094630224
+ 656.9640845995
+ 658.1756144186
+ 659.663845973
+ 660.7167325953
+ 662.2965864311
+ 664.2446046523
+ 665.3427630956
+ 666.5151477042
+ 667.1484948946
+ 668.9758488202
+ 670.3235852059
+ 672.4581835842
+ 673.0435782861
+ 674.3558978101
+ 676.1396743636
+ 677.2301806688
+ 677.8004447462
+ 679.7421978825
+ 681.8949915332
+ 682.6027350198
+ 684.0135498139
+ 684.9726298621
+ 686.1632235877
+ 687.9615431847
+ 689.3689413623
+ 690.4747350324
+ 692.4516844155
+ 693.1769700606
+ 694.5339086999
+ 695.7263359209
+ 696.6260699003
+ 699.132095476
+ 700.2967391321
+ 701.3017429546
+ 702.2273431458
+ 704.0338392955
+ 705.1258139546
+ 706.1846547995
+ 708.2690708851
+ 709.2295885703
+ 711.1302741797
+ 711.9002899144
+ 712.7493834701
+ 714.0827718207
+ 716.1123964541
+ 717.4825697031
+ 718.7427865455
+ 719.6971009884
+ 721.3511622185
+ 722.2775049757
+ 723.8458210451
+ 724.5626138904
+ 727.05640323
+ 728.4054815889
+ 728.7587497956
+ 730.4164821228
+ 731.4173549186
+ 732.8180527145
+ 734.7896432524
+ 735.7654592086
+ 737.0529289123
+ 738.5804211714
+ 739.909523674
+ 740.5738074473
+ 741.7573355729
+ 743.8950131425
+ 745.3449895506
+ 746.4993058994
+ 747.6745636243
+ 748.2427544651
+ 750.6559503621
+ 750.9663810667
+ 752.8876215672
+ 754.3223704717
+ 755.839308976
+ 756.76824844
+ 758.1017292464
+ 758.9002382249
+ 760.2823669835
+ 762.7000332497
+ 763.5930661728
+ 764.3075227242
+ 766.0875400998
+ 767.2184721555
+ 768.2814618065
+ 769.6934072526
+ 771.0708393137
+ 772.9616175658
+ 774.1177446279
+ 775.0478470966
+ 775.9997119632
+ 777.2997485296
+ 779.1570769492
+ 780.3489250042
+ 782.1376643908
+ 782.5979439461
+ 784.2888226125
+ 785.7390897007
+ 786.4611474505
+ 787.4684638159
+ 790.0590923641
+ 790.8316204679
+ 792.4277076086
+ 792.8886525626
+ 794.4837918699
+ 795.6065961562
+ 797.263470038
+ 798.7075701663
+ 799.6543362109
+ 801.604246463
+ 802.5419848784
+ 803.2430962043
+ 804.7622391127
+ 805.8616356671
+ 808.151814936
+ 809.1977833633
+ 810.0818048864
+ 811.1843588465
+ 812.7711083891
+ 814.0459136075
+ 814.8705396259
+ 816.7277377144
+ 818.3806688664
+ 819.2046421708
+ 820.7218984439
+ 821.7134541334
+ 822.1977574934
+ 824.5262938716
+ 826.0392873766
+ 826.9058109541
+ 828.3401743005
+ 829.4370109683
+ 830.8958840533
+ 831.7997776591
+ 833.0036409092
+ 834.6519151478
+ 836.6935761876
+ 837.3473350595
+ 838.2490219927
+ 839.4653948103
+ 841.036389829
+ 842.0413542065
+ 844.1661966074
+ 844.8059939758
+ 846.1947699277
+ 847.9717176395
+ 848.4892811809
+ 849.8622743487
+ 850.645448466
+ 853.1631125834
+ 854.0955117199
+ 855.2867102444
+ 856.4841174908
+ 857.3107406026
+ 858.9040264665
+ 860.410670896
+ 861.1710982127
+ 863.1897197719
+ 864.3408239301
+ 865.5946643265
+ 866.423739904
+ 867.6931226118
+ 868.6704942291
+ 870.8469023258
+ 872.1887508216
+ 873.0989789713
+ 873.9083892353
+ 875.9852851088
+ 876.600825833
+ 877.654698341
+ 879.3809519698
+ 880.8346488479
+ 882.3866966272
+ 883.4303318387
+ 884.1987431146
+ 885.2723044796
+ 886.8528019629
+ 888.4755666738
+ 889.7352942941
+ 890.8131321125
+ 892.3864332602
+ 893.1191175673
+ 894.8862923209
+ 895.3979196748
+ 896.6322515562
+ 899.2215226684
+ 899.8588846079
+ 900.8497398605
+ 902.2432075868
+ 903.0996744426
+ 904.7029027223
+ 905.8299407582
+ 907.656729469
+ 908.3335436451
+ 910.1863340572
+ 911.234951486
+ 912.3310456
+ 912.8239992467
+ 914.7300969584
+ 916.3550008086
+ 917.8253775704
+ 918.8365352435
+ 919.4483444397
+ 921.1563955072
+ 922.5006293066
+ 923.2857198024
+ 924.7734839335
+ 926.5515527846
+ 927.8508589858
+ 928.6636593289
+ 929.8740928506
+ 931.0092113366
+ 931.8527407455
+ 934.3853068373
+ 934.9954248638
+ 936.2286493793
+ 937.532925712
+ 939.0243008992
+ 939.6609406145
+ 941.156999642
+ 942.0523416434
+ 944.1880358096
+ 945.333562503
+ 946.7658422047
+ 947.0791830963
+ 948.346646255
+ 950.1516126846
+ 951.0332487338
+ 952.7279886199
+ 954.1297192696
+ 954.8293089382
+ 956.6754793433
+ 957.5100525964
+ 958.4145933901
+ 959.4591688071
+ 961.6695724742
+ 963.1820866713
+ 963.5670401916
+ 965.0555796238
+ 966.1107548184
+ 967.3711537663
+ 968.6363019061
+ 970.1256105569
+ 971.0714914864
+ 973.1853612943
+ 973.8730789927
+ 974.7746350658
+ 976.1785024206
+ 976.9172021171
+ 978.7666715351
+ 980.5780006398
+ 981.2886153018
+ 982.3964851688
+ 983.5750760064
+ 985.1869286558
+ 986.1305151102
+ 986.7560084077
+ 988.9926223707
+ 990.223917804
+ 991.37429414776
+ 992.72869633673
+ 993.21458095744
+ 994.40459057109
+ 996.2053361643
+ 997.51193475194
+ 998.82754713693
+ 999.79157155741
+ 1001.3494826378
+ 1002.4043054884
+ 1003.2678081795
+ 1004.6750441212
+ 1005.5434203044
+ 1008.0067043071
+ 1008.7957099007
+ 1009.806590747
+ 1010.5697570111
+ 1012.4100425158
+ 1013.0586380984
+ 1014.6896326224
+ 1016.0601789426
+ 1017.2664023644
+ 1018.6055725186
+ 1019.9124397439
+ 1020.9174750173
+ 1021.5443444999
+ 1022.8852709117
+ 1025.2657241977
+ 1025.7079443715
+ 1027.4676935156
+ 1028.1289642555
+ 1029.227297444
+ 1030.8973687906
+ 1031.8331802974
+ 1032.8128830352
+ 1034.6129155295
+ 1036.1959173581
+ 1037.0247076463
+ 1038.0877522406
+ 1039.0774014369
+ 1040.2640379377
+ 1041.6215280145
+ 1043.6239543496
+ 1044.5149758291
+ 1045.107042353
+ 1047.0898174843
+ 1047.9871474896
+ 1048.9537851947
+ 1049.9962842566
+ 1051.5765718432
+ 1053.2457851584
+ 1054.7810394783
+ 1055.0021464757
+ 1056.6888473638
+ 1057.1000436596
+ 1059.1337691069
+ 1060.1395185616
+ 1061.5013044651
+ 1062.9153815079
+ 1064.0715510717
+ 1065.1218551063
+ 1066.4632234692
+ 1067.418860121
+ 1067.990000079
+ 1070.5350419968
+ 1071.6186232151
+ 1072.5439980111
+ 1073.5703531651
+ 1074.7477710443
+ 1076.2666255942
+ 1076.9240560658
+ 1078.647198481
+ 1079.8099654293
+ 1081.1710023435
+ 1082.9527497231
+ 1083.2954665141
+ 1084.1832643104
+ 1085.6478312086
+ 1086.9119989898
+ 1088.7557246748
+ 1089.7953379241
+ 1090.8631910262
+ 1091.7284729669
+ 1093.4408732724
+ 1094.2844575238
+ 1095.4330847587
+ 1096.4019177947
+ 1098.8410154666
+ 1099.3606671786
+ 1100.5744606225
+ 1101.8391111688
+ 1102.5517798999
+ 1103.7322971745
+ 1105.6171888308
+ 1106.7743716758
+ 1107.774531955
+ 1109.1589188568
+ 1110.4441429936
+ 1111.4435047649
+ 1112.4329954081
+ 1113.3975951148
+ 1115.0653594616
+ 1116.7872538812
+ 1117.9659196692
+ 1118.684134861
+ 1119.4732474262
+ 1121.1559376758
+ 1122.4586213569
+ 1123.1011173878
+ 1125.3147293978
+ 1125.7634424293
+ 1127.6580235272
+ 1128.4302246139
+ 1129.7289967771
+ 1130.3915978962
+ 1131.4950855619
+ 1133.7086256695
+ 1134.8856545915
+ 1135.5622139755
+ 1136.929293481
+ 1138.1515897798
+ 1138.9923418205
+ 1140.7218481719
+ 1141.2610229641
+ 1142.8586596079
+ 1144.7822995186
+ 1145.4853275171
+ 1146.5768149249
+ 1147.5017765233
+ 1148.6152772088
+ 1149.9826010281
+ 1151.5628147237
+ 1152.9431285306
+ 1153.8903037163
+ 1154.6975195354
+ 1156.6215678339
+ 1157.4323145756
+ 1158.0016090273
+ 1159.480657019
+ 1161.3966446344
+ 1162.487528602
+ 1163.7010316828
+ 1164.7375863512
+ 1165.2712277065
+ 1166.9436134095
+ 1168.0862716101
+ 1169.6983568849
+ 1170.4636385783
+ 1172.1206818657
+ 1173.305687764
+ 1174.2327668565
+ 1175.215452396
+ 1176.6328758098
+ 1177.1063044217
+ 1179.7012235019
+ 1180.6535437871
+ 1181.2673181517
+ 1182.5822703469
+ 1183.712775296
+ 1185.1558428475
+ 1185.8753586954
+ 1187.3451614933
+ 1188.8564442982
+ 1189.9636364979
+ 1191.4826059264
+ 1192.2186114781
+ 1193.3240214275
+ 1193.8574271354
+ 1196.0346717487
+ 1197.0717866588
+ 1198.6865691046
+ 1199.3565137079
+ 1200.5326920312
+ 1201.8103348566
+ 1203.1373508614
+ 1203.8552475941
+ 1204.9854921715
+ 1206.8704997939
+ 1208.4714599495
+ 1208.9894841679
+ 1209.8980300875
+ 1211.4161158928
+ 1212.1131530663
+ 1213.5983726804
+ 1215.389975065
+ 1216.1837220335
+ 1217.1744824977
+ 1219.0500281774
+ 1219.6144713109
+ 1220.816347691
+ 1221.6922424831
+ 1222.9524840951
+ 1225.0183300242
+ 1225.8550207608
+ 1227.2318276415
+ 1227.9171416144
+ 1228.793154363
+ 1230.5846031542
+ 1231.5622738776
+ 1232.5295870406
+ 1234.2778166534
+ 1235.5025485265
+ 1236.3990174658
+ 1237.9772985136
+ 1238.4572327957
+ 1239.4908071468
+ 1240.8134717852
+ 1243.078076398
+ 1243.5381465261
+ 1244.851433967
+ 1245.6558661881
+ 1247.3725619699
+ 1248.0630610532
+ 1249.159887953
+ 1250.6723972757
+ 1251.6598320043
+ 1253.6735778521
+ 1254.4313284218
+ 1255.4082306453
+ 1256.1812141985
+ 1257.5412194126
+ 1258.7792334886
+ 1260.3445483162
+ 1261.6117171615
+ 1262.5566140004
+ 1263.6767328439
+ 1264.957223007
+ 1266.1790377606
+ 1267.2003456118
+ 1267.5705717794
+ 1270.1189218865
+ 1271.1342996316
+ 1272.0839595993
+ 1273.2611446335
+ 1274.1962208895
+ 1275.0920303158
+ 1276.8421715556
+ 1277.7630919863
+ 1279.3328433167
+ 1280.155794409
+ 1281.8287269597
+ 1283.0004913867
+ 1283.3350321389
+ 1284.8547951546
+ 1285.6950233311
+ 1287.4100266171
+ 1289.1653515328
+ 1290.1047715198
+ 1290.417708073
+ 1291.9458709681
+ 1293.4939815574
+ 1294.1184743778
+ 1295.3653635054
+ 1296.8011109923
+ 1298.2565270679
+ 1299.4051712507
+ 1300.4900189824
+ 1301.4955166806
+ 1302.3467423792
+ 1303.2732002288
+ 1305.401672188
+ 1306.508393313
+ 1307.2672421078
+ 1308.9881965176
+ 1309.4215324933
+ 1311.0565705111
+ 1311.966940608
+ 1313.031599369
+ 1314.0525656517
+ 1316.2121126029
+ 1317.0729860348
+ 1318.1712791322
+ 1318.9478805966
+ 1319.9310828775
+ 1321.6281385519
+ 1322.2580671234
+ 1324.2249787188
+ 1325.237624359
+ 1325.9819696304
+ 1327.6352811085
+ 1329.0435179965
+ 1329.2050187855
+ 1330.4299371205
+ 1331.8275913853
+ 1333.6735226103
+ 1334.7473290517
+ 1335.694974526
+ 1336.6901846534
+ 1337.6887918097
+ 1338.9231645987
+ 1340.4264004573
+ 1341.1662722529
+ 1342.6085078838
+ 1344.1560440036
+ 1345.4771062614
+ 1345.7314132554
+ 1347.5194717509
+ 1348.0172380187
+ 1349.085194014
+ 1351.2962063741
+ 1352.2104651592
+ 1353.4833383583
+ 1353.8867819717
+ 1355.6805953206
+ 1356.6056557098
+ 1357.7717428286
+ 1358.4601603992
+ 1360.3931447622
+ 1361.3930747136
+ 1363.0223286033
+ 1363.8791907971
+ 1364.5765848968
+ 1365.4937335513
+ 1367.10409097
+ 1368.330193308
+ 1369.6869490773
+ 1370.9735227678
+ 1371.6865535528
+ 1373.2029145624
+ 1374.1547986586
+ 1375.3023923447
+ 1376.1617799936
+ 1377.1776336421
+ 1379.6832830286
+ 1380.1485784417
+ 1381.0739771492
+ 1382.3456629785
+ 1383.2975910079
+ 1384.4444158478
+ 1385.6637770112
+ 1387.3266476635
+ 1387.9214541271
+ 1389.5658317984
+ 1390.7054902864
+ 1391.8532004433
+ 1392.6440277885
+ 1393.4334017408
+ 1394.8841846757
+ 1396.5441631237
+ 1397.8346233214
+ 1398.8376752014
+ 1399.8394729412
+ 1400.4269462974
+ 1402.5643472501
+ 1402.9737476409
+ 1404.0062921705
+ 1405.6669750592
+ 1407.0851427764
+ 1408.1363074962
+ 1409.3206810798
+ 1410.0248107258
+ 1411.2570568157
+ 1411.9656534618
+ 1413.8431487886
+ 1415.5857847955
+ 1415.7815813033
+ 1417.1028229338
+ 1418.6969638525
+ 1419.422480946
+
+### Analytic rank of elliptic curve 5077a1
+analytic rank equals 3
+
+### run example program
+-----------------------------------------------
+
+Name of L_function: zeta
+All coefficients are equal to 1
+
+Q = 0.564189583548
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0,0)
+
+
+number of poles (of the completed L function) = 2
+pole[1] =(1,0)    residue[1] =(1,0)
+pole[2] =(0,0)    residue[2] =(-1,0)
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L4
+number of dirichlet coefficients = 4
+coefficients are periodic
+b[1] = 1
+b[2] = 0
+b[3] = -1
+b[4] = 0
+
+Q = 1.1283791671
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L5
+number of dirichlet coefficients = 5
+coefficients are periodic
+b[1] = (1,0)
+b[2] = (0,1)
+b[3] = (-0,-1)
+b[4] = (-1,0)
+b[5] = (0,0)
+
+Q = 1.26156626101
+OMEGA = (0.850650808352,0.525731112119)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+zeta(0.5,0) = (-1.46035450881,0)
+L4(0.5,0) = (0.6676914571896,0)
+L5(0.5,0) = (0.7637478801173,0.2169647675189)
+L4(1,0) = (0.7853981633975,0)
+L5(1,0) = (0.8648062659772,0.2041530661384)
+0.4285714285714
+1.5
+0.1666666666667
+0.6666666666667
+0.5714285714286
+0
+0.5714285714286
+0.5714285714286
+0
+0.8888888888889
+6.123233995737e-17
+-0.7071067811865
+
+### test data files: zeros of data_mass
+ 2.89772467827
+ 5.59124531532
+ 21.09037750873
+ 23.15751048459
+ 25.43930038984
+ 29.18920671354
+ 31.06173948455
+ 32.45271823746
+ 34.02727968404
+ 36.93123719687
+ 38.98709821794
+ 40.46554901427
+ 41.68511034313
+ 43.05108147996
+ 45.22036201604
+ 47.66072427933
+ 48.81796648431
+ 49.79846517638
+ 51.37514501231
+ 52.55988761653
+
+### test data files: zeros of data_tau
+ 9.222379399921
+ 13.90754986139
+ 17.44277697823
+ 19.65651314195
+ 22.33610363721
+ 25.27463654811
+ 26.80439115835
+ 28.83168262419
+ 31.17820949836
+ 32.77487538223
+ 35.19699584121
+ 36.74146297671
+ 37.75391597562
+ 40.21903437422
+ 41.73049228931
+ 43.59174123558
+ 45.04007921378
+ 46.19731875314
+ 48.35905247802
+ 49.27605353656
+ 51.15656028144
+ 53.06671423543
+ 54.09995263156
+ 55.21778745348
+ 56.71529404473
+ 58.58016100791
+ 59.78593800332
+ 61.13672295793
+ 62.66499232631
+ 64.08664571893
+ 64.84864127983
+ 66.49476926719
+ 67.93860977475
+ 69.04339787489
+ 71.11465341425
+ 71.74750419617
+ 72.81406066759
+ 74.09582544002
+ 75.77216168976
+ 77.10183189349
+ 77.68461125026
+ 79.79293909124
+ 80.5601920681
+ 82.00757620452
+ 82.84252583957
+ 83.97564035576
+ 85.46221814858
+ 86.75597218826
+ 88.07513099426
+ 89.02289034074
+ 90.45103289616
+ 91.11271853147
+ 92.44292549472
+ 93.76912394744
+ 95.13807853977
+ 95.62492107705
+ 97.34104088985
+ 98.709804088181
+ 99.746648900304
+ 100.22461499968
+ 101.34359353371
+ 103.16663591564
+ 103.81733899745
+ 105.22181333799
+ 106.2938221342
+ 107.42670755393
+ 108.47543790164
+ 109.39169607603
+ 110.709662684
+ 111.53473540164
+ 112.75715359897
+ 113.84343404772
+ 115.06276556053
+ 116.4634839837
+ 117.11654084727
+ 118.14687073685
+ 119.08216779665
+ 119.99454209524
+ 121.78633067852
+ 122.55731782503
+ 123.21241716312
+ 124.60624049117
+ 125.9428934493
+ 126.75939204587
+ 127.55580316015
+ 128.62383894451
+ 129.60342208413
+ 130.9485924074
+ 131.70819904812
+ 132.96854278614
+ 134.34729668877
+ 135.07869588874
+ 135.55289998753
+ 137.090334711
+ 137.70022292032
+ 139.28400855168
+ 139.93658439006
+ 140.89653322681
+ 142.14115198902
+ 143.08355526348
+ 144.3547263694
+ 145.16531200641
+ 146.1487705718
+ 146.40978836463
+ 148.11775412261
+ 149.04126788157
+ 150.27507429698
+ 150.90642375398
+ 152.13443437848
+ 153.11514719403
+ 154.05182909662
+ 154.79531222958
+ 155.73207939114
+ 157.09578319229
+ 157.91275288651
+ 158.66081392258
+ 159.66861391034
+ 161.30637028119
+ 161.85035860513
+ 162.87145492254
+ 163.5474941088
+ 164.3389052284
+ 165.6101228958
+ 166.5807970057
+ 167.6436347091
+ 168.6591247847
+ 169.2457741065
+ 170.5979320488
+ 171.4664999977
+ 172.2169267498
+ 173.5242528689
+ 173.9134135057
+ 174.8765292772
+ 176.1665777917
+ 177.2078297826
+ 177.6927239362
+ 179.2467652208
+ 180.0763485343
+ 180.763679308
+ 181.7354944856
+ 182.2024919488
+ 183.5234365784
+ 184.7663025824
+ 185.4918147412
+ 186.2444170036
+ 187.0757402666
+ 188.5368725277
+ 189.2689736566
+ 190.183009487
+ 190.9583656893
+ 191.6328149027
+ 192.7925002062
+ 193.5481111769
+ 194.837180509
+ 195.4071279189
+ 196.8654811
+ 197.4600122758
+ 198.1569402301
+ 199.3112321519
+ 200.1461412029
+ 200.7860427714
+ 201.843714962
+ 203.1511121528
+ 203.536310991
+ 204.5123933434
+ 205.6235312757
+ 206.4551567297
+ 207.846761068
+ 208.3443022524
+ 208.8862430002
+ 209.7545253738
+ 210.7039058347
+ 211.9648793319
+ 212.9829738766
+ 213.4280929692
+ 214.4386923504
+ 215.5826154495
+ 216.423719513
+ 217.1374984504
+ 217.8974922792
+ 219.0577593492
+ 219.6196634032
+ 220.8424853007
+ 221.2983798027
+ 222.4923346026
+ 223.3196639866
+ 224.4885153001
+ 225.2978104732
+ 226.1301840738
+ 226.6142171531
+ 227.6019259102
+ 228.5023298788
+ 229.309991752
+ 230.57189985
+ 231.3567694302
+ 232.0759318125
+ 232.6653058039
+ 234.1010064029
+ 234.8267446127
+ 235.74710144
+ 236.3093063595
+ 237.3473335472
+ 237.6450888275
+ 239.289059163
+ 239.8992460699
+ 240.4924083209
+ 241.8682289971
+ 242.570187861
+ 243.7263550403
+ 243.9341977649
+ 245.0890157105
+ 245.5943279944
+ 246.6926898485
+ 247.8638440831
+ 248.4749527797
+ 249.1617534962
+ 250.0852489562
+ 251.0710985655
+ 252.2017418298
+ 252.763898597
+ 253.6220781406
+ 254.636456582
+ 255.0804799369
+ 255.6503879912
+ 257.1157213659
+ 257.8064380484
+ 258.8193362763
+ 259.5597420518
+ 260.3196678497
+ 261.3765190186
+ 261.9559808789
+ 263.2167448602
+ 263.4609411671
+ 264.333389913
+ 265.5303740019
+ 266.1943306679
+ 267.0749849987
+ 267.9143130553
+ 268.5129542542
+ 269.8286792243
+ 270.8988961225
+ 271.4162122773
+ 271.7926935992
+ 272.7023215418
+ 273.6244064675
+ 274.5969844018
+ 275.4098195361
+ 276.5361690897
+ 276.9253544225
+ 277.8396903879
+ 278.9549020578
+ 279.5595175681
+ 280.4631782672
+ 281.329358549
+ 281.989594894
+ 282.7955544863
+ 283.5803955395
+ 284.3899259683
+ 285.3270241537
+ 286.391637452
+ 286.856599307
+ 288.053289884
+ 288.8006650626
+ 289.542732101
+ 290.1350782102
+ 291.101338116
+ 291.5382880479
+ 292.7113897787
+ 293.9381254377
+ 294.3724290565
+ 295.0297012071
+ 295.6922564133
+ 297.2842177677
+ 297.5534155805
+ 298.6305678823
+ 299.4765749055
+ 299.8355700865
+ 300.6053092776
+ 301.5784501395
+ 302.6077895528
+ 303.338282435
+ 303.9688372747
+ 305.1095949091
+ 306.0720603098
+ 306.4583488649
+ 307.3518759722
+ 308.2187292243
+ 308.7765237235
+ 309.843954242
+ 310.5622090525
+ 311.2325407073
+ 312.4969547628
+ 312.7215429826
+ 313.7660202434
+ 314.6279086185
+ 315.6181024136
+ 316.4577129805
+ 317.0960150769
+ 317.7914075384
+ 318.3616944674
+ 319.0690896988
+ 320.2426837231
+ 321.2416146557
+ 321.8138419056
+ 322.6315783665
+ 323.4360729966
+ 324.0061027022
+ 325.5738331178
+ 325.7479417843
+ 326.3286660475
+ 327.3678299142
+ 328.1230302867
+ 329.0257388381
+ 329.658141759
+ 330.4848328263
+ 331.3228769708
+ 332.0708905071
+ 333.2490196451
+ 334.0835689792
+ 334.3972950425
+ 335.3045870282
+ 335.8778298615
+ 336.9065217434
+ 337.3867493912
+ 338.5895326087
+ 339.36876123
+ 340.067355744
+ 340.7148879606
+ 341.6493355687
+ 342.3800601324
+ 343.3260341321
+ 344.1094216926
+ 344.898361981
+ 345.5424536678
+ 345.9837371779
+ 346.8525389262
+ 348.0322080089
+ 348.6820197512
+ 349.553089947
+ 350.0319040263
+ 351.28960164
+ 351.9730519484
+ 352.7440783264
+ 353.1107490671
+ 354.0570557411
+ 354.9855222604
+ 355.2922238613
+ 356.8338668125
+ 357.4425566582
+ 357.7031585097
+ 358.6071448756
+ 359.6318917814
+ 360.529956209
+ 361.4460080487
+ 361.835939688
+ 362.9109338715
+ 363.2059203685
+ 364.0228859107
+ 364.8890717283
+ 365.7941219473
+ 366.3946310163
+ 367.673032655
+ 368.1154302097
+ 368.7373188992
+ 369.7778301412
+ 370.4275144261
+ 371.2020690388
+ 372.0496199652
+ 372.6107172183
+ 373.3200722486
+ 374.3113862667
+ 374.9243466649
+ 375.8449583875
+ 376.5412950432
+ 377.1835802572
+ 378.1164551309
+ 379.2793078941
+ 379.6929732133
+ 380.5776722324
+ 381.1774071699
+ 381.3492984959
+ 382.5430013711
+ 383.5919971027
+ 384.2670525581
+ 385.0510712163
+ 385.7574243736
+ 386.3420931504
+ 387.3373820285
+ 388.178605882
+ 388.9973676622
+ 389.3990336151
+ 390.3466532774
+ 391.1159227001
+ 391.7784046796
+ 392.3140308101
+ 393.3171989127
+ 394.3868425001
+ 394.5399598806
+ 395.7471548949
+ 396.7547231083
+ 397.1807480369
+ 397.8266928791
+ 398.6963498691
+ 399.410855365
+ 400.1592344328
+ 400.4886536787
+ 401.9200307113
+ 402.4204792092
+ 403.4792667242
+ 403.8196349588
+ 404.3622957518
+ 405.5873310222
+ 406.4105028833
+ 407.1690726594
+ 407.936718736
+ 408.2753097467
+ 409.0928595592
+ 409.756711946
+ 410.5601675382
+ 411.7836485129
+ 412.1003585138
+ 412.9909693929
+ 413.6693598069
+ 414.8388470742
+ 415.2601024032
+ 415.9258006044
+ 416.8249176263
+ 417.3019624029
+ 418.1071018321
+ 419.0749538439
+ 419.6836233385
+ 420.5464642084
+ 421.0717682948
+ 421.7948585105
+ 422.9097886826
+ 423.4843519255
+ 424.1849816321
+ 425.4269555222
+ 425.7244703918
+ 426.3130294323
+ 426.9277273908
+ 427.9032509045
+ 428.3549687941
+ 429.5665602469
+ 430.2946165983
+ 430.9899218068
+ 431.7133442405
+ 432.1270106631
+ 433.302690053
+ 433.9677033632
+ 434.7562935884
+ 435.2921766875
+ 436.2409315236
+ 436.4745702407
+ 437.5201512612
+ 438.4315260285
+ 439.1392629552
+ 439.4946176433
+ 440.5637942063
+ 441.3004870257
+ 442.3624551689
+ 443.0119244634
+ 443.5001164934
+ 443.972496073
+ 444.870611287
+ 445.6034828587
+ 446.3573771416
+ 447.1729484623
+ 448.0916398015
+ 448.6875613652
+ 449.3107759589
+ 449.9538530656
+ 451.0168035029
+ 451.7600259829
+ 452.3466911118
+ 453.0511188508
+ 454.0821798329
+ 454.44853114
+ 454.9499653675
+ 455.7206618436
+ 456.8053468352
+ 457.737178687
+ 457.9627565758
+ 459.0701009815
+ 459.671372983
+ 460.5695936199
+ 461.1466034987
+ 462.057394796
+ 462.3806309246
+ 463.2589055236
+ 463.7405482997
+ 464.8907178657
+ 465.7444357651
+ 466.1431406005
+ 466.8457443575
+ 467.6995428623
+ 468.1858650096
+ 469.4242322641
+ 470.2470663986
+ 470.632742058
+ 471.2762765664
+ 472.0853674123
+ 472.5529897442
+ 473.2178548669
+ 474.5271591927
+ 474.7927674814
+ 475.6705828315
+ 476.5344223262
+ 477.2231058871
+ 478.0017010518
+ 478.5493401775
+ 479.2761504172
+ 480.1909877699
+ 480.8777358595
+ 481.2823090642
+ 482.2318739581
+ 482.8283347184
+ 483.8478239232
+ 484.0400298822
+ 485.4694583119
+ 485.5953266191
+ 486.4293767199
+ 487.5900376226
+ 488.211583768
+ 488.7669723707
+ 489.6497600134
+ 489.9058984976
+ 490.5665522955
+ 491.5669708503
+ 492.1540748274
+ 493.4235293344
+ 493.9557783289
+ 494.3044354588
+ 494.9581999027
+ 495.9770107757
+ 496.9369560649
+ 497.4254399269
+ 498.0590027016
+ 498.8883173132
+ 499.4256062698
+ 500.1922122541
+ 500.8130967713
+ 501.6671459939
+ 502.2461898094
+ 503.2198027716
+ 503.6924652613
+ 504.7108959469
+ 505.3921039021
+ 506.2059663774
+ 506.779902007
+ 507.122200488
+ 508.1498959856
+ 508.7030083139
+ 509.6589270955
+ 509.9262423147
+ 511.1672837687
+ 511.8440280087
+ 512.3725751341
+ 512.9023170055
+ 513.8118007869
+ 514.7026839653
+ 515.2818401225
+ 516.288582045
+ 516.8168143226
+ 517.4399630057
+ 517.6980824848
+ 518.5157058242
+ 519.6593828202
+ 520.2050178374
+ 521.1153821745
+ 521.556609138
+ 522.3987628217
+ 523.2884492583
+ 523.7426510586
+ 524.6670082532
+ 525.3169714212
+ 525.8430761523
+ 526.3966398408
+ 527.3364604715
+ 528.1087348605
+ 528.8023083549
+ 529.4906043154
+ 530.0652382711
+ 530.688238201
+ 531.6407074272
+ 532.6285805167
+ 532.9806498884
+ 534.0334296322
+ 534.4092441631
+ 534.9792072748
+ 535.9634526077
+ 536.2247715823
+ 536.993367906
+ 538.0713781815
+ 538.7983796168
+ 539.3652424452
+ 540.1792739855
+ 540.8757169457
+ 541.2147076142
+ 542.3276545663
+ 543.0916763147
+ 543.6891780917
+ 544.1813507955
+ 545.0293563831
+ 545.7728940077
+ 546.0353104691
+ 547.1758033702
+ 547.8290543163
+ 548.695012734
+ 549.0170325921
+ 549.7836611539
+ 551.0217342631
+ 551.7080761102
+ 552.0283049181
+ 552.5480712559
+ 553.2979027587
+ 554.169452465
+ 554.5005752598
+ 555.6667852599
+ 556.3780490535
+ 557.0468370642
+ 557.4580781764
+ 558.4520689557
+ 558.7954256711
+ 560.0492291097
+ 560.4674899656
+ 561.202446462
+ 562.0387210723
+ 562.4486290956
+ 563.2225688205
+ 563.8354849359
+ 564.37761433
+ 565.3131129716
+ 566.0714711421
+ 566.7437544135
+ 567.5904646345
+ 568.1695453876
+ 568.8345731712
+ 569.7544549057
+ 570.1254948436
+ 570.9138176242
+ 571.756687239
+ 572.1479785473
+ 572.6724247839
+ 573.7931388244
+ 574.657757711
+ 575.0897369417
+ 575.6618469341
+ 576.2441114677
+ 577.2600813089
+ 577.976004581
+ 578.7528172084
+ 579.5615552965
+ 580.0131664726
+ 580.5370290842
+ 581.2054055556
+ 581.5964993952
+ 583.0180045495
+ 583.3127136797
+ 584.0842967758
+ 584.9173723789
+ 585.6489028533
+ 585.9766036081
+ 587.1646847002
+ 587.6518722029
+ 588.2803287035
+ 588.8046774763
+ 589.8422420162
+ 590.2650595054
+ 591.0246435458
+ 591.6709281049
+ 592.3144660519
+ 593.0635253283
+ 593.8611857051
+ 594.5042402355
+ 595.0425842537
+ 596.3164027673
+ 596.4832760844
+ 597.4668841687
+ 598.0686701066
+ 598.5163375553
+ 599.088985808
+ 599.8724924494
+ 600.590372786
+ 601.3911329161
+ 602.2984252947
+ 602.9818380952
+ 603.4126135135
+ 603.833028865
+ 604.808460113
+ 605.7677254319
+ 606.3669696952
+ 607.1057762699
+ 607.4116309095
+ 608.1614285363
+ 609.053964657
+ 609.3949560148
+ 610.2284496929
+ 611.152994214
+ 611.6669694346
+ 612.2618139833
+ 613.0526664738
+ 614.2345951373
+ 614.502885248
+ 615.120794419
+ 615.7444748144
+ 616.5707917567
+ 617.0151078002
+ 617.7934565735
+ 618.4313130811
+ 619.3839838155
+ 620.0510108515
+ 620.4792229126
+ 621.2266252288
+ 622.0122890334
+ 622.639192718
+ 623.3591842295
+ 624.2776924812
+ 624.7358509773
+ 625.783241064
+ 625.8878893225
+ 626.6289872637
+ 627.1707375404
+ 627.8654595271
+ 628.9545412652
+ 629.6936197945
+ 630.1928770806
+ 630.6830957996
+ 631.6694288012
+ 632.3290416465
+ 632.8917506833
+ 633.6643616214
+ 634.3820086937
+ 634.8660702935
+ 635.3984422438
+ 636.2834873426
+ 636.9518024761
+ 637.8091595766
+ 638.3721344383
+ 638.8595131416
+ 639.4860794577
+ 640.5345455773
+ 641.0289443115
+ 642.1184975814
+ 642.6251032735
+ 643.0540591474
+ 643.7767417037
+ 644.0976179975
+ 645.195944393
+ 645.6921996602
+ 646.3228306082
+ 647.2403173592
+ 647.9614051035
+ 648.7323963272
+ 649.0161354724
+ 649.940138733
+ 650.406070262
+ 651.5422398424
+ 651.9578549588
+ 652.4076481383
+ 653.5761694226
+ 653.918956636
+ 654.2662503541
+ 655.1399416162
+ 656.1436522637
+ 656.4636345019
+ 657.355870447
+ 658.09679873
+ 658.5258638413
+ 659.469853767
+ 660.300762664
+ 660.8466019912
+ 661.4397604223
+ 661.8026206421
+ 662.5387604177
+ 663.2456368532
+ 663.9619087758
+ 665.0177946402
+ 665.4343037606
+ 666.123965049
+ 666.7657722667
+ 667.0747650385
+ 668.2104288865
+ 669.1515803844
+ 669.4421337627
+ 670.0808998901
+ 670.9525873037
+ 671.5549805474
+ 671.9640453313
+ 672.5914341134
+ 673.3458495361
+ 674.2882714466
+ 674.7932432583
+ 675.3811482285
+ 676.3793128206
+ 676.8747866226
+ 677.8535749111
+ 678.03721085
+ 678.7869852975
+ 679.6347513692
+ 680.2060748237
+ 680.8853194008
+ 681.2775043262
+ 682.1813201039
+ 682.9616335889
+ 683.5862451423
+ 684.280354746
+ 684.7611190712
+ 685.5554040746
+ 686.0268621626
+ 687.2333679383
+ 687.8630588617
+ 688.2695164282
+ 688.9700274893
+ 689.4887967334
+ 690.0287719359
+ 690.6234223665
+ 691.5283764461
+ 692.4881150453
+ 692.9086190681
+ 693.5965975886
+ 694.3144158553
+ 694.7886862017
+ 695.706850225
+ 696.4535916702
+ 696.8464986531
+ 697.792865264
+ 698.0906314358
+ 698.8476393335
+ 699.4912465351
+ 700.5716146347
+ 700.9048650841
+ 701.0973114665
+ 702.4463033628
+ 702.8327132509
+ 703.6167875189
+ 704.2303074719
+ 705.2893867465
+ 705.6100290328
+ 706.4019215452
+ 706.8168622372
+ 707.5134864183
+ 708.14584178
+ 708.7245834922
+ 709.4584356982
+ 710.2537137971
+ 711.1578646007
+ 711.7343823259
+ 712.0915771661
+ 712.6720043985
+ 713.7013789674
+ 714.1899433337
+ 715.0295363716
+ 715.8007336791
+ 716.2375626737
+ 716.9412604664
+ 717.2260850134
+ 718.1099004028
+ 718.6855143901
+ 719.6953824621
+ 720.3065676052
+ 720.6426884544
+ 721.4343053846
+ 722.3911416324
+ 722.9581490313
+ 723.8102637476
+ 724.0895792528
+ 724.9024584572
+ 725.1346147542
+ 726.2591473856
+ 726.6876042148
+ 727.3421515487
+ 728.2868630863
+ 728.8570402933
+ 729.4899639716
+ 730.0000943004
+ 730.5143943855
+ 731.6790844739
+ 732.3188243846
+ 732.6408854887
+ 733.5993896596
+ 734.1926807074
+ 734.856425002
+ 735.1901397363
+ 735.8741571034
+ 736.4295680899
+ 737.4705269107
+ 738.0388155975
+ 738.7350991619
+ 739.6950091845
+ 739.8438580846
+ 740.6032526517
+ 741.3750965284
+ 742.1010509211
+ 742.8563498819
+ 743.2580960816
+ 743.7871278817
+ 744.5214145137
+ 745.4082167245
+ 745.7006663497
+ 746.8493598724
+ 747.1118097607
+ 747.9556170627
+ 748.3071752408
+ 749.2477834966
+ 749.9539208565
+ 750.8621488749
+ 751.4165224271
+ 751.9854397139
+ 752.2691457493
+ 753.0158221848
+ 753.6067329909
+ 754.4477840392
+ 755.0695423481
+ 756.013465277
+ 756.3641990433
+ 757.0554832637
+ 757.8455316437
+ 758.5776717492
+ 758.8189289195
+ 759.8444806885
+ 760.5868520791
+ 760.9449038594
+ 761.7033478585
+ 762.4679225516
+ 762.9521388316
+ 763.4121816223
+ 764.2191940587
+ 764.8584398118
+ 765.7030582987
+ 766.3246054396
+ 766.8945393521
+ 767.4804863344
+ 768.549898282
+ 769.0724248217
+ 769.5598768844
+ 770.0075906714
+ 771.0511304086
+ 771.3618087961
+ 771.8554828074
+ 772.5415406394
+ 773.8316592955
+ 774.2342778298
+ 774.7121075155
+ 775.3977269092
+ 775.7841964027
+ 776.676090059
+ 777.5797066335
+ 778.2137968534
+ 778.7982728617
+ 779.3479665709
+ 779.9564449568
+ 780.5976969005
+ 781.054592128
+ 781.7892488953
+ 782.654818633
+ 783.0854269616
+ 783.9954790778
+ 784.6200582001
+ 785.0110937334
+ 786.2620308904
+ 786.4061120117
+ 787.3698462696
+ 787.5202801538
+ 788.5147336006
+ 789.0171619529
+ 789.7149272017
+ 790.4017218435
+ 790.83461823
+ 791.8454601846
+ 792.3229475541
+ 792.8555690461
+ 793.6824817862
+ 794.2494604355
+ 794.8643478829
+ 795.7108659659
+ 796.3599628579
+ 797.2415727207
+ 797.5367495806
+ 798.2405842527
+ 798.4808445315
+ 799.1140258006
+ 800.1561392321
+ 800.8559394303
+ 801.3394717495
+ 802.303512687
+ 802.7583089762
+ 803.3028993871
+ 803.8165934026
+ 804.8119519437
+ 805.583201496
+ 805.8640060142
+ 806.6989178963
+ 807.0969015865
+ 807.842135501
+ 808.5551619242
+ 809.0614773183
+ 809.9220540855
+ 810.4394871581
+ 810.954253284
diff --git a/srcpkgs/lcalc/files/test.out b/srcpkgs/lcalc/files/test.out
new file mode 100644
index 000000000000..edae9c7f9381
--- /dev/null
+++ b/srcpkgs/lcalc/files/test.out
@@ -0,0 +1,2102 @@
+### First 1000 zeros of zeta function
+ 14.13472514173
+ 21.02203963877
+ 25.01085758015
+ 30.42487612586
+ 32.93506158774
+ 37.58617815883
+ 40.91871901215
+ 43.32707328091
+ 48.00515088117
+ 49.77383247767
+ 52.97032147771
+ 56.44624769706
+ 59.3470440026
+ 60.83177852461
+ 65.11254404808
+ 67.07981052949
+ 69.54640171117
+ 72.06715767448
+ 75.70469069908
+ 77.14484006887
+ 79.33737502025
+ 82.91038085409
+ 84.73549298052
+ 87.42527461313
+ 88.80911120763
+ 92.49189927056
+ 94.65134404052
+ 95.87063422825
+ 98.831194218194
+ 101.31785100573
+ 103.72553804048
+ 105.44662305233
+ 107.16861118428
+ 111.02953554317
+ 111.87465917699
+ 114.32022091545
+ 116.22668032086
+ 118.79078286598
+ 121.37012500242
+ 122.94682929355
+ 124.25681855435
+ 127.5166838796
+ 129.57870419996
+ 131.08768853093
+ 133.497737203
+ 134.75650975337
+ 138.11604205453
+ 139.73620895212
+ 141.12370740402
+ 143.11184580762
+ 146.00098248677
+ 147.42276534256
+ 150.05352042078
+ 150.92525761224
+ 153.0246938112
+ 156.11290929424
+ 157.59759181759
+ 158.84998817142
+ 161.1889641376
+ 163.03070968718
+ 165.5370691879
+ 167.1844399782
+ 169.0945154156
+ 169.9119764794
+ 173.4115365196
+ 174.7541915234
+ 176.4414342977
+ 178.3774077761
+ 179.9164840203
+ 182.2070784844
+ 184.8744678484
+ 185.5987836777
+ 187.2289225835
+ 189.416158656
+ 192.0266563607
+ 193.0797266038
+ 195.2653966795
+ 196.876481841
+ 198.0153096763
+ 201.2647519437
+ 202.4935945141
+ 204.1896718031
+ 205.3946972022
+ 207.9062588878
+ 209.5765097169
+ 211.6908625954
+ 213.3479193597
+ 214.5470447835
+ 216.1695385083
+ 219.067596349
+ 220.7149188393
+ 221.4307055547
+ 224.0070002546
+ 224.9833246696
+ 227.4214442797
+ 229.3374133055
+ 231.2501887005
+ 231.9872352532
+ 233.6934041789
+ 236.5242296658
+ 237.7698204809
+ 239.5554775733
+ 241.0491577962
+ 242.8232719342
+ 244.0708984971
+ 247.1369900749
+ 248.1019900601
+ 249.5736896447
+ 251.014947795
+ 253.069986748
+ 255.3062564549
+ 256.3807136944
+ 258.6104394915
+ 259.8744069897
+ 260.8050845046
+ 263.5738939049
+ 265.5578518389
+ 266.6149737815
+ 267.9219150828
+ 269.970449024
+ 271.4940556416
+ 273.4596091884
+ 275.5874926493
+ 276.4520495031
+ 278.2507435298
+ 279.2292509277
+ 282.4651147651
+ 283.2111857332
+ 284.8359639809
+ 286.667445363
+ 287.9119205014
+ 289.5798549292
+ 291.8462913291
+ 293.5584341394
+ 294.9653696193
+ 295.573254879
+ 297.9792770619
+ 299.8403260537
+ 301.6493254622
+ 302.6967495896
+ 304.8643713409
+ 305.728912602
+ 307.2194961282
+ 310.1094631467
+ 311.1651415304
+ 312.4278011806
+ 313.9852857312
+ 315.4756160895
+ 317.7348059424
+ 318.8531042563
+ 321.1601343091
+ 322.1445586725
+ 323.4669695575
+ 324.8628660517
+ 327.4439012619
+ 329.0330716805
+ 329.9532397282
+ 331.4744675827
+ 333.6453785249
+ 334.2113548332
+ 336.8418504284
+ 338.3399928508
+ 339.8582167254
+ 341.042261111
+ 342.0548775104
+ 344.6617029403
+ 346.347870566
+ 347.2726775844
+ 349.3162608707
+ 350.4084193492
+ 351.8786490254
+ 353.4889004887
+ 356.0175749773
+ 357.151302252
+ 357.9526851016
+ 359.7437549531
+ 361.2893616958
+ 363.331330579
+ 364.7360241141
+ 366.2127102883
+ 367.9935754817
+ 368.9684380957
+ 370.0509192121
+ 373.0619283721
+ 373.8648739109
+ 375.8259127667
+ 376.3240922307
+ 378.43668025
+ 379.8729753465
+ 381.4844686172
+ 383.4435294495
+ 384.9561168149
+ 385.861300846
+ 387.2228902224
+ 388.8461283542
+ 391.4560835636
+ 392.2450833395
+ 393.4277438444
+ 395.582870011
+ 396.3818542226
+ 397.9187362096
+ 399.9851198762
+ 401.8392286005
+ 402.8619177639
+ 404.2364418002
+ 405.1343874599
+ 407.5814603869
+ 408.9472455024
+ 410.5138691934
+ 411.9722678043
+ 413.2627360702
+ 415.0188097552
+ 415.4552149963
+ 418.3877057895
+ 419.8613648182
+ 420.643827625
+ 422.0767100588
+ 423.7165796275
+ 425.0698824945
+ 427.2088250841
+ 428.1279140766
+ 430.3287454309
+ 431.3013069307
+ 432.1386417346
+ 433.8892184809
+ 436.1610064326
+ 437.5816981677
+ 438.6217386563
+ 439.9184422144
+ 441.6831992012
+ 442.9045463026
+ 444.3193362776
+ 446.8606226964
+ 447.4417041945
+ 449.148545685
+ 450.1269457803
+ 451.4033084454
+ 453.9867378067
+ 454.9746837686
+ 456.3284266892
+ 457.9038930641
+ 459.5134152811
+ 460.0879444222
+ 462.0653672749
+ 464.0572869105
+ 465.6715392114
+ 466.5702869308
+ 467.4390462103
+ 469.5360045591
+ 470.7736554781
+ 472.7991746619
+ 473.8352323451
+ 475.6003393694
+ 476.7690152375
+ 478.0752637667
+ 478.9421815346
+ 481.8303393763
+ 482.834782791
+ 483.8514272125
+ 485.5391481294
+ 486.5287182617
+ 488.38056709
+ 489.661761578
+ 491.3988215937
+ 493.3144415818
+ 493.9579978054
+ 495.3588288221
+ 496.4296962158
+ 498.5807824297
+ 500.3090849417
+ 501.6044469651
+ 502.2762703271
+ 504.4997733134
+ 505.4152317422
+ 506.4641527095
+ 508.8007003365
+ 510.2642279437
+ 511.5622897004
+ 512.6231445314
+ 513.6689855555
+ 515.4350571673
+ 517.5896685725
+ 518.2342231476
+ 520.1063104117
+ 521.5251934495
+ 522.4566961777
+ 523.960530892
+ 525.0773856873
+ 527.9036416013
+ 528.4062138523
+ 529.8062263187
+ 530.866917884
+ 532.6881830283
+ 533.7796307538
+ 535.6643140759
+ 537.0697590831
+ 538.4285261762
+ 540.2131663762
+ 540.6313902473
+ 541.8474371212
+ 544.323890101
+ 545.6368332489
+ 547.0109120581
+ 547.9316133645
+ 549.4975675627
+ 550.9700100395
+ 552.0495722006
+ 553.7649721192
+ 555.7920205617
+ 556.8994764069
+ 557.5646591721
+ 559.3162370287
+ 560.2408074973
+ 562.559207616
+ 564.1608791108
+ 564.5060559381
+ 566.6987876828
+ 567.7317579012
+ 568.9239551796
+ 570.0511147825
+ 572.4199841325
+ 573.6146105268
+ 575.0938860145
+ 575.8072471409
+ 577.0390034721
+ 579.098834672
+ 580.1369593624
+ 581.9465762659
+ 583.2360882192
+ 584.5617059035
+ 585.984563205
+ 586.7427718913
+ 588.1396632662
+ 590.6603975168
+ 591.725858065
+ 592.5713583002
+ 593.9747146822
+ 595.7281536974
+ 596.3627683284
+ 598.4930773462
+ 599.5456403644
+ 601.6021367359
+ 602.5791678864
+ 603.6256189036
+ 604.6162184938
+ 606.3834604221
+ 608.4132173112
+ 609.3895751547
+ 610.8391629377
+ 611.7742096209
+ 613.5997786756
+ 614.6462378722
+ 615.5385633694
+ 618.1128313664
+ 619.184482598
+ 620.2728936722
+ 621.7092945279
+ 622.3750027398
+ 624.2699000182
+ 626.0192834277
+ 627.2683968508
+ 628.3258623595
+ 630.4738874383
+ 630.8057809272
+ 632.2251411671
+ 633.5468582523
+ 635.5238003106
+ 637.3971931598
+ 637.9255139808
+ 638.9279382669
+ 640.6947946688
+ 641.9454996657
+ 643.2788837814
+ 644.9905782297
+ 646.3481915955
+ 647.7617530043
+ 648.7864008888
+ 650.1975193453
+ 650.6686838914
+ 653.6495716054
+ 654.3019205863
+ 655.7094630224
+ 656.9640845995
+ 658.1756144186
+ 659.663845973
+ 660.7167325953
+ 662.2965864311
+ 664.2446046523
+ 665.3427630956
+ 666.5151477042
+ 667.1484948946
+ 668.9758488202
+ 670.3235852059
+ 672.4581835842
+ 673.0435782861
+ 674.3558978101
+ 676.1396743636
+ 677.2301806688
+ 677.8004447462
+ 679.7421978825
+ 681.8949915332
+ 682.6027350198
+ 684.0135498139
+ 684.9726298621
+ 686.1632235877
+ 687.9615431847
+ 689.3689413623
+ 690.4747350324
+ 692.4516844155
+ 693.1769700606
+ 694.5339086999
+ 695.7263359209
+ 696.6260699003
+ 699.132095476
+ 700.2967391321
+ 701.3017429546
+ 702.2273431458
+ 704.0338392955
+ 705.1258139546
+ 706.1846547995
+ 708.2690708851
+ 709.2295885703
+ 711.1302741797
+ 711.9002899144
+ 712.7493834701
+ 714.0827718207
+ 716.1123964541
+ 717.4825697031
+ 718.7427865455
+ 719.6971009884
+ 721.3511622185
+ 722.2775049757
+ 723.8458210451
+ 724.5626138904
+ 727.05640323
+ 728.4054815889
+ 728.7587497956
+ 730.4164821228
+ 731.4173549186
+ 732.8180527145
+ 734.7896432524
+ 735.7654592086
+ 737.0529289123
+ 738.5804211714
+ 739.909523674
+ 740.5738074473
+ 741.7573355729
+ 743.8950131425
+ 745.3449895506
+ 746.4993058994
+ 747.6745636243
+ 748.2427544651
+ 750.6559503621
+ 750.9663810667
+ 752.8876215672
+ 754.3223704717
+ 755.839308976
+ 756.76824844
+ 758.1017292464
+ 758.9002382249
+ 760.2823669835
+ 762.7000332497
+ 763.5930661728
+ 764.3075227242
+ 766.0875400998
+ 767.2184721555
+ 768.2814618065
+ 769.6934072526
+ 771.0708393137
+ 772.9616175658
+ 774.1177446279
+ 775.0478470966
+ 775.9997119632
+ 777.2997485296
+ 779.1570769492
+ 780.3489250042
+ 782.1376643908
+ 782.5979439461
+ 784.2888226125
+ 785.7390897007
+ 786.4611474505
+ 787.4684638159
+ 790.0590923641
+ 790.8316204679
+ 792.4277076086
+ 792.8886525626
+ 794.4837918699
+ 795.6065961562
+ 797.263470038
+ 798.7075701663
+ 799.6543362109
+ 801.604246463
+ 802.5419848784
+ 803.2430962043
+ 804.7622391127
+ 805.8616356671
+ 808.151814936
+ 809.1977833633
+ 810.0818048864
+ 811.1843588465
+ 812.7711083891
+ 814.0459136075
+ 814.8705396259
+ 816.7277377144
+ 818.3806688664
+ 819.2046421708
+ 820.7218984439
+ 821.7134541334
+ 822.1977574934
+ 824.5262938716
+ 826.0392873766
+ 826.9058109541
+ 828.3401743005
+ 829.4370109683
+ 830.8958840533
+ 831.7997776591
+ 833.0036409092
+ 834.6519151478
+ 836.6935761876
+ 837.3473350595
+ 838.2490219927
+ 839.4653948103
+ 841.036389829
+ 842.0413542065
+ 844.1661966074
+ 844.8059939758
+ 846.1947699277
+ 847.9717176395
+ 848.4892811809
+ 849.8622743487
+ 850.645448466
+ 853.1631125834
+ 854.0955117199
+ 855.2867102444
+ 856.4841174908
+ 857.3107406026
+ 858.9040264665
+ 860.410670896
+ 861.1710982127
+ 863.1897197719
+ 864.3408239301
+ 865.5946643265
+ 866.423739904
+ 867.6931226118
+ 868.6704942291
+ 870.8469023258
+ 872.1887508216
+ 873.0989789713
+ 873.9083892353
+ 875.9852851088
+ 876.600825833
+ 877.654698341
+ 879.3809519698
+ 880.8346488479
+ 882.3866966272
+ 883.4303318387
+ 884.1987431146
+ 885.2723044796
+ 886.8528019629
+ 888.4755666738
+ 889.7352942941
+ 890.8131321125
+ 892.3864332602
+ 893.1191175673
+ 894.8862923209
+ 895.3979196748
+ 896.6322515562
+ 899.2215226684
+ 899.8588846079
+ 900.8497398605
+ 902.2432075868
+ 903.0996744426
+ 904.7029027223
+ 905.8299407582
+ 907.656729469
+ 908.3335436451
+ 910.1863340572
+ 911.234951486
+ 912.3310456
+ 912.8239992467
+ 914.7300969584
+ 916.3550008086
+ 917.8253775704
+ 918.8365352435
+ 919.4483444397
+ 921.1563955072
+ 922.5006293066
+ 923.2857198024
+ 924.7734839335
+ 926.5515527846
+ 927.8508589858
+ 928.6636593289
+ 929.8740928506
+ 931.0092113366
+ 931.8527407455
+ 934.3853068373
+ 934.9954248638
+ 936.2286493793
+ 937.532925712
+ 939.0243008992
+ 939.6609406145
+ 941.156999642
+ 942.0523416434
+ 944.1880358096
+ 945.333562503
+ 946.7658422047
+ 947.0791830963
+ 948.346646255
+ 950.1516126846
+ 951.0332487338
+ 952.7279886199
+ 954.1297192696
+ 954.8293089382
+ 956.6754793433
+ 957.5100525964
+ 958.4145933901
+ 959.4591688071
+ 961.6695724742
+ 963.1820866713
+ 963.5670401916
+ 965.0555796238
+ 966.1107548184
+ 967.3711537663
+ 968.6363019061
+ 970.1256105569
+ 971.0714914864
+ 973.1853612943
+ 973.8730789927
+ 974.7746350658
+ 976.1785024206
+ 976.9172021171
+ 978.7666715351
+ 980.5780006398
+ 981.2886153018
+ 982.3964851688
+ 983.5750760064
+ 985.1869286558
+ 986.1305151102
+ 986.7560084077
+ 988.9926223707
+ 990.223917804
+ 991.37429414776
+ 992.72869633673
+ 993.21458095744
+ 994.40459057109
+ 996.2053361643
+ 997.51193475194
+ 998.82754713693
+ 999.79157155741
+ 1001.3494826378
+ 1002.4043054884
+ 1003.2678081795
+ 1004.6750441212
+ 1005.5434203044
+ 1008.0067043071
+ 1008.7957099007
+ 1009.806590747
+ 1010.5697570111
+ 1012.4100425158
+ 1013.0586380984
+ 1014.6896326224
+ 1016.0601789426
+ 1017.2664023644
+ 1018.6055725186
+ 1019.9124397439
+ 1020.9174750173
+ 1021.5443444999
+ 1022.8852709117
+ 1025.2657241977
+ 1025.7079443715
+ 1027.4676935156
+ 1028.1289642555
+ 1029.227297444
+ 1030.8973687906
+ 1031.8331802974
+ 1032.8128830352
+ 1034.6129155295
+ 1036.1959173581
+ 1037.0247076463
+ 1038.0877522406
+ 1039.0774014369
+ 1040.2640379377
+ 1041.6215280145
+ 1043.6239543496
+ 1044.5149758291
+ 1045.107042353
+ 1047.0898174843
+ 1047.9871474896
+ 1048.9537851947
+ 1049.9962842566
+ 1051.5765718432
+ 1053.2457851584
+ 1054.7810394783
+ 1055.0021464757
+ 1056.6888473638
+ 1057.1000436596
+ 1059.1337691069
+ 1060.1395185616
+ 1061.5013044651
+ 1062.9153815079
+ 1064.0715510717
+ 1065.1218551063
+ 1066.4632234692
+ 1067.418860121
+ 1067.990000079
+ 1070.5350419968
+ 1071.6186232151
+ 1072.5439980111
+ 1073.5703531651
+ 1074.7477710443
+ 1076.2666255942
+ 1076.9240560658
+ 1078.647198481
+ 1079.8099654293
+ 1081.1710023435
+ 1082.9527497231
+ 1083.2954665141
+ 1084.1832643104
+ 1085.6478312086
+ 1086.9119989898
+ 1088.7557246748
+ 1089.7953379241
+ 1090.8631910262
+ 1091.7284729669
+ 1093.4408732724
+ 1094.2844575238
+ 1095.4330847587
+ 1096.4019177947
+ 1098.8410154666
+ 1099.3606671786
+ 1100.5744606225
+ 1101.8391111688
+ 1102.5517798999
+ 1103.7322971745
+ 1105.6171888308
+ 1106.7743716758
+ 1107.774531955
+ 1109.1589188568
+ 1110.4441429936
+ 1111.4435047649
+ 1112.4329954081
+ 1113.3975951148
+ 1115.0653594616
+ 1116.7872538812
+ 1117.9659196692
+ 1118.684134861
+ 1119.4732474262
+ 1121.1559376758
+ 1122.4586213569
+ 1123.1011173878
+ 1125.3147293978
+ 1125.7634424293
+ 1127.6580235272
+ 1128.4302246139
+ 1129.7289967771
+ 1130.3915978962
+ 1131.4950855619
+ 1133.7086256695
+ 1134.8856545915
+ 1135.5622139755
+ 1136.929293481
+ 1138.1515897798
+ 1138.9923418205
+ 1140.7218481719
+ 1141.2610229641
+ 1142.8586596079
+ 1144.7822995186
+ 1145.4853275171
+ 1146.5768149249
+ 1147.5017765233
+ 1148.6152772088
+ 1149.9826010281
+ 1151.5628147237
+ 1152.9431285306
+ 1153.8903037163
+ 1154.6975195354
+ 1156.6215678339
+ 1157.4323145756
+ 1158.0016090273
+ 1159.480657019
+ 1161.3966446344
+ 1162.487528602
+ 1163.7010316828
+ 1164.7375863512
+ 1165.2712277065
+ 1166.9436134095
+ 1168.0862716101
+ 1169.6983568849
+ 1170.4636385783
+ 1172.1206818657
+ 1173.305687764
+ 1174.2327668565
+ 1175.215452396
+ 1176.6328758098
+ 1177.1063044217
+ 1179.7012235019
+ 1180.6535437871
+ 1181.2673181517
+ 1182.5822703469
+ 1183.712775296
+ 1185.1558428475
+ 1185.8753586954
+ 1187.3451614933
+ 1188.8564442982
+ 1189.9636364979
+ 1191.4826059264
+ 1192.2186114781
+ 1193.3240214275
+ 1193.8574271354
+ 1196.0346717487
+ 1197.0717866588
+ 1198.6865691046
+ 1199.3565137079
+ 1200.5326920312
+ 1201.8103348566
+ 1203.1373508614
+ 1203.8552475941
+ 1204.9854921715
+ 1206.8704997939
+ 1208.4714599495
+ 1208.9894841679
+ 1209.8980300875
+ 1211.4161158928
+ 1212.1131530663
+ 1213.5983726804
+ 1215.389975065
+ 1216.1837220335
+ 1217.1744824977
+ 1219.0500281774
+ 1219.6144713109
+ 1220.816347691
+ 1221.6922424831
+ 1222.9524840951
+ 1225.0183300242
+ 1225.8550207608
+ 1227.2318276415
+ 1227.9171416144
+ 1228.793154363
+ 1230.5846031542
+ 1231.5622738776
+ 1232.5295870406
+ 1234.2778166534
+ 1235.5025485265
+ 1236.3990174658
+ 1237.9772985136
+ 1238.4572327957
+ 1239.4908071468
+ 1240.8134717852
+ 1243.078076398
+ 1243.5381465261
+ 1244.851433967
+ 1245.6558661881
+ 1247.3725619699
+ 1248.0630610532
+ 1249.159887953
+ 1250.6723972757
+ 1251.6598320043
+ 1253.6735778521
+ 1254.4313284218
+ 1255.4082306453
+ 1256.1812141985
+ 1257.5412194126
+ 1258.7792334886
+ 1260.3445483162
+ 1261.6117171615
+ 1262.5566140004
+ 1263.6767328439
+ 1264.957223007
+ 1266.1790377606
+ 1267.2003456118
+ 1267.5705717794
+ 1270.1189218865
+ 1271.1342996316
+ 1272.0839595993
+ 1273.2611446335
+ 1274.1962208895
+ 1275.0920303158
+ 1276.8421715556
+ 1277.7630919863
+ 1279.3328433167
+ 1280.155794409
+ 1281.8287269597
+ 1283.0004913867
+ 1283.3350321389
+ 1284.8547951546
+ 1285.6950233311
+ 1287.4100266171
+ 1289.1653515328
+ 1290.1047715198
+ 1290.417708073
+ 1291.9458709681
+ 1293.4939815574
+ 1294.1184743778
+ 1295.3653635054
+ 1296.8011109923
+ 1298.2565270679
+ 1299.4051712507
+ 1300.4900189824
+ 1301.4955166806
+ 1302.3467423792
+ 1303.2732002288
+ 1305.401672188
+ 1306.508393313
+ 1307.2672421078
+ 1308.9881965176
+ 1309.4215324933
+ 1311.0565705111
+ 1311.966940608
+ 1313.031599369
+ 1314.0525656517
+ 1316.2121126029
+ 1317.0729860348
+ 1318.1712791322
+ 1318.9478805966
+ 1319.9310828775
+ 1321.6281385519
+ 1322.2580671234
+ 1324.2249787188
+ 1325.237624359
+ 1325.9819696304
+ 1327.6352811085
+ 1329.0435179965
+ 1329.2050187855
+ 1330.4299371205
+ 1331.8275913853
+ 1333.6735226103
+ 1334.7473290517
+ 1335.694974526
+ 1336.6901846534
+ 1337.6887918097
+ 1338.9231645987
+ 1340.4264004573
+ 1341.1662722529
+ 1342.6085078838
+ 1344.1560440036
+ 1345.4771062614
+ 1345.7314132554
+ 1347.5194717509
+ 1348.0172380187
+ 1349.085194014
+ 1351.2962063741
+ 1352.2104651592
+ 1353.4833383583
+ 1353.8867819717
+ 1355.6805953206
+ 1356.6056557098
+ 1357.7717428286
+ 1358.4601603992
+ 1360.3931447622
+ 1361.3930747136
+ 1363.0223286033
+ 1363.8791907971
+ 1364.5765848968
+ 1365.4937335513
+ 1367.10409097
+ 1368.330193308
+ 1369.6869490773
+ 1370.9735227678
+ 1371.6865535528
+ 1373.2029145624
+ 1374.1547986586
+ 1375.3023923447
+ 1376.1617799936
+ 1377.1776336421
+ 1379.6832830286
+ 1380.1485784417
+ 1381.0739771492
+ 1382.3456629785
+ 1383.2975910079
+ 1384.4444158478
+ 1385.6637770112
+ 1387.3266476635
+ 1387.9214541271
+ 1389.5658317984
+ 1390.7054902864
+ 1391.8532004433
+ 1392.6440277885
+ 1393.4334017408
+ 1394.8841846757
+ 1396.5441631237
+ 1397.8346233214
+ 1398.8376752014
+ 1399.8394729412
+ 1400.4269462974
+ 1402.5643472501
+ 1402.9737476409
+ 1404.0062921705
+ 1405.6669750592
+ 1407.0851427764
+ 1408.1363074962
+ 1409.3206810798
+ 1410.0248107258
+ 1411.2570568157
+ 1411.9656534618
+ 1413.8431487886
+ 1415.5857847955
+ 1415.7815813033
+ 1417.1028229338
+ 1418.6969638525
+ 1419.422480946
+
+### Analytic rank of elliptic curve 5077a1
+analytic rank equals 3
+
+### run example program
+-----------------------------------------------
+
+Name of L_function: zeta
+All coefficients are equal to 1
+
+Q = 0.564189583548
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0,0)
+
+
+number of poles (of the completed L function) = 2
+pole[1] =(1,0)    residue[1] =(1,0)
+pole[2] =(0,0)    residue[2] =(-1,0)
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L4
+number of dirichlet coefficients = 4
+coefficients are periodic
+b[1] = 1
+b[2] = 0
+b[3] = -1
+b[4] = 0
+
+Q = 1.1283791671
+OMEGA = (1,0)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+-----------------------------------------------
+
+Name of L_function: L5
+number of dirichlet coefficients = 5
+coefficients are periodic
+b[1] = (1,0)
+b[2] = (0,1)
+b[3] = (-0,-1)
+b[4] = (-1,0)
+b[5] = (0,0)
+
+Q = 1.26156626101
+OMEGA = (0.850650808352,0.525731112119)
+a = 1 (the quasi degree)
+gamma[1] =0.5    lambda[1] =(0.5,0)
+
+
+number of poles (of the completed L function) = 0
+-----------------------------------------------
+
+zeta(0.5,0) = (-1.46035450881,0)
+L4(0.5,0) = (0.6676914571896,0)
+L5(0.5,0) = (0.7637478801173,0.2169647675189)
+L4(1,0) = (0.7853981633975,0)
+L5(1,0) = (0.8648062659772,0.2041530661384)
+0.4285714285714
+1.5
+0.1666666666667
+0.6666666666667
+0.5714285714286
+0
+0.5714285714286
+0.5714285714286
+0
+0.8888888888889
+6.123233995737e-17
+-0.7071067811865
+
+### test data files: zeros of data_mass
+ 2.89772467827
+ 5.59124531532
+ 21.09037750873
+ 23.15751048459
+ 25.43930038984
+ 29.18920671354
+ 31.06173948455
+ 32.45271823746
+ 34.02727968404
+ 36.93123719687
+ 38.98709821794
+ 40.46554901427
+ 41.68511034313
+ 43.05108147996
+ 45.22036201604
+ 47.66072427933
+ 48.81796648431
+ 49.79846517638
+ 51.37514501231
+ 52.55988761653
+
+### test data files: zeros of data_tau
+ 9.222379399921
+ 13.90754986139
+ 17.44277697823
+ 19.65651314195
+ 22.33610363721
+ 25.27463654811
+ 26.80439115835
+ 28.83168262419
+ 31.17820949836
+ 32.77487538223
+ 35.19699584121
+ 36.74146297671
+ 37.75391597562
+ 40.21903437422
+ 41.73049228931
+ 43.59174123558
+ 45.04007921378
+ 46.19731875314
+ 48.35905247802
+ 49.27605353656
+ 51.15656028144
+ 53.06671423543
+ 54.09995263156
+ 55.21778745348
+ 56.71529404473
+ 58.58016100791
+ 59.78593800332
+ 61.13672295793
+ 62.66499232631
+ 64.08664571893
+ 64.84864127983
+ 66.49476926719
+ 67.93860977475
+ 69.04339787489
+ 71.11465341425
+ 71.74750419617
+ 72.81406066759
+ 74.09582544002
+ 75.77216168976
+ 77.10183189349
+ 77.68461125026
+ 79.79293909124
+ 80.5601920681
+ 82.00757620452
+ 82.84252583957
+ 83.97564035576
+ 85.46221814858
+ 86.75597218826
+ 88.07513099426
+ 89.02289034074
+ 90.45103289616
+ 91.11271853147
+ 92.44292549472
+ 93.76912394744
+ 95.13807853977
+ 95.62492107705
+ 97.34104088985
+ 98.709804088181
+ 99.746648900304
+ 100.22461499968
+ 101.34359353371
+ 103.16663591564
+ 103.81733899745
+ 105.22181333799
+ 106.2938221342
+ 107.42670755393
+ 108.47543790164
+ 109.39169607603
+ 110.709662684
+ 111.53473540164
+ 112.75715359897
+ 113.84343404772
+ 115.06276556053
+ 116.4634839837
+ 117.11654084727
+ 118.14687073685
+ 119.08216779665
+ 119.99454209524
+ 121.78633067852
+ 122.55731782503
+ 123.21241716312
+ 124.60624049117
+ 125.9428934493
+ 126.75939204587
+ 127.55580316015
+ 128.62383894451
+ 129.60342208413
+ 130.9485924074
+ 131.70819904812
+ 132.96854278614
+ 134.34729668877
+ 135.07869588874
+ 135.55289998753
+ 137.090334711
+ 137.70022292032
+ 139.28400855168
+ 139.93658439006
+ 140.89653322681
+ 142.14115198902
+ 143.08355526348
+ 144.3547263694
+ 145.16531200641
+ 146.1487705718
+ 146.40978836463
+ 148.11775412261
+ 149.04126788157
+ 150.27507429698
+ 150.90642375398
+ 152.13443437848
+ 153.11514719403
+ 154.05182909662
+ 154.79531222958
+ 155.73207939114
+ 157.09578319229
+ 157.91275288651
+ 158.66081392258
+ 159.66861391034
+ 161.30637028119
+ 161.85035860513
+ 162.87145492254
+ 163.5474941088
+ 164.3389052284
+ 165.6101228958
+ 166.5807970057
+ 167.6436347091
+ 168.6591247847
+ 169.2457741065
+ 170.5979320488
+ 171.4664999977
+ 172.2169267498
+ 173.5242528689
+ 173.9134135057
+ 174.8765292772
+ 176.1665777917
+ 177.2078297826
+ 177.6927239362
+ 179.2467652208
+ 180.0763485343
+ 180.763679308
+ 181.7354944856
+ 182.2024919488
+ 183.5234365784
+ 184.7663025824
+ 185.4918147412
+ 186.2444170036
+ 187.0757402666
+ 188.5368725277
+ 189.2689736566
+ 190.183009487
+ 190.9583656893
+ 191.6328149027
+ 192.7925002062
+ 193.5481111769
+ 194.837180509
+ 195.4071279189
+ 196.8654811
+ 197.4600122758
+ 198.1569402301
+ 199.3112321519
+ 200.1461412029
+ 200.7860427714
+ 201.843714962
+ 203.1511121528
+ 203.536310991
+ 204.5123933434
+ 205.6235312757
+ 206.4551567297
+ 207.846761068
+ 208.3443022524
+ 208.8862430002
+ 209.7545253738
+ 210.7039058347
+ 211.9648793319
+ 212.9829738766
+ 213.4280929692
+ 214.4386923504
+ 215.5826154495
+ 216.423719513
+ 217.1374984504
+ 217.8974922792
+ 219.0577593492
+ 219.6196634032
+ 220.8424853007
+ 221.2983798027
+ 222.4923346026
+ 223.3196639866
+ 224.4885153001
+ 225.2978104732
+ 226.1301840738
+ 226.6142171531
+ 227.6019259102
+ 228.5023298788
+ 229.309991752
+ 230.57189985
+ 231.3567694302
+ 232.0759318125
+ 232.6653058039
+ 234.1010064029
+ 234.8267446127
+ 235.74710144
+ 236.3093063595
+ 237.3473335472
+ 237.6450888275
+ 239.289059163
+ 239.8992460699
+ 240.4924083209
+ 241.8682289971
+ 242.570187861
+ 243.7263550403
+ 243.9341977649
+ 245.0890157105
+ 245.5943279944
+ 246.6926898485
+ 247.8638440831
+ 248.4749527797
+ 249.1617534962
+ 250.0852489562
+ 251.0710985655
+ 252.2017418298
+ 252.763898597
+ 253.6220781406
+ 254.636456582
+ 255.0804799369
+ 255.6503879912
+ 257.1157213659
+ 257.8064380484
+ 258.8193362763
+ 259.5597420518
+ 260.3196678497
+ 261.3765190186
+ 261.9559808789
+ 263.2167448602
+ 263.4609411671
+ 264.333389913
+ 265.5303740019
+ 266.1943306679
+ 267.0749849987
+ 267.9143130553
+ 268.5129542542
+ 269.8286792243
+ 270.8988961225
+ 271.4162122773
+ 271.7926935992
+ 272.7023215418
+ 273.6244064675
+ 274.5969844018
+ 275.4098195361
+ 276.5361690897
+ 276.9253544225
+ 277.8396903879
+ 278.9549020578
+ 279.5595175681
+ 280.4631782672
+ 281.329358549
+ 281.989594894
+ 282.7955544863
+ 283.5803955395
+ 284.3899259683
+ 285.3270241537
+ 286.391637452
+ 286.856599307
+ 288.053289884
+ 288.8006650626
+ 289.542732101
+ 290.1350782102
+ 291.101338116
+ 291.5382880479
+ 292.7113897787
+ 293.9381254377
+ 294.3724290565
+ 295.0297012071
+ 295.6922564133
+ 297.2842177677
+ 297.5534155805
+ 298.6305678823
+ 299.4765749055
+ 299.8355700865
+ 300.6053092776
+ 301.5784501395
+ 302.6077895528
+ 303.338282435
+ 303.9688372747
+ 305.1095949091
+ 306.0720603098
+ 306.4583488649
+ 307.3518759722
+ 308.2187292243
+ 308.7765237235
+ 309.843954242
+ 310.5622090525
+ 311.2325407073
+ 312.4969547628
+ 312.7215429826
+ 313.7660202434
+ 314.6279086185
+ 315.6181024136
+ 316.4577129805
+ 317.0960150769
+ 317.7914075384
+ 318.3616944674
+ 319.0690896988
+ 320.2426837231
+ 321.2416146557
+ 321.8138419056
+ 322.6315783665
+ 323.4360729966
+ 324.0061027022
+ 325.5738331178
+ 325.7479417843
+ 326.3286660475
+ 327.3678299142
+ 328.1230302867
+ 329.0257388381
+ 329.658141759
+ 330.4848328263
+ 331.3228769708
+ 332.0708905071
+ 333.2490196451
+ 334.0835689792
+ 334.3972950425
+ 335.3045870282
+ 335.8778298615
+ 336.9065217434
+ 337.3867493912
+ 338.5895326087
+ 339.36876123
+ 340.067355744
+ 340.7148879606
+ 341.6493355687
+ 342.3800601324
+ 343.3260341321
+ 344.1094216926
+ 344.898361981
+ 345.5424536678
+ 345.9837371779
+ 346.8525389262
+ 348.0322080089
+ 348.6820197512
+ 349.553089947
+ 350.0319040263
+ 351.28960164
+ 351.9730519484
+ 352.7440783264
+ 353.1107490671
+ 354.0570557411
+ 354.9855222604
+ 355.2922238613
+ 356.8338668125
+ 357.4425566582
+ 357.7031585097
+ 358.6071448756
+ 359.6318917814
+ 360.529956209
+ 361.4460080487
+ 361.835939688
+ 362.9109338715
+ 363.2059203685
+ 364.0228859107
+ 364.8890717283
+ 365.7941219473
+ 366.3946310163
+ 367.673032655
+ 368.1154302097
+ 368.7373188992
+ 369.7778301412
+ 370.4275144261
+ 371.2020690388
+ 372.0496199652
+ 372.6107172183
+ 373.3200722486
+ 374.3113862667
+ 374.9243466649
+ 375.8449583875
+ 376.5412950432
+ 377.1835802572
+ 378.1164551309
+ 379.2793078941
+ 379.6929732133
+ 380.5776722324
+ 381.1774071699
+ 381.3492984959
+ 382.5430013711
+ 383.5919971027
+ 384.2670525581
+ 385.0510712163
+ 385.7574243736
+ 386.3420931504
+ 387.3373820285
+ 388.178605882
+ 388.9973676622
+ 389.3990336151
+ 390.3466532774
+ 391.1159227001
+ 391.7784046796
+ 392.3140308101
+ 393.3171989127
+ 394.3868425001
+ 394.5399598806
+ 395.7471548949
+ 396.7547231083
+ 397.1807480369
+ 397.8266928791
+ 398.6963498691
+ 399.410855365
+ 400.1592344328
+ 400.4886536787
+ 401.9200307113
+ 402.4204792092
+ 403.4792667242
+ 403.8196349588
+ 404.3622957518
+ 405.5873310222
+ 406.4105028833
+ 407.1690726594
+ 407.936718736
+ 408.2753097467
+ 409.0928595592
+ 409.756711946
+ 410.5601675382
+ 411.7836485129
+ 412.1003585138
+ 412.9909693929
+ 413.6693598069
+ 414.8388470742
+ 415.2601024032
+ 415.9258006044
+ 416.8249176263
+ 417.3019624028
+ 418.1071018321
+ 419.0749538439
+ 419.6836233385
+ 420.5464642084
+ 421.0717682948
+ 421.7948585105
+ 422.9097886826
+ 423.4843519255
+ 424.1849816321
+ 425.4269555222
+ 425.7244703918
+ 426.3130294323
+ 426.9277273908
+ 427.9032509045
+ 428.3549687941
+ 429.5665602469
+ 430.2946165983
+ 430.9899218068
+ 431.7133442405
+ 432.1270106631
+ 433.302690053
+ 433.9677033632
+ 434.7562935884
+ 435.2921766875
+ 436.2409315236
+ 436.4745702407
+ 437.5201512612
+ 438.4315260285
+ 439.1392629552
+ 439.4946176433
+ 440.5637942063
+ 441.3004870257
+ 442.3624551689
+ 443.0119244634
+ 443.5001164934
+ 443.972496073
+ 444.870611287
+ 445.6034828587
+ 446.3573771416
+ 447.1729484623
+ 448.0916398015
+ 448.6875613652
+ 449.3107759589
+ 449.9538530656
+ 451.0168035029
+ 451.7600259829
+ 452.3466911118
+ 453.0511188508
+ 454.0821798329
+ 454.44853114
+ 454.9499653675
+ 455.7206618436
+ 456.8053468352
+ 457.737178687
+ 457.9627565758
+ 459.0701009815
+ 459.671372983
+ 460.5695936199
+ 461.1466034987
+ 462.057394796
+ 462.3806309246
+ 463.2589055236
+ 463.7405482997
+ 464.8907178657
+ 465.7444357651
+ 466.1431406005
+ 466.8457443575
+ 467.6995428623
+ 468.1858650096
+ 469.4242322641
+ 470.2470663986
+ 470.632742058
+ 471.2762765664
+ 472.0853674123
+ 472.5529897442
+ 473.2178548669
+ 474.5271591927
+ 474.7927674814
+ 475.6705828315
+ 476.5344223262
+ 477.2231058871
+ 478.0017010518
+ 478.5493401775
+ 479.2761504172
+ 480.1909877699
+ 480.8777358595
+ 481.2823090642
+ 482.2318739581
+ 482.8283347184
+ 483.8478239232
+ 484.0400298822
+ 485.4694583119
+ 485.5953266191
+ 486.4293767199
+ 487.5900376226
+ 488.211583768
+ 488.7669723707
+ 489.6497600134
+ 489.9058984976
+ 490.5665522955
+ 491.5669708503
+ 492.1540748274
+ 493.4235293344
+ 493.9557783289
+ 494.3044354588
+ 494.9581999027
+ 495.9770107757
+ 496.9369560649
+ 497.4254399269
+ 498.0590027016
+ 498.8883173132
+ 499.4256062698
+ 500.1922122541
+ 500.8130967713
+ 501.6671459939
+ 502.2461898094
+ 503.2198027716
+ 503.6924652613
+ 504.7108959469
+ 505.3921039021
+ 506.2059663774
+ 506.779902007
+ 507.122200488
+ 508.1498959856
+ 508.7030083139
+ 509.6589270955
+ 509.9262423147
+ 511.1672837687
+ 511.8440280087
+ 512.3725751341
+ 512.9023170055
+ 513.8118007869
+ 514.7026839653
+ 515.2818401225
+ 516.288582045
+ 516.8168143226
+ 517.4399630057
+ 517.6980824848
+ 518.5157058242
+ 519.6593828202
+ 520.2050178374
+ 521.1153821745
+ 521.556609138
+ 522.3987628217
+ 523.2884492583
+ 523.7426510586
+ 524.6670082532
+ 525.3169714212
+ 525.8430761523
+ 526.3966398408
+ 527.3364604715
+ 528.1087348605
+ 528.8023083549
+ 529.4906043154
+ 530.0652382711
+ 530.688238201
+ 531.6407074272
+ 532.6285805167
+ 532.9806498884
+ 534.0334296322
+ 534.4092441631
+ 534.9792072748
+ 535.9634526077
+ 536.2247715823
+ 536.993367906
+ 538.0713781815
+ 538.7983796168
+ 539.3652424452
+ 540.1792739855
+ 540.8757169457
+ 541.2147076142
+ 542.3276545663
+ 543.0916763147
+ 543.6891780917
+ 544.1813507955
+ 545.0293563831
+ 545.7728940077
+ 546.0353104691
+ 547.1758033702
+ 547.8290543163
+ 548.695012734
+ 549.0170325921
+ 549.7836611539
+ 551.0217342631
+ 551.7080761102
+ 552.0283049181
+ 552.5480712559
+ 553.2979027587
+ 554.169452465
+ 554.5005752598
+ 555.6667852599
+ 556.3780490535
+ 557.0468370642
+ 557.4580781764
+ 558.4520689557
+ 558.7954256711
+ 560.0492291097
+ 560.4674899656
+ 561.202446462
+ 562.0387210723
+ 562.4486290956
+ 563.2225688205
+ 563.8354849359
+ 564.37761433
+ 565.3131129716
+ 566.0714711421
+ 566.7437544135
+ 567.5904646345
+ 568.1695453876
+ 568.8345731712
+ 569.7544549057
+ 570.1254948436
+ 570.9138176242
+ 571.756687239
+ 572.1479785473
+ 572.6724247839
+ 573.7931388244
+ 574.657757711
+ 575.0897369417
+ 575.6618469341
+ 576.2441114677
+ 577.2600813089
+ 577.976004581
+ 578.7528172084
+ 579.5615552965
+ 580.0131664726
+ 580.5370290842
+ 581.2054055556
+ 581.5964993952
+ 583.0180045495
+ 583.3127136797
+ 584.0842967758
+ 584.9173723789
+ 585.6489028533
+ 585.9766036081
+ 587.1646847002
+ 587.6518722029
+ 588.2803287035
+ 588.8046774763
+ 589.8422420162
+ 590.2650595054
+ 591.0246435458
+ 591.6709281049
+ 592.3144660519
+ 593.0635253283
+ 593.8611857051
+ 594.5042402355
+ 595.0425842537
+ 596.3164027673
+ 596.4832760844
+ 597.4668841687
+ 598.0686701066
+ 598.5163375553
+ 599.088985808
+ 599.8724924494
+ 600.590372786
+ 601.3911329161
+ 602.2984252947
+ 602.9818380952
+ 603.4126135135
+ 603.833028865
+ 604.808460113
+ 605.7677254319
+ 606.3669696952
+ 607.1057762699
+ 607.4116309095
+ 608.1614285363
+ 609.053964657
+ 609.3949560148
+ 610.2284496929
+ 611.152994214
+ 611.6669694346
+ 612.2618139833
+ 613.0526664738
+ 614.2345951373
+ 614.502885248
+ 615.120794419
+ 615.7444748144
+ 616.5707917567
+ 617.0151078002
+ 617.7934565735
+ 618.4313130811
+ 619.3839838155
+ 620.0510108515
+ 620.4792229126
+ 621.2266252288
+ 622.0122890334
+ 622.639192718
+ 623.3591842295
+ 624.2776924812
+ 624.7358509773
+ 625.783241064
+ 625.8878893225
+ 626.6289872637
+ 627.1707375404
+ 627.8654595271
+ 628.9545412652
+ 629.6936197945
+ 630.1928770806
+ 630.6830957996
+ 631.6694288012
+ 632.3290416465
+ 632.8917506833
+ 633.6643616214
+ 634.3820086937
+ 634.8660702935
+ 635.3984422438
+ 636.2834873426
+ 636.9518024761
+ 637.8091595766
+ 638.3721344383
+ 638.8595131416
+ 639.4860794577
+ 640.5345455773
+ 641.0289443115
+ 642.1184975814
+ 642.6251032735
+ 643.0540591474
+ 643.7767417037
+ 644.0976179975
+ 645.195944393
+ 645.6921996602
+ 646.3228306082
+ 647.2403173592
+ 647.9614051035
+ 648.7323963272
+ 649.0161354724
+ 649.940138733
+ 650.406070262
+ 651.5422398424
+ 651.9578549588
+ 652.4076481383
+ 653.5761694226
+ 653.918956636
+ 654.2662503541
+ 655.1399416162
+ 656.1436522637
+ 656.4636345019
+ 657.355870447
+ 658.09679873
+ 658.5258638413
+ 659.469853767
+ 660.300762664
+ 660.8466019912
+ 661.4397604223
+ 661.8026206421
+ 662.5387604177
+ 663.2456368532
+ 663.9619087758
+ 665.0177946402
+ 665.4343037606
+ 666.123965049
+ 666.7657722667
+ 667.0747650385
+ 668.2104288865
+ 669.1515803844
+ 669.4421337627
+ 670.0808998901
+ 670.9525873037
+ 671.5549805474
+ 671.9640453313
+ 672.5914341134
+ 673.3458495361
+ 674.2882714466
+ 674.7932432583
+ 675.3811482285
+ 676.3793128206
+ 676.8747866226
+ 677.8535749111
+ 678.03721085
+ 678.7869852975
+ 679.6347513692
+ 680.2060748237
+ 680.8853194008
+ 681.2775043262
+ 682.1813201039
+ 682.9616335889
+ 683.5862451423
+ 684.280354746
+ 684.7611190712
+ 685.5554040746
+ 686.0268621626
+ 687.2333679383
+ 687.8630588617
+ 688.2695164282
+ 688.9700274893
+ 689.4887967334
+ 690.0287719359
+ 690.6234223665
+ 691.5283764461
+ 692.4881150453
+ 692.9086190681
+ 693.5965975885
+ 694.3144158553
+ 694.7886862017
+ 695.706850225
+ 696.4535916702
+ 696.8464986531
+ 697.792865264
+ 698.0906314358
+ 698.8476393335
+ 699.4912465351
+ 700.5716146347
+ 700.9048650841
+ 701.0973114665
+ 702.4463033628
+ 702.8327132509
+ 703.6167875189
+ 704.2303074719
+ 705.2893867465
+ 705.6100290328
+ 706.4019215452
+ 706.8168622372
+ 707.5134864183
+ 708.14584178
+ 708.7245834922
+ 709.4584356982
+ 710.2537137971
+ 711.1578646007
+ 711.7343823259
+ 712.0915771661
+ 712.6720043985
+ 713.7013789674
+ 714.1899433337
+ 715.0295363716
+ 715.8007336791
+ 716.2375626737
+ 716.9412604664
+ 717.2260850134
+ 718.1099004028
+ 718.6855143901
+ 719.6953824621
+ 720.3065676052
+ 720.6426884544
+ 721.4343053846
+ 722.3911416324
+ 722.9581490313
+ 723.8102637476
+ 724.0895792528
+ 724.9024584572
+ 725.1346147542
+ 726.2591473856
+ 726.6876042148
+ 727.3421515487
+ 728.2868630863
+ 728.8570402933
+ 729.4899639716
+ 730.0000943004
+ 730.5143943855
+ 731.6790844739
+ 732.3188243846
+ 732.6408854887
+ 733.5993896596
+ 734.1926807074
+ 734.856425002
+ 735.1901397363
+ 735.8741571034
+ 736.4295680899
+ 737.4705269107
+ 738.0388155975
+ 738.7350991619
+ 739.6950091845
+ 739.8438580846
+ 740.6032526517
+ 741.3750965284
+ 742.1010509211
+ 742.8563498819
+ 743.2580960816
+ 743.7871278817
+ 744.5214145137
+ 745.4082167245
+ 745.7006663497
+ 746.8493598724
+ 747.1118097607
+ 747.9556170627
+ 748.3071752408
+ 749.2477834966
+ 749.9539208565
+ 750.8621488749
+ 751.4165224271
+ 751.9854397139
+ 752.2691457493
+ 753.0158221848
+ 753.6067329909
+ 754.4477840392
+ 755.0695423481
+ 756.013465277
+ 756.3641990433
+ 757.0554832637
+ 757.8455316437
+ 758.5776717492
+ 758.8189289195
+ 759.8444806885
+ 760.5868520791
+ 760.9449038594
+ 761.7033478585
+ 762.4679225516
+ 762.9521388316
+ 763.4121816223
+ 764.2191940587
+ 764.8584398118
+ 765.7030582987
+ 766.3246054396
+ 766.8945393521
+ 767.4804863344
+ 768.549898282
+ 769.0724248217
+ 769.5598768844
+ 770.0075906714
+ 771.0511304086
+ 771.3618087961
+ 771.8554828074
+ 772.5415406394
+ 773.8316592955
+ 774.2342778298
+ 774.7121075155
+ 775.3977269092
+ 775.7841964027
+ 776.676090059
+ 777.5797066335
+ 778.2137968534
+ 778.7982728617
+ 779.3479665709
+ 779.9564449568
+ 780.5976969005
+ 781.054592128
+ 781.7892488953
+ 782.654818633
+ 783.0854269616
+ 783.9954790778
+ 784.6200582001
+ 785.0110937334
+ 786.2620308904
+ 786.4061120117
+ 787.3698462696
+ 787.5202801538
+ 788.5147336006
+ 789.0171619529
+ 789.7149272017
+ 790.4017218435
+ 790.83461823
+ 791.8454601846
+ 792.3229475541
+ 792.8555690461
+ 793.6824817862
+ 794.2494604355
+ 794.8643478829
+ 795.7108659659
+ 796.3599628579
+ 797.2415727207
+ 797.5367495806
+ 798.2405842527
+ 798.4808445315
+ 799.1140258006
+ 800.1561392321
+ 800.8559394303
+ 801.3394717495
+ 802.303512687
+ 802.7583089762
+ 803.3028993871
+ 803.8165934026
+ 804.8119519437
+ 805.583201496
+ 805.8640060142
+ 806.6989178963
+ 807.0969015865
+ 807.842135501
+ 808.5551619242
+ 809.0614773183
+ 809.9220540855
+ 810.4394871581
+ 810.954253284
diff --git a/srcpkgs/lcalc/patches/Lcommon.h.patch b/srcpkgs/lcalc/patches/Lcommon.h.patch
new file mode 100644
index 000000000000..c6b5c0aaa39e
--- /dev/null
+++ b/srcpkgs/lcalc/patches/Lcommon.h.patch
@@ -0,0 +1,11 @@
+--- 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/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch
new file mode 100644
index 000000000000..b94fc72d18a5
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_1.patch
@@ -0,0 +1,24 @@
+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 <class ttype>
+ Complex L_function <ttype>::
+-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/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch
new file mode 100644
index 000000000000..f5fd45358d0b
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_default_parameters_2.patch
@@ -0,0 +1,56 @@
+--- 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 <class ttype>
+-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 <class ttype>
+-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 <class ttype>
+-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 <class ttype>
+-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("<<z<<","<<w<<")"<< endl;
+@@ -446,7 +446,7 @@
+ 
+ 
+ template <class ttype>
+-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 <class ttype>
+-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/srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch b/srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch
new file mode 100644
index 000000000000..1640dda12bc4
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_fix-const-char.patch
@@ -0,0 +1,53 @@
+diff --git a/include/cmdline.h b/include/cmdline.h
+index 319920a..41967e1 100644
+--- a/include/cmdline.h
++++ b/include/cmdline.h
+@@ -320,7 +320,7 @@ void cmdline_parser_free (struct gengetopt_args_info *args_info);
+ int cmdline_parser_required (struct gengetopt_args_info *args_info,
+   const char *prog_name);
+ 
+-extern char *cmdline_parser_output_character_values[] ;	/**< @brief Possible values for output-character.  */
++extern const char *cmdline_parser_output_character_values[] ;	/**< @brief Possible values for output-character.  */
+ 
+ 
+ #ifdef __cplusplus
+diff --git a/src/cmdline.c b/src/cmdline.c
+index 6daf7da..1087693 100644
+--- a/src/cmdline.c
++++ b/src/cmdline.c
+@@ -93,7 +93,7 @@ cmdline_parser_internal (int argc, char * const *argv, struct gengetopt_args_inf
+                         struct cmdline_parser_params *params, const char *additional_error);
+ 
+ 
+-char *cmdline_parser_output_character_values[] = {"1", "2", 0} ;	/* Possible values for output-character.  */
++const char *cmdline_parser_output_character_values[] = {"1", "2", 0} ;	/* Possible values for output-character.  */
+ 
+ static char *
+ gengetopt_strdup (const char *s);
+@@ -410,7 +410,7 @@ cmdline_parser_release (struct gengetopt_args_info *args_info)
+  * -2 if more than one value has matched
+  */
+ static int
+-check_possible_values(const char *val, char *values[])
++check_possible_values(const char *val, const char *values[])
+ {
+   int i, found, last;
+   size_t len;
+@@ -439,7 +439,7 @@ check_possible_values(const char *val, char *values[])
+ 
+ 
+ static void
+-write_into_file(FILE *outfile, const char *opt, const char *arg, char *values[])
++write_into_file(FILE *outfile, const char *opt, const char *arg, const char *values[])
+ {
+   int found = -1;
+   if (arg) {
+@@ -681,7 +681,7 @@ static char *package_name = 0;
+ static
+ int update_arg(void *field, char **orig_field,
+                unsigned int *field_given, unsigned int *prev_given, 
+-               char *value, char *possible_values[], const char *default_value,
++               char *value, const char *possible_values[], const char *default_value,
+                cmdline_parser_arg_type arg_type,
+                int check_ambiguity, int override,
+                int no_free, int multiple_option,
diff --git a/srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch b/srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch
new file mode 100644
index 000000000000..23850bbfbd56
--- /dev/null
+++ b/srcpkgs/lcalc/patches/lcalc-1.23_fix-return-non-void.patch
@@ -0,0 +1,20 @@
+diff --git a/include/Lvalue.h b/include/Lvalue.h
+index eef9ffa..01974c3 100644
+--- a/include/Lvalue.h
++++ b/include/Lvalue.h
+@@ -486,6 +486,15 @@
+             delete [] DELTA;
+             return L_value*exp(z-.5*log(OMEGA));
+         }
++
++        else // return L(s)
++        {
++            z=1;
++            for(j=1;j<=a;j++)
++                z=z*GAMMA(gamma[j]*s+lambda[j],DELTA[j]);
++            delete [] DELTA;
++            return L_value*exp(-log(Q)*s)/z;
++        }
+     }
+ 
+ 
diff --git a/srcpkgs/lcalc/patches/pari-2.7.patch b/srcpkgs/lcalc/patches/pari-2.7.patch
new file mode 100644
index 000000000000..d565490d98d3
--- /dev/null
+++ b/srcpkgs/lcalc/patches/pari-2.7.patch
@@ -0,0 +1,67 @@
+--- src/src/Lcommandline_elliptic.cc	2010-01-31 16:16:45.000000000 +0100
++++ src/src/Lcommandline_elliptic.cc	2011-05-10 17:08:10.000000000 +0200
+@@ -121,11 +121,11 @@
+ 
+ 
+     F = cgetg(6, t_VEC);
+-    F[1] = lgeti(BIGDEFAULTPREC);
+-    F[2] = lgeti(BIGDEFAULTPREC);
+-    F[3] = lgeti(BIGDEFAULTPREC);
+-    F[4] = lgeti(BIGDEFAULTPREC);
+-    F[5] = lgeti(BIGDEFAULTPREC);
++    F[1] = (long)cgeti(BIGDEFAULTPREC);
++    F[2] = (long)cgeti(BIGDEFAULTPREC);
++    F[3] = (long)cgeti(BIGDEFAULTPREC);
++    F[4] = (long)cgeti(BIGDEFAULTPREC);
++    F[5] = (long)cgeti(BIGDEFAULTPREC);
+ 
+     //gaffsg(a1,(GEN) F[1]);
+     //gaffsg(a2,(GEN) F[2]);
+@@ -133,15 +133,15 @@
+     //gaffsg(a4,(GEN) F[4]);
+     //gaffsg(a6,(GEN) F[5]);
+ 
+-    gaffect(strtoGEN(a1), (GEN) F[1]);
+-    gaffect(strtoGEN(a2), (GEN) F[2]);
+-    gaffect(strtoGEN(a3), (GEN) F[3]);
+-    gaffect(strtoGEN(a4), (GEN) F[4]);
+-    gaffect(strtoGEN(a6), (GEN) F[5]);
++    gaffect(gp_read_str(a1), (GEN) F[1]);
++    gaffect(gp_read_str(a2), (GEN) F[2]);
++    gaffect(gp_read_str(a3), (GEN) F[3]);
++    gaffect(gp_read_str(a4), (GEN) F[4]);
++    gaffect(gp_read_str(a6), (GEN) F[5]);
+ 
+-    E = initell(F,BIGDEFAULTPREC);
++    E = ellinit(F, NULL, BIGDEFAULTPREC);
+ 
+-    C=globalreduction(E);
++    C=ellglobalred(E);
+ 
+     x=gtodouble((GEN) C[1]);
+ 
+@@ -167,8 +167,8 @@
+ 
+             p=n;
+             gaffsg(p,y);
+-            coeff[p] = Double(1.*llrint(gtodouble(apell(E,y))))/sqrt(Double(1.*p));
+-            //coeff[p] = Double(1.*Long(gtodouble(apell(E,y))+.1))/sqrt(Double(1.*p));
++            coeff[p] = Double(1.*llrint(gtodouble(ellap(E,y))))/sqrt(Double(1.*p));
++            //coeff[p] = Double(1.*Long(gtodouble(ellap(E,y))+.1))/sqrt(Double(1.*p));
+ 
+             if(gtolong(gmod((GEN) E[12],(GEN) y))==0) // if p|discriminant, i.e. bad reduction
+             {
+diff -ru src/src/Lcommandline.cc b/src/Lcommandline.cc
+--- src/src/Lcommandline.cc	2012-08-08 23:21:56.000000000 +0200
++++ b/src/Lcommandline.cc	2014-01-06 14:02:19.463388366 +0100
+@@ -473,7 +473,9 @@
+ 
+ #ifdef INCLUDE_PARI
+         if(do_elliptic_curve){
+-             allocatemoremem((int) N_terms*16+1000000); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
++             // Reallocate PARI stack
++             paristack_setsize((size_t)N_terms*16 + 1000000, 0); //XXXXXXXXX this should depend on whether we're double or long double or mpfr double
++
+              if (my_verbose>0) cout << "Will precompute " << N_terms << " elliptic L-function dirichlet coefficients..." << endl;
+              initialize_new_L(a1,a2,a3,a4,a6,N_terms); 
+         }
diff --git a/srcpkgs/lcalc/patches/pari-mem.patch b/srcpkgs/lcalc/patches/pari-mem.patch
new file mode 100644
index 000000000000..1566681a909b
--- /dev/null
+++ b/srcpkgs/lcalc/patches/pari-mem.patch
@@ -0,0 +1,24 @@
+Use a much smaller PARI stack size for starting up
+
+Actually 1MB is sufficient, so there is plenty of margin
+with the 16MB in this patch
+
+See https://trac.sagemath.org/ticket/24516
+
+diff -ru lcalc-1.23/src/Lcommandline.cc lcalc-1.23-patched//src/Lcommandline.cc
+--- lcalc-1.23/src/Lcommandline.cc	2012-08-08 23:21:56.000000000 +0200
++++ lcalc-1.23-patched//src/Lcommandline.cc	2018-01-30 11:23:06.975418539 +0100
+@@ -412,12 +412,7 @@
+ 
+             t2=.5; //t2=.5 because of the GAMMA(s+1/2)
+ 
+-            pari_init(1000000000,2);
+-            //pari_init_opts(400000000,2,INIT_DFTm); // the last option is to prevent
+-            //pari from giving its interrupt signal when its elliptic curve a_p
+-            //algorithm is called and interrupted with ctrl-c. Requires a more current
+-            //version of pari, so use pari_init above until I have a configure set up
+-            //that detects which pari, if any, is installed.
++            pari_init_opts(16000000, 2, INIT_DFTm);
+ 
+             coeff = new Double[3];
+             //compute the conductor which is copied to coeff[1]
diff --git a/srcpkgs/lcalc/patches/pari_include.patch b/srcpkgs/lcalc/patches/pari_include.patch
new file mode 100644
index 000000000000..8ad1cc1cc43a
--- /dev/null
+++ b/srcpkgs/lcalc/patches/pari_include.patch
@@ -0,0 +1,30 @@
+Notes:
+Use a standard include path for pari. It means there is no need
+to specify an include path when pari headers are in a standard location.
+
+diff --git a/include/Lcommandline.h b/include/Lcommandline.h
+index 6537e98..5e63e4e 100644
+--- a/include/Lcommandline.h
++++ b/include/Lcommandline.h
+@@ -39,7 +39,7 @@
+ 
+ #include "Lcommandline_globals.h"      //command line global variables
+ #ifdef INCLUDE_PARI
+-#include "pari.h"          //for pari's elliptic curve functions
++#include "pari/pari.h"          //for pari's elliptic curve functions
+ #undef init                //pari has a '#define init pari_init' which
+                            //causes trouble with the stream.h init.
+                            //pari also causes trouble with things like abs.
+diff --git a/include/Lcommandline_elliptic.h b/include/Lcommandline_elliptic.h
+index 17fa42c..7d80208 100644
+--- a/include/Lcommandline_elliptic.h
++++ b/include/Lcommandline_elliptic.h
+@@ -32,7 +32,7 @@
+ 
+ 
+ #ifdef INCLUDE_PARI
+-#include "pari.h"          //for pari's elliptic curve functions 
++#include "pari/pari.h"          //for pari's elliptic curve functions
+ #undef init                //pari has a '#define init pari_init' which
+                            //causes trouble with the stream.h init.
+                            //pari also causes trouble with things like abs.
diff --git a/srcpkgs/lcalc/patches/using_namespace_std.patch b/srcpkgs/lcalc/patches/using_namespace_std.patch
new file mode 100644
index 000000000000..6d733ffd7115
--- /dev/null
+++ b/srcpkgs/lcalc/patches/using_namespace_std.patch
@@ -0,0 +1,41 @@
+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 <valarray>
+ using namespace std;
+ 
+-#include <valarray>
+ #ifdef USE_MPFR
+     #include "Lgmpfrxx.h"
+     typedef mpfr_class Double;
diff --git a/srcpkgs/lcalc/template b/srcpkgs/lcalc/template
new file mode 100644
index 000000000000..e111b8b30565
--- /dev/null
+++ b/srcpkgs/lcalc/template
@@ -0,0 +1,44 @@
+# Template file for 'lcalc'
+pkgname=lcalc
+version=1.23
+revision=1
+build_wrksrc="src"
+build_style="gnu-makefile"
+makedepends="pari-devel"
+short_desc="Michael Rubinstein's L-function calculator"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://mirrors.mit.edu/sage/spkg/upstream/lcalc/"
+distfiles="${homepage}/${pkgname}-${version}.tar.bz2"
+checksum=83d4253ec2f38553b21190d6d0c6b71bab7ea14717f6dde5bd18f60775d3cdb0
+patch_args="-Np1"
+
+pre_build() {
+	CC="$CXX"
+	LDFLAGS+=" -lpari"
+	make_build_args+=" PARI_DEFINE=-DINCLUDE_PARI"
+}
+
+pre_install() {
+	mkdir -p ${DESTDIR}/usr/{bin,lib,include}
+	make_install_args+=" INSTALL_DIR=${DESTDIR}/usr"
+}
+
+do_check() {
+	echo "Testing lcalc ..."
+	. "${FILESDIR}/test" > test.log
+	case "$XBPS_TARGET_MACHINE" in
+		i686) 	OUT="${FILESDIR}/test.i686" ;;
+		*-musl) OUT="${FILESDIR}/test.musl" ;;
+		*) 	OUT="${FILESDIR}/test.out" ;;
+	esac
+	diff "$OUT" test.log && echo PASS
+}
+
+lcalc-devel_package() {
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/lib"
+		vmove "usr/include"
+	}
+}
diff --git a/srcpkgs/lcalc/update b/srcpkgs/lcalc/update
new file mode 100644
index 000000000000..3b871a7dba51
--- /dev/null
+++ b/srcpkgs/lcalc/update
@@ -0,0 +1,2 @@
+#pkgname=L
+#site="${homepage%/*}/CODE/"

From 69228d04b6cb275eede74729533227ef80cd2c3a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Wed, 3 Jun 2020 23:22:18 -0300
Subject: [PATCH 11/11] New package: mpfi-1.5.3

---
 common/shlibs         |  1 +
 srcpkgs/mpfi-devel    |  1 +
 srcpkgs/mpfi/template | 23 +++++++++++++++++++++++
 srcpkgs/mpfi/update   |  2 ++
 4 files changed, 27 insertions(+)
 create mode 120000 srcpkgs/mpfi-devel
 create mode 100644 srcpkgs/mpfi/template
 create mode 100644 srcpkgs/mpfi/update

diff --git a/common/shlibs b/common/shlibs
index 647ed636ebe1..35915084406f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3962,6 +3962,7 @@ libflint.so.15 flintlib-2.7.1_1
 libgf2x.so.3 gf2x-1.3.0_1
 libgivaro.so.9 givaro-4.1.1_1
 liblinbox.so.0 linbox-1.6.3_1
+libmpfi.so.0 mpfi-1.5.3_1
 libntl.so.43 ntl-11.4.4_1
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
diff --git a/srcpkgs/mpfi-devel b/srcpkgs/mpfi-devel
new file mode 120000
index 000000000000..d36f752f91b3
--- /dev/null
+++ b/srcpkgs/mpfi-devel
@@ -0,0 +1 @@
+mpfi
\ No newline at end of file
diff --git a/srcpkgs/mpfi/template b/srcpkgs/mpfi/template
new file mode 100644
index 000000000000..90bb5be4686a
--- /dev/null
+++ b/srcpkgs/mpfi/template
@@ -0,0 +1,23 @@
+# Template file for 'mpfi'
+pkgname=mpfi
+version=1.5.3
+revision=1
+build_style="gnu-configure"
+makedepends="mpfr-devel"
+short_desc="C library for interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="http://perso.ens-lyon.fr/nathalie.revol/software.html"
+distfiles="https://gforge.inria.fr/frs/download.php/file/37331/mpfi-${version}.tar.bz2"
+checksum=2383d457b208c6cd3cf2e66b69c4ce47477b2a0db31fbec0cd4b1ebaa247192f
+
+mpfi-devel_package() {
+	depends="mpfi-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share/info"
+	}
+}
diff --git a/srcpkgs/mpfi/update b/srcpkgs/mpfi/update
new file mode 100644
index 000000000000..42221627a5cb
--- /dev/null
+++ b/srcpkgs/mpfi/update
@@ -0,0 +1,2 @@
+site="https://gforge.inria.fr/frs/?group_id=157"
+ignore=1.5.4

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: More math libraries and tools
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
@ 2021-04-06  3:53 ` abenson
  2021-04-06  5:05 ` Math packages: gf2x, ntl, flintlib, arb, eclib tornaria
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: abenson @ 2021-04-06  3:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 276 bytes --]

New comment by abenson on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-813802609

Comment:
> This continues #29997.

Just add to that one.  At this point the two conflict -- it's easier to track when it's all in the same PR.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
  2021-04-06  3:53 ` abenson
@ 2021-04-06  5:05 ` tornaria
  2021-04-06  5:05 ` tornaria
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: tornaria @ 2021-04-06  5:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 353 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-813824490

Comment:
> > This continues #29997.
> 
> Just add to that one. At this point the two conflict -- it's easier to track when it's all in the same PR.

You are right. I rebased in several different and independent PR.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
  2021-04-06  3:53 ` abenson
  2021-04-06  5:05 ` Math packages: gf2x, ntl, flintlib, arb, eclib tornaria
@ 2021-04-06  5:05 ` tornaria
  2021-04-07 12:53 ` dkwo
  2021-04-09  2:10 ` [PR PATCH] [Updated] " tornaria
  4 siblings, 0 replies; 6+ messages in thread
From: tornaria @ 2021-04-06  5:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 392 bytes --]

New comment by tornaria on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-813824490

Comment:
> > This continues #29997.
> 
> Just add to that one. At this point the two conflict -- it's easier to track when it's all in the same PR.

You are right. I rebased in several different and independent PR, I hope that makes it easier to review.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (2 preceding siblings ...)
  2021-04-06  5:05 ` tornaria
@ 2021-04-07 12:53 ` dkwo
  2021-04-09  2:10 ` [PR PATCH] [Updated] " tornaria
  4 siblings, 0 replies; 6+ messages in thread
From: dkwo @ 2021-04-07 12:53 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 188 bytes --]

New comment by dkwo on void-packages repository

https://github.com/void-linux/void-packages/pull/30032#issuecomment-814889375

Comment:
I did not test `eclib`, the rest looks good to me.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] Math packages: gf2x, ntl, flintlib, arb, eclib
  2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
                   ` (3 preceding siblings ...)
  2021-04-07 12:53 ` dkwo
@ 2021-04-09  2:10 ` tornaria
  4 siblings, 0 replies; 6+ messages in thread
From: tornaria @ 2021-04-09  2:10 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 952 bytes --]

There is an updated pull request by tornaria against master on the void-packages repository

https://github.com/tornaria/void-packages math2
https://github.com/void-linux/void-packages/pull/30032

Math packages: gf2x, ntl, flintlib, arb, eclib
<!-- Mark items with [x] where applicable -->

#### General
- [x] This is a new package and it conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements)

#### Have the results of the proposed changes been tested?
- [x] I use the packages affected by the proposed changes on a regular basis and confirm this PR works for me

#### Notes
- This includes: `gf2x` (see also #29783), `ntl`, `flintlib`, `arb`, `eclib`.
- Everything is tested and check pass in x86_64, x86_64-musl, i686.

EDIT: split in smaller independent PR to ease review.

A patch file from https://github.com/void-linux/void-packages/pull/30032.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-math2-30032.patch --]
[-- Type: text/x-diff, Size: 16781 bytes --]

From 5bc4f34cd2443f9327426ead3fe6915c6e8863b1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 29 Jan 2018 11:18:35 -0300
Subject: [PATCH 1/6] New package: gf2x-1.3.0

---
 common/shlibs         |  1 +
 srcpkgs/gf2x-devel    |  1 +
 srcpkgs/gf2x/template | 34 ++++++++++++++++++++++++++++++++++
 srcpkgs/gf2x/update   |  1 +
 4 files changed, 37 insertions(+)
 create mode 120000 srcpkgs/gf2x-devel
 create mode 100644 srcpkgs/gf2x/template
 create mode 100644 srcpkgs/gf2x/update

diff --git a/common/shlibs b/common/shlibs
index 9aa0a601250b..e017738d0e2f 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3958,6 +3958,7 @@ libsimavrparts.so.1 simavr-1.6_2
 libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
+libgf2x.so.3 gf2x-1.3.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/gf2x-devel b/srcpkgs/gf2x-devel
new file mode 120000
index 000000000000..4542295e8de7
--- /dev/null
+++ b/srcpkgs/gf2x-devel
@@ -0,0 +1 @@
+gf2x
\ No newline at end of file
diff --git a/srcpkgs/gf2x/template b/srcpkgs/gf2x/template
new file mode 100644
index 000000000000..e9267578a2c6
--- /dev/null
+++ b/srcpkgs/gf2x/template
@@ -0,0 +1,34 @@
+# Template file for 'gf2x'
+pkgname=gf2x
+version=1.3.0
+revision=1
+wrksrc=gf2x-gf2x-${version}
+build_style="gnu-configure"
+hostmakedepends="automake libtool"
+short_desc="C/C++ library for fast arithmetic in GF(2)[x]"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-3.0-or-later"
+homepage="https://gitlab.inria.fr/gf2x/gf2x"
+distfiles="https://gitlab.inria.fr/gf2x/gf2x/-/archive/gf2x-${version}/gf2x-gf2x-${version}.tar.gz"
+checksum=11bcf98b620c60c2ee3b4460b02b7be741f14cfdc26b542f22c92950926575e0
+
+build_options="native"
+
+if [ ! "$build_option_native" ]; then
+	configure_args="--disable-sse3"
+fi
+
+pre_configure() {
+	autoreconf -fi
+}
+
+gf2x-devel_package() {
+	depends="gf2x-${version}_${revision}"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}
diff --git a/srcpkgs/gf2x/update b/srcpkgs/gf2x/update
new file mode 100644
index 000000000000..504503610161
--- /dev/null
+++ b/srcpkgs/gf2x/update
@@ -0,0 +1 @@
+pkgname=gf2x-gf2x

From 4dfba65ff80f797989a0ac910377b00fec8d3bd4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Tue, 30 Jan 2018 11:02:38 -0300
Subject: [PATCH 2/6] New package: ntl-11.4.4

---
 common/shlibs        |  1 +
 srcpkgs/ntl-devel    |  1 +
 srcpkgs/ntl/template | 36 ++++++++++++++++++++++++++++++++++++
 srcpkgs/ntl/update   |  1 +
 4 files changed, 39 insertions(+)
 create mode 120000 srcpkgs/ntl-devel
 create mode 100644 srcpkgs/ntl/template
 create mode 100644 srcpkgs/ntl/update

diff --git a/common/shlibs b/common/shlibs
index e017738d0e2f..6fd7cbd1d29d 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3959,6 +3959,7 @@ libsword-1.8.1.so libsword-1.8.1_6
 libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
+libntl.so.43 ntl-11.4.4_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/ntl-devel b/srcpkgs/ntl-devel
new file mode 120000
index 000000000000..fc0a39987329
--- /dev/null
+++ b/srcpkgs/ntl-devel
@@ -0,0 +1 @@
+ntl
\ No newline at end of file
diff --git a/srcpkgs/ntl/template b/srcpkgs/ntl/template
new file mode 100644
index 000000000000..e140298eb559
--- /dev/null
+++ b/srcpkgs/ntl/template
@@ -0,0 +1,36 @@
+# Template file for 'ntl'
+pkgname=ntl
+version=11.4.4
+revision=1
+build_wrksrc="src"
+build_style="configure"
+hostmakedepends="perl"
+makedepends="gmp-devel gf2x-devel"
+short_desc="Library for doing Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://libntl.org"
+distfiles="https://libntl.org/ntl-${version}.tar.gz"
+checksum=9d7f6e82e11a409f151c0de2deb08c0d763baf9834fddfd432bf3d218f8021db
+nocross=yes
+
+build_options="native"
+
+do_configure() {
+	# see http://www.shoup.net/ntl/doc/tour-unix.html
+	./configure CXX="$CXX" CXXFLAGS="$CXXFLAGS" \
+		PREFIX="/usr" SHARED="on" NTL_GF2X_LIB="on" \
+		NATIVE="$(vopt_if native 'on' 'off')"
+}
+
+ntl-devel_package() {
+	depends="ntl-${version}_${revision}"
+	depends+=" gmp-devel gf2x-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/share"
+	}
+}
diff --git a/srcpkgs/ntl/update b/srcpkgs/ntl/update
new file mode 100644
index 000000000000..8ccb86344234
--- /dev/null
+++ b/srcpkgs/ntl/update
@@ -0,0 +1 @@
+site="${homepage}/download.html"

From 4e05b666b7936fd3bbeb41d3115ca10a4885ed59 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Fri, 2 Feb 2018 22:42:49 -0300
Subject: [PATCH 3/6] New package: flintlib-2.7.1

---
 common/shlibs             |  1 +
 srcpkgs/flintlib-devel    |  1 +
 srcpkgs/flintlib/template | 30 ++++++++++++++++++++++++++++++
 srcpkgs/flintlib/update   |  2 ++
 4 files changed, 34 insertions(+)
 create mode 120000 srcpkgs/flintlib-devel
 create mode 100644 srcpkgs/flintlib/template
 create mode 100644 srcpkgs/flintlib/update

diff --git a/common/shlibs b/common/shlibs
index 6fd7cbd1d29d..257b2423ef48 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3960,6 +3960,7 @@ libpari-gmp.so.7 pari-2.13.0_1
 libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
+libflint.so.15 flintlib-2.7.1_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/flintlib-devel b/srcpkgs/flintlib-devel
new file mode 120000
index 000000000000..7c2633183069
--- /dev/null
+++ b/srcpkgs/flintlib-devel
@@ -0,0 +1 @@
+flintlib
\ No newline at end of file
diff --git a/srcpkgs/flintlib/template b/srcpkgs/flintlib/template
new file mode 100644
index 000000000000..149cb66f3187
--- /dev/null
+++ b/srcpkgs/flintlib/template
@@ -0,0 +1,30 @@
+# Template file for 'flintlib'
+pkgname=flintlib
+version=2.7.1
+revision=1
+wrksrc="flint-${version}"
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-ntl=/usr"
+makedepends="mpfr-devel ntl-devel"
+short_desc="Fast Library for Number Theory"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://flintlib.org"
+distfiles="https://flintlib.org/flint-${version}.tar.gz"
+checksum=186e2fd9ab67df8a05b122fb018269b382e4babcdb17353c4be1fe364dca481e
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+flintlib-devel_package() {
+	depends="flintlib-${version}_${revision}"
+	depends+=" mpfr-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}
diff --git a/srcpkgs/flintlib/update b/srcpkgs/flintlib/update
new file mode 100644
index 000000000000..8eee53cf22f2
--- /dev/null
+++ b/srcpkgs/flintlib/update
@@ -0,0 +1,2 @@
+pkgname=flint
+site="${homepage}/downloads.html"

From 21b2fd43fe75fa16ff2e89709311fc4f8e2ae11a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Sun, 4 Feb 2018 01:00:19 -0300
Subject: [PATCH 4/6] New package: arb-2.19.0

---
 common/shlibs        |  1 +
 srcpkgs/arb-devel    |  1 +
 srcpkgs/arb/template | 29 +++++++++++++++++++++++++++++
 3 files changed, 31 insertions(+)
 create mode 120000 srcpkgs/arb-devel
 create mode 100644 srcpkgs/arb/template

diff --git a/common/shlibs b/common/shlibs
index 257b2423ef48..85a262ec5070 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3961,6 +3961,7 @@ libtree-sitter.so.0 tree-sitter-0.19.0_1
 libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
+libarb.so.2 arb-2.19.0_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/arb-devel b/srcpkgs/arb-devel
new file mode 120000
index 000000000000..456b9f00a86c
--- /dev/null
+++ b/srcpkgs/arb-devel
@@ -0,0 +1 @@
+arb
\ No newline at end of file
diff --git a/srcpkgs/arb/template b/srcpkgs/arb/template
new file mode 100644
index 000000000000..7c7df0aace15
--- /dev/null
+++ b/srcpkgs/arb/template
@@ -0,0 +1,29 @@
+# Template file for 'arb'
+pkgname=arb
+version=2.19.0
+revision=1
+build_style="configure"
+configure_args="--prefix=/usr --with-gmp=/usr --with-mpfr=/usr --with-flint=/usr"
+makedepends="flintlib-devel"
+short_desc="C library for arbitrary-precision interval arithmetic"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="LGPL-2.1-or-later"
+homepage="https://arblib.org"
+distfiles="https://github.com/fredrik-johansson/arb/archive/${version}.tar.gz"
+checksum=0aec6b492b6e9a543bdb3287a91f976951e2ba74fd4de942e692e21f7edbcf13
+nocross=yes
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS="-D_GNU_SOURCE"
+fi
+
+arb-devel_package() {
+	depends="arb-${version}_${revision}"
+	depends+=" flintlib-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+	}
+}

From e1713d4cbc323267e5ce3b4e92a22822f685496c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Mon, 1 Jun 2020 14:50:01 -0300
Subject: [PATCH 5/6] New package: eclib-20210318

---
 common/shlibs                             |  1 +
 srcpkgs/eclib-devel                       |  1 +
 srcpkgs/eclib/patches/set_precision.patch | 34 +++++++++++++++++++++++
 srcpkgs/eclib/template                    | 30 ++++++++++++++++++++
 4 files changed, 66 insertions(+)
 create mode 120000 srcpkgs/eclib-devel
 create mode 100644 srcpkgs/eclib/patches/set_precision.patch
 create mode 100644 srcpkgs/eclib/template

diff --git a/common/shlibs b/common/shlibs
index 85a262ec5070..274e456db446 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -3962,6 +3962,7 @@ libgf2x.so.3 gf2x-1.3.0_1
 libntl.so.43 ntl-11.4.4_1
 libflint.so.15 flintlib-2.7.1_1
 libarb.so.2 arb-2.19.0_1
+libec.so.7 eclib-20210318_1
 libwayland-client++.so.0 libwaylandpp-0.2.8_1
 libwayland-cursor++.so.0 libwaylandpp-0.2.8_1
 libwayland-egl++.so.0 libwaylandpp-0.2.8_1
diff --git a/srcpkgs/eclib-devel b/srcpkgs/eclib-devel
new file mode 120000
index 000000000000..d29e610e9249
--- /dev/null
+++ b/srcpkgs/eclib-devel
@@ -0,0 +1 @@
+eclib
\ No newline at end of file
diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
new file mode 100644
index 000000000000..d1b6072ff399
--- /dev/null
+++ b/srcpkgs/eclib/patches/set_precision.patch
@@ -0,0 +1,34 @@
+This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
+
+See: https://github.com/JohnCremona/eclib/issues/68
+
+--- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
++++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
+@@ -240,7 +240,7 @@
+ 
+ // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
+ inline void set_precision(long n)
+-{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
++{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
+ 
+ // Mostly for backward compatibility (used in saturate.cc) or for
+ // temporarily changing internal precision when no output is relevant:
+@@ -252,7 +252,7 @@
+   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
+ 
+ // read current precision converted to decimal (approximately)
+-inline long decimal_precision() {return long(RR::precision()*0.3);}
++inline long decimal_precision() {return long(RR::precision()*0.3L);}
+ 
+ // read current bit precision
+ inline long bit_precision() {return RR::precision();}
+@@ -289,7 +289,7 @@
+ inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
+ 
+ // We cannot set internal bit precision in this mode, so we just set the output decimal precision
+-inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
++inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
+ inline void set_precision(const string prompt)  {cout.precision(15);}
+ #define Pi()    3.1415926535897932384626433832795028841
+ #define Euler() (0.57721566490153286060651209008240243104)
+
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
new file mode 100644
index 000000000000..e545d06eb5e4
--- /dev/null
+++ b/srcpkgs/eclib/template
@@ -0,0 +1,30 @@
+# Template file for 'eclib'
+pkgname=eclib
+version=20210318
+revision=1
+build_style=gnu-configure
+configure_args="--with-flint --with-boost"
+hostmakedepends="automake autoconf-archive libtool"
+makedepends="pari-devel ntl-devel flintlib-devel boost-devel"
+short_desc="Elliptic curve library, includes mwrank"
+maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
+license="GPL-2.0-or-later"
+homepage="https://github.com/JohnCremona/eclib"
+distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
+checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+
+pre_configure() {
+	./autogen.sh
+}
+
+eclib-devel_package() {
+	depends="eclib-${version}_${revision}"
+	depends+=" ntl-devel"
+	short_desc+=" - development files"
+	pkg_install() {
+		vmove "usr/include"
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove "usr/lib/pkgconfig"
+	}
+}

From 489dd593d2f64e456d5658f5c79b979a7cf3d901 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Gonzalo=20Tornar=C3=ADa?= <tornaria@cmat.edu.uy>
Date: Thu, 8 Apr 2021 22:58:13 -0300
Subject: [PATCH 6/6] eclib: update to 20210408.

---
 srcpkgs/eclib/patches/set_precision.patch | 34 -----------------------
 srcpkgs/eclib/template                    |  4 +--
 2 files changed, 2 insertions(+), 36 deletions(-)
 delete mode 100644 srcpkgs/eclib/patches/set_precision.patch

diff --git a/srcpkgs/eclib/patches/set_precision.patch b/srcpkgs/eclib/patches/set_precision.patch
deleted file mode 100644
index d1b6072ff399..000000000000
--- a/srcpkgs/eclib/patches/set_precision.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-This changes 0.3 by 0.3L, otherwise tests fail in i686 due to different rounding.
-
-See: https://github.com/JohnCremona/eclib/issues/68
-
---- libsrc/eclib/interface.h    2021-03-18 12:22:52.000000000 -0300
-+++ libsrc/eclib/interface.h    2021-04-05 15:15:52.355310137 -0300
-@@ -240,7 +240,7 @@
- 
- // Set internal precision to n bits and output precision to (0.3*n)-1 decimal places
- inline void set_precision(long n)
--{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3*n)-1);}
-+{RR::SetPrecision(n); RR::SetOutputPrecision(long(0.3L*n)-1);}
- 
- // Mostly for backward compatibility (used in saturate.cc) or for
- // temporarily changing internal precision when no output is relevant:
-@@ -252,7 +252,7 @@
-   {long n; cerr<<prompt<<": "; cin>>n; set_precision(n);}
- 
- // read current precision converted to decimal (approximately)
--inline long decimal_precision() {return long(RR::precision()*0.3);}
-+inline long decimal_precision() {return long(RR::precision()*0.3L);}
- 
- // read current bit precision
- inline long bit_precision() {return RR::precision();}
-@@ -289,7 +289,7 @@
- inline int is_approx_zero(double x) {return fabs(x)<1e-10;}
- 
- // We cannot set internal bit precision in this mode, so we just set the output decimal precision
--inline void set_precision(long n) {cout.precision(min(15,long(0.3*n)));}
-+inline void set_precision(long n) {cout.precision(min(15,long(0.3L*n)));}
- inline void set_precision(const string prompt)  {cout.precision(15);}
- #define Pi()    3.1415926535897932384626433832795028841
- #define Euler() (0.57721566490153286060651209008240243104)
-
diff --git a/srcpkgs/eclib/template b/srcpkgs/eclib/template
index e545d06eb5e4..542ae4aae14f 100644
--- a/srcpkgs/eclib/template
+++ b/srcpkgs/eclib/template
@@ -1,6 +1,6 @@
 # Template file for 'eclib'
 pkgname=eclib
-version=20210318
+version=20210408
 revision=1
 build_style=gnu-configure
 configure_args="--with-flint --with-boost"
@@ -11,7 +11,7 @@ maintainer="Gonzalo Tornaría <tornaria@cmat.edu.uy>"
 license="GPL-2.0-or-later"
 homepage="https://github.com/JohnCremona/eclib"
 distfiles="https://github.com/JohnCremona/eclib/archive/refs/tags/${version}.tar.gz"
-checksum=8ca611e818cc3acdd54c800be66f66219a52603516bff048d350dd1e95605484
+checksum=5354ea8edfedff7f10adeb8c5f8f3705dbeccb56e2840ab1eb2b3fad981c0e22
 
 pre_configure() {
 	./autogen.sh

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-09  2:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-06  3:35 [PR PATCH] More math libraries and tools tornaria
2021-04-06  3:53 ` abenson
2021-04-06  5:05 ` Math packages: gf2x, ntl, flintlib, arb, eclib tornaria
2021-04-06  5:05 ` tornaria
2021-04-07 12:53 ` dkwo
2021-04-09  2:10 ` [PR PATCH] [Updated] " tornaria

Github messages for voidlinux

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.vuxu.org/voidlinux-github

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V1 voidlinux-github voidlinux-github/ http://inbox.vuxu.org/voidlinux-github \
		voidlinux-github@inbox.vuxu.org
	public-inbox-index voidlinux-github

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.vuxu.org/vuxu.github.voidlinux


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git