Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r74502 - in sandbox/multiprecision: build doc example license src src/backends src/backends/float src/backends/float/efx src/backends/float/gmp src/backends/float/gmp/4-2-4 src/backends/float/gmp/4-2-4/vc9 src/backends/float/gmp/4-2-4/vc9/p4 src/backends/float/gmp/4-2-4/vc9/x64 src/backends/float/mpfr src/backends/float/mpfr/2-4-1 src/backends/float/mpfr/2-4-1/vc9 src/backends/float/mpfr/2-4-1/vc9/p4 src/backends/float/mpfr/2-4-1/vc9/x64 src/functions src/functions/constants src/functions/elementary src/functions/gamma src/functions/integer src/functions/tables src/functions/zeta src/utility test test/e_float_numerical_test test/imag test/imag/cases test/linpack_test test/linpack_test/gmp test/linpack_test/libf2c test/linpack_test/libf2c/vc9 test/linpack_test/libf2c/vc9/p4 test/linpack_test/libf2c/vc9/x64 test/naive_test test/real test/real/cases test/spot
From: e_float_at_[hidden]
Date: 2011-09-21 17:18:30


Author: christopher_kormanyos
Date: 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
New Revision: 74502
URL: http://svn.boost.org/trac/boost/changeset/74502

Log:
- Added contents to Boost.Multiprecision.
Added:
   sandbox/multiprecision/build/
   sandbox/multiprecision/build/Makefile (contents, props changed)
   sandbox/multiprecision/build/MakefileFiles.gmk (contents, props changed)
   sandbox/multiprecision/build/multiprecision.vcxproj (contents, props changed)
   sandbox/multiprecision/build/multiprecision.vcxproj.filters (contents, props changed)
   sandbox/multiprecision/build/multiprecision_vs2010.sln (contents, props changed)
   sandbox/multiprecision/build/vc_libs.txt (contents, props changed)
   sandbox/multiprecision/doc/
   sandbox/multiprecision/example/
   sandbox/multiprecision/example/example_001_basic_usage_real.cpp (contents, props changed)
   sandbox/multiprecision/example/example_002_basic_usage_imag.cpp (contents, props changed)
   sandbox/multiprecision/example/example_005_recursive_trapezoid_integral.cpp (contents, props changed)
   sandbox/multiprecision/example/example_008_gauss_laguerre.cpp (contents, props changed)
   sandbox/multiprecision/example/examples.h (contents, props changed)
   sandbox/multiprecision/license/
   sandbox/multiprecision/license/ACM_e_float_boost_license.pdf (contents, props changed)
   sandbox/multiprecision/license/LICENSE_1_0.pdf (contents, props changed)
   sandbox/multiprecision/license/LICENSE_1_0.txt (contents, props changed)
   sandbox/multiprecision/src/
   sandbox/multiprecision/src/backends/
   sandbox/multiprecision/src/backends/float/
   sandbox/multiprecision/src/backends/float/efx/
   sandbox/multiprecision/src/backends/float/efx/mp_float_efx.cpp (contents, props changed)
   sandbox/multiprecision/src/backends/float/gmp/
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/p4/
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib (contents, props changed)
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/p4/gmp.pdb (contents, props changed)
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/x64/
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib (contents, props changed)
   sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/x64/gmp.pdb (contents, props changed)
   sandbox/multiprecision/src/backends/float/gmp/mp_float_gmp.cpp (contents, props changed)
   sandbox/multiprecision/src/backends/float/gmp/mp_float_gmp_protos.h (contents, props changed)
   sandbox/multiprecision/src/backends/float/mp_float.cpp (contents, props changed)
   sandbox/multiprecision/src/backends/float/mp_float_base.cpp (contents, props changed)
   sandbox/multiprecision/src/backends/float/mpfr/
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/p4/
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/p4/mpfr.lib (contents, props changed)
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/p4/mpfr.pdb (contents, props changed)
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/x64/
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.lib (contents, props changed)
   sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.pdb (contents, props changed)
   sandbox/multiprecision/src/backends/float/mpfr/mp_float_mpfr.cpp (contents, props changed)
   sandbox/multiprecision/src/backends/float/mpfr/mp_float_mpfr_protos.h (contents, props changed)
   sandbox/multiprecision/src/functions/
   sandbox/multiprecision/src/functions/constants/
   sandbox/multiprecision/src/functions/constants/constants.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/elementary/
   sandbox/multiprecision/src/functions/elementary/elementary_complex.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/elementary/elementary_hyper_g.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/elementary/elementary_math.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/elementary/elementary_trans.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/elementary/elementary_trig.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/gamma/
   sandbox/multiprecision/src/functions/gamma/factorial.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/gamma/factorial2.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/gamma/gamma.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/gamma/gamma_util.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/gamma/gamma_util.h (contents, props changed)
   sandbox/multiprecision/src/functions/gamma/pochhammer.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/integer/
   sandbox/multiprecision/src/functions/integer/bernoulli_b.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/integer/prime.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/integer/prime_factor.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/integer/prime_factors.h (contents, props changed)
   sandbox/multiprecision/src/functions/tables/
   sandbox/multiprecision/src/functions/tables/A000142.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/tables/A000367.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/tables/A002445.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/tables/A006882.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/tables/A007318.cpp (contents, props changed)
   sandbox/multiprecision/src/functions/tables/tables.h (contents, props changed)
   sandbox/multiprecision/src/functions/zeta/
   sandbox/multiprecision/src/functions/zeta/zeta.cpp (contents, props changed)
   sandbox/multiprecision/src/utility/
   sandbox/multiprecision/src/utility/util_digit_scale.cpp (contents, props changed)
   sandbox/multiprecision/src/utility/util_power_j_pow_x.cpp (contents, props changed)
   sandbox/multiprecision/src/utility/util_timer.cpp (contents, props changed)
   sandbox/multiprecision/test/
   sandbox/multiprecision/test/Jamfile.v2 (contents, props changed)
   sandbox/multiprecision/test/e_float_numerical_test/
   sandbox/multiprecision/test/e_float_numerical_test/e_float_test.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/
   sandbox/multiprecision/test/imag/cases/
   sandbox/multiprecision/test/imag/cases/test_case_02101_z_sin.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02102_z_cos.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02103_z_exp.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02104_z_log.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02105_z_sqrt.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02106_z_rootn.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02111_z_asin.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02112_z_acos.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02113_z_atan.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02114_z_various_trig.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02115_z_various_elem_trans_log.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02116_z_various_elem.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02121_z_sinh.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02122_z_cosh.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02123_z_tanh.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02124_z_asinh.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02125_z_acosh.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02126_z_atanh.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02201_z_gamma.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02202_z_gamma_medium_x.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02901_z_zeta_small_x.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02902_z_zeta_all_x.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02903_z_zeta_neg_x.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/cases/test_case_02911_z_zeta_crit_strip.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/test_case_imag.h (contents, props changed)
   sandbox/multiprecision/test/imag/test_imag.cpp (contents, props changed)
   sandbox/multiprecision/test/imag/test_imag.h (contents, props changed)
   sandbox/multiprecision/test/linpack_test/
   sandbox/multiprecision/test/linpack_test/gmp/
   sandbox/multiprecision/test/linpack_test/gmp/gmp.h (contents, props changed)
   sandbox/multiprecision/test/linpack_test/gmp/gmpxx.h (contents, props changed)
   sandbox/multiprecision/test/linpack_test/libf2c/
   sandbox/multiprecision/test/linpack_test/libf2c/f2c.h (contents, props changed)
   sandbox/multiprecision/test/linpack_test/libf2c/vc9/
   sandbox/multiprecision/test/linpack_test/libf2c/vc9/p4/
   sandbox/multiprecision/test/linpack_test/libf2c/vc9/p4/libf2c.lib (contents, props changed)
   sandbox/multiprecision/test/linpack_test/libf2c/vc9/x64/
   sandbox/multiprecision/test/linpack_test/libf2c/vc9/x64/libf2c.lib (contents, props changed)
   sandbox/multiprecision/test/linpack_test/linpack-benchmark.cpp (contents, props changed)
   sandbox/multiprecision/test/naive_test/
   sandbox/multiprecision/test/naive_test/naive_test.cpp (contents, props changed)
   sandbox/multiprecision/test/real/
   sandbox/multiprecision/test/real/cases/
   sandbox/multiprecision/test/real/cases/test_case_0000x_overflow_underflow.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_0000y_write_to_ostream.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_0000z_global_ops_pod.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00011_various_elem_math.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00021_bernoulli.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00051_factorial.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00052_factorial2.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00071_various_int_func.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00101_sin.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00102_cos.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00103_exp.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00104_log.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00105_sqrt.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00106_rootn.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00111_sin_small_x.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00112_cos_x_near_pi_half.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00113_atan_x_small_to_large.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00114_various_trig.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00115_various_elem_trans.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00121_sinh.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00122_cosh.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00123_tanh.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00124_asinh.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00125_acosh.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00126_atanh.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00201_gamma.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00202_gamma_medium_x.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00203_gamma_small_x.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00204_gamma_tiny_x.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00205_gamma_near_neg_n.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00221_various_gamma_func.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00901_zeta_small_x.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00902_zeta_all_x.cpp (contents, props changed)
   sandbox/multiprecision/test/real/cases/test_case_00903_zeta_neg_x.cpp (contents, props changed)
   sandbox/multiprecision/test/real/test_case_real.h (contents, props changed)
   sandbox/multiprecision/test/real/test_real.cpp (contents, props changed)
   sandbox/multiprecision/test/real/test_real.h (contents, props changed)
   sandbox/multiprecision/test/spot/
   sandbox/multiprecision/test/spot/test_spot.cpp (contents, props changed)
   sandbox/multiprecision/test/spot/test_spot.h (contents, props changed)
   sandbox/multiprecision/test/test.cpp (contents, props changed)
   sandbox/multiprecision/test/test_case_base.cpp (contents, props changed)
   sandbox/multiprecision/test/test_case_base.h (contents, props changed)

Added: sandbox/multiprecision/build/Makefile
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/build/Makefile 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,194 @@
+
+# Copyright Christopher Kormanyos 2002 - 2011.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+# This work is based on an earlier work:
+# "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+# in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+###############################################################
+#
+# Makefile for multiprecision
+#
+###############################################################
+
+
+# ------------------------------------------------------------------------------
+# filelist
+# ------------------------------------------------------------------------------
+include MakefileFiles.gmk
+
+ifeq ($(MP),)
+ TYPE_MP = efx
+endif
+
+ifeq ($(MP),efx)
+ TYPE_MP = efx
+endif
+
+ifeq ($(MP),gmp)
+ TYPE_MP = gmp
+endif
+
+ifeq ($(MP),mpfr)
+ TYPE_MP = mpfr
+endif
+
+# ------------------------------------------------------------------------------
+# symbols
+# ------------------------------------------------------------------------------
+PAR_OPEN = \(
+PAR_CLOSE = \)
+
+
+# ------------------------------------------------------------------------------
+# targets
+# ------------------------------------------------------------------------------
+PATH_TARGET = unix-$(TYPE_MP)
+PATH_OBJ = $(PATH_TARGET)/obj
+PATH_ERR = $(PATH_TARGET)/err
+TARGET = mp_float
+EXTENSION = exe
+
+
+# ------------------------------------------------------------------------------
+# Tool parameters
+# ------------------------------------------------------------------------------
+CFLAGS_BASE = -std=c++0x -O3 -DBOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50 -I../../../
+CFLAGS_WARN = -Wall -Wextra -pedantic
+LFLAGS_BASE =
+
+ifeq ($(TYPE_MP),efx)
+ CFLAGS_BASE := $(CFLAGS_BASE) -DBOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX
+ FILES_MP_TYPE = ../src/backends/float/efx/mp_float_efx
+endif
+
+ifeq ($(TYPE_MP),gmp)
+ CFLAGS_BASE := $(CFLAGS_BASE) -DBOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_GMP
+ LFLAGS_BASE := $(LFLAGS_BASE) -lgmp
+ FILES_MP_TYPE = ../src/backends/float/gmp/mp_float_gmp
+endif
+
+ifeq ($(TYPE_MP),mpfr)
+ CFLAGS_BASE := $(CFLAGS_BASE) -DBOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_MPFR
+ LFLAGS_BASE := $(LFLAGS_BASE) -lgmp -lmpfr
+ FILES_MP_TYPE = ../src/backends/float/mpfr/mp_float_mpfr
+endif
+
+CFLAGS = $(CFLAGS_BASE) $(CFLAGS_WARN)
+CFLAGS_NOWARN = $(CFLAGS_BASE)
+LFLAGS = $(LFLAGS_BASE)
+
+
+# ------------------------------------------------------------------------------
+# object files
+# ------------------------------------------------------------------------------
+FILES_ALL = $(FILES_MP_TYPE) \
+ $(FILES_MP) \
+ $(FILES_UTILITY) \
+ $(FILES_FUNCTIONS) \
+ $(FILES_EXAMPLES) \
+ $(FILES_TEST) \
+ $(FILES_TEST_SPOT) \
+ $(FILES_TEST_REAL) \
+ $(FILES_TEST_IMAG)
+
+FILES_O = $(addprefix $(PATH_OBJ)/, $(notdir $(addsuffix .o, $(FILES_ALL))))
+
+
+# ------------------------------------------------------------------------------
+# VPATH definition: VPATH is required for make to find the source files.
+# ------------------------------------------------------------------------------
+VPATH := $(sort $(dir $(FILES_ALL)))
+
+
+# ------------------------------------------------------------------------------
+# Development tools
+# ------------------------------------------------------------------------------
+#GCC = i686-w64-mingw32-gcc
+#CC = i686-w64-mingw32-g++
+GCC = gcc
+CC = g++
+SED = sed
+ECHO = echo
+MAKE = make
+MKDIR = mkdir
+RM = rm
+GAWK = gawk
+
+
+# ------------------------------------------------------------------------------
+# Main-Dependencies (target: all)
+# ------------------------------------------------------------------------------
+.PHONY: all
+all: OutputDirs Version $(PATH_TARGET)/$(TARGET).$(EXTENSION)
+
+
+# ------------------------------------------------------------------------------
+# Main-Dependencies (target: rebuild)
+# ------------------------------------------------------------------------------
+.PHONY: rebuild
+rebuild: clean all
+
+
+# ------------------------------------------------------------------------------
+# Clean project (target: clean)
+# ------------------------------------------------------------------------------
+.PHONY: clean
+clean: Version
+ @$(ECHO) +++ cleaning all
+ @-$(RM) -f $(PATH_TARGET)/$(TARGET).$(EXTENSION) > NUL 2> NUL
+ @-$(RM) -f $(PATH_OBJ)/*.* > NUL 2> NUL
+ @-$(RM) -f $(PATH_ERR)/*.* > NUL 2> NUL
+
+
+# ------------------------------------------------------------------------------
+# create output directories
+# ------------------------------------------------------------------------------
+.PHONY: OutputDirs
+OutputDirs:
+ # Create the output directories
+ @-$(MKDIR) -p $(PATH_TARGET)
+ @-$(MKDIR) -p $(PATH_OBJ)
+ @-$(MKDIR) -p $(PATH_ERR)
+
+
+# ------------------------------------------------------------------------------
+# version information
+# ------------------------------------------------------------------------------
+.PHONY: Version
+Version:
+ # Print the GNU make version and the GCC version
+ @-$(MAKE) --version | $(GAWK) '{ if(match($$0, "Make") > 0) print("GNUmake version: " $$0) }'
+ @-$(GCC) --version | $(GAWK) '{ if(match($$0, "gcc") > 0) print("GCC version: " $$0) }'
+
+
+# ------------------------------------------------------------------------------
+# link/locate application
+# ------------------------------------------------------------------------------
+$(PATH_TARGET)/$(TARGET).$(EXTENSION) : $(FILES_O)
+ @$(ECHO) +++ linking application: link to $(PATH_TARGET)/$(TARGET).$(EXTENSION)
+ @$(CC) $(FILES_O) $(LFLAGS) -o $(PATH_TARGET)/$(TARGET).$(EXTENSION)
+
+
+# ------------------------------------------------------------------------------
+# include dependency files
+# ------------------------------------------------------------------------------
+ifneq ($(MAKECMDGOALS),rebuild)
+-include $(subst .o,.d, $(FILES_O))
+endif
+
+
+# ------------------------------------------------------------------------------
+# pattern rule for cpp-files
+# ------------------------------------------------------------------------------
+$(PATH_OBJ)/%.o : %.cpp
+ # Compile the source file...
+ # ...and Reformat (using sed) any possible error/warning messages for the Visual Studio build window
+ # ...and Generate a dependency file (using the g++ flag -MM), reformating it with sed
+ @-$(ECHO) +++ compiling: $<
+ @-$(CC) $(CFLAGS) $< -c -o $(PATH_OBJ)/$(basename $(@F)).o 2> $(PATH_ERR)/$(basename $(@F)).err
+ @-$(SED) -e 's|.h:\([0-9]*\),|.h(\1) :|' -e 's|:\([0-9]*\):|(\1) :|' $(PATH_ERR)/$(basename $(@F)).err
+ @-$(CC) $(CFLAGS) -MM $< | $(SED) -e 's|\($(basename $(@F)).o\):|$(PATH_OBJ)/\1:|' > $(PATH_OBJ)/$(basename $(@F)).d

Added: sandbox/multiprecision/build/MakefileFiles.gmk
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/build/MakefileFiles.gmk 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,133 @@
+
+# Copyright Christopher Kormanyos 2002 - 2011.
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+
+# This work is based on an earlier work:
+# "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+# in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#
+# multiprecision files
+#
+FILES_MP = ../src/backends/float/mp_float \
+ ../src/backends/float/mp_float_base
+
+#
+# Utility files
+#
+FILES_UTILITY = ../src/utility/util_digit_scale \
+ ../src/utility/util_power_j_pow_x \
+ ../src/utility/util_timer
+
+#
+# Function files
+#
+FILES_FUNCTIONS = ../src/functions/constants/constants \
+ ../src/functions/elementary/elementary_complex \
+ ../src/functions/elementary/elementary_hyper_g \
+ ../src/functions/elementary/elementary_math \
+ ../src/functions/elementary/elementary_trans \
+ ../src/functions/elementary/elementary_trig \
+ ../src/functions/gamma/factorial \
+ ../src/functions/gamma/factorial2 \
+ ../src/functions/gamma/gamma \
+ ../src/functions/gamma/gamma_util \
+ ../src/functions/gamma/pochhammer \
+ ../src/functions/integer/bernoulli_b \
+ ../src/functions/integer/prime \
+ ../src/functions/integer/prime_factor \
+ ../src/functions/tables/A000142 \
+ ../src/functions/tables/A000367 \
+ ../src/functions/tables/A002445 \
+ ../src/functions/tables/A006882 \
+ ../src/functions/tables/A007318 \
+ ../src/functions/zeta/zeta
+
+#
+# Example files
+#
+FILES_EXAMPLES = ../example/example_001_basic_usage_real \
+ ../example/example_002_basic_usage_imag \
+ ../example/example_005_recursive_trapezoid_integral \
+ ../example/example_008_gauss_laguerre
+
+#
+# Test files
+#
+FILES_TEST = ../test/test \
+ ../test/test_case_base
+
+#
+# Spot test files
+#
+FILES_TEST_SPOT = ../test/spot/test_spot
+
+#
+# Real test files
+#
+FILES_TEST_REAL = ../test/real/test_real \
+ ../test/real/cases/test_case_0000x_overflow_underflow \
+ ../test/real/cases/test_case_0000y_write_to_ostream \
+ ../test/real/cases/test_case_0000z_global_ops_pod \
+ ../test/real/cases/test_case_00011_various_elem_math \
+ ../test/real/cases/test_case_00021_bernoulli \
+ ../test/real/cases/test_case_00051_factorial \
+ ../test/real/cases/test_case_00052_factorial2 \
+ ../test/real/cases/test_case_00071_various_int_func \
+ ../test/real/cases/test_case_00101_sin \
+ ../test/real/cases/test_case_00102_cos \
+ ../test/real/cases/test_case_00103_exp \
+ ../test/real/cases/test_case_00104_log \
+ ../test/real/cases/test_case_00105_sqrt \
+ ../test/real/cases/test_case_00106_rootn \
+ ../test/real/cases/test_case_00111_sin_small_x \
+ ../test/real/cases/test_case_00112_cos_x_near_pi_half \
+ ../test/real/cases/test_case_00113_atan_x_small_to_large \
+ ../test/real/cases/test_case_00114_various_trig \
+ ../test/real/cases/test_case_00115_various_elem_trans \
+ ../test/real/cases/test_case_00121_sinh \
+ ../test/real/cases/test_case_00122_cosh \
+ ../test/real/cases/test_case_00123_tanh \
+ ../test/real/cases/test_case_00124_asinh \
+ ../test/real/cases/test_case_00125_acosh \
+ ../test/real/cases/test_case_00126_atanh \
+ ../test/real/cases/test_case_00201_gamma \
+ ../test/real/cases/test_case_00202_gamma_medium_x \
+ ../test/real/cases/test_case_00203_gamma_small_x \
+ ../test/real/cases/test_case_00204_gamma_tiny_x \
+ ../test/real/cases/test_case_00205_gamma_near_neg_n \
+ ../test/real/cases/test_case_00221_various_gamma_func \
+ ../test/real/cases/test_case_00901_zeta_small_x \
+ ../test/real/cases/test_case_00902_zeta_all_x \
+ ../test/real/cases/test_case_00903_zeta_neg_x
+
+#
+# Imag test files
+#
+FILES_TEST_IMAG = ../test/imag/test_imag \
+ ../test/imag/cases/test_case_02101_z_sin \
+ ../test/imag/cases/test_case_02102_z_cos \
+ ../test/imag/cases/test_case_02103_z_exp \
+ ../test/imag/cases/test_case_02104_z_log \
+ ../test/imag/cases/test_case_02105_z_sqrt \
+ ../test/imag/cases/test_case_02106_z_rootn \
+ ../test/imag/cases/test_case_02111_z_asin \
+ ../test/imag/cases/test_case_02112_z_acos \
+ ../test/imag/cases/test_case_02113_z_atan \
+ ../test/imag/cases/test_case_02114_z_various_trig \
+ ../test/imag/cases/test_case_02115_z_various_elem_trans_log \
+ ../test/imag/cases/test_case_02116_z_various_elem \
+ ../test/imag/cases/test_case_02121_z_sinh \
+ ../test/imag/cases/test_case_02122_z_cosh \
+ ../test/imag/cases/test_case_02123_z_tanh \
+ ../test/imag/cases/test_case_02124_z_asinh \
+ ../test/imag/cases/test_case_02125_z_acosh \
+ ../test/imag/cases/test_case_02126_z_atanh \
+ ../test/imag/cases/test_case_02201_z_gamma \
+ ../test/imag/cases/test_case_02202_z_gamma_medium_x \
+ ../test/imag/cases/test_case_02901_z_zeta_small_x \
+ ../test/imag/cases/test_case_02902_z_zeta_all_x \
+ ../test/imag/cases/test_case_02903_z_zeta_neg_x \
+ ../test/imag/cases/test_case_02911_z_zeta_crit_strip

Added: sandbox/multiprecision/build/multiprecision.vcxproj
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/build/multiprecision.vcxproj 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,1344 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug-efx|Win32">
+ <Configuration>debug-efx</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="debug-efx|x64">
+ <Configuration>debug-efx</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="debug-gmp|Win32">
+ <Configuration>debug-gmp</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="debug-gmp|x64">
+ <Configuration>debug-gmp</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="debug-mpfr|Win32">
+ <Configuration>debug-mpfr</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="debug-mpfr|x64">
+ <Configuration>debug-mpfr</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release-efx|Win32">
+ <Configuration>release-efx</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release-efx|x64">
+ <Configuration>release-efx</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release-gmp|Win32">
+ <Configuration>release-gmp</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release-gmp|x64">
+ <Configuration>release-gmp</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release-mpfr|Win32">
+ <Configuration>release-mpfr</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release-mpfr|x64">
+ <Configuration>release-mpfr</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{79DD124E-E120-40F3-B2F1-127419BDC295}</ProjectGuid>
+ <RootNamespace>multiprecision</RootNamespace>
+ <ProjectName>multiprecision</ProjectName>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'" Label="Configuration">
+ <ConfigurationType>Application</ConfigurationType>
+ <UseOfMfc>false</UseOfMfc>
+ <CharacterSet>MultiByte</CharacterSet>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <ImportGroup Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'" Label="PropertySheets">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" />
+ </ImportGroup>
+ <PropertyGroup Label="UserMacros" />
+ <PropertyGroup>
+ <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">$(SolutionDir)win32-release-gmp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">$(SolutionDir)x64-release-gmp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">$(SolutionDir)win32-release-efx\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">$(SolutionDir)x64-release-efx\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">$(SolutionDir)win32-debug-gmp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">$(SolutionDir)x64-debug-gmp\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">$(SolutionDir)win32-debug-efx\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">$(SolutionDir)x64-debug-efx\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">$(SolutionDir)win32-release-mpfr\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">$(SolutionDir)x64-release-mpfr\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">$(SolutionDir)win32-debug-mpfr\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">$(OutDir)</IntDir>
+ <OutDir Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">$(SolutionDir)x64-debug-mpfr\</OutDir>
+ <IntDir Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">$(OutDir)</IntDir>
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'" />
+ <CodeAnalysisRuleSet Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'" />
+ <CodeAnalysisRuleAssemblies Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'" />
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">
+ <Midl>
+ <TypeLibraryName>.\release-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;NDEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_GMP;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level4</WarningLevel>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\release-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;NDEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_GMP;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level4</WarningLevel>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">
+ <Midl>
+ <TypeLibraryName>.\release-efx/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;NDEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level4</WarningLevel>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\release-efx/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;NDEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX;_SECURE_SCL= 0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level4</WarningLevel>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">
+ <Midl>
+ <TypeLibraryName>.\debug-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;_DEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_GMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/NODEFAULTLIB:LIBCMT %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(IntDir)multiprecision_debug.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\debug-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;_DEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_GMP;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/NODEFAULTLIB:LIBCMT %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(IntDir)multiprecision_debug.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">
+ <Midl>
+ <TypeLibraryName>.\debug-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;_DEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(IntDir)multiprecision_debug.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\debug-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;_DEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(IntDir)multiprecision_debug.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">
+ <Midl>
+ <TypeLibraryName>.\release-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;NDEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_MPFR;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level4</WarningLevel>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib;../src/backends/float/mpfr/2-4-1/vc9/p4/mpfr.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\release-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>MaxSpeed</Optimization>
+ <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+ <FavorSizeOrSpeed>Speed</FavorSizeOrSpeed>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;NDEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_MPFR;_SECURE_SCL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <WarningLevel>Level4</WarningLevel>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib;../src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">
+ <Midl>
+ <TypeLibraryName>.\debug-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;_DEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_MPFR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <AssemblerListingLocation>.\debug-gmp/</AssemblerListingLocation>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/NODEFAULTLIB:LIBCMT %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib;../src/backends/float/mpfr/2-4-1/vc9/p4/mpfr.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(IntDir)multiprecision_debug.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ </ItemDefinitionGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">
+ <Midl>
+ <TargetEnvironment>X64</TargetEnvironment>
+ <TypeLibraryName>.\debug-gmp/multiprecision.tlb</TypeLibraryName>
+ <HeaderFileName>
+ </HeaderFileName>
+ </Midl>
+ <ClCompile>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(SolutionDir)../../../;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>WIN32;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50;_DEBUG;_CONSOLE;BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_MPFR;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>
+ </PrecompiledHeader>
+ <PrecompiledHeaderOutputFile>
+ </PrecompiledHeaderOutputFile>
+ <ObjectFileName>$(IntDir)</ObjectFileName>
+ <ProgramDataBaseFileName>$(IntDir)multiprecision.pdb</ProgramDataBaseFileName>
+ <BrowseInformation>true</BrowseInformation>
+ <WarningLevel>Level4</WarningLevel>
+ <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
+ <DisableSpecificWarnings>4996;%(DisableSpecificWarnings)</DisableSpecificWarnings>
+ </ClCompile>
+ <ResourceCompile>
+ <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <Culture>0x0407</Culture>
+ </ResourceCompile>
+ <Link>
+ <AdditionalOptions>/NODEFAULTLIB:LIBCMT %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalDependencies>../src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib;../src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)multiprecision.exe</OutputFile>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <ProgramDatabaseFile>$(IntDir)multiprecision_debug.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <RandomizedBaseAddress>false</RandomizedBaseAddress>
+ <DataExecutionPrevention>
+ </DataExecutionPrevention>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <Xdcmake>
+ <OutputFile>$(OutDir)multiprecision.xml</OutputFile>
+ </Xdcmake>
+ <Bscmake>
+ <OutputFile>$(OutDir)multiprecision.bsc</OutputFile>
+ </Bscmake>
+ <PostBuildEvent>
+ <Command>
+ </Command>
+ </PostBuildEvent>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\example\example_001_basic_usage_real.cpp" />
+ <ClCompile Include="..\example\example_002_basic_usage_imag.cpp" />
+ <ClCompile Include="..\example\example_005_recursive_trapezoid_integral.cpp" />
+ <ClCompile Include="..\example\example_008_gauss_laguerre.cpp" />
+ <ClCompile Include="..\src\backends\float\efx\mp_float_efx.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\gmp\mp_float_gmp.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\mpfr\mp_float_mpfr.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\mp_float.cpp" />
+ <ClCompile Include="..\src\backends\float\mp_float_base.cpp" />
+ <ClCompile Include="..\src\functions\gamma\factorial.cpp" />
+ <ClCompile Include="..\src\functions\gamma\factorial2.cpp" />
+ <ClCompile Include="..\src\functions\gamma\gamma.cpp" />
+ <ClCompile Include="..\src\functions\gamma\gamma_util.cpp" />
+ <ClCompile Include="..\src\functions\gamma\pochhammer.cpp" />
+ <ClCompile Include="..\src\functions\tables\A000142.cpp">
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">MaxSpeed</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">MaxSpeed</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">Disabled</Optimization>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">Disabled</Optimization>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A000367.cpp">
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">MaxSpeed</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">MaxSpeed</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</FunctionLevelLinking>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A002445.cpp">
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">MaxSpeed</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">MaxSpeed</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</FunctionLevelLinking>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <Optimization Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">Disabled</Optimization>
+ <InlineFunctionExpansion Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">OnlyExplicitInline</InlineFunctionExpansion>
+ <FavorSizeOrSpeed Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">Size</FavorSizeOrSpeed>
+ <StringPooling Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">false</StringPooling>
+ <FunctionLevelLinking Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</FunctionLevelLinking>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A006882.cpp" />
+ <ClCompile Include="..\src\functions\tables\A007318.cpp">
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ <AdditionalOptions Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">/bigobj %(AdditionalOptions)</AdditionalOptions>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\zeta\zeta.cpp" />
+ <ClCompile Include="..\src\functions\integer\bernoulli_b.cpp" />
+ <ClCompile Include="..\src\functions\integer\prime.cpp" />
+ <ClCompile Include="..\src\functions\integer\prime_factor.cpp" />
+ <ClCompile Include="..\src\functions\elementary\elementary_complex.cpp" />
+ <ClCompile Include="..\src\functions\elementary\elementary_hyper_g.cpp" />
+ <ClCompile Include="..\src\functions\elementary\elementary_math.cpp" />
+ <ClCompile Include="..\src\functions\elementary\elementary_trans.cpp" />
+ <ClCompile Include="..\src\functions\elementary\elementary_trig.cpp" />
+ <ClCompile Include="..\src\functions\constants\constants.cpp" />
+ <ClCompile Include="..\src\utility\util_digit_scale.cpp" />
+ <ClCompile Include="..\src\utility\util_power_j_pow_x.cpp" />
+ <ClCompile Include="..\src\utility\util_timer.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02101_z_sin.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02102_z_cos.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02103_z_exp.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02104_z_log.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02105_z_sqrt.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02106_z_rootn.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02111_z_asin.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02112_z_acos.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02113_z_atan.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02114_z_various_trig.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02115_z_various_elem_trans_log.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02116_z_various_elem.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02121_z_sinh.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02122_z_cosh.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02123_z_tanh.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02124_z_asinh.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02125_z_acosh.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02126_z_atanh.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02201_z_gamma.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02202_z_gamma_medium_x.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02901_z_zeta_small_x.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02902_z_zeta_all_x.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02903_z_zeta_neg_x.cpp" />
+ <ClCompile Include="..\test\imag\cases\test_case_02911_z_zeta_crit_strip.cpp" />
+ <ClCompile Include="..\test\imag\test_imag.cpp" />
+ <ClCompile Include="..\test\linpack_test\linpack-benchmark.cpp">
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">C:\boost\boost_1_47;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\test\naive_test\naive_test.cpp">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_0000x_overflow_underflow.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_0000y_write_to_ostream.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_0000z_global_ops_pod.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00011_various_elem_math.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00021_bernoulli.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00051_factorial.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00052_factorial2.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00071_various_int_func.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00101_sin.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00102_cos.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00103_exp.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00104_log.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00105_sqrt.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00106_rootn.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00111_sin_small_x.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00112_cos_x_near_pi_half.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00113_atan_x_small_to_large.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00114_various_trig.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00115_various_elem_trans.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00121_sinh.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00122_cosh.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00123_tanh.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00124_asinh.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00125_acosh.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00126_atanh.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00201_gamma.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00202_gamma_medium_x.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00203_gamma_small_x.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00204_gamma_tiny_x.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00205_gamma_near_neg_n.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00221_various_gamma_func.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00901_zeta_small_x.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00902_zeta_all_x.cpp" />
+ <ClCompile Include="..\test\real\cases\test_case_00903_zeta_neg_x.cpp" />
+ <ClCompile Include="..\test\real\test_real.cpp" />
+ <ClCompile Include="..\test\spot\test_spot.cpp" />
+ <ClCompile Include="..\test\test.cpp" />
+ <ClCompile Include="..\test\test_case_base.cpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_complex.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_base.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_efx.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_functions.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_gmp.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_mpfr.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_alternating_sum.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_coefficient_expansion.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_digit_scale.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_find_root_base.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_find_root_bisect.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_find_root_newton_raphson.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_function_base.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_function_derivative.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_function_operation.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_interpolate.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_numeric_cast.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_point.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_power_j_pow_x.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_power_x_pow_n.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_ranged_function_operation.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_timer.hpp" />
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_trapezoid.hpp" />
+ <ClInclude Include="..\example\examples.h" />
+ <ClInclude Include="..\src\backends\float\gmp\mp_float_gmp_protos.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </ClInclude>
+ <ClInclude Include="..\src\backends\float\mpfr\mp_float_mpfr_protos.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ </ClInclude>
+ <ClInclude Include="..\src\functions\integer\prime_factors.h" />
+ <ClInclude Include="..\test\imag\test_case_imag.h" />
+ <ClInclude Include="..\test\imag\test_imag.h" />
+ <ClInclude Include="..\test\linpack_test\gmp\gmp.h" />
+ <ClInclude Include="..\test\linpack_test\gmp\gmpxx.h" />
+ <ClInclude Include="..\test\linpack_test\libf2c\f2c.h" />
+ <ClInclude Include="..\test\real\test_case_real.h" />
+ <ClInclude Include="..\test\real\test_real.h" />
+ <ClInclude Include="..\test\spot\test_spot.h" />
+ <ClInclude Include="..\test\test_case_base.h" />
+ <CustomBuildStep Include="..\src\multiprecision\efx\multiprecision_efx.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <CustomBuildStep Include="..\src\multiprecision\efx\multiprecision_efx_array.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <CustomBuildStep Include="..\src\multiprecision\gmp\multiprecision_gmp.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <CustomBuildStep Include="..\src\multiprecision\gmp\multiprecision_gmp_protos.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <CustomBuildStep Include="..\src\multiprecision\gmp\multiprecision_gmp_types.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <CustomBuildStep Include="..\src\multiprecision\mpfr\multiprecision_mpfr.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <CustomBuildStep Include="..\src\multiprecision\mpfr\multiprecision_mpfr_protos.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <CustomBuildStep Include="..\src\multiprecision\mpfr\multiprecision_mpfr_types.h">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ </CustomBuildStep>
+ <ClInclude Include="..\src\functions\gamma\gamma_util.h" />
+ <ClInclude Include="..\src\functions\tables\tables.h" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="..\license\ACM_multiprecision_boost_license.pdf">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </None>
+ <None Include="..\license\LICENSE_1_0.pdf">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </None>
+ <None Include="..\license\LICENSE_1_0.txt">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </None>
+ <None Include="Makefile">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </None>
+ <None Include="MakefileFiles.gmk">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </None>
+ <None Include="vc_libs.txt">
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|Win32'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='debug-mpfr|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-efx|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-gmp|x64'">true</ExcludedFromBuild>
+ <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='release-mpfr|x64'">true</ExcludedFromBuild>
+ </None>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets">
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />
+ </ImportGroup>
+</Project>
\ No newline at end of file

Added: sandbox/multiprecision/build/multiprecision.vcxproj.filters
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/build/multiprecision.vcxproj.filters 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,534 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="libs">
+ <UniqueIdentifier>{dc618afc-db82-427e-b3a5-6441ed18c876}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision">
+ <UniqueIdentifier>{bc66d909-39fc-45a0-89a3-5ff18bbefa82}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\build">
+ <UniqueIdentifier>{82b321c5-a710-4378-b292-b4267b51cda3}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\example">
+ <UniqueIdentifier>{b5648d3e-3c94-4e6d-82fc-a792a1ff820f}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\licence">
+ <UniqueIdentifier>{e40684d3-e066-4eb2-9ab0-087f6548550c}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src">
+ <UniqueIdentifier>{eeb500a7-0118-4d22-bd9b-9d0f8a4f17ea}</UniqueIdentifier>
+ <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\functions">
+ <UniqueIdentifier>{d45e8aee-a017-4781-897d-be24935b78be}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\functions\gamma">
+ <UniqueIdentifier>{7dce61f1-00ec-4e54-93bd-a72352543dd4}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\functions\tables">
+ <UniqueIdentifier>{a5b13044-8e0c-40ff-9c41-68c0c75ba923}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\functions\zeta">
+ <UniqueIdentifier>{94b0b952-b3ad-45c3-985a-b9e41815545f}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\functions\integer">
+ <UniqueIdentifier>{4b82f0ab-4d72-4374-8907-8b953f02710f}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\functions\elementary">
+ <UniqueIdentifier>{1eedc77c-29e7-4f5b-8b96-ffd90d877815}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\functions\constants">
+ <UniqueIdentifier>{cc4f2986-d17b-422b-9586-109c3d0b49da}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test">
+ <UniqueIdentifier>{bbddb5ca-79f9-477f-8652-e38bbe8e40ea}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\real">
+ <UniqueIdentifier>{6a01c86d-31b9-4a46-9121-74bd203d7961}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\real\cases">
+ <UniqueIdentifier>{665a964c-4598-4dc6-a02f-d9ae5c2dddcf}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\spot">
+ <UniqueIdentifier>{0a9fb06d-b5cc-47e2-b25e-e917904aee2a}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\imag">
+ <UniqueIdentifier>{0c01fae0-3ff0-4f1a-ac00-d6238bdabd01}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\imag\cases">
+ <UniqueIdentifier>{c10ac75a-ed22-4f7d-89e1-4b0745923caf}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="boost">
+ <UniqueIdentifier>{f5907b86-108b-444b-9efc-f596cabf046f}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="boost\multiprecision">
+ <UniqueIdentifier>{087ba7fc-16a5-4e6d-b74a-3309a6462c13}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\linpack_test">
+ <UniqueIdentifier>{0aee33a7-b5df-4fb7-ba56-0865c0756b00}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\naive_test">
+ <UniqueIdentifier>{c1e4b722-ab0a-431d-a2fc-594922e9fcfe}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\linpack_test\libf2c">
+ <UniqueIdentifier>{73700a00-2458-408c-a554-8352b1fcf152}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\test\linpack_test\gmp">
+ <UniqueIdentifier>{8ed1a5cd-3ea1-4fc5-b19d-1ad9517e07d2}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\backends">
+ <UniqueIdentifier>{01e39304-f4d4-42b4-af61-697858303ab4}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\backends\float">
+ <UniqueIdentifier>{2f43ba4e-63e1-400f-8ba1-d21ea89c3b58}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\backends\float\efx">
+ <UniqueIdentifier>{f144bb12-c8de-4cc3-a45f-e28f1e69afc9}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\backends\float\gmp">
+ <UniqueIdentifier>{d4b78c47-26b2-49d0-8477-f530d6636723}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\backends\float\mpfr">
+ <UniqueIdentifier>{a497084a-d097-4a91-bb58-5a1304f5ae3b}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="libs\multiprecision\src\utility">
+ <UniqueIdentifier>{f184c194-4d14-4d89-b798-0645dda62457}</UniqueIdentifier>
+ </Filter>
+ <Filter Include="boost\multiprecision\utility">
+ <UniqueIdentifier>{f48c3eb7-68f5-405b-8c2b-053d6bc62c49}</UniqueIdentifier>
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\src\functions\gamma\factorial.cpp">
+ <Filter>libs\multiprecision\src\functions\gamma</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\gamma\factorial2.cpp">
+ <Filter>libs\multiprecision\src\functions\gamma</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\gamma\gamma.cpp">
+ <Filter>libs\multiprecision\src\functions\gamma</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\gamma\gamma_util.cpp">
+ <Filter>libs\multiprecision\src\functions\gamma</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\gamma\pochhammer.cpp">
+ <Filter>libs\multiprecision\src\functions\gamma</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A000142.cpp">
+ <Filter>libs\multiprecision\src\functions\tables</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A000367.cpp">
+ <Filter>libs\multiprecision\src\functions\tables</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A002445.cpp">
+ <Filter>libs\multiprecision\src\functions\tables</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A006882.cpp">
+ <Filter>libs\multiprecision\src\functions\tables</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\tables\A007318.cpp">
+ <Filter>libs\multiprecision\src\functions\tables</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\zeta\zeta.cpp">
+ <Filter>libs\multiprecision\src\functions\zeta</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\integer\bernoulli_b.cpp">
+ <Filter>libs\multiprecision\src\functions\integer</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\integer\prime.cpp">
+ <Filter>libs\multiprecision\src\functions\integer</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\integer\prime_factor.cpp">
+ <Filter>libs\multiprecision\src\functions\integer</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\elementary\elementary_complex.cpp">
+ <Filter>libs\multiprecision\src\functions\elementary</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\elementary\elementary_hyper_g.cpp">
+ <Filter>libs\multiprecision\src\functions\elementary</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\elementary\elementary_math.cpp">
+ <Filter>libs\multiprecision\src\functions\elementary</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\elementary\elementary_trans.cpp">
+ <Filter>libs\multiprecision\src\functions\elementary</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\elementary\elementary_trig.cpp">
+ <Filter>libs\multiprecision\src\functions\elementary</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\functions\constants\constants.cpp">
+ <Filter>libs\multiprecision\src\functions\constants</Filter>
+ </ClCompile>
+ <ClCompile Include="..\example\example_001_basic_usage_real.cpp">
+ <Filter>libs\multiprecision\example</Filter>
+ </ClCompile>
+ <ClCompile Include="..\example\example_002_basic_usage_imag.cpp">
+ <Filter>libs\multiprecision\example</Filter>
+ </ClCompile>
+ <ClCompile Include="..\example\example_005_recursive_trapezoid_integral.cpp">
+ <Filter>libs\multiprecision\example</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\test.cpp">
+ <Filter>libs\multiprecision\test</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\test_case_base.cpp">
+ <Filter>libs\multiprecision\test</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\spot\test_spot.cpp">
+ <Filter>libs\multiprecision\test\spot</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\test_real.cpp">
+ <Filter>libs\multiprecision\test\real</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_0000x_overflow_underflow.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00011_various_elem_math.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00021_bernoulli.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00051_factorial.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00052_factorial2.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00071_various_int_func.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00101_sin.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00102_cos.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00103_exp.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00104_log.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00105_sqrt.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00106_rootn.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00111_sin_small_x.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00112_cos_x_near_pi_half.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00113_atan_x_small_to_large.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00114_various_trig.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00115_various_elem_trans.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00121_sinh.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00122_cosh.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00123_tanh.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00124_asinh.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00125_acosh.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00126_atanh.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00201_gamma.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00202_gamma_medium_x.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00203_gamma_small_x.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00204_gamma_tiny_x.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00205_gamma_near_neg_n.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00221_various_gamma_func.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00901_zeta_small_x.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00902_zeta_all_x.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_00903_zeta_neg_x.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\test_imag.cpp">
+ <Filter>libs\multiprecision\test\imag</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02101_z_sin.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02102_z_cos.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02103_z_exp.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02104_z_log.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02105_z_sqrt.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02106_z_rootn.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02111_z_asin.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02112_z_acos.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02113_z_atan.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02114_z_various_trig.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02115_z_various_elem_trans_log.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02116_z_various_elem.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02121_z_sinh.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02122_z_cosh.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02123_z_tanh.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02124_z_asinh.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02125_z_acosh.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02126_z_atanh.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02201_z_gamma.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02202_z_gamma_medium_x.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02901_z_zeta_small_x.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02902_z_zeta_all_x.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02903_z_zeta_neg_x.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\imag\cases\test_case_02911_z_zeta_crit_strip.cpp">
+ <Filter>libs\multiprecision\test\imag\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_0000y_write_to_ostream.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\example\example_008_gauss_laguerre.cpp">
+ <Filter>libs\multiprecision\example</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\real\cases\test_case_0000z_global_ops_pod.cpp">
+ <Filter>libs\multiprecision\test\real\cases</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\linpack_test\linpack-benchmark.cpp">
+ <Filter>libs\multiprecision\test\linpack_test</Filter>
+ </ClCompile>
+ <ClCompile Include="..\test\naive_test\naive_test.cpp">
+ <Filter>libs\multiprecision\test\naive_test</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\mp_float.cpp">
+ <Filter>libs\multiprecision\src\backends\float</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\mp_float_base.cpp">
+ <Filter>libs\multiprecision\src\backends\float</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\efx\mp_float_efx.cpp">
+ <Filter>libs\multiprecision\src\backends\float\efx</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\gmp\mp_float_gmp.cpp">
+ <Filter>libs\multiprecision\src\backends\float\gmp</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\backends\float\mpfr\mp_float_mpfr.cpp">
+ <Filter>libs\multiprecision\src\backends\float\mpfr</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\utility\util_digit_scale.cpp">
+ <Filter>libs\multiprecision\src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\utility\util_power_j_pow_x.cpp">
+ <Filter>libs\multiprecision\src\utility</Filter>
+ </ClCompile>
+ <ClCompile Include="..\src\utility\util_timer.cpp">
+ <Filter>libs\multiprecision\src\utility</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClInclude Include="..\src\functions\gamma\gamma_util.h">
+ <Filter>libs\multiprecision\src\functions\gamma</Filter>
+ </ClInclude>
+ <ClInclude Include="..\src\functions\tables\tables.h">
+ <Filter>libs\multiprecision\src\functions\tables</Filter>
+ </ClInclude>
+ <ClInclude Include="..\example\examples.h">
+ <Filter>libs\multiprecision\example</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\test_case_base.h">
+ <Filter>libs\multiprecision\test</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\spot\test_spot.h">
+ <Filter>libs\multiprecision\test\spot</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\real\test_case_real.h">
+ <Filter>libs\multiprecision\test\real</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\real\test_real.h">
+ <Filter>libs\multiprecision\test\real</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\imag\test_case_imag.h">
+ <Filter>libs\multiprecision\test\imag</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\imag\test_imag.h">
+ <Filter>libs\multiprecision\test\imag</Filter>
+ </ClInclude>
+ <ClInclude Include="..\src\functions\integer\prime_factors.h">
+ <Filter>libs\multiprecision\src\functions\integer</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\linpack_test\libf2c\f2c.h">
+ <Filter>libs\multiprecision\test\linpack_test\libf2c</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\linpack_test\gmp\gmp.h">
+ <Filter>libs\multiprecision\test\linpack_test\gmp</Filter>
+ </ClInclude>
+ <ClInclude Include="..\test\linpack_test\gmp\gmpxx.h">
+ <Filter>libs\multiprecision\test\linpack_test\gmp</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_base.hpp">
+ <Filter>boost\multiprecision</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float.hpp">
+ <Filter>boost\multiprecision</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_efx.hpp">
+ <Filter>boost\multiprecision</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_functions.hpp">
+ <Filter>boost\multiprecision</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_gmp.hpp">
+ <Filter>boost\multiprecision</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_float_mpfr.hpp">
+ <Filter>boost\multiprecision</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\mp_complex.hpp">
+ <Filter>boost\multiprecision</Filter>
+ </ClInclude>
+ <ClInclude Include="..\src\backends\float\gmp\mp_float_gmp_protos.h">
+ <Filter>libs\multiprecision\src\backends\float\gmp</Filter>
+ </ClInclude>
+ <ClInclude Include="..\src\backends\float\mpfr\mp_float_mpfr_protos.h">
+ <Filter>libs\multiprecision\src\backends\float\mpfr</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_alternating_sum.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_coefficient_expansion.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_digit_scale.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_find_root_base.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_find_root_bisect.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_find_root_newton_raphson.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_function_derivative.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_function_operation.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_interpolate.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_numeric_cast.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_point.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_power_j_pow_x.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_power_x_pow_n.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_ranged_function_operation.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_timer.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_trapezoid.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\..\boost\multiprecision\utility\util_function_base.hpp">
+ <Filter>boost\multiprecision\utility</Filter>
+ </ClInclude>
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Makefile">
+ <Filter>libs\multiprecision\build</Filter>
+ </None>
+ <None Include="MakefileFiles.gmk">
+ <Filter>libs\multiprecision\build</Filter>
+ </None>
+ <None Include="..\license\ACM_multiprecision_boost_license.pdf">
+ <Filter>libs\multiprecision\licence</Filter>
+ </None>
+ <None Include="..\license\LICENSE_1_0.pdf">
+ <Filter>libs\multiprecision\licence</Filter>
+ </None>
+ <None Include="..\license\LICENSE_1_0.txt">
+ <Filter>libs\multiprecision\licence</Filter>
+ </None>
+ <None Include="vc_libs.txt">
+ <Filter>libs\multiprecision\build</Filter>
+ </None>
+ </ItemGroup>
+</Project>
\ No newline at end of file

Added: sandbox/multiprecision/build/multiprecision_vs2010.sln
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/build/multiprecision_vs2010.sln 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,49 @@
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "multiprecision", "multiprecision.vcxproj", "{79DD124E-E120-40F3-B2F1-127419BDC295}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug-efx|Win32 = debug-efx|Win32
+ debug-efx|x64 = debug-efx|x64
+ debug-gmp|Win32 = debug-gmp|Win32
+ debug-gmp|x64 = debug-gmp|x64
+ debug-mpfr|Win32 = debug-mpfr|Win32
+ debug-mpfr|x64 = debug-mpfr|x64
+ release-efx|Win32 = release-efx|Win32
+ release-efx|x64 = release-efx|x64
+ release-gmp|Win32 = release-gmp|Win32
+ release-gmp|x64 = release-gmp|x64
+ release-mpfr|Win32 = release-mpfr|Win32
+ release-mpfr|x64 = release-mpfr|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-efx|Win32.ActiveCfg = debug-efx|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-efx|Win32.Build.0 = debug-efx|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-efx|x64.ActiveCfg = debug-efx|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-efx|x64.Build.0 = debug-efx|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-gmp|Win32.ActiveCfg = debug-gmp|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-gmp|Win32.Build.0 = debug-gmp|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-gmp|x64.ActiveCfg = debug-gmp|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-gmp|x64.Build.0 = debug-gmp|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-mpfr|Win32.ActiveCfg = debug-mpfr|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-mpfr|Win32.Build.0 = debug-mpfr|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-mpfr|x64.ActiveCfg = debug-mpfr|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.debug-mpfr|x64.Build.0 = debug-mpfr|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-efx|Win32.ActiveCfg = release-efx|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-efx|Win32.Build.0 = release-efx|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-efx|x64.ActiveCfg = release-efx|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-efx|x64.Build.0 = release-efx|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-gmp|Win32.ActiveCfg = release-gmp|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-gmp|Win32.Build.0 = release-gmp|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-gmp|x64.ActiveCfg = release-gmp|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-gmp|x64.Build.0 = release-gmp|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-mpfr|Win32.ActiveCfg = release-mpfr|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-mpfr|Win32.Build.0 = release-mpfr|Win32
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-mpfr|x64.ActiveCfg = release-mpfr|x64
+ {79DD124E-E120-40F3-B2F1-127419BDC295}.release-mpfr|x64.Build.0 = release-mpfr|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal

Added: sandbox/multiprecision/build/vc_libs.txt
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/build/vc_libs.txt 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,25 @@
+
+# This work is based on an earlier work:
+# "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+# in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+Microsoft Visual C++ x86 gmp build needs these libraries:
+ ./src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib
+ ./src/backends/float/gmp/4-2-4/vc9/p4/gmp.pdb
+
+Microsoft Visual C++ x64 gmp build needs these libraries:
+ ./src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib
+ ./src/backends/float/gmp/4-2-4/vc9/x64/gmp.pdb
+
+Microsoft Visual C++ x86 mpfr build needs these libraries:
+ ./src/backends/float/mpfr/2-4-1/vc9/p4/mpfr.lib
+ ./src/backends/float/mpfr2-4-1/vc9/p4/mpfr.pdb
+ ./src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib
+ ./src/backends/float/gmp/4-2-4/vc9/p4/gmp.pdb
+
+Microsoft Visual C++ x64 mpfr build needs these libraries:
+ ./src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.lib
+ ./src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.pdb
+ ./src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib
+ ./src/backends/float/gmp/4-2-4/vc9/x64/gmp.pdb
+

Added: sandbox/multiprecision/example/example_001_basic_usage_real.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/example/example_001_basic_usage_real.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,52 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <vector>
+#include <iostream>
+#include <algorithm>
+#include <iterator>
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "examples.h"
+#include <boost/multiprecision/utility/util_timer.hpp>
+
+using boost::multiprecision::mp_float;
+
+void examples::nr_001::basic_usage_real(void)
+{
+ // Print 21 values of the function gamma[(222/10) + k]
+ // for 0 <= k < 21 to the standard output using mp_float. Also compute the computation
+ // time for the calculation using mp_float in [ms].
+ // A comparable Mathematica code is:
+ // Timing[Table[N[Gamma[(222/10) + k], 100],{k, 0, 20, 1}]].
+
+ const mp_float v(222 / boost::multiprecision::ten());
+
+ std::vector<mp_float> values(static_cast<std::size_t>(21u));
+
+ const boost::multiprecision::utility::timer tm;
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(values.size()); k++)
+ {
+ values[static_cast<std::size_t>(k)] = boost::multiprecision::gamma(v + k);
+ }
+ const double elapsed = tm.elapsed();
+
+ std::cout << "Elapsed time: " << elapsed << "\n";
+
+ const std::streamsize original_prec = std::cout.precision(std::numeric_limits<mp_float>::digits10);
+ const std::ios::fmtflags original_flag = std::cout.setf(std::ios::showpos | std::ios::scientific);
+
+ std::copy(values.begin(), values.end(), std::ostream_iterator<mp_float>(std::cout, "\n"));
+
+ std::cout.precision(original_prec);
+ std::cout.unsetf(std::ios::showpos | std::ios::scientific);
+ std::cout.setf(original_flag);
+}

Added: sandbox/multiprecision/example/example_002_basic_usage_imag.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/example/example_002_basic_usage_imag.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,56 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <vector>
+#include <fstream>
+#include <algorithm>
+#include <iterator>
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "examples.h"
+#include <boost/multiprecision/utility/util_timer.hpp>
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+void examples::nr_002::basic_usage_imag(void)
+{
+ // Print 21 values of the function riemann_zeta[(1/2) + (((1234/10) + k) I)]
+ // for 0 <= k < 21 to the standard output using mp_float. Also compute the
+ // computation time for the calculation using mp_float in [ms].
+ // A comparable Mathematica code is:
+ // Timing[Table[N[Zeta[(1/2) + (((1234/10) + k) I)], 100],{k, 0, 20, 1}]].
+
+ static const mp_float y(1234 / boost::multiprecision::ten());
+
+ std::vector<mp_complex> values(static_cast<std::size_t>(21u));
+
+ const boost::multiprecision::utility::timer tm;
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(values.size()); k++)
+ {
+ const mp_complex z(boost::multiprecision::half(), y + k);
+
+ values[static_cast<std::size_t>(k)] = riemann_zeta(z);
+ }
+ const double elapsed = tm.elapsed();
+
+ std::cout << "Elapsed time: " << elapsed << "\n";
+
+ const std::streamsize original_prec = std::cout.precision(std::numeric_limits<mp_float>::digits10);
+ const std::ios::fmtflags original_flag = std::cout.setf(std::ios::showpos | std::ios::scientific);
+
+ std::copy(values.begin(), values.end(), std::ostream_iterator<mp_complex>(std::cout, "\n"));
+
+ std::cout.precision(original_prec);
+ std::cout.unsetf(std::ios::showpos | std::ios::scientific);
+ std::cout.setf(original_flag);
+}

Added: sandbox/multiprecision/example/example_005_recursive_trapezoid_integral.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/example/example_005_recursive_trapezoid_integral.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,67 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "examples.h"
+#include <boost/lexical_cast.hpp>
+#include <boost/multiprecision/utility/util_trapezoid.hpp>
+
+using boost::multiprecision::mp_float;
+
+namespace examples
+{
+ namespace nr_005
+ {
+ class RecursiveTrapezoidJ0 : public boost::multiprecision::utility::recursive_trapezoid_rule<mp_float>
+ {
+ private:
+
+ static const mp_float& my_tol(void)
+ {
+ static const mp_float val("1E-" + boost::lexical_cast<std::string>(std::numeric_limits<mp_float>::digits10 / 2));
+ return val;
+ }
+
+ private:
+
+ const mp_float my_z;
+
+ public:
+
+ RecursiveTrapezoidJ0(const mp_float& z) : boost::multiprecision::utility::recursive_trapezoid_rule<mp_float>(boost::multiprecision::zero(), boost::multiprecision::pi(), my_tol()),
+ my_z(z) { }
+
+ virtual ~RecursiveTrapezoidJ0() { }
+
+ private:
+
+ virtual mp_float my_function(const mp_float& x) const
+ {
+ return cos(my_z * sin(x));
+ }
+ };
+ }
+}
+
+mp_float examples::nr_005::recursive_trapezoid_j0(const mp_float& x)
+{
+ const RecursiveTrapezoidJ0 rtj0(x);
+
+ return rtj0.operation() / boost::multiprecision::pi();
+}
+
+mp_float examples::nr_005::recursive_trapezoid_j0_test(void)
+{
+ static const mp_float x = 12 + boost::multiprecision::euler_gamma();
+
+ return recursive_trapezoid_j0(x);
+}

Added: sandbox/multiprecision/example/example_008_gauss_laguerre.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/example/example_008_gauss_laguerre.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,316 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <vector>
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "examples.h"
+
+#include <boost/multiprecision/utility/util_digit_scale.hpp>
+#include <boost/multiprecision/utility/util_find_root_newton_raphson.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/multiprecision/utility/util_point.hpp>
+
+using boost::multiprecision::mp_float;
+
+namespace examples
+{
+ namespace nr_008
+ {
+ class GaussQuadAbscissasAndWeights : private boost::noncopyable
+ {
+ protected:
+
+ const boost::int32_t N;
+ std::vector<mp_float> xi;
+ std::vector<mp_float> wi;
+
+ protected:
+
+ GaussQuadAbscissasAndWeights(const boost::int32_t n) : N (n),
+ xi(0u),
+ wi(0u) { }
+
+ public:
+
+ virtual ~GaussQuadAbscissasAndWeights() { }
+
+ public:
+
+ const std::vector<mp_float>& abscissas(void) const { return xi; }
+ const std::vector<mp_float>& weights (void) const { return wi; }
+ };
+
+ class GuassLaguerreAbscissasAndWeights : public GaussQuadAbscissasAndWeights
+ {
+ private:
+
+ const mp_float alpha;
+
+ public:
+
+ GuassLaguerreAbscissasAndWeights(const boost::int32_t n, const mp_float& a = boost::multiprecision::zero());
+
+ virtual ~GuassLaguerreAbscissasAndWeights() { }
+
+ private:
+
+ class FindRootLaguerre : public boost::multiprecision::utility::find_root_newton_raphson<mp_float>
+ {
+ private:
+
+ static const mp_float& my_tol(void)
+ {
+ static const mp_float val = mp_float("1E-" + boost::lexical_cast<std::string>(boost::multiprecision::tol() - static_cast<boost::int64_t>(3)));
+ return val;
+ }
+
+ const boost::int32_t N;
+ const mp_float alpha;
+ mutable mp_float my_d;
+ mutable mp_float my_p2;
+
+ public:
+
+ FindRootLaguerre(const boost::int32_t n,
+ const mp_float& a,
+ const mp_float& lo,
+ const mp_float& hi) : boost::multiprecision::utility::find_root_newton_raphson<mp_float>(lo, hi, my_tol()),
+ N (n),
+ alpha(a),
+ my_d (static_cast<boost::uint32_t>(0u)),
+ my_p2(static_cast<boost::uint32_t>(0u)) { }
+
+ virtual ~FindRootLaguerre() { }
+
+ const mp_float& poly_p2(void) const { return my_p2; }
+
+ private:
+
+ virtual void my_function_derivative(const mp_float& x, mp_float& f, mp_float& d) const;
+
+ virtual mp_float my_function(const mp_float& x) const;
+ };
+
+ mp_float my_laguerre(const mp_float& x) const
+ {
+ static const FindRootLaguerre rl(N, alpha, boost::multiprecision::zero(), boost::multiprecision::million());
+ return rl.function(x);
+ }
+ };
+ }
+}
+
+examples::nr_008::GuassLaguerreAbscissasAndWeights::GuassLaguerreAbscissasAndWeights(const boost::int32_t n,
+ const mp_float& a) : GaussQuadAbscissasAndWeights(n),
+ alpha(a)
+{
+ // Walk through the function using a step-size of dynamic width
+ // to find the zero crossings of the Laguerre function.
+ // Store these zero crossings as bracketed root estimates.
+ std::vector<boost::multiprecision::utility::point<mp_float> > xlo_xhi_points;
+
+ // Estimate first Laguerre zero using the approximation of x1
+ // from Stroud and Secrest.
+ const double alf = to_double(alpha);
+ const double x1 = ((1.0 + alf) * (3.0 + (0.92 * alf))) / (1.0 + (2.4 * static_cast<double>(N)) + (1.8 * alf));
+
+ mp_float delta(x1 / 10.0);
+ mp_float x = delta;
+
+ bool bo_is_neg = isneg(my_laguerre(boost::multiprecision::zero()));
+
+ std::cout << "finding approximate roots..." << std::endl;
+
+ while(static_cast<boost::int32_t>(xlo_xhi_points.size()) < N)
+ {
+ x += delta;
+
+ if(isneg(my_laguerre(x)) != bo_is_neg)
+ {
+ // Refine the approximate root with 16 bisection iteration steps.
+ mp_float dx;
+ mp_float rt;
+ mp_float hi = x;
+ mp_float lo = x - delta;
+
+ if(my_laguerre(lo) < boost::multiprecision::zero())
+ {
+ dx = hi - lo;
+ rt = lo;
+ }
+ else
+ {
+ dx = lo - hi;
+ rt = hi;
+ }
+
+ // Here are the 16 bisection iteration steps.
+ for(boost::uint32_t j = static_cast<boost::uint32_t>(0u); j < static_cast<boost::uint32_t>(16u); j++)
+ {
+ dx /= static_cast<boost::int32_t>(2);
+
+ const mp_float x_mid = rt + dx;
+ const mp_float f_mid = my_laguerre(x_mid);
+
+ if(f_mid <= boost::multiprecision::zero())
+ {
+ rt = x_mid;
+ }
+ }
+
+ // Store the refined approximate root as a bracketed point.
+ xlo_xhi_points.push_back(boost::multiprecision::utility::point<mp_float>(rt - dx, rt + dx));
+
+ if(xlo_xhi_points.size() > static_cast<std::size_t>(1u))
+ {
+ const mp_float new_delta2 = (xlo_xhi_points.end() - static_cast<std::size_t>(1u))->x
+ - (xlo_xhi_points.end() - static_cast<std::size_t>(2u))->x;
+
+ // Dynamically adjust and set the new step-size.
+ delta = new_delta2 / static_cast<boost::int32_t>(2);
+ }
+
+ bo_is_neg = !bo_is_neg;
+ }
+ }
+
+ // Calculate the abscissas and weights to full precision.
+ for(std::size_t i = static_cast<std::size_t>(0u); i < xlo_xhi_points.size(); i++)
+ {
+ std::cout << "calculating abscissa and weight for index: " << i << std::endl;
+
+ // Find the abscissas using Newton-Raphson iteration.
+ const FindRootLaguerre rooti(N, alpha, xlo_xhi_points[i].x, xlo_xhi_points[i].y);
+ const mp_float ri = rooti.operation();
+
+ if(!rooti.success())
+ {
+ break;
+ }
+
+ // Calculate the weights.
+ mp_float f;
+ mp_float d;
+ rooti.function_derivative(ri, f, d);
+
+ // Store abscissas and weights.
+ xi.push_back(ri);
+
+ if(iszero(alpha))
+ {
+ wi.push_back(-boost::multiprecision::one() / ((d * N) * rooti.poly_p2()));
+ }
+ else
+ {
+ const mp_float norm_g = boost::multiprecision::gamma(alpha + N) / boost::multiprecision::factorial(static_cast<boost::uint32_t>(N - static_cast<boost::int32_t>(1)));
+ wi.push_back(-norm_g / ((d * N) * rooti.poly_p2()));
+ }
+ }
+}
+
+void examples::nr_008::GuassLaguerreAbscissasAndWeights::FindRootLaguerre::my_function_derivative(const mp_float& x, mp_float& f, mp_float& d) const
+{
+ f = my_function(x);
+ d = my_d;
+}
+
+mp_float examples::nr_008::GuassLaguerreAbscissasAndWeights::FindRootLaguerre::my_function(const mp_float& x) const
+{
+ mp_float p1(1);
+ mp_float p2(0);
+
+ for(boost::int32_t j = static_cast<boost::int32_t>(0); j < N; j++)
+ {
+ const mp_float p3(p2);
+ p2 = p1;
+
+ const boost::int32_t j_plus_one = static_cast<boost::int32_t>(j + static_cast<boost::int32_t>(1));
+ const boost::int32_t two_j_plus_one = static_cast<boost::int32_t>(j + j_plus_one);
+
+ p1 = (((two_j_plus_one + (alpha - x)) * p2) - ((j + alpha) * p3)) / j_plus_one;
+ }
+
+ my_d = ((N * p1) - ((N + alpha) * p2)) / x;
+ my_p2 = p2;
+
+ return p1;
+}
+
+namespace examples
+{
+ namespace nr_008
+ {
+ struct GaussLaguerreAi : public boost::multiprecision::utility::function_base<mp_float>
+ {
+ private:
+
+ const mp_float x;
+ const mp_float zeta;
+ const mp_float one_over_zeta;
+ mp_float factor;
+
+ public:
+
+ GaussLaguerreAi(const mp_float& X) : x(X),
+ zeta(boost::multiprecision::two_third() * (boost::multiprecision::sqrt(x) * x)),
+ one_over_zeta(boost::multiprecision::one() / zeta),
+ factor(0u)
+ {
+ const mp_float zeta_times_48_pow_sixth = rootn(zeta * static_cast<boost::int32_t>(48), static_cast<boost::int32_t>(6));
+ factor = boost::multiprecision::one() / ((boost::multiprecision::sqrt_pi() * zeta_times_48_pow_sixth) * (exp(zeta) * boost::multiprecision::gamma(boost::multiprecision::five() / static_cast<boost::int32_t>(6))));
+ }
+
+ virtual ~GaussLaguerreAi() { }
+
+ private:
+
+ virtual mp_float my_function(const mp_float& t) const
+ {
+ return factor / boost::multiprecision::rootn(boost::multiprecision::two() + (t * one_over_zeta), static_cast<boost::int32_t>(6));
+ }
+ };
+ }
+}
+
+mp_float examples::nr_008::gauss_laguerre_airy_a(const mp_float& x)
+{
+ static const boost::int32_t n_terms = static_cast<boost::int32_t>(boost::multiprecision::utility::digit_scale() * 400.0);
+
+ static const GuassLaguerreAbscissasAndWeights aw(n_terms, -boost::multiprecision::one() / static_cast<boost::int32_t>(6));
+
+ static const std::size_t sz = aw.weights().size();
+
+ const GaussLaguerreAi ai(x);
+
+ mp_float sum(0);
+
+ for(std::size_t i = static_cast<std::size_t>(0u); i < sz; i++)
+ {
+ const mp_float fi = ai.function(aw.abscissas()[i]);
+ const mp_float wi = aw.weights()[i];
+
+ const mp_float term = wi * fi;
+
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - sum.order());
+
+ if((i > static_cast<boost::int32_t>(20)) && (order_check < -boost::multiprecision::tol()))
+ {
+ break;
+ }
+
+ sum += term;
+ }
+
+ return sum;
+}

Added: sandbox/multiprecision/example/examples.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/example/examples.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,40 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _EXAMPLES_2010_01_02_H_
+ #define _EXAMPLES_2010_01_02_H_
+
+ #include <boost/multiprecision/mp_float_functions.hpp>
+
+ namespace examples
+ {
+ namespace nr_001
+ {
+ void basic_usage_real(void);
+ }
+
+ namespace nr_002
+ {
+ void basic_usage_imag(void);
+ }
+
+ namespace nr_005
+ {
+ boost::multiprecision::mp_float recursive_trapezoid_j0 (const boost::multiprecision::mp_float& x);
+ boost::multiprecision::mp_float recursive_trapezoid_j0_test(void);
+ }
+
+ namespace nr_008
+ {
+ boost::multiprecision::mp_float gauss_laguerre_airy_a(const boost::multiprecision::mp_float& x);
+ }
+ }
+
+#endif // _EXAMPLES_2010_01_02_H_

Added: sandbox/multiprecision/license/ACM_e_float_boost_license.pdf
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/license/LICENSE_1_0.pdf
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/license/LICENSE_1_0.txt
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/license/LICENSE_1_0.txt 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,23 @@
+Boost Software License - Version 1.0 - August 17th, 2003
+
+Permission is hereby granted, free of charge, to any person or organization
+obtaining a copy of the software and accompanying documentation covered by
+this license (the "Software") to use, reproduce, display, distribute,
+execute, and transmit the Software, and to prepare derivative works of the
+Software, and to permit third-parties to whom the Software is furnished to
+do so, all subject to the following:
+
+The copyright notices in the Software and this entire statement, including
+the above license grant, this restriction and the following disclaimer,
+must be included in all copies of the Software, in whole or in part, and
+all derivative works of the Software, unless such copies or derivative
+works are solely in the form of machine-executable object code generated by
+a source language processor.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
+SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
+FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
+ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+DEALINGS IN THE SOFTWARE.

Added: sandbox/multiprecision/src/backends/float/efx/mp_float_efx.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/backends/float/efx/mp_float_efx.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,1873 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// *****************************************************************************
+// Filename : e_float_efx.cpp
+//
+// Project : Multiple precision mathematics
+//
+// Date : 28.02.2004
+//
+// Description : Extended precision floating point data type, mp_float_efx.
+//
+// *****************************************************************************
+
+#include <iomanip>
+#include <algorithm>
+#include <numeric>
+#include <cmath>
+#include <utility>
+
+#include <boost/lexical_cast.hpp>
+#include <boost/noncopyable.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include <boost/multiprecision/utility/util_numeric_cast.hpp>
+
+using boost::multiprecision::mp_float_efx;
+
+mp_float_efx::mp_float_efx(const char n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (std::numeric_limits<char>::is_signed ? (n < static_cast<char>(0)) : false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long((!neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+}
+
+mp_float_efx::mp_float_efx(const signed char n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (n < static_cast<boost::int32_t>(0)),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long((!neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+}
+
+mp_float_efx::mp_float_efx(const unsigned char n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long(static_cast<unsigned long>(n));
+}
+
+mp_float_efx::mp_float_efx(const wchar_t n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (std::numeric_limits<wchar_t>::is_signed ? (n < static_cast<wchar_t>(0)) : false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long((!neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+}
+
+mp_float_efx::mp_float_efx(const signed short n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (n < static_cast<boost::int32_t>(0)),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long((!neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+}
+
+mp_float_efx::mp_float_efx(const unsigned short n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long(static_cast<unsigned long>(n));
+}
+
+mp_float_efx::mp_float_efx(const signed int n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (n < 0),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long((!neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+}
+
+mp_float_efx::mp_float_efx(const unsigned int n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long(n);
+}
+
+mp_float_efx::mp_float_efx(const signed long n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (n < static_cast<signed long>(0)),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long((!neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+}
+
+mp_float_efx::mp_float_efx(const unsigned long n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long(n);
+}
+
+mp_float_efx::mp_float_efx(const signed long long n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (n < static_cast<signed long long>(0)),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long_long((!neg) ? static_cast<unsigned long long>(n) : static_cast<unsigned long long>(-n));
+}
+
+mp_float_efx::mp_float_efx(const unsigned long long n) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ from_unsigned_long_long(n);
+}
+
+mp_float_efx::mp_float_efx(const float f) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ const bool b_neg = (f < 0.0f);
+
+ if(!boost::multiprecision::isfinite(static_cast<double>(f)))
+ {
+ operator=(boost::multiprecision::isnan(static_cast<double>(f)) ? my_value_nan() : ((!b_neg) ? my_value_inf() : -my_value_inf()));
+ return;
+ }
+
+ if(f == 0.0f)
+ {
+ operator=(boost::multiprecision::zero());
+ return;
+ }
+
+ const native_float_parts<float> fb((!b_neg) ? f : -f);
+
+ // Create an mp_float_efx from the fractional part of the
+ // mantissa expressed as an unsigned long long.
+ from_unsigned_long_long(fb.get_mantissa());
+
+ // Scale the unsigned long long representation to the fractional
+ // part of the float and multiply with the base-2 exponent.
+ const int p2 = fb.get_exponent() - (std::numeric_limits<float>::digits - 1);
+
+ if(p2 != 0) { operator*=(boost::multiprecision::pow2(static_cast<boost::int64_t>(p2))); }
+
+ neg = b_neg;
+}
+
+mp_float_efx::mp_float_efx(const double d) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ const bool b_neg = (d < 0.0);
+
+ if(!boost::multiprecision::isfinite(d))
+ {
+ operator=(boost::multiprecision::isnan(d) ? my_value_nan() : ((!b_neg) ? my_value_inf() : -my_value_inf()));
+ return;
+ }
+
+ if(d == 0.0)
+ {
+ operator=(boost::multiprecision::zero());
+ return;
+ }
+
+ const native_float_parts<double> db((!b_neg) ? d : -d);
+
+ // Create an mp_float_efx from the fractional part of the
+ // mantissa expressed as an unsigned long long.
+ from_unsigned_long_long(db.get_mantissa());
+
+ // Scale the unsigned long long representation to the fractional
+ // part of the double and multiply with the base-2 exponent.
+ const int p2 = db.get_exponent() - (std::numeric_limits<double>::digits - 1);
+
+ if(p2 != 0) { operator*=(boost::multiprecision::pow2(static_cast<boost::int64_t>(p2))); }
+
+ neg = b_neg;
+}
+
+mp_float_efx::mp_float_efx(const long double ld) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ const bool b_neg = (ld < static_cast<long double>(0.0));
+
+ if(!boost::multiprecision::isfinite(static_cast<double>(ld)))
+ {
+ operator=(boost::multiprecision::isnan(static_cast<double>(ld)) ? my_value_nan() : ((!b_neg) ? my_value_inf() : -my_value_inf()));
+ return;
+ }
+
+ if(ld == static_cast<long double>(0.0))
+ {
+ operator=(boost::multiprecision::zero());
+ return;
+ }
+
+ const native_float_parts<long double> ldb((!b_neg) ? ld : -ld);
+
+ // Create an mp_float_efx from the fractional part of the
+ // mantissa expressed as an unsigned long long.
+ from_unsigned_long_long(ldb.get_mantissa());
+
+ // Scale the unsigned long long representation to the fractional
+ // part of the long double and multiply with the base-2 exponent.
+ const int p2 = ldb.get_exponent() - (std::numeric_limits<long double>::digits - 1);
+
+ if(p2 != 0) { operator*=(boost::multiprecision::pow2(static_cast<boost::int64_t>(p2))); }
+
+ neg = b_neg;
+}
+
+mp_float_efx::mp_float_efx(const char* const s) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ if(!rd_string(s))
+ {
+ std::fill(data.begin(), data.end(), static_cast<boost::uint32_t>(0u));
+ exp = static_cast<boost::int64_t>(0);
+ neg = false;
+ fpclass = mp_NaN;
+ }
+}
+
+mp_float_efx::mp_float_efx(const std::string& str) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ if(!rd_string(str.c_str()))
+ {
+ std::fill(data.begin(), data.end(), static_cast<boost::uint32_t>(0u));
+ exp = static_cast<boost::int64_t>(0);
+ neg = false;
+ fpclass = mp_NaN;
+ }
+}
+
+mp_float_efx::mp_float_efx(const double mantissa,
+ const boost::int64_t exponent) : data (),
+ exp (static_cast<boost::int64_t>(0)),
+ neg (false),
+ fpclass (mp_finite),
+ prec_elem(mp_elem_number)
+{
+ // Create an mp_float_efx from mantissa and exponent.
+ // This ctor does not maintain the full precision of double.
+
+ const bool mantissa_is_iszero = (::fabs(mantissa) < ((std::numeric_limits<double>::min)() * (1.0 + std::numeric_limits<double>::epsilon())));
+
+ if(mantissa_is_iszero)
+ {
+ operator=((exponent == static_cast<boost::int64_t>(0)) ? boost::multiprecision::one() : boost::multiprecision::zero());
+ return;
+ }
+
+ const bool b_neg = (mantissa < 0.0);
+
+ double d = ((!b_neg) ? mantissa : -mantissa);
+ boost::int64_t e = exponent;
+
+ while(d > 10.0) { d /= 10.0; ++e; }
+ while(d < 1.0) { d *= 10.0; --e; }
+
+ boost::int32_t shift = static_cast<boost::int32_t>(e % static_cast<boost::int32_t>(mp_elem_digits10));
+
+ while(static_cast<boost::int32_t>(shift-- % mp_elem_digits10) != static_cast<boost::int32_t>(0))
+ {
+ d *= 10.0;
+ --e;
+ }
+
+ exp = e;
+ neg = b_neg;
+
+ std::fill(data.begin(), data.end(), static_cast<boost::uint32_t>(0u));
+
+ static const boost::int32_t digit_ratio = static_cast<boost::int32_t>(static_cast<boost::int32_t>(std::numeric_limits<double>::digits10) / static_cast<boost::int32_t>(mp_elem_digits10));
+ static const boost::int32_t digit_loops = static_cast<boost::int32_t>(digit_ratio + static_cast<boost::int32_t>(2));
+
+ for(boost::int32_t i = static_cast<boost::int32_t>(0); i < digit_loops; i++)
+ {
+ boost::uint32_t n = static_cast<boost::uint32_t>(static_cast<boost::uint64_t>(d));
+ data[i] = static_cast<boost::uint32_t>(n);
+ d -= static_cast<double>(n);
+ d *= static_cast<double>(mp_elem_mask);
+ }
+}
+
+void mp_float_efx::from_unsigned_long(const unsigned long u)
+{
+ std::fill(data.begin(), data.end(), static_cast<boost::uint32_t>(0u));
+
+ exp = static_cast<boost::int64_t>(0);
+
+ std::size_t i =static_cast<std::size_t>(0u);
+
+ unsigned long uu = u;
+
+ boost::uint32_t temp[(std::numeric_limits<unsigned long>::digits10 / static_cast<int>(mp_elem_digits10)) + 3] = { static_cast<boost::uint32_t>(0u) };
+
+ while(uu != static_cast<unsigned long>(0u))
+ {
+ temp[i] = static_cast<boost::uint32_t>(uu % static_cast<unsigned long>(mp_elem_mask));
+ uu = static_cast<unsigned long>(uu / static_cast<unsigned long>(mp_elem_mask));
+ ++i;
+ }
+
+ if(i > static_cast<std::size_t>(1u))
+ {
+ exp += static_cast<boost::int64_t>((i - 1u) * static_cast<std::size_t>(mp_elem_digits10));
+ }
+
+ std::reverse(temp, temp + i);
+ std::copy(temp, temp + (std::min)(i, static_cast<std::size_t>(mp_elem_number)), data.begin());
+}
+
+void mp_float_efx::from_unsigned_long_long(const unsigned long long u)
+{
+ std::fill(data.begin(), data.end(), static_cast<boost::uint32_t>(0u));
+
+ exp = static_cast<boost::int64_t>(0);
+
+ std::size_t i =static_cast<std::size_t>(0u);
+
+ unsigned long long uu = u;
+
+ boost::uint32_t temp[(std::numeric_limits<unsigned long long>::digits10 / static_cast<int>(mp_elem_digits10)) + 3] = { static_cast<boost::uint32_t>(0u) };
+
+ while(uu != static_cast<unsigned long long>(0u))
+ {
+ temp[i] = static_cast<boost::uint32_t>(uu % static_cast<unsigned long long>(mp_elem_mask));
+ uu = static_cast<unsigned long long>(uu / static_cast<unsigned long long>(mp_elem_mask));
+ ++i;
+ }
+
+ if(i > static_cast<std::size_t>(1u))
+ {
+ exp += static_cast<boost::int64_t>((i - 1u) * static_cast<std::size_t>(mp_elem_digits10));
+ }
+
+ std::reverse(temp, temp + i);
+ std::copy(temp, temp + (std::min)(i, static_cast<std::size_t>(mp_elem_number)), data.begin());
+}
+
+void mp_float_efx::mul_loop_uv(const boost::uint32_t* const u, const boost::uint32_t* const v, boost::uint32_t* const w, const boost::int32_t p)
+{
+ boost::uint64_t carry = static_cast<boost::uint64_t>(0u);
+
+ for(boost::int32_t j = static_cast<boost::int32_t>(p - 1u); j >= static_cast<boost::int32_t>(0); j--)
+ {
+ boost::uint64_t sum = carry;
+
+ for(boost::int32_t i = j; i >= static_cast<boost::int32_t>(0); i--)
+ {
+ sum += static_cast<boost::uint64_t>(u[i] * static_cast<boost::uint64_t>(v[j - i]));
+ }
+
+ w[j + 1] = static_cast<boost::uint32_t>(sum % static_cast<boost::uint32_t>(mp_elem_mask));
+ carry = static_cast<boost::uint64_t>(sum / static_cast<boost::uint32_t>(mp_elem_mask));
+ }
+
+ w[0u] = static_cast<boost::uint32_t>(carry);
+}
+
+boost::uint32_t mp_float_efx::mul_loop_n(boost::uint32_t* const u, boost::uint32_t n, const boost::int32_t p)
+{
+ boost::uint64_t carry = static_cast<boost::uint64_t>(0u);
+
+ // Multiplication loop.
+ for(boost::int32_t j = p - 1; j >= static_cast<boost::int32_t>(0); j--)
+ {
+ const boost::uint64_t t = static_cast<boost::uint64_t>(carry + static_cast<boost::uint64_t>(u[j] * static_cast<boost::uint64_t>(n)));
+ carry = static_cast<boost::uint64_t>(t / static_cast<boost::uint32_t>(mp_elem_mask));
+ u[j] = static_cast<boost::uint32_t>(t - static_cast<boost::uint64_t>(static_cast<boost::uint32_t>(mp_elem_mask) * static_cast<boost::uint64_t>(carry)));
+ }
+
+ return static_cast<boost::uint32_t>(carry);
+}
+
+boost::uint32_t mp_float_efx::div_loop_n(boost::uint32_t* const u, boost::uint32_t n, const boost::int32_t p)
+{
+ boost::uint64_t prev = static_cast<boost::uint64_t>(0u);
+
+ for(boost::int32_t j = static_cast<boost::int32_t>(0); j < p; j++)
+ {
+ const boost::uint64_t t = static_cast<boost::uint64_t>(u[j] + static_cast<boost::uint64_t>(prev * static_cast<boost::uint32_t>(mp_elem_mask)));
+ u[j] = static_cast<boost::uint32_t>(t / n);
+ prev = static_cast<boost::uint64_t>(t - static_cast<boost::uint64_t>(n * static_cast<boost::uint64_t>(u[j])));
+ }
+
+ return static_cast<boost::uint32_t>(prev);
+}
+
+void mp_float_efx::precision(const boost::int32_t prec_digits)
+{
+ if(prec_digits >= mp_digits10)
+ {
+ prec_elem = mp_elem_number;
+ }
+ else
+ {
+ const boost::int32_t elems = static_cast<boost::int32_t>( static_cast<boost::int32_t>( (prec_digits + (mp_elem_digits10 / 2)) / mp_elem_digits10)
+ + static_cast<boost::int32_t>(((prec_digits % mp_elem_digits10) != 0) ? 1 : 0));
+
+ prec_elem = (std::min)(mp_elem_number, (std::max)(elems, static_cast<boost::int32_t>(2)));
+ }
+}
+
+mp_float_efx& mp_float_efx::operator=(const mp_float_efx& v)
+{
+ data = v.data;
+ exp = v.exp;
+ neg = v.neg;
+ fpclass = v.fpclass;
+ prec_elem = v.prec_elem;
+
+ return *this;
+}
+
+mp_float_efx& mp_float_efx::operator+=(const mp_float_efx& v)
+{
+ if(isnan())
+ {
+ return *this;
+ }
+
+ if(isinf())
+ {
+ if(v.isinf() && (isneg() != v.isneg()))
+ {
+ *this = std::numeric_limits<mp_float_efx>::quiet_NaN();
+ }
+
+ return *this;
+ }
+
+ if(iszero())
+ {
+ return operator=(v);
+ }
+
+ // Get the offset for the add/sub operation.
+ static const boost::int64_t max_delta_exp = static_cast<boost::int64_t>((mp_elem_number - 1) * mp_elem_digits10);
+
+ const boost::int64_t ofs_exp = static_cast<boost::int64_t>(exp - v.exp);
+
+ // Check if the operation is out of range, requiring special handling.
+ if(v.iszero() || (ofs_exp > max_delta_exp))
+ {
+ // Result is *this unchanged since v is negligible compared to *this.
+ return *this;
+ }
+ else if(ofs_exp < -max_delta_exp)
+ {
+ // Result is *this = v since *this is negligible compared to v.
+ return operator=(v);
+ }
+
+ // Do the add/sub operation.
+
+ array_type::iterator p_u = data.begin();
+ array_type::const_iterator p_v = v.data.begin();
+ bool b_copy = false;
+ const boost::int32_t ofs = static_cast<boost::int32_t>(static_cast<boost::int32_t>(ofs_exp) / mp_elem_digits10);
+ array_type n_data;
+
+ if(neg == v.neg)
+ {
+ // Add v to *this, where the data array of either *this or v
+ // might have to be treated with a positive, negative or zero offset.
+ // The result is stored in *this. The data are added one element
+ // at a time, each element with carry.
+ if(ofs >= static_cast<boost::int32_t>(0))
+ {
+ std::copy(v.data.begin(), v.data.end() - static_cast<size_t>(ofs), n_data.begin() + static_cast<size_t>(ofs));
+ std::fill(n_data.begin(), n_data.begin() + static_cast<size_t>(ofs), static_cast<boost::uint32_t>(0u));
+ p_v = n_data.begin();
+ }
+ else
+ {
+ std::copy(data.begin(), data.end() - static_cast<size_t>(-ofs), n_data.begin() + static_cast<size_t>(-ofs));
+ std::fill(n_data.begin(), n_data.begin() + static_cast<size_t>(-ofs), static_cast<boost::uint32_t>(0u));
+ p_u = n_data.begin();
+ b_copy = true;
+ }
+
+ // Addition algorithm
+ boost::uint32_t carry = static_cast<boost::uint32_t>(0u);
+
+ for(boost::int32_t j = static_cast<boost::int32_t>(mp_elem_number - static_cast<boost::int32_t>(1)); j >= static_cast<boost::int32_t>(0); j--)
+ {
+ boost::uint32_t t = static_cast<boost::uint32_t>(static_cast<boost::uint32_t>(p_u[j] + p_v[j]) + carry);
+ carry = t / static_cast<boost::uint32_t>(mp_elem_mask);
+ p_u[j] = static_cast<boost::uint32_t>(t - static_cast<boost::uint32_t>(carry * static_cast<boost::uint32_t>(mp_elem_mask)));
+ }
+
+ if(b_copy)
+ {
+ data = n_data;
+ exp = v.exp;
+ }
+
+ // There needs to be a carry into the element -1 of the array data
+ if(carry != static_cast<boost::uint32_t>(0u))
+ {
+ std::copy_backward(data.begin(), data.end() - static_cast<std::size_t>(1u), data.end());
+ data[0] = carry;
+ exp += static_cast<boost::int64_t>(mp_elem_digits10);
+ }
+ }
+ else
+ {
+ // Subtract v from *this, where the data array of either *this or v
+ // might have to be treated with a positive, negative or zero offset.
+ if((ofs > static_cast<boost::int32_t>(0))
+ || ( (ofs == static_cast<boost::int32_t>(0))
+ && (cmp_data(v.data) > static_cast<boost::int32_t>(0)))
+ )
+ {
+ // In this case, |u| > |v| and ofs is positive.
+ // Copy the data of v, shifted down to a lower value
+ // into the data array m_n. Set the operand pointer p_v
+ // to point to the copied, shifted data m_n.
+ std::copy(v.data.begin(), v.data.end() - static_cast<size_t>(ofs), n_data.begin() + static_cast<size_t>(ofs));
+ std::fill(n_data.begin(), n_data.begin() + static_cast<size_t>(ofs), static_cast<boost::uint32_t>(0u));
+ p_v = n_data.begin();
+ }
+ else
+ {
+ if(ofs != static_cast<boost::int32_t>(0))
+ {
+ // In this case, |u| < |v| and ofs is negative.
+ // Shift the data of u down to a lower value.
+ std::copy_backward(data.begin(), data.end() - static_cast<size_t>(-ofs), data.end());
+ std::fill(data.begin(), data.begin() + static_cast<size_t>(-ofs), static_cast<boost::uint32_t>(0u));
+ }
+
+ // Copy the data of v into the data array n_data.
+ // Set the u-pointer p_u to point to m_n and the
+ // operand pointer p_v to point to the shifted
+ // data m_data.
+ n_data = v.data;
+ p_u = n_data.begin();
+ p_v = data.begin();
+ b_copy = true;
+ }
+
+ boost::int32_t j;
+
+ // Subtraction algorithm
+ boost::int32_t borrow = static_cast<boost::int32_t>(0);
+
+ for(j = static_cast<boost::int32_t>(mp_elem_number - static_cast<boost::int32_t>(1)); j >= static_cast<boost::int32_t>(0); j--)
+ {
+ boost::int32_t t = static_cast<boost::int32_t>(static_cast<boost::int32_t>( static_cast<boost::int32_t>(p_u[j])
+ - static_cast<boost::int32_t>(p_v[j])) - borrow);
+
+ // Underflow? Borrow?
+ if(t < static_cast<boost::int32_t>(0))
+ {
+ // Yes, underflow and borrow
+ t += static_cast<boost::int32_t>(mp_elem_mask);
+ borrow = static_cast<boost::int32_t>(1);
+ }
+ else
+ {
+ borrow = static_cast<boost::int32_t>(0);
+ }
+
+ p_u[j] = static_cast<boost::uint32_t>(static_cast<boost::uint32_t>(t) % static_cast<boost::uint32_t>(mp_elem_mask));
+ }
+
+ if(b_copy)
+ {
+ data = n_data;
+ exp = v.exp;
+ neg = v.neg;
+ }
+
+ // Is it necessary to justify the data?
+ const array_type::const_iterator first_nonzero_elem = std::find_if(data.begin(), data.end(), data_elem_is_non_zero_predicate);
+
+ if(first_nonzero_elem != data.begin())
+ {
+ if(first_nonzero_elem == data.end())
+ {
+ // This result of the subtraction is exactly zero.
+ // Reset the sign and the exponent.
+ neg = false;
+ exp = static_cast<boost::int64_t>(0);
+ }
+ else
+ {
+ // Justify the data
+ const std::size_t sj = static_cast<std::size_t>(std::distance<array_type::const_iterator>(data.begin(), first_nonzero_elem));
+
+ std::copy(data.begin() + static_cast<std::size_t>(sj), data.end(), data.begin());
+ std::fill(data.end() - sj, data.end(), static_cast<boost::uint32_t>(0u));
+
+ exp -= static_cast<boost::int64_t>(sj * static_cast<std::size_t>(mp_elem_digits10));
+ }
+ }
+ }
+
+ // Check for underflow.
+ if(iszero()) { return (*this = boost::multiprecision::zero()); }
+
+ // Check for overflow.
+ if( (exp >= std::numeric_limits<mp_float_efx>::max_exponent10)
+ && (boost::multiprecision::fabs(*this) > (std::numeric_limits<mp_float_efx>::max)())
+ )
+ {
+ const bool b_result_is_neg = neg;
+
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+ }
+
+ return *this;
+}
+
+mp_float_efx& mp_float_efx::operator-=(const mp_float_efx& v)
+{
+ // Use *this - v = -(-*this + v).
+ return (negate().operator+=(v)).negate();
+}
+
+mp_float_efx& mp_float_efx::operator*=(const mp_float_efx& v)
+{
+ // Evaluate the sign of the result.
+ const bool b_result_is_neg = (neg != v.neg);
+
+ // Artificially set the sign of the result to be positive.
+ neg = false;
+
+ // Handle special cases like zero, inf and NaN.
+ const bool b_u_is_inf = isinf();
+ const bool b_v_is_inf = v.isinf();
+ const bool b_u_is_zero = iszero();
+ const bool b_v_is_zero = v.iszero();
+
+ if( (isnan() || v.isnan())
+ || (b_u_is_inf && b_v_is_zero)
+ || (b_v_is_inf && b_u_is_zero)
+ )
+ {
+ return (*this = std::numeric_limits<mp_float_efx>::quiet_NaN());
+ }
+
+ if(b_u_is_inf || b_v_is_inf)
+ {
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+
+ return *this;
+ }
+
+ if(b_u_is_zero || b_v_is_zero)
+ {
+ return (*this = boost::multiprecision::zero());
+ }
+
+ // Check for overflow or underflow.
+ const bool u_exp_is_neg = (exp < static_cast<boost::int64_t>(0));
+ const bool v_exp_is_neg = (v.exp < static_cast<boost::int64_t>(0));
+
+ if(u_exp_is_neg == v_exp_is_neg)
+ {
+ // Get the unsigned base-10 exponents of *this and v and...
+ const boost::int64_t u_exp = ((!u_exp_is_neg) ? exp : static_cast<boost::int64_t>( -exp));
+ const boost::int64_t v_exp = ((!v_exp_is_neg) ? v.exp : static_cast<boost::int64_t>(-v.exp));
+
+ // Check the range of the upcoming multiplication.
+ const bool b_result_is_out_of_range = (v_exp >= static_cast<boost::int64_t>(mp_max_exp10 - u_exp));
+
+ if(b_result_is_out_of_range)
+ {
+ if(u_exp_is_neg)
+ {
+ *this = boost::multiprecision::zero();
+ }
+ else
+ {
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+ }
+
+ return *this;
+ }
+ }
+
+ // Set the exponent of the result.
+ exp += v.exp;
+
+ boost::array<boost::uint32_t, static_cast<std::size_t>(mp_elem_number + static_cast<boost::int32_t>(1))> w = {{ 0u }};
+
+ mul_loop_uv(data.data(), v.data.data(), w.data(), (std::min)(prec_elem, v.prec_elem));
+
+ // Copy the multiplication data into the result.
+ // Shift the result and adjust the exponent if necessary.
+ if(w[static_cast<std::size_t>(0u)] != static_cast<boost::uint32_t>(0u))
+ {
+ exp += static_cast<boost::int64_t>(mp_elem_digits10);
+
+ std::copy(w.begin(), w.end() - 1u, data.begin());
+ }
+ else
+ {
+ std::copy(w.begin() + 1u, w.end(), data.begin());
+ }
+
+ // Set the sign of the result.
+ neg = b_result_is_neg;
+
+ return *this;
+}
+
+mp_float_efx& mp_float_efx::operator/=(const mp_float_efx& v)
+{
+ const bool u_and_v_are_finite_and_identical = ( isfinite()
+ && (fpclass == v.fpclass)
+ && (exp == v.exp)
+ && (cmp_data(v.data) == static_cast<boost::int32_t>(0)));
+
+ if(u_and_v_are_finite_and_identical)
+ {
+ return (*this = ((neg == v.neg) ? boost::multiprecision::one() : boost::multiprecision::one_minus()));
+ }
+ else
+ {
+ return operator*=(mp_float_efx(v).calculate_inv());
+ }
+}
+
+// TBD: These need overflow and underflow checks.
+mp_float_efx& mp_float_efx::add_unsigned_long_long(const unsigned long long n) { return operator+=(mp_float_efx(n)); }
+mp_float_efx& mp_float_efx::sub_unsigned_long_long(const unsigned long long n) { return operator-=(mp_float_efx(n)); }
+
+mp_float_efx& mp_float_efx::mul_unsigned_long_long(const unsigned long long n)
+{
+ // Multiply *this with a constant unsigned long long.
+
+ // Evaluate the sign of the result.
+ const bool b_neg = neg;
+
+ // Artificially set the sign of the result to be positive.
+ neg = false;
+
+ // Handle special cases like zero, inf and NaN.
+ const bool b_u_is_inf = isinf();
+ const bool b_n_is_zero = (n == static_cast<boost::int32_t>(0));
+
+ if(isnan() || (b_u_is_inf && b_n_is_zero))
+ {
+ return (*this = std::numeric_limits<mp_float_efx>::quiet_NaN());
+ }
+
+ if(b_u_is_inf)
+ {
+ *this = ((!b_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+
+ return *this;
+ }
+
+ if(iszero() || b_n_is_zero)
+ {
+ // Multiplication by zero.
+ return (*this = boost::multiprecision::zero());
+ }
+
+ if(n >= static_cast<unsigned long long>(mp_elem_mask))
+ {
+ neg = b_neg;
+ return operator*=(mp_float_efx(n));
+ }
+
+ if(n == static_cast<unsigned long long>(1u))
+ {
+ neg = b_neg;
+ return *this;
+ }
+
+ // Set up the multiplication loop.
+ const boost::uint32_t nn = static_cast<boost::uint32_t>(n);
+ const boost::uint32_t carry = mul_loop_n(data.data(), nn, prec_elem);
+
+ // Handle the carry and adjust the exponent.
+ if(carry != static_cast<boost::uint32_t>(0u))
+ {
+ exp += static_cast<boost::int64_t>(mp_elem_digits10);
+
+ // Shift the result of the multiplication one element to the right.
+ std::copy_backward(data.begin(),
+ data.begin() + static_cast<std::size_t>(prec_elem - static_cast<boost::int32_t>(1)),
+ data.begin() + static_cast<std::size_t>(prec_elem));
+
+ data.front() = static_cast<boost::uint32_t>(carry);
+ }
+
+ if( (exp >= std::numeric_limits<mp_float_efx>::max_exponent10)
+ && (*this > (std::numeric_limits<mp_float_efx>::max)())
+ )
+ {
+ *this = ((!b_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+
+ return *this;
+ }
+
+ // Set the sign.
+ neg = b_neg;
+
+ return *this;
+}
+
+mp_float_efx& mp_float_efx::div_unsigned_long_long(const unsigned long long n)
+{
+ // Divide *this by a constant unsigned long long.
+
+ // Evaluate the sign of the result.
+ const bool b_neg = neg;
+
+ // Artificially set the sign of the result to be positive.
+ neg = false;
+
+ // Handle special cases like zero, inf and NaN.
+ if(isnan())
+ {
+ return *this;
+ }
+
+ if(isinf())
+ {
+ *this = ((!b_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+
+ return *this;
+ }
+
+ if(n == static_cast<unsigned long long>(0u))
+ {
+ // Divide by 0.
+ if(iszero())
+ {
+ return (*this = std::numeric_limits<mp_float_efx>::quiet_NaN());
+ }
+ else
+ {
+ *this = ((!isneg()) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+
+ return *this;
+ }
+ }
+
+ if(iszero())
+ {
+ return *this;
+ }
+
+ if(n >= static_cast<unsigned long long>(mp_elem_mask))
+ {
+ neg = b_neg;
+ return operator/=(mp_float_efx(n));
+ }
+
+ const boost::uint32_t nn = static_cast<boost::uint32_t>(n);
+
+ if(nn > static_cast<boost::uint32_t>(1u))
+ {
+ // Do the division loop.
+ const boost::uint32_t prev = div_loop_n(data.data(), nn, prec_elem);
+
+ // Determine if one leading zero is in the result data.
+ if(data[0] == static_cast<boost::uint32_t>(0u))
+ {
+ // Adjust the exponent
+ exp -= static_cast<boost::int64_t>(mp_elem_digits10);
+
+ // Shift result of the division one element to the left.
+ std::copy(data.begin() + static_cast<std::size_t>(1u),
+ data.begin() + static_cast<std::size_t>(prec_elem - static_cast<boost::int32_t>(1)),
+ data.begin());
+
+ data[prec_elem - static_cast<boost::int32_t>(1)] = static_cast<boost::uint32_t>(static_cast<boost::uint64_t>(prev * static_cast<boost::uint64_t>(mp_elem_mask)) / nn);
+ }
+ }
+
+ // Check for underflow.
+ if(iszero()) { return (*this = boost::multiprecision::zero()); }
+
+ // Set the sign of the result.
+ neg = b_neg;
+
+ return *this;
+}
+
+mp_float_efx& mp_float_efx::calculate_inv(void)
+{
+ // Compute the inverse of *this.
+ const bool b_neg = neg;
+
+ neg = false;
+
+ // Handle special cases like zero, inf and NaN.
+ if(iszero())
+ {
+ *this = ((!b_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+
+ return *this;
+ }
+
+ if(isnan())
+ {
+ return *this;
+ }
+
+ if(isinf())
+ {
+ return (*this = boost::multiprecision::zero());
+ }
+
+ if(isone())
+ {
+ *this = ((!b_neg) ? boost::multiprecision::one() : -boost::multiprecision::one());
+
+ return *this;
+ }
+
+ // Save the original *this.
+ mp_float_efx x(*this);
+
+ // Generate the initial estimate using division.
+ // Extract the mantissa and exponent for a "manual"
+ // computation of the estimate.
+ double dd;
+ boost::int64_t ne;
+ x.extract_parts(dd, ne);
+
+ // Do the inverse estimate using double precision estimates of mantissa and exponent.
+ operator=(mp_float_efx(1.0 / dd, -ne));
+
+ // Compute the inverse of *this. Quadratically convergent Newton-Raphson iteration
+ // is used. During the iterative steps, the precision of the calculation is limited
+ // to the minimum required in order to minimize the run-time.
+
+ static const boost::int32_t double_digits10_minus_one = static_cast<boost::int32_t>(static_cast<boost::int32_t>(std::numeric_limits<double>::digits10) - static_cast<boost::int32_t>(1));
+
+ for(boost::int32_t digits = double_digits10_minus_one; digits <= static_cast<boost::int32_t>(boost::multiprecision::tol()); digits *= static_cast<boost::int32_t>(2))
+ {
+ // Adjust precision of the terms.
+ precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+ x.precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+
+ // Next iteration.
+ operator=(*this * (boost::multiprecision::two() - (*this * x)));
+ }
+
+ neg = b_neg;
+
+ prec_elem = mp_elem_number;
+
+ return *this;
+}
+
+mp_float_efx& mp_float_efx::calculate_sqrt(void)
+{
+ // Compute the square root of *this.
+
+ if(isneg() || (!isfinite()))
+ {
+ return (*this = std::numeric_limits<mp_float_efx>::quiet_NaN());
+ }
+
+ if(iszero() || isone())
+ {
+ return *this;
+ }
+
+ // Save the original *this.
+ mp_float_efx x(*this);
+
+ // Generate the initial estimate using division.
+ // Extract the mantissa and exponent for a "manual"
+ // computation of the estimate.
+ double dd;
+ boost::int64_t ne;
+ extract_parts(dd, ne);
+
+ // Force the exponent to be an even multiple of two.
+ if((ne % static_cast<boost::int64_t>(2)) != static_cast<boost::int64_t>(0))
+ {
+ ++ne;
+ dd /= 10.0;
+ }
+
+ // Setup the iteration.
+ // Estimate the square root using simple manipulations.
+ const double sqd = ::sqrt(dd);
+
+ *this = mp_float_efx(sqd, static_cast<boost::int64_t>(ne / static_cast<boost::int64_t>(2)));
+
+ // Estimate 1.0 / (2.0 * x0) using simple manipulations.
+ mp_float_efx vi(0.5 / sqd, static_cast<boost::int64_t>(-ne / static_cast<boost::int64_t>(2)));
+
+ // Compute the square root of x. Coupled Newton iteration
+ // as described in "Pi Unleashed" is used. During the
+ // iterative steps, the precision of the calculation is
+ // limited to the minimum required in order to minimize
+ // the run-time.
+ //
+ // Book references:
+ // http://www.jjj.de/pibook/pibook.html
+ // http://www.amazon.com/exec/obidos/tg/detail/-/3540665722/qid=1035535482/sr=8-7/ref=sr_8_7/104-3357872-6059916?v=glance&n=507846
+
+ static const boost::int32_t double_digits10_minus_one = static_cast<boost::int32_t>(static_cast<boost::int32_t>(std::numeric_limits<double>::digits10) - static_cast<boost::int32_t>(1));
+
+ for(boost::int32_t digits = double_digits10_minus_one; digits <= static_cast<boost::int32_t>(boost::multiprecision::tol()); digits *= static_cast<boost::int32_t>(2))
+ {
+ // Adjust precision of the terms.
+ precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+ vi.precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+
+ // Next iteration of vi
+ vi += vi * (-((*this * vi) * static_cast<boost::int32_t>(2)) + boost::multiprecision::one());
+
+ // Next iteration of *this
+ *this += vi * (-(*this * *this) + x);
+ }
+
+ prec_elem = mp_elem_number;
+
+ return *this;
+}
+
+boost::int32_t mp_float_efx::cmp_data(const array_type& vd) const
+{
+ // Compare the data of *this with those of v.
+ // Return +1 for *this > v
+ // 0 for *this = v
+ // -1 for *this < v
+
+ const std::pair<array_type::const_iterator, array_type::const_iterator> mismatch_pair = std::mismatch(data.begin(), data.end(), vd.begin());
+
+ const bool is_equal = ((mismatch_pair.first == data.end()) && (mismatch_pair.second == vd.end()));
+
+ if(is_equal)
+ {
+ return static_cast<boost::int32_t>(0);
+ }
+ else
+ {
+ return ((*mismatch_pair.first > *mismatch_pair.second) ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1));
+ }
+}
+
+boost::int32_t mp_float_efx::cmp(const mp_float_efx& v) const
+{
+ // Compare v with *this.
+ // Return +1 for *this > v
+ // 0 for *this = v
+ // -1 for *this < v
+
+ // Handle all non-finite cases.
+ if((!isfinite()) || (!v.isfinite()))
+ {
+ // NaN can never equal NaN. Return an implementation-dependent
+ // signed result. Also note that comparison of NaN with NaN
+ // using operators greater-than or less-than is undefined.
+ if(isnan() || v.isnan()) { return (isnan() ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1)); }
+
+ if(isinf() && v.isinf())
+ {
+ // Both *this and v are infinite. They are equal if they have the same sign.
+ // Otherwise, *this is less than v if and only if *this is negative.
+ return ((neg == v.neg) ? static_cast<boost::int32_t>(0) : (neg ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1)));
+ }
+
+ if(isinf())
+ {
+ // *this is infinite, but v is finite.
+ // So negative infinite *this is less than any finite v.
+ // Whereas positive infinite *this is greater than any finite v.
+ return (isneg() ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1));
+ }
+ else
+ {
+ // *this is finite, and v is infinite.
+ // So any finite *this is greater than negative infinite v.
+ // Whereas any finite *this is less than positive infinite v.
+ return (v.neg ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1));
+ }
+ }
+
+ // And now handle all *finite* cases.
+ if(iszero())
+ {
+ // The value of *this is zero and v is either zero or non-zero.
+ return (v.iszero() ? static_cast<boost::int32_t>(0)
+ : (v.neg ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1)));
+ }
+ else if(v.iszero())
+ {
+ // The value of v is zero and *this is non-zero.
+ return (neg ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1));
+ }
+ else
+ {
+ // Both *this and v are non-zero.
+
+ if(neg != v.neg)
+ {
+ // The signs are different.
+ return (neg ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1));
+ }
+ else if(exp != v.exp)
+ {
+ // The signs are the same and the exponents are different.
+ const boost::int32_t val_cmp_exp = ((exp < v.exp) ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1));
+
+ return (neg ? val_cmp_exp : static_cast<boost::int32_t>(-val_cmp_exp));
+ }
+ else
+ {
+ // The signs are the same and the exponents are the same.
+ // Compare the data.
+ const boost::int32_t val_cmp_data = cmp_data(v.data);
+
+ return ((!neg) ? val_cmp_data : static_cast<boost::int32_t>(-val_cmp_data));
+ }
+ }
+}
+
+bool mp_float_efx::iszero(void) const
+{
+ return ((fpclass == mp_finite) && (data[0u] == static_cast<boost::uint32_t>(0u)));
+}
+
+bool mp_float_efx::isone(void) const
+{
+ // Check if the value of *this is identically 1 or very close to 1.
+
+ const bool not_negative_and_is_finite = ((!neg) && isfinite());
+
+ if(not_negative_and_is_finite)
+ {
+ if((data[0u] == static_cast<boost::uint32_t>(1u)) && (exp == static_cast<boost::int64_t>(0)))
+ {
+ const array_type::const_iterator it_non_zero = std::find_if(data.begin(), data.end(), data_elem_is_non_zero_predicate);
+ return (it_non_zero == data.end());
+ }
+ else if((data[0u] == static_cast<boost::uint32_t>(mp_elem_mask - 1)) && (exp == static_cast<boost::int64_t>(-mp_elem_digits10)))
+ {
+ const array_type::const_iterator it_non_nine = std::find_if(data.begin(), data.end(), data_elem_is_non_nine_predicate);
+ return (it_non_nine == data.end());
+ }
+ }
+
+ return false;
+}
+
+bool mp_float_efx::isint(void) const
+{
+ if(fpclass != mp_finite) { return false; }
+
+ if(iszero()) { return true; }
+
+ if(exp < static_cast<boost::int64_t>(0)) { return false; } // |*this| < 1.
+
+ const array_type::size_type offset_decimal_part = static_cast<array_type::size_type>(exp / mp_elem_digits10) + 1u;
+
+ if(offset_decimal_part >= static_cast<array_type::size_type>(mp_elem_number))
+ {
+ // The number is too large to resolve the integer part.
+ // It considered to be a pure integer.
+ return true;
+ }
+
+ array_type::const_iterator it_non_zero = std::find_if(data.begin() + offset_decimal_part, data.end(), data_elem_is_non_zero_predicate);
+
+ return (it_non_zero == data.end());
+}
+
+mp_float_efx& mp_float_efx::operator++(void) { return *this += boost::multiprecision::one(); }
+mp_float_efx& mp_float_efx::operator--(void) { return *this -= boost::multiprecision::one(); }
+
+void mp_float_efx::extract_parts(double& mantissa, boost::int64_t& exponent) const
+{
+ // Extract the approximate parts mantissa and base-10 exponent from the input mp_float_efx value x.
+
+ // Extracts the mantissa and exponent.
+ exponent = exp;
+
+ boost::uint32_t p10 = static_cast<boost::uint32_t>(1u);
+ boost::uint32_t test = data[0u];
+
+ for(;;)
+ {
+ test /= static_cast<boost::uint32_t>(10u);
+
+ if(test == static_cast<boost::uint32_t>(0u))
+ {
+ break;
+ }
+
+ p10 *= static_cast<boost::uint32_t>(10u);
+ ++exponent;
+ }
+
+ mantissa = static_cast<double>(data[0])
+ + (static_cast<double>(data[1]) / static_cast<double>(mp_elem_mask))
+ + ((static_cast<double>(data[2]) / static_cast<double>(mp_elem_mask)) / static_cast<double>(mp_elem_mask));
+
+ mantissa /= static_cast<double>(p10);
+
+ if(neg) { mantissa = -mantissa; }
+}
+
+double mp_float_efx::extract_double(void) const
+{
+ // Returns the double conversion of a mp_float_efx.
+
+ // Check for non-normal mp_float_efx.
+ if(!isfinite())
+ {
+ if(isnan())
+ {
+ return std::numeric_limits<double>::quiet_NaN();
+ }
+ else
+ {
+ return ((!neg) ? std::numeric_limits<double>::infinity()
+ : -std::numeric_limits<double>::infinity());
+ }
+ }
+
+ const mp_float_efx xx(boost::multiprecision::fabs(*this));
+
+ // Check for zero mp_float_efx.
+ if(iszero() || (xx < boost::multiprecision::double_min()))
+ {
+ return 0.0;
+ }
+
+ // Check if mp_float_efx exceeds the maximum of double.
+ if(xx > boost::multiprecision::double_max())
+ {
+ return ((!neg) ? std::numeric_limits<double>::infinity()
+ : -std::numeric_limits<double>::infinity());
+ }
+
+ std::stringstream ss;
+
+ ss << std::setprecision(static_cast<std::streamsize>(std::numeric_limits<double>::digits10 + (2 + 1)))
+ << std::scientific
+ << *this;
+
+ double d;
+ ss >> d;
+
+ return d;
+}
+
+long double mp_float_efx::extract_long_double(void) const
+{
+ // Returns the long double conversion of a mp_float_efx.
+
+ // Check for non-normal mp_float_efx.
+ if(!isfinite())
+ {
+ if(isnan())
+ {
+ return std::numeric_limits<long double>::quiet_NaN();
+ }
+ else
+ {
+ return ((!neg) ? std::numeric_limits<long double>::infinity()
+ : -std::numeric_limits<long double>::infinity());
+ }
+ }
+
+ const mp_float_efx xx(boost::multiprecision::fabs(*this));
+
+ // Check for zero mp_float_efx.
+ if(iszero() || (xx < boost::multiprecision::long_double_min()))
+ {
+ return static_cast<long double>(0.0);
+ }
+
+ // Check if mp_float_efx exceeds the maximum of double.
+ if(xx > boost::multiprecision::long_double_max())
+ {
+ return ((!neg) ? std::numeric_limits<long double>::infinity()
+ : -std::numeric_limits<long double>::infinity());
+ }
+
+ std::stringstream ss;
+
+ ss << std::setprecision(static_cast<std::streamsize>(std::numeric_limits<long double>::digits10 + (2 + 1)))
+ << std::scientific
+ << *this;
+
+ long double ld;
+ ss >> ld;
+
+ return ld;
+}
+
+signed long long mp_float_efx::extract_signed_long_long(void) const
+{
+ // Extracts a signed long long from *this.
+ // If (x > maximum of signed long long) or (x < minimum of signed long long),
+ // then the maximum or minimum of signed long long is returned accordingly.
+
+ if(exp < static_cast<boost::int64_t>(0))
+ {
+ return static_cast<signed long long>(0);
+ }
+
+ const bool b_neg = isneg();
+
+ unsigned long long val;
+
+ if((!b_neg) && (*this > boost::multiprecision::signed_long_long_max()))
+ {
+ return (std::numeric_limits<signed long long>::max)();
+ }
+ else if(b_neg && (*this < boost::multiprecision::signed_long_long_min()))
+ {
+ return (std::numeric_limits<signed long long>::min)();
+ }
+ else
+ {
+ // Extract the data into an unsigned long long value.
+ const mp_float_efx xn(boost::multiprecision::fabs(extract_integer_part()));
+
+ val = static_cast<unsigned long long>(xn.data[0]);
+
+ const boost::int32_t imax = (std::min)(static_cast<boost::int32_t>(static_cast<boost::int32_t>(xn.exp) / mp_elem_digits10), static_cast<boost::int32_t>(mp_elem_number - static_cast<boost::int32_t>(1)));
+
+ for(boost::int32_t i = static_cast<boost::int32_t>(1); i <= imax; i++)
+ {
+ val *= static_cast<unsigned long long>(mp_elem_mask);
+ val += static_cast<unsigned long long>(xn.data[i]);
+ }
+ }
+
+ return ((!b_neg) ? static_cast<signed long long>(val) : static_cast<signed long long>(-static_cast<signed long long>(val)));
+}
+
+unsigned long long mp_float_efx::extract_unsigned_long_long(void) const
+{
+ // Extracts an unsigned long long from *this.
+ // If x exceeds the maximum of unsigned long long,
+ // then the maximum of unsigned long long is returned.
+ // If x is negative, then the unsigned long long cast of
+ // the signed long long extracted value is returned.
+
+ if(isneg())
+ {
+ return static_cast<unsigned long long>(extract_signed_long_long());
+ }
+
+ if(exp < static_cast<boost::int64_t>(0))
+ {
+ return static_cast<unsigned long long>(0u);
+ }
+
+ const mp_float_efx xn(extract_integer_part());
+
+ unsigned long long val;
+
+ if(xn > boost::multiprecision::unsigned_long_long_max())
+ {
+ return (std::numeric_limits<unsigned long long>::max)();
+ }
+ else
+ {
+ // Extract the data into an unsigned long long value.
+ val = static_cast<unsigned long long>(xn.data[0]);
+
+ const boost::int32_t imax = (std::min)(static_cast<boost::int32_t>(static_cast<boost::int32_t>(xn.exp) / mp_elem_digits10), static_cast<boost::int32_t>(mp_elem_number - static_cast<boost::int32_t>(1)));
+
+ for(boost::int32_t i = static_cast<boost::int32_t>(1); i <= imax; i++)
+ {
+ val *= static_cast<unsigned long long>(mp_elem_mask);
+ val += static_cast<unsigned long long>(xn.data[i]);
+ }
+ }
+
+ return val;
+}
+
+mp_float_efx mp_float_efx::extract_integer_part(void) const
+{
+ // Compute the signed integer part of x.
+
+ if(!isfinite())
+ {
+ return *this;
+ }
+
+ if(exp < static_cast<boost::int64_t>(0))
+ {
+ // The absolute value of the number is smaller than 1.
+ // Thus the integer part is zero.
+ return boost::multiprecision::zero();
+ }
+ else if(exp >= static_cast<boost::int64_t>(std::numeric_limits<mp_float_efx>::digits10 - 1))
+ {
+ // The number is too large to resolve the integer part.
+ // Thus it is already a pure integer part.
+ return *this;
+ }
+
+ // Make a local copy.
+ mp_float_efx x = *this;
+
+ // Clear out the decimal portion
+ const size_t first_clear = (static_cast<size_t>(x.exp) / static_cast<size_t>(mp_elem_digits10)) + 1u;
+ const size_t last_clear = static_cast<size_t>(mp_elem_number);
+
+ std::fill(x.data.begin() + first_clear, x.data.begin() + last_clear, static_cast<boost::uint32_t>(0u));
+
+ return x;
+}
+
+mp_float_efx mp_float_efx::extract_decimal_part(void) const
+{
+ // Compute the signed decimal part of x.
+
+ if(!isfinite())
+ {
+ return *this;
+ }
+
+ if(iszero())
+ {
+ return boost::multiprecision::zero();
+ }
+
+ if(exp < static_cast<boost::int64_t>(0))
+ {
+ // The absolute value of the number is smaller than 1.
+ // Thus it is already a pure decimal part.
+ return *this;
+ }
+ else if(exp >= static_cast<boost::int64_t>(std::numeric_limits<mp_float_efx>::digits10 - 1))
+ {
+ // The number is too large to have a decimal part.
+ // Thus the decimal part is zero.
+ return boost::multiprecision::zero();
+ }
+
+ mp_float_efx x = *this;
+
+ const std::size_t first_copy = static_cast<size_t>((static_cast<size_t>(x.exp) / static_cast<size_t>(mp_elem_digits10)) + 1u);
+ const std::size_t last_copy = static_cast<size_t>(mp_elem_number);
+
+ std::copy(x.data.begin() + first_copy,
+ x.data.begin() + last_copy,
+ x.data.begin());
+
+ const size_t first_clear = static_cast<size_t>(mp_elem_number - first_copy);
+ const size_t last_clear = static_cast<size_t>(mp_elem_number);
+
+ std::fill(x.data.begin() + first_clear, x.data.begin() + last_clear, static_cast<boost::uint32_t>(0u));
+
+ // Is it necessary to justify the data?
+ const array_type::const_iterator first_nonzero_elem = std::find_if(x.data.begin(),
+ x.data.end(),
+ data_elem_is_non_zero_predicate);
+
+ std::size_t sj = static_cast<std::size_t>(0u);
+
+ if(first_nonzero_elem != x.data.begin())
+ {
+ if(first_nonzero_elem == x.data.end())
+ {
+ // The decimal part is exactly zero.
+ // Reset the sign and the exponent.
+ x.neg = false;
+ x.exp = static_cast<boost::int64_t>(0);
+ }
+ else
+ {
+ // Justify the data
+ sj = static_cast<std::size_t>(std::distance<array_type::const_iterator>(x.data.begin(), first_nonzero_elem));
+
+ std::copy(x.data.begin() + sj,
+ x.data.end(),
+ x.data.begin());
+
+ std::fill(x.data.begin() + static_cast<std::size_t>(static_cast<std::size_t>(mp_elem_number) - sj),
+ x.data.end(),
+ static_cast<boost::uint32_t>(0u));
+ }
+ }
+
+ x.exp -= static_cast<boost::int64_t>((first_copy + sj) * static_cast<size_t>(mp_elem_digits10));
+
+ return x;
+}
+
+const mp_float_efx& mp_float_efx::my_value_nan(void) const
+{
+ static mp_float_efx val = boost::multiprecision::zero();
+ val.fpclass = mp_NaN;
+ static const mp_float_efx qnan(val);
+ return qnan;
+}
+
+const mp_float_efx& mp_float_efx::my_value_inf(void) const
+{
+ static mp_float_efx val = boost::multiprecision::zero();
+ val.fpclass = mp_inf;
+ static const mp_float_efx inf(val);
+ return inf;
+}
+
+boost::int64_t mp_float_efx::get_order_fast(void) const
+{
+ if((!isfinite()) || (data[0] == static_cast<boost::uint32_t>(0u)))
+ {
+ return static_cast<boost::int64_t>(0);
+ }
+ else
+ {
+ const double dx = ::log10(static_cast<double>(data[0])) + (std::numeric_limits<double>::epsilon() * 0.9);
+ return static_cast<boost::int64_t>(exp + static_cast<boost::int64_t>(static_cast<boost::int32_t>(dx)));
+ }
+}
+
+void mp_float_efx::get_output_string(std::string& str, boost::int64_t& my_exp, const std::size_t number_of_digits) const
+{
+ // Determine the number of elements needed to provide the requested digits from mp_float_efx.
+ const std::size_t number_of_elements = (std::min)(static_cast<std::size_t>((number_of_digits / static_cast<std::size_t>(mp_elem_digits10)) + 2u),
+ static_cast<std::size_t>(mp_elem_number));
+
+ // Extract the remaining digits from mp_float_efx after the decimal point.
+ str = boost::lexical_cast<std::string>(data[0]);
+
+ // Extract all of the digits from mp_float_efx, beginning with the first data element.
+ for(std::size_t i = static_cast<std::size_t>(1u); i < number_of_elements; i++)
+ {
+ std::stringstream ss;
+
+ ss << std::setw(static_cast<std::streamsize>(mp_elem_digits10))
+ << std::setfill(static_cast<char>('0'))
+ << data[i];
+
+ str += ss.str();
+ }
+
+ // Cut the output to the size of the precision.
+ if(str.length() > number_of_digits)
+ {
+ // Get the digit after the last needed digit for rounding
+ const boost::uint32_t round = static_cast<boost::uint32_t>(static_cast<boost::uint32_t>(str.at(number_of_digits)) - static_cast<boost::uint32_t>('0'));
+
+ // Truncate the string
+ str = str.substr(static_cast<std::size_t>(0u), number_of_digits);
+
+ if(round >= static_cast<boost::uint32_t>(5u))
+ {
+ std::size_t ix = static_cast<std::size_t>(str.length() - 1u);
+
+ // Every trailing 9 must be rounded up
+ while(ix && (static_cast<boost::int32_t>(str.at(ix)) - static_cast<boost::int32_t>('0') == static_cast<boost::int32_t>(9)))
+ {
+ str.at(ix) = static_cast<char>('0');
+ --ix;
+ }
+
+ if(!ix)
+ {
+ // There were nothing but trailing nines.
+ if(static_cast<boost::int32_t>(static_cast<boost::int32_t>(str.at(ix)) - static_cast<boost::int32_t>(0x30)) == static_cast<boost::int32_t>(9))
+ {
+ // Increment up to the next order and adjust exponent.
+ str.at(ix) = static_cast<char>('1');
+ ++my_exp;
+ }
+ else
+ {
+ // Round up this digit.
+ ++str.at(ix);
+ }
+ }
+ else
+ {
+ // Round up the last digit.
+ ++str[ix];
+ }
+ }
+ }
+}
+
+bool mp_float_efx::rd_string(const char* const s)
+{
+ std::string str(s);
+
+ // Get a possible exponent and remove it.
+ exp = static_cast<boost::int64_t>(0);
+
+ std::size_t pos;
+
+ if( ((pos = str.find('e')) != std::string::npos)
+ || ((pos = str.find('E')) != std::string::npos)
+ )
+ {
+ // Remove the exponent part from the string.
+ exp = boost::multiprecision::utility::numeric_cast<boost::int64_t>(static_cast<const char* const>(str.c_str() + (pos + 1u)));
+ str = str.substr(static_cast<std::size_t>(0u), pos);
+ }
+
+ // Get a possible +/- sign and remove it.
+ neg = false;
+
+ if((pos = str.find(static_cast<char>('-'))) != std::string::npos)
+ {
+ neg = true;
+ str.erase(pos, static_cast<std::size_t>(1u));
+ }
+
+ if((pos = str.find(static_cast<char>('+'))) != std::string::npos)
+ {
+ str.erase(pos, static_cast<std::size_t>(1u));
+ }
+
+ // Remove leading zeros for all input types.
+ const std::string::iterator fwd_it_leading_zero = std::find_if(str.begin(), str.end(), char_is_nonzero_predicate);
+
+ if(fwd_it_leading_zero != str.begin())
+ {
+ if(fwd_it_leading_zero == str.end())
+ {
+ // The string contains nothing but leading zeros.
+ // This string represents zero.
+ operator=(boost::multiprecision::zero());
+ return true;
+ }
+ else
+ {
+ str.erase(str.begin(), fwd_it_leading_zero);
+ }
+ }
+
+ // Put the input string into the standard mp_float_efx input form
+ // aaa.bbbbE+/-n, where aa has 1...mp_elem_digits10, bbbb has an
+ // even multiple of mp_elem_digits10 which are possibly zero padded
+ // on the right-end, and n is a signed 32-bit integer which is an
+ // even multiple of mp_elem_digits10.
+
+ // Find a possible decimal point.
+ pos = str.find(static_cast<char>('.'));
+
+ if(pos != std::string::npos)
+ {
+ // Remove all trailing insignificant zeros.
+ const std::string::const_reverse_iterator rit_non_zero = std::find_if(str.rbegin(), str.rend(), char_is_nonzero_predicate);
+
+ if(rit_non_zero != str.rbegin())
+ {
+ const std::string::size_type ofs = str.length() - std::distance<std::string::const_reverse_iterator>(str.rbegin(), rit_non_zero);
+ str.erase(str.begin() + ofs, str.end());
+ }
+
+ // Check if the input is identically zero.
+ if(str == std::string("."))
+ {
+ operator=(boost::multiprecision::zero());
+ return true;
+ }
+
+ // Remove leading significant zeros just after the decimal point
+ // and adjust the exponent accordingly.
+ // Note that the while-loop operates only on strings of the form ".000abcd..."
+ // and peels away the zeros just after the decimal point.
+ if(str.at(static_cast<std::size_t>(0u)) == static_cast<char>('.'))
+ {
+ const std::string::iterator it_non_zero = std::find_if(str.begin() + 1u, str.end(), char_is_nonzero_predicate);
+
+ std::size_t delta_exp = static_cast<std::size_t>(0u);
+
+ if(str.at(static_cast<std::size_t>(1u)) == static_cast<char>('0'))
+ {
+ delta_exp = std::distance<std::string::const_iterator>(str.begin() + 1u, it_non_zero);
+ }
+
+ // Bring one single digit into the mantissa and adjust exponent accordingly.
+ str.erase(str.begin(), it_non_zero);
+ str.insert(static_cast<std::size_t>(1u), ".");
+ exp -= static_cast<boost::int64_t>(delta_exp + 1u);
+ }
+ }
+ else
+ {
+ // Input string has no decimal point: Append decimal point.
+ str.append(".");
+ }
+
+ // Shift the decimal point such that the exponent is an even multiple of mp_elem_digits10.
+ std::size_t n_shift = static_cast<std::size_t>(0u);
+ const std::size_t n_exp_rem = static_cast<std::size_t>(exp % static_cast<boost::int64_t>(mp_elem_digits10));
+
+ if((exp % static_cast<boost::int64_t>(mp_elem_digits10)) != static_cast<boost::int64_t>(0))
+ {
+ n_shift = ((exp < static_cast<boost::int64_t>(0))
+ ? static_cast<std::size_t>(n_exp_rem + static_cast<std::size_t>(mp_elem_digits10))
+ : static_cast<std::size_t>(n_exp_rem));
+ }
+
+ // Make sure that there are enough digits for the decimal point shift.
+ pos = str.find(static_cast<char>('.'));
+
+ std::size_t pos_plus_one = static_cast<std::size_t>(pos + 1u);
+
+ if((str.length() - pos_plus_one) < n_shift)
+ {
+ const std::size_t sz = static_cast<std::size_t>(n_shift - (str.length() - pos_plus_one));
+
+ str.append(std::string(sz, static_cast<char>('0')));
+ }
+
+ // Do the decimal point shift.
+ if(n_shift != static_cast<std::size_t>(0u))
+ {
+ str.insert(static_cast<std::size_t>(pos_plus_one + n_shift), ".");
+
+ str.erase(pos, static_cast<std::size_t>(1u));
+
+ exp -= static_cast<boost::int64_t>(n_shift);
+ }
+
+ // Cut the size of the mantissa to <= mp_elem_digits10.
+ pos = str.find(static_cast<char>('.'));
+ pos_plus_one = static_cast<std::size_t>(pos + 1u);
+
+ if(pos > static_cast<std::size_t>(mp_elem_digits10))
+ {
+ const boost::int32_t n_pos = static_cast<boost::int32_t>(pos);
+ const boost::int32_t n_rem_is_zero = ((static_cast<boost::int32_t>(n_pos % mp_elem_digits10) == static_cast<boost::int32_t>(0)) ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(0));
+ const boost::int32_t n = static_cast<boost::int32_t>(static_cast<boost::int32_t>(n_pos / mp_elem_digits10) - n_rem_is_zero);
+
+ str.insert(static_cast<std::size_t>(static_cast<boost::int32_t>(n_pos - static_cast<boost::int32_t>(n * mp_elem_digits10))), ".");
+
+ str.erase(pos_plus_one, static_cast<std::size_t>(1u));
+
+ exp += static_cast<boost::int64_t>(static_cast<boost::int64_t>(n) * static_cast<boost::int64_t>(mp_elem_digits10));
+ }
+
+ // Pad the decimal part such that its value is an even
+ // multiple of mp_elem_digits10.
+ pos = str.find(static_cast<char>('.'));
+ pos_plus_one = static_cast<std::size_t>(pos + 1u);
+
+ const boost::int32_t n_dec = static_cast<boost::int32_t>(static_cast<boost::int32_t>(str.length() - 1u) - static_cast<boost::int32_t>(pos));
+ const boost::int32_t n_rem = static_cast<boost::int32_t>(n_dec % mp_elem_digits10);
+ boost::int32_t n_cnt = ((n_rem != static_cast<boost::int32_t>(0)) ? static_cast<boost::int32_t>(mp_elem_digits10 - n_rem)
+ : static_cast<boost::int32_t>(0));
+
+ if(n_cnt != static_cast<boost::int32_t>(0))
+ {
+ str.append(static_cast<std::size_t>(n_cnt), static_cast<char>('0'));
+ }
+
+ // Truncate decimal part if it is too long.
+ const std::size_t max_dec = static_cast<std::size_t>((mp_elem_number - 1) * mp_elem_digits10);
+
+ if(static_cast<std::size_t>(str.length() - pos) > max_dec)
+ {
+ str = str.substr(static_cast<std::size_t>(0u),
+ static_cast<std::size_t>(pos_plus_one + max_dec));
+ }
+
+ // Now the input string has the standard mp_float_efx input form.
+ // (See the comment above.)
+
+ // Set all the data elements to 0.
+ std::fill(data.begin(), data.end(), static_cast<boost::uint32_t>(0u));
+
+ // Extract the data.
+
+ // First get the digits to the left of the decimal point...
+ data[0u] = boost::multiprecision::utility::numeric_cast<boost::uint32_t>(str.substr(static_cast<std::size_t>(0u), pos));
+
+ // ...then get the remaining digits to the right of the decimal point.
+ const std::string::size_type i_end = ((str.length() - pos_plus_one) / static_cast<std::string::size_type>(mp_elem_digits10));
+
+ for(std::string::size_type i = static_cast<std::string::size_type>(0u); i < i_end; i++)
+ {
+ const std::string::const_iterator it = str.begin()
+ + pos_plus_one
+ + (i * static_cast<std::string::size_type>(mp_elem_digits10));
+
+ data[i + 1u] = boost::multiprecision::utility::numeric_cast<boost::uint32_t>(std::string(it, it + static_cast<std::string::size_type>(mp_elem_digits10)));
+ }
+
+ // Check for overflow...
+ if(exp > std::numeric_limits<mp_float_efx>::max_exponent10)
+ {
+ const bool b_result_is_neg = neg;
+
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_efx>::infinity()
+ : -std::numeric_limits<mp_float_efx>::infinity());
+ }
+
+ // ...and check for underflow.
+ if(exp <= std::numeric_limits<mp_float_efx>::min_exponent10)
+ {
+ if(exp == std::numeric_limits<mp_float_efx>::min_exponent10)
+ {
+ // Check for identity with the minimum value.
+ mp_float_efx test = *this;
+
+ test.exp = static_cast<boost::int64_t>(0);
+
+ if(test.isone())
+ {
+ *this = boost::multiprecision::zero();
+ }
+ }
+ else
+ {
+ *this = boost::multiprecision::zero();
+ }
+ }
+
+ return true;
+}

Added: sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/p4/gmp.lib
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/p4/gmp.pdb
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/x64/gmp.lib
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/gmp/4-2-4/vc9/x64/gmp.pdb
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/gmp/mp_float_gmp.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/backends/float/gmp/mp_float_gmp.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,1144 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <sstream>
+#include <iomanip>
+#include <vector>
+#include <algorithm>
+#include <cfloat>
+
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include <boost/multiprecision/utility/util_numeric_cast.hpp>
+
+#include "mp_float_gmp_protos.h"
+
+using boost::multiprecision::mp_float_gmp;
+
+#if defined(__GNUC__)
+ static inline boost::int32_t _isnan (float x) { return static_cast<boost::int32_t>(std::isnan <float>(x)); }
+ static inline boost::int32_t _finite(float x) { return static_cast<boost::int32_t>(std::isfinite<float>(x)); }
+#endif
+
+namespace
+{
+ const double& d_log2(void)
+ {
+ static const double value_log2 = 0.3010299956639811952137389;
+ return value_log2;
+ }
+
+ bool has_exp_or_has_dec_predicate(const char& c)
+ {
+ return ( (c == static_cast<char>('e'))
+ || (c == static_cast<char>('E'))
+ || (c == static_cast<char>('.')));
+ }
+}
+
+void mp_float_gmp::init(void)
+{
+ static bool precision_is_initialized;
+
+ if(precision_is_initialized == false)
+ {
+ precision_is_initialized = true;
+ ::mpf_set_default_prec(static_cast<unsigned long>(mp_digits2 + static_cast<boost::int32_t>(4)));
+ }
+}
+
+const boost::int64_t& mp_float_gmp::max_exp2(void)
+{
+ static const boost::int64_t val_max_exp2 = static_cast<boost::int64_t>(static_cast<double>(mp_max_exp10) / ::d_log2());
+ return val_max_exp2;
+}
+
+const boost::int64_t& mp_float_gmp::min_exp2(void)
+{
+ static const boost::int64_t val_min_exp2 = static_cast<boost::int64_t>(static_cast<double>(mp_min_exp10) / ::d_log2());
+ return val_min_exp2;
+}
+
+
+
+mp_float_gmp::mp_float_gmp() : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ ::mpf_init(rop);
+}
+
+mp_float_gmp::mp_float_gmp(const char n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ const bool b_neg = (std::numeric_limits<char>::is_signed ? (n < static_cast<char>(0)) : false);
+ from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+ if(b_neg) { ::mpf_neg(rop, rop); }
+}
+
+mp_float_gmp::mp_float_gmp(const wchar_t n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ const bool b_neg = (std::numeric_limits<wchar_t>::is_signed ? (n < static_cast<wchar_t>(0)) : false);
+ from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+ if(b_neg) { ::mpf_neg(rop, rop); }
+}
+
+mp_float_gmp::mp_float_gmp(const signed char n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ const bool b_neg = (n < static_cast<signed char>(0));
+ from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+ if(b_neg) { ::mpf_neg(rop, rop); }
+}
+
+mp_float_gmp::mp_float_gmp(const signed short n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ const bool b_neg = (n < static_cast<signed short>(0));
+ from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+ if(b_neg) { ::mpf_neg(rop, rop); }
+}
+
+mp_float_gmp::mp_float_gmp(const signed int n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ const bool b_neg = (n < static_cast<signed int>(0));
+ from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+ if(b_neg) { ::mpf_neg(rop, rop); }
+}
+
+mp_float_gmp::mp_float_gmp(const signed long n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ const bool b_neg = (n < static_cast<signed long>(0));
+ from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n));
+ if(b_neg) { ::mpf_neg(rop, rop); }
+}
+
+mp_float_gmp::mp_float_gmp(const signed long long n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ const bool b_neg = (n < static_cast<signed long long>(0));
+ from_unsigned_long_long((!b_neg) ? static_cast<unsigned long long>(n) : static_cast<unsigned long long>(-n));
+ if(b_neg) { ::mpf_neg(rop, rop); }
+}
+
+mp_float_gmp::mp_float_gmp(const unsigned char n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ from_unsigned_long(static_cast<unsigned long>(n));
+}
+
+mp_float_gmp::mp_float_gmp(const unsigned short n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ from_unsigned_long(static_cast<unsigned long>(n));
+}
+
+mp_float_gmp::mp_float_gmp(const unsigned int n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ from_unsigned_long(static_cast<unsigned long>(n));
+}
+
+mp_float_gmp::mp_float_gmp(const unsigned long n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ from_unsigned_long(static_cast<unsigned long>(n));
+}
+
+mp_float_gmp::mp_float_gmp(const unsigned long long n) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ from_unsigned_long_long(static_cast<unsigned long long>(n));
+}
+
+mp_float_gmp::mp_float_gmp(const float f) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+
+ const bool b_neg = (f < 0.0f);
+
+ if(::_finite(f) == 0)
+ {
+ operator=((::_isnan(f) != 0) ? my_value_nan() : ((!b_neg) ? my_value_inf() : -my_value_inf()));
+ return;
+ }
+
+ const native_float_parts<float> fb((!b_neg) ? f : -f);
+
+ // Create an mp_float_gmp from the fractional part of the
+ // mantissa expressed as an unsigned long long.
+ from_unsigned_long_long(fb.get_mantissa());
+
+ // Scale the unsigned long long representation to the fractional
+ // part of the float and multiply with the base-2 exponent.
+ const int p2 = fb.get_exponent() - (std::numeric_limits<float>::digits - 1);
+
+ if(p2 != 0) { operator*=(boost::multiprecision::pow2(static_cast<boost::int64_t>(p2))); }
+
+ if(b_neg)
+ {
+ ::mpf_neg(rop, rop);
+ }
+}
+
+mp_float_gmp::mp_float_gmp(const double d) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ ::mpf_init_set_d(rop, d);
+}
+
+mp_float_gmp::mp_float_gmp(const long double ld) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+
+ const bool b_neg = (ld < static_cast<long double>(0.0));
+
+ if(::_finite(static_cast<double>(ld)) == 0)
+ {
+ operator=(::_isnan(static_cast<double>(ld)) ? my_value_nan() : ((!b_neg) ? my_value_inf() : -my_value_inf()));
+ return;
+ }
+
+ const native_float_parts<long double> fb((!b_neg) ? ld : -ld);
+
+ // Create an mp_float_gmp from the fractional part of the
+ // mantissa expressed as an unsigned long long.
+ from_unsigned_long_long(fb.get_mantissa());
+
+ // Scale the unsigned long long representation to the fractional
+ // part of the long double and multiply with the base-2 exponent.
+ const int p2 = fb.get_exponent() - (std::numeric_limits<long double>::digits - 1);
+
+ if(p2 != 0) { operator*=(boost::multiprecision::pow2(static_cast<boost::int64_t>(p2))); }
+
+ if(b_neg)
+ {
+ ::mpf_neg(rop, rop);
+ }
+}
+
+mp_float_gmp::mp_float_gmp(const char* const s) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ static_cast<void>(rd_string(s));
+}
+
+mp_float_gmp::mp_float_gmp(const std::string& str) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ static_cast<void>(rd_string(str.c_str()));
+}
+
+mp_float_gmp::mp_float_gmp(const mp_float_gmp& mp) : fpclass (mp.fpclass),
+ prec_elem(mp.prec_elem)
+{
+ init();
+ ::mpf_init_set(rop, mp.rop);
+}
+
+mp_float_gmp::mp_float_gmp(const double mantissa, const boost::int64_t exponent) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+
+ const bool mantissa_is_iszero = (::fabs(mantissa) < ((std::numeric_limits<double>::min)() * 2.0));
+
+ if(mantissa_is_iszero)
+ {
+ if(exponent == static_cast<boost::int64_t>(0))
+ {
+ ::mpf_init_set(rop, boost::multiprecision::one().rop);
+ }
+ else
+ {
+ ::mpf_init_set(rop, boost::multiprecision::zero().rop);
+ }
+ }
+ else
+ {
+ ::mpf_init_set(rop, boost::multiprecision::zero().rop);
+ operator=(mp_float_gmp(mantissa));
+ operator*=(mp_float_gmp("1E" + boost::lexical_cast<std::string>(exponent)));
+ }
+}
+
+mp_float_gmp::mp_float_gmp(const ::mpf_t& op) : fpclass (mp_finite),
+ prec_elem(mp_max_digits10)
+{
+ init();
+ ::mpf_init_set(rop, op);
+}
+
+mp_float_gmp::~mp_float_gmp()
+{
+ ::mpf_set_prec_raw(rop, static_cast<unsigned long int>(mp_digits2));
+ ::mpf_clear(rop);
+}
+
+void mp_float_gmp::from_unsigned_long_long(const unsigned long long u)
+{
+ if(u <= static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ from_unsigned_long(static_cast<unsigned long>(u));
+ }
+ else
+ {
+ ::mpf_init_set_str(rop, boost::lexical_cast<std::string>(u).c_str(), 10);
+ }
+}
+
+void mp_float_gmp::from_unsigned_long(const unsigned long u)
+{
+ ::mpf_init_set_ui(rop, u);
+}
+
+void mp_float_gmp::precision(const boost::int32_t prec_digits)
+{
+ const unsigned long int digits2_request = static_cast<unsigned long int>(static_cast<boost::uint64_t>(static_cast<double>(prec_digits) / ::d_log2()));
+ const unsigned long int d2 = static_cast<unsigned long int>(mp_digits2);
+ const unsigned long int digits2_set = (std::min)(digits2_request, d2);
+
+ prec_elem = static_cast<boost::int32_t>(static_cast<boost::int64_t>(static_cast<double>(digits2_set) * ::d_log2()));
+
+ ::mpf_set_prec_raw(rop, digits2_set);
+}
+
+mp_float_gmp& mp_float_gmp::operator=(const mp_float_gmp& v)
+{
+ fpclass = v.fpclass;
+ prec_elem = v.prec_elem;
+
+ ::mpf_set (rop, v.rop);
+ ::mpf_set_prec_raw(rop, static_cast<unsigned long>(static_cast<boost::uint64_t>(static_cast<double>(prec_elem) / ::d_log2())));
+
+ return *this;
+}
+
+mp_float_gmp& mp_float_gmp::operator+=(const mp_float_gmp& v)
+{
+ if(isnan())
+ {
+ return *this;
+ }
+
+ if(isinf())
+ {
+ if(v.isinf() && (isneg() != v.isneg()))
+ {
+ *this = std::numeric_limits<mp_float_gmp>::quiet_NaN();
+ }
+
+ return *this;
+ }
+
+ ::mpf_add(rop, rop, v.rop);
+
+ // Check for overflow.
+ long u_exp2_signed;
+ static_cast<void>(::mpf_get_d_2exp(&u_exp2_signed, rop));
+
+ if( (u_exp2_signed >= std::numeric_limits<mp_float_gmp>::max_exponent)
+ && (boost::multiprecision::fabs(*this) > (std::numeric_limits<mp_float_gmp>::max)())
+ )
+ {
+ const bool b_result_is_neg = isneg();
+
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+ }
+
+ return *this;
+}
+
+mp_float_gmp& mp_float_gmp::operator-=(const mp_float_gmp& v)
+{
+ // Use *this - v = -(-*this + v).
+ return (negate().operator+=(v)).negate();
+}
+
+mp_float_gmp& mp_float_gmp::operator*=(const mp_float_gmp& v)
+{
+ const bool b_u_is_inf = isinf();
+ const bool b_v_is_inf = v.isinf();
+
+ if( (isnan() || v.isnan())
+ || (b_u_is_inf && v.iszero())
+ || (b_v_is_inf && iszero())
+ )
+ {
+ return *this = std::numeric_limits<mp_float_gmp>::quiet_NaN();
+ }
+
+ if(b_u_is_inf || b_v_is_inf)
+ {
+ const bool b_result_is_neg = (isneg() != v.isneg());
+
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+
+ return *this;
+ }
+
+ // Get the base-2 exponent of *this and v and...
+ long u_exp2_signed;
+ long v_exp2_signed;
+ static_cast<void>(::mpf_get_d_2exp(&u_exp2_signed, rop));
+ static_cast<void>(::mpf_get_d_2exp(&v_exp2_signed, v.rop));
+
+ // Check for overflow or underflow.
+ const bool u_exp2_is_neg = (u_exp2_signed < static_cast<long>(0));
+ const bool v_exp2_is_neg = (v_exp2_signed < static_cast<long>(0));
+
+ if(u_exp2_is_neg == v_exp2_is_neg)
+ {
+ // Get the unsigned base-2 exponents of *this and v and...
+ const boost::int64_t u_exp2 = ((!u_exp2_is_neg) ? u_exp2_signed : -u_exp2_signed);
+ const boost::int64_t v_exp2 = ((!v_exp2_is_neg) ? v_exp2_signed : -v_exp2_signed);
+
+ // Check the range of the upcoming multiplication.
+ const bool b_result_is_out_of_range = (v_exp2 >= static_cast<long>(static_cast<long>(mp_max_exp) - u_exp2));
+
+ if(b_result_is_out_of_range)
+ {
+ if(u_exp2_is_neg)
+ {
+ *this = boost::multiprecision::zero();
+ }
+ else
+ {
+ const bool b_result_is_neg = (isneg() != v.isneg());
+
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+ }
+
+ return *this;
+ }
+ }
+
+ // Multiply *this by v.
+ ::mpf_mul(rop, rop, v.rop);
+
+ return *this;
+}
+
+mp_float_gmp& mp_float_gmp::operator/=(const mp_float_gmp& v)
+{
+ return operator*=(mp_float_gmp(v).calculate_inv());
+}
+
+// TBD: This needs an overflow and underflow check.
+mp_float_gmp& mp_float_gmp::add_unsigned_long_long(const unsigned long long n)
+{
+ if(n <= (std::numeric_limits<unsigned long>::max)())
+ {
+ ::mpf_add_ui(rop, rop, static_cast<unsigned long>(n));
+ return *this;
+ }
+ else
+ {
+ return operator+=(mp_float_gmp(n));
+ }
+}
+
+// TBD: This needs an overflow and underflow check.
+mp_float_gmp& mp_float_gmp::sub_unsigned_long_long(const unsigned long long n)
+{
+ if(n <= (std::numeric_limits<unsigned long>::max)())
+ {
+ ::mpf_sub_ui(rop, rop, static_cast<unsigned long>(n));
+ return *this;
+ }
+ else
+ {
+ return operator+=(mp_float_gmp(n));
+ }
+}
+
+mp_float_gmp& mp_float_gmp::mul_unsigned_long_long(const unsigned long long n)
+{
+ // Multiply *this with a constant unsigned long long.
+
+ const bool b_u_is_inf = isinf();
+ const bool b_n_is_zero = (n == static_cast<boost::int32_t>(0));
+
+ if(isnan() || (b_u_is_inf && b_n_is_zero))
+ {
+ return (*this = std::numeric_limits<mp_float_gmp>::quiet_NaN());
+ }
+
+ if(b_u_is_inf)
+ {
+ *this = ((!isneg()) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+ return *this;
+ }
+
+ if(n > static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ operator*=(mp_float_gmp(n));
+ }
+ else
+ {
+ ::mpf_mul_ui(rop, rop, static_cast<unsigned long>(n));
+ }
+
+ // Check for overflow.
+ long u_exp2_signed;
+ static_cast<void>(::mpf_get_d_2exp(&u_exp2_signed, rop));
+
+ if( (u_exp2_signed >= std::numeric_limits<mp_float_gmp>::max_exponent)
+ && (boost::multiprecision::fabs(*this) > (std::numeric_limits<mp_float_gmp>::max)())
+ )
+ {
+ *this = ((!isneg()) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+ }
+
+ return *this;
+}
+
+mp_float_gmp& mp_float_gmp::div_unsigned_long_long(const unsigned long long n)
+{
+ if(isnan())
+ {
+ return *this;
+ }
+
+ if(isinf())
+ {
+ *this = ((!isneg()) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+ return *this;
+ }
+
+ if(n == static_cast<boost::int32_t>(0))
+ {
+ // Divide by 0.
+ if(iszero())
+ {
+ return (*this = std::numeric_limits<mp_float_gmp>::quiet_NaN());
+ }
+ else
+ {
+ *this = ((!isneg()) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+ return *this;
+ }
+ }
+
+ if(iszero())
+ {
+ return *this;
+ }
+
+ if(n > static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ operator/=(mp_float_gmp(n));
+ }
+ else
+ {
+ ::mpf_div_ui(rop, rop, static_cast<unsigned long>(n));
+ }
+
+ // Check for underflow.
+ long u_exp2_signed;
+ static_cast<void>(::mpf_get_d_2exp(&u_exp2_signed, rop));
+
+ if( (u_exp2_signed <= std::numeric_limits<mp_float_gmp>::min_exponent)
+ && (boost::multiprecision::fabs(*this) < (std::numeric_limits<mp_float_gmp>::min)())
+ )
+ {
+ return (*this = boost::multiprecision::zero());
+ }
+
+ return *this;
+}
+
+mp_float_gmp& mp_float_gmp::calculate_inv(void)
+{
+ // Compute the inverse of *this.
+
+ bool b_result_is_neg = isneg();
+
+ if(iszero())
+ {
+ *this = ((!b_result_is_neg) ? std::numeric_limits<mp_float_gmp>::infinity()
+ : -std::numeric_limits<mp_float_gmp>::infinity());
+
+ return *this;
+ }
+
+ if(isnan())
+ {
+ return *this;
+ }
+
+ if(isinf())
+ {
+ return (*this = boost::multiprecision::zero());
+ }
+
+ if(isone())
+ {
+ *this = ((!b_result_is_neg) ? boost::multiprecision::one() : -boost::multiprecision::one());
+
+ return *this;
+ }
+
+ ::mpf_ui_div(rop, static_cast<unsigned long int>(1u), rop);
+
+ return *this;
+}
+
+mp_float_gmp& mp_float_gmp::calculate_sqrt(void)
+{
+ // Compute the square root of *this.
+
+ if(isneg() || !isfinite())
+ {
+ return *this = std::numeric_limits<mp_float_gmp>::quiet_NaN();
+ }
+
+ if(iszero() || isone())
+ {
+ return *this;
+ }
+
+ ::mpf_sqrt(rop, rop);
+
+ return *this;
+}
+
+boost::int32_t mp_float_gmp::cmp(const mp_float_gmp& v) const
+{
+ // Handle all non-finite cases.
+ if((!isfinite()) || (!v.isfinite()))
+ {
+ // NaN can never equal NaN. Return an implementation-dependent
+ // signed result. Also note that comparison of NaN with NaN
+ // using operators greater-than or less-than is undefined.
+ if(isnan() || v.isnan()) { return (isnan() ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1)); }
+
+ if(isinf() && v.isinf())
+ {
+ // Both *this and v are infinite. They are equal if they have the same sign.
+ // Otherwise, *this is less than v if and only if *this is negative.
+ return ((isneg() == v.isneg()) ? static_cast<boost::int32_t>(0) : (isneg() ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1)));
+ }
+
+ if(isinf())
+ {
+ // *this is infinite, but v is finite.
+ // So negative infinite *this is less than any finite v.
+ // Whereas positive infinite *this is greater than any finite v.
+ return (isneg() ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1));
+ }
+ else
+ {
+ // *this is finite, and v is infinite.
+ // So any finite *this is greater than negative infinite v.
+ // Whereas any finite *this is less than positive infinite v.
+ return (v.isneg() ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1));
+ }
+ }
+
+ // And now handle all *finite* cases.
+ if(iszero() && v.iszero())
+ {
+ return static_cast<boost::int32_t>(0);
+ }
+ else
+ {
+ const int result = ::mpf_cmp(rop, v.rop);
+
+ if (result > 0) { return static_cast<boost::int32_t>(1); }
+ else if(result < 0) { return static_cast<boost::int32_t>(-1); }
+ else { return static_cast<boost::int32_t>(0); }
+ }
+}
+
+bool mp_float_gmp::iszero(void) const
+{
+ return (::mpf_sgn(rop) == 0);
+}
+
+bool mp_float_gmp::isone(void) const
+{
+ // Check if the value of *this is identically 1 or very close to 1.
+ return (isint() && (cmp(boost::multiprecision::one()) == static_cast<boost::int32_t>(0)));
+}
+
+bool mp_float_gmp::isint(void) const
+{
+ // Check if the value of *this is pure integer or very close to pure integer.
+ return (::mpf_integer_p(rop) != 0);
+}
+
+bool mp_float_gmp::isneg(void) const
+{
+ if(isinf())
+ {
+ return (fpclass == mp_inf_neg);
+ }
+ else
+ {
+ return (::mpf_sgn(rop) < 0);
+ }
+}
+
+const mp_float_gmp& mp_float_gmp::my_value_nan(void) const
+{
+ static mp_float_gmp val(0u);
+ val.fpclass = mp_NaN;
+ static const mp_float_gmp qnan(val);
+ return qnan;
+}
+
+const mp_float_gmp& mp_float_gmp::my_value_inf(void) const
+{
+ static mp_float_gmp val(0u);
+ val.fpclass = mp_inf_pos;
+ static const mp_float_gmp inf(val);
+ return inf;
+}
+
+mp_float_gmp& mp_float_gmp::negate(void)
+{
+ if(fpclass == mp_inf_pos)
+ {
+ fpclass = mp_inf_neg;
+ }
+ else if(fpclass == mp_inf_neg)
+ {
+ fpclass = mp_inf_pos;
+ }
+ else
+ {
+ ::mpf_neg(rop, rop);
+ }
+
+ return *this;
+}
+
+mp_float_gmp& mp_float_gmp::operator++(void) { ::mpf_add_ui(rop, rop, static_cast<unsigned long>(1u)); return *this; }
+mp_float_gmp& mp_float_gmp::operator--(void) { ::mpf_sub_ui(rop, rop, static_cast<unsigned long>(1u)); return *this; }
+
+void mp_float_gmp::extract_parts(double& mantissa, boost::int64_t& exponent) const
+{
+ const bool b_neg = isneg();
+
+ long n2;
+ const double d2 = ::mpf_get_d_2exp(&n2, (boost::multiprecision::fabs(*this)).rop);
+ const double x_exp = static_cast<double>(static_cast<double>(n2) * ::d_log2());
+
+ const double x_exp_integer_part = static_cast<double>(static_cast<long>(x_exp));
+ const double x_exp_decimal_part = static_cast<double>(x_exp - x_exp_integer_part);
+
+ double m = d2 * ::pow(10.0, x_exp_decimal_part);
+ boost::int64_t e = static_cast<boost::int64_t>(x_exp_integer_part);
+
+ if(m < 1.0)
+ {
+ m *= 10.0;
+ e -= static_cast<boost::int64_t>(1);
+ }
+
+ mantissa = ((!b_neg) ? m : -m);
+ exponent = e;
+}
+
+double mp_float_gmp::extract_double(void) const
+{
+ const bool b_neg = isneg();
+
+ // Check for non-normal mp_float_gmp.
+ if(!isfinite())
+ {
+ if(isnan())
+ {
+ return std::numeric_limits<double>::quiet_NaN();
+ }
+ else
+ {
+ return ((!b_neg) ? std::numeric_limits<double>::infinity()
+ : -std::numeric_limits<double>::infinity());
+ }
+ }
+
+ const mp_float_gmp xx(boost::multiprecision::fabs(*this));
+
+ // Check for zero mp_float_gmp.
+ if(iszero() || (xx < boost::multiprecision::double_min()))
+ {
+ return 0.0;
+ }
+
+ // Check if mp_float_gmp exceeds the maximum of double.
+ if(xx > boost::multiprecision::double_max())
+ {
+ return ((!b_neg) ? std::numeric_limits<double>::infinity()
+ : -std::numeric_limits<double>::infinity());
+ }
+
+ const double dx = ::mpf_get_d(xx.rop);
+
+ return ((!b_neg) ? dx : -dx);
+}
+
+long double mp_float_gmp::extract_long_double(void) const
+{
+ // Returns the long double conversion of a mp_float_gmp.
+
+ const bool b_neg = isneg();
+
+ // Check for non-normal mp_float_gmp.
+ if(!isfinite())
+ {
+ if(isnan())
+ {
+ return std::numeric_limits<long double>::quiet_NaN();
+ }
+ else
+ {
+ return ((!b_neg) ? std::numeric_limits<long double>::infinity()
+ : -std::numeric_limits<long double>::infinity());
+ }
+ }
+
+ const mp_float_gmp xx(boost::multiprecision::fabs(*this));
+
+ // Check for zero mp_float_gmp.
+ if(iszero() || (xx < boost::multiprecision::long_double_min()))
+ {
+ return static_cast<long double>(0.0);
+ }
+
+ // Check if mp_float_gmp exceeds the maximum of double.
+ if(xx > boost::multiprecision::long_double_max())
+ {
+ return ((!b_neg) ? std::numeric_limits<long double>::infinity()
+ : -std::numeric_limits<long double>::infinity());
+ }
+
+ std::stringstream ss;
+
+ ss << std::setprecision(static_cast<std::streamsize>(std::numeric_limits<long double>::digits10 + (2 + 1)))
+ << std::scientific
+ << *this;
+
+ long double ld;
+ ss >> ld;
+
+ return ld;
+}
+
+signed long long mp_float_gmp::extract_signed_long_long(void) const
+{
+ const bool b_neg = isneg();
+
+ // Make a rounded copy.
+ mp_float_gmp xr = *this;
+
+ if(isint())
+ {
+ ((!b_neg) ? xr += boost::multiprecision::half() : xr -= boost::multiprecision::half());
+ }
+
+ const mp_float_gmp nx = boost::multiprecision::fabs(xr.extract_integer_part());
+
+ if(nx > boost::multiprecision::signed_long_long_max())
+ {
+ return ((!b_neg) ? (std::numeric_limits<signed long long>::max)()
+ : -(std::numeric_limits<signed long long>::max)());
+ }
+
+ if(nx < boost::multiprecision::one())
+ {
+ return static_cast<signed long long>(0);
+ }
+
+ if(nx.isone())
+ {
+ return ((!b_neg) ? static_cast<signed long long>(1) : static_cast<signed long long>(-1));
+ }
+
+ // Extract a signed long long-type string from mp_float_gmp.
+ static const char c0 = static_cast<char>('\0');
+ std::vector<char> str(64u, c0);
+ mp_exp_t p10;
+
+ static_cast<void>(::mpf_get_str(&str[0], &p10, 10, str.size() - 1u, nx.rop));
+
+ std::string str_sll(static_cast<std::size_t>(p10), static_cast<char>('0'));
+ std::copy(str.begin(), std::find(str.begin(), str.end(), c0), str_sll.begin());
+
+ // Get the signed long long result.
+ const signed long long n = boost::multiprecision::utility::numeric_cast<signed long long>(str_sll);
+
+ return ((!b_neg) ? n : -n);
+}
+
+unsigned long long mp_float_gmp::extract_unsigned_long_long(void) const
+{
+ if(isneg())
+ {
+ return static_cast<unsigned long long>(extract_signed_long_long());
+ }
+
+ // Make a rounded copy.
+ mp_float_gmp xr = *this;
+
+ if(isint())
+ {
+ xr += boost::multiprecision::half();
+ }
+
+ const mp_float_gmp nx = xr.extract_integer_part();
+
+ if(nx > boost::multiprecision::unsigned_long_long_max())
+ {
+ return (std::numeric_limits<unsigned long long>::max)();
+ }
+
+ if(nx < boost::multiprecision::one())
+ {
+ return static_cast<unsigned long long>(0u);
+ }
+
+ if(nx.isone())
+ {
+ return static_cast<unsigned long long>(1u);
+ }
+
+ // Extract an unsigned long long-type string from mp_float_gmp.
+ static const char c0 = static_cast<char>('\0');
+ std::vector<char> str(64u, c0);
+ mp_exp_t p10;
+
+ static_cast<void>(::mpf_get_str(&str[0], &p10, 10, str.size() - 1u, nx.rop));
+
+ std::string str_ull(static_cast<std::size_t>(p10), static_cast<char>('0'));
+ std::copy(str.begin(), std::find(str.begin(), str.end(), c0), str_ull.begin());
+
+ // Get the unsigned long long result.
+ const unsigned long long n = boost::multiprecision::utility::numeric_cast<unsigned long long>(str_ull);
+
+ return n;
+}
+
+mp_float_gmp mp_float_gmp::extract_integer_part(void) const
+{
+ const bool b_neg = isneg();
+
+ const mp_float_gmp xx = boost::multiprecision::fabs(*this);
+
+ mp_float_gmp nx(xx);
+ ::mpf_floor(nx.rop, xx.rop);
+
+ return ((!b_neg) ? nx : -nx);
+}
+
+mp_float_gmp mp_float_gmp::extract_decimal_part(void) const
+{
+ const bool b_neg = isneg();
+
+ const mp_float_gmp xx = boost::multiprecision::fabs(*this);
+
+ const mp_float_gmp dx = xx - xx.extract_integer_part();
+
+ return ((!b_neg) ? dx : -dx);
+}
+
+boost::int64_t mp_float_gmp::get_order_exact(void) const
+{
+ // Get the order-10 of the mp_float_gmp. This is done using a partial
+ // string extraction with 10 decimal digits.
+
+ // Create a format string for 10-digits and scientific notation.
+ std::string str_fmt = std::string("%.10Fe");
+
+ // Get the ten digits.
+ boost::array<char, 64u> buf = {{ static_cast<char>('0') }};
+
+ static_cast<void>(gmp_sprintf(buf.data(), str_fmt.c_str(), rop));
+
+ const std::string str = std::string(buf.data());
+
+ // Extract the base-10 exponent.
+ const std::size_t pos_letter_e = str.rfind(static_cast<char>('e'));
+
+ const boost::int64_t my_exp = ((pos_letter_e != std::string::npos) ? boost::multiprecision::utility::numeric_cast<boost::int64_t>(static_cast<const char* const>(str.c_str() + (pos_letter_e + 1u)))
+ : static_cast<boost::int64_t>(0));
+
+ return my_exp;
+}
+
+boost::int64_t mp_float_gmp::get_order_fast(void) const
+{
+ const mp_float_gmp xx = boost::multiprecision::fabs(*this);
+
+ if(xx.iszero() || xx.isone())
+ {
+ return static_cast<boost::int64_t>(0);
+ }
+ else
+ {
+ signed long int n2;
+ const double d2 = ::mpf_get_d_2exp(&n2, xx.rop);
+ const double lg10x = static_cast<double>(::log10(d2) + (static_cast<double>(n2) * ::d_log2()));
+
+ return ((lg10x < 0.0) ? static_cast<boost::int64_t>(lg10x - 0.5)
+ : static_cast<boost::int64_t>(lg10x + 0.5));
+ }
+}
+
+void mp_float_gmp::get_output_string(std::string& str, boost::int64_t& my_exp, const std::size_t number_of_digits) const
+{
+ static_cast<void>(my_exp);
+
+ // Create a format string such as "%+.99Fe" in order to extract 100 digits
+ // in scientific notation with the lowercase and noshowpos flags.
+ const std::size_t the_number_of_digits_scientific = static_cast<std::size_t>((std::max)(number_of_digits, static_cast<std::size_t>(1u)) - static_cast<std::size_t>(1u));
+
+ const std::string str_fmt = std::string("%.") + (boost::lexical_cast<std::string>(the_number_of_digits_scientific) + "Fe");
+
+ // Get the string representation of the mp_float_gmp in scientific notation (lowercase, noshowpos).
+ boost::array<char, static_cast<std::size_t>(mp_float_gmp::mp_max_digits10 + 32)> buf = {{ static_cast<char>('0') }};
+
+ static_cast<void>(gmp_sprintf(buf.data(), str_fmt.c_str(), rop));
+
+ str = std::string(buf.data());
+
+ // Obtain the raw digits from the scientific notation string.
+
+ // TBD: Well, this is a bit silly. First get the string in
+ // scientific notation, then reduce it to raw digits.
+ // Perhaps this can be improved.
+ // Get the raw digits from a string in scientific notation (lowercase, showpos).
+
+ // Erase the negative sign, if present.
+ if(str.at(0u) == static_cast<char>('-'))
+ {
+ str.erase(str.begin(), str.begin() + 1u);
+ }
+
+ // Erase the exponent.
+ const std::size_t pos_letter_e = str.rfind(static_cast<char>('e'));
+
+ if(pos_letter_e != std::string::npos)
+ {
+ str.erase(str.begin() + pos_letter_e, str.end());
+ }
+
+ // Erase the decimal point.
+ const std::size_t pos_decimal_point = str.rfind(static_cast<char>('.'));
+
+ if(pos_decimal_point != std::string::npos)
+ {
+ str.erase(str.begin() + pos_decimal_point, str.begin() + (pos_decimal_point + 1u));
+ }
+}
+
+bool mp_float_gmp::rd_string(const char* const s)
+{
+ std::string str(s);
+
+ // Remove spaces and tabs
+ static const char spc = static_cast<char>(' ');
+ static const char tab = static_cast<char>('\t');
+
+ str.erase(std::remove(str.begin(), str.end(), spc), str.end());
+ str.erase(std::remove(str.begin(), str.end(), tab), str.end());
+
+ // Get possible + sign and remove it
+
+ if( (!str.empty())
+ && str.at(static_cast<std::size_t>(0u)) == static_cast<char>('+')
+ )
+ {
+ str.erase(static_cast<std::size_t>(0u),
+ static_cast<std::size_t>(1u));
+ }
+
+ // Get possible - sign and remove it
+
+ bool b_negate = false;
+
+ if( (!str.empty())
+ && str.at(static_cast<std::size_t>(0u)) == static_cast<char>('-')
+ )
+ {
+ b_negate = true;
+ str.erase(static_cast<std::size_t>(0u),
+ static_cast<std::size_t>(1u));
+ }
+
+ // Remove leading zeros for all input types
+ while( (!str.empty())
+ && str.at(static_cast<std::size_t>(0u)) == static_cast<char>('0')
+ )
+ {
+ str.erase(static_cast<std::size_t>(0u), static_cast<std::size_t>(1u));
+ }
+
+ // Scale very long pure integer input strings. Convert these into a string with
+ // a decimal point and an exponent.
+
+ const std::string::const_iterator it = std::find_if(str.begin(), str.end(), ::has_exp_or_has_dec_predicate);
+
+ const bool is_pure_integer = (it == str.end());
+
+ bool b_scaled = false;
+
+ if(is_pure_integer && (str.length() > static_cast<std::size_t>(boost::multiprecision::tol())))
+ {
+ b_scaled = true;
+
+ const std::size_t exp = static_cast<std::size_t>(str.length() - static_cast<std::size_t>(1u));
+
+ const std::string str_exp = "E" + boost::lexical_cast<std::string>(exp);
+
+ str = str.substr(static_cast<std::size_t>(0u),
+ static_cast<std::size_t>(static_cast<std::size_t>(boost::multiprecision::tol()) - 1u));
+
+ str.insert(static_cast<std::size_t>(1u), ".");
+
+ str += str_exp;
+ }
+
+ // Set the mp_float_gmp value.
+ const boost::int32_t n_set_result = static_cast<boost::int32_t>(::mpf_init_set_str(rop, str.c_str(), 10));
+
+ if(b_negate) { negate(); }
+
+ return (n_set_result == static_cast<boost::int32_t>(0));
+}

Added: sandbox/multiprecision/src/backends/float/gmp/mp_float_gmp_protos.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/backends/float/gmp/mp_float_gmp_protos.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,73 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _E_FLOAT_GMP_PROTOS_2009_05_02_H_
+ #define _E_FLOAT_GMP_PROTOS_2009_05_02_H_
+
+ // Wrap the function names of GMP.
+ extern "C"
+ {
+ void __gmpf_set (mpf_ptr, mpf_srcptr);
+ void __gmpf_set_default_prec(unsigned long int);
+ void __gmpf_set_prec (mpf_ptr, unsigned long int);
+ void __gmpf_set_prec_raw (mpf_ptr, unsigned long int);
+ void __gmpf_init (mpf_ptr);
+ void __gmpf_init_set (mpf_ptr, mpf_srcptr);
+ int __gmpf_init_set_str (mpf_ptr, const char*, int);
+ void __gmpf_init_set_ui (mpf_ptr, unsigned long int);
+ void __gmpf_init_set_d (mpf_ptr, double);
+ void __gmpf_clear (mpf_ptr);
+ void __gmpf_neg (mpf_ptr, mpf_srcptr);
+ void __gmpf_add_ui (mpf_ptr, mpf_srcptr, unsigned long int);
+ void __gmpf_sub_ui (mpf_ptr, mpf_srcptr, unsigned long int);
+ void __gmpf_mul_ui (mpf_ptr, mpf_srcptr, unsigned long int);
+ void __gmpf_div_ui (mpf_ptr, mpf_srcptr, unsigned long int);
+ void __gmpf_ui_div (mpf_ptr, unsigned long int, mpf_srcptr);
+ void __gmpf_add (mpf_ptr, mpf_srcptr, mpf_srcptr);
+ void __gmpf_mul (mpf_ptr, mpf_srcptr, mpf_srcptr);
+ void __gmpf_div (mpf_ptr, mpf_srcptr, mpf_srcptr);
+ void __gmpf_floor (mpf_ptr, mpf_srcptr);
+ void __gmpf_sqrt (mpf_ptr, mpf_srcptr);
+ int __gmpf_cmp (mpf_srcptr, mpf_srcptr);
+ int __gmpf_integer_p (mpf_srcptr);
+ double __gmpf_get_d (mpf_srcptr);
+ double __gmpf_get_d_2exp (signed long int*, mpf_srcptr);
+ char* __gmpf_get_str (char*, mp_exp_t*, int, size_t, mpf_srcptr);
+ int __gmp_sprintf (char*, const char*, ...);
+ }
+
+ inline void mpf_set (mpf_ptr dst, mpf_srcptr src) { ::__gmpf_set (dst, src); }
+ inline void mpf_set_default_prec(unsigned long int p) { ::__gmpf_set_default_prec (p); }
+ inline void mpf_set_prec_raw (mpf_ptr dst, unsigned long int p) { ::__gmpf_set_prec_raw (dst, p); }
+ inline void mpf_init (mpf_ptr dst) { ::__gmpf_init (dst); }
+ inline void mpf_init_set (mpf_ptr dst, mpf_srcptr src) { ::__gmpf_init_set (dst, src); }
+ inline int mpf_init_set_str (mpf_ptr dst, const char* str, int n) { return ::__gmpf_init_set_str (dst, str, n); }
+ inline void mpf_init_set_ui (mpf_ptr dst, unsigned long int u) { ::__gmpf_init_set_ui (dst, u); }
+ inline void mpf_init_set_d (mpf_ptr dst, double d) { ::__gmpf_init_set_d (dst, d); }
+ inline void mpf_clear (mpf_ptr dst) { ::__gmpf_clear (dst); }
+ inline void mpf_neg (mpf_ptr dst, mpf_srcptr src) { ::__gmpf_neg (dst, src); }
+ inline void mpf_add_ui (mpf_ptr dst, mpf_srcptr src, unsigned long int u) { ::__gmpf_add_ui (dst, src, u); }
+ inline void mpf_sub_ui (mpf_ptr dst, mpf_srcptr src, unsigned long int u) { ::__gmpf_sub_ui (dst, src, u); }
+ inline void mpf_mul_ui (mpf_ptr dst, mpf_srcptr src, unsigned long int u) { ::__gmpf_mul_ui (dst, src, u); }
+ inline void mpf_div_ui (mpf_ptr dst, mpf_srcptr src, unsigned long int u) { ::__gmpf_div_ui (dst, src, u); }
+ inline void mpf_ui_div (mpf_ptr dst, unsigned long int u, mpf_srcptr src) { ::__gmpf_ui_div (dst, u, src); }
+ inline void mpf_add (mpf_ptr dst, mpf_srcptr u, mpf_srcptr v) { ::__gmpf_add (dst, u, v); }
+ inline void mpf_mul (mpf_ptr dst, mpf_srcptr u, mpf_srcptr v) { ::__gmpf_mul (dst, u, v); }
+ inline void mpf_floor (mpf_ptr dst, mpf_srcptr x) { ::__gmpf_floor (dst, x); }
+ inline void mpf_sqrt (mpf_ptr dst, mpf_srcptr x) { ::__gmpf_sqrt (dst, x); }
+ inline int mpf_cmp (mpf_srcptr x, mpf_srcptr y) { return ::__gmpf_cmp (x, y); }
+ inline int mpf_sgn (mpf_srcptr x) { return ((x->_mp_size < 0) ? -1 : ((x->_mp_size > 0) ? 1 : 0)); }
+ inline int mpf_integer_p (mpf_srcptr src) { return ::__gmpf_integer_p (src); }
+ inline double mpf_get_d (mpf_srcptr x) { return ::__gmpf_get_d (x); }
+ inline double mpf_get_d_2exp (signed long int* e, mpf_srcptr x) { return ::__gmpf_get_d_2exp (e, x); }
+ inline char* mpf_get_str (char* str, mp_exp_t* e, int i, size_t s, mpf_srcptr x) { return ::__gmpf_get_str (str, e, i, s, x); }
+ #define gmp_sprintf __gmp_sprintf
+
+#endif // _E_FLOAT_GMP_PROTOS_2009_05_02_H_

Added: sandbox/multiprecision/src/backends/float/mp_float.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/backends/float/mp_float.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,29 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/lexical_cast.hpp>
+
+using boost::multiprecision::mp_float;
+
+const mp_float& boost::multiprecision::value_nan(void) { static const mp_float val = mp_float().my_value_nan(); return val; }
+const mp_float& boost::multiprecision::value_inf(void) { static const mp_float val = mp_float().my_value_inf(); return val; }
+const mp_float& boost::multiprecision::value_max(void) { static const mp_float val = mp_float().my_value_max(); return val; }
+const mp_float& boost::multiprecision::value_min(void) { static const mp_float val = mp_float().my_value_min(); return val; }
+
+const mp_float& boost::multiprecision::value_eps(void)
+{
+ static const mp_float val("1E-" + boost::lexical_cast<std::string>(std::numeric_limits<mp_float>::digits10 - 1));
+ return val;
+}
+
+const mp_float& boost::multiprecision::zero(void) { static const mp_float val(0u); return val; }
+const mp_float& boost::multiprecision::one (void) { static const mp_float val(1u); return val; }
+const mp_float& boost::multiprecision::half(void) { static const mp_float val("0.5"); return val; }

Added: sandbox/multiprecision/src/backends/float/mp_float_base.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/backends/float/mp_float_base.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,582 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <algorithm>
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/lexical_cast.hpp>
+
+using boost::multiprecision::mp_float_base;
+using boost::multiprecision::mp_float;
+
+namespace
+{
+ typedef enum enum_os_float_field_type
+ {
+ os_float_field_scientific,
+ os_float_field_fixed,
+ os_float_field_none
+ }
+ os_float_field_type;
+
+ void wr_string_scientific(std::string& str,
+ const boost::int64_t my_exp,
+ const std::size_t os_precision,
+ const bool my_showpoint,
+ const bool my_uppercase,
+ const bool trim_trailing_zeros = false);
+
+ void wr_string_fixed(std::string& str,
+ const boost::int64_t my_exp,
+ const std::size_t os_precision,
+ const bool my_showpoint,
+ const bool trim_trailing_zeros = false);
+
+ void special_handle_string_not_finite(std::string& str,
+ const mp_float& f,
+ const bool my_showpos,
+ const bool my_uppercase);
+
+ void special_extend_string_to_precision(std::string& str, const std::size_t os_precision);
+}
+
+bool mp_float_base::digits_match_lib_dll_is_ok;
+
+// Create a loud link error if the digits in the
+// mp_float headers mismatch those in a Lib or DLL.
+template<> boost::int32_t boost::multiprecision::digits_match_lib_dll<mp_float_base::mp_digits10>(void) { return mp_float_base::mp_digits10; }
+
+std::ostream& boost::multiprecision::operator<<(std::ostream& os, const mp_float_base& f)
+{
+ std::string str;
+ f.wr_string(str, os);
+ return (os << str);
+}
+
+std::istream& boost::multiprecision::operator>>(std::istream& is, mp_float_base& f)
+{
+ std::string str;
+ static_cast<void>(is >> str);
+ static_cast<void>(f.rd_string(str.c_str()));
+ return is;
+}
+
+const mp_float& mp_float_base::my_value_max(void) const
+{
+ static const std::string str_max = std::string("9." + std::string(static_cast<std::size_t>(mp_max_digits10), static_cast<char>('9')))
+ + std::string("e+" + boost::lexical_cast<std::string>(std::numeric_limits<mp_float>::max_exponent10));
+ static const mp_float val_max(str_max);
+ return val_max;
+}
+
+const mp_float& mp_float_base::my_value_min(void) const
+{
+ static const mp_float val_min("1.0e" + boost::lexical_cast<std::string>(std::numeric_limits<mp_float>::min_exponent10));
+ return val_min;
+}
+
+mp_float& mp_float_base::add_signed_long_long(const signed long long n)
+{
+ if(n < static_cast<signed long long>(0))
+ {
+ negate();
+ add_unsigned_long_long(static_cast<unsigned long long>(-n));
+ negate();
+ }
+ else
+ {
+ add_unsigned_long_long(static_cast<unsigned long long>(n));
+ }
+
+ return static_cast<mp_float&>(*this);
+}
+
+mp_float& mp_float_base::sub_signed_long_long(const signed long long n)
+{
+ return add_signed_long_long(static_cast<signed long long>(-n));
+}
+
+mp_float& mp_float_base::mul_signed_long_long(const signed long long n)
+{
+ const bool b_neg = (n < static_cast<signed long long>(0));
+
+ mul_unsigned_long_long((!b_neg) ? static_cast<unsigned long long>(n) : static_cast<unsigned long long>(-n));
+
+ if(b_neg) { negate(); }
+
+ return static_cast<mp_float&>(*this);
+}
+
+mp_float& mp_float_base::div_signed_long_long(const signed long long n)
+{
+ const bool b_neg = (n < static_cast<signed long long>(0));
+
+ div_unsigned_long_long((!b_neg) ? static_cast<unsigned long long>(n) : static_cast<unsigned long long>(-n));
+
+ if(b_neg) { negate(); }
+
+ return static_cast<mp_float&>(*this);
+}
+
+void mp_float_base::wr_string(std::string& str, std::ostream& os) const
+{
+ // Assess the format flags.
+ const std::ios::fmtflags my_flags = os.flags();
+
+ // Obtain the showpos flag.
+ const bool my_showpos = ((my_flags & std::ios::showpos) != static_cast<std::ios::fmtflags>(0u));
+ const bool my_uppercase = ((my_flags & std::ios::uppercase) != static_cast<std::ios::fmtflags>(0u));
+
+ // Use special handling for non-finite numbers (inf and nan).
+ if(!isfinite()) { ::special_handle_string_not_finite(str, static_cast<const mp_float&>(*this), my_showpos, my_uppercase); return; }
+
+ // Get the base-10 exponent.
+ boost::int64_t my_exp = get_order_exact();
+
+ // Get the output stream's precision and limit it to max_digits10.
+ // Erroneous zero or negative precision (theoretically impossible)
+ // will be set to ostream's default precision.
+ static const std::stringstream str_default;
+ static const std::streamsize prec_default = str_default.precision();
+
+ const std::size_t os_precision = ((os.precision() <= static_cast<std::streamsize>(0)) ? static_cast<std::size_t>(prec_default) : static_cast<std::size_t>(os.precision()));
+
+ // Determine the kind of output format requested (scientific, fixed, none).
+ os_float_field_type my_float_field;
+
+ if ((my_flags & std::ios::scientific) != static_cast<std::ios::fmtflags>(0u)) { my_float_field = os_float_field_scientific; }
+ else if((my_flags & std::ios::fixed) != static_cast<std::ios::fmtflags>(0u)) { my_float_field = os_float_field_fixed; }
+ else { my_float_field = os_float_field_none; }
+
+ bool use_scientific = false;
+ bool use_fixed = false;
+
+ if (my_float_field == os_float_field_scientific) { use_scientific = true; }
+ else if(my_float_field == os_float_field_fixed) { use_fixed = true; }
+ else // os_float_field_none
+ {
+ // Set up the range for dynamic detection of scientific notation.
+ // If the exponent is less than -4 or larger than a precision-dependent
+ // positive bound, then scientific notation is used.
+ static const boost::int64_t neg_bound_for_scientific_neg_exp = static_cast<boost::int64_t>(-4);
+ const boost::int64_t min_bound_for_scientific_pos_exp = (std::max)(static_cast<boost::int64_t>(os_precision), static_cast<boost::int64_t>(prec_default));
+ const boost::int64_t pos_bound_for_scientific_pos_exp = (std::min)(static_cast<boost::int64_t>(std::numeric_limits<mp_float>::digits10), min_bound_for_scientific_pos_exp);
+
+ if( (my_exp < neg_bound_for_scientific_neg_exp)
+ || (my_exp >= pos_bound_for_scientific_pos_exp)
+ )
+ {
+ use_scientific = true;
+ }
+ else
+ {
+ use_fixed = true;
+ }
+ }
+
+ // Ascertain the number of digits requested from mp_float.
+ std::size_t the_number_of_digits_i_want_from_e_float = static_cast<std::size_t>(0u);
+ const std::size_t max10_plus_one = static_cast<std::size_t>(std::numeric_limits<mp_float>::max_digits10 + 1);
+
+ if(use_scientific)
+ {
+ // The float-field is scientific. The number of digits is given by
+ // (1 + the ostream's precision), not to exceed (max_digits10 + 1).
+ const std::size_t prec_plus_one = static_cast<std::size_t>(1u + os_precision);
+ the_number_of_digits_i_want_from_e_float = (std::min)(max10_plus_one, prec_plus_one);
+ }
+ else if(use_fixed)
+ {
+ // The float-field is scientific. The number of all-digits depends
+ // on the form of the number.
+
+ if(my_exp >= static_cast<boost::int64_t>(0))
+ {
+ // If the number is larger than 1 in absolute value, then the number of
+ // digits is given by the width of the integer part plus the ostream's
+ // precision, not to exceed (max_digits10 + 1).
+ const std::size_t exp_plus_one = static_cast<std::size_t>(my_exp + 1);
+ const std::size_t exp_plus_one_plus_my_precision = static_cast<std::size_t>(exp_plus_one + os_precision);
+
+ the_number_of_digits_i_want_from_e_float = (std::min)(exp_plus_one_plus_my_precision, max10_plus_one);
+ }
+ else
+ {
+ const boost::int64_t exp_plus_one = static_cast<boost::int64_t>(my_exp + 1);
+ const boost::int64_t exp_plus_one_plus_my_precision = static_cast<boost::int64_t>(exp_plus_one + static_cast<boost::int64_t>(os_precision));
+
+ the_number_of_digits_i_want_from_e_float = (std::min)(static_cast<std::size_t>((std::max)(exp_plus_one_plus_my_precision, static_cast<boost::int64_t>(0))), max10_plus_one);
+ }
+ }
+
+ // If the float field is not set, reduce the number of digits requested
+ // from mp_float such that it neither exceeds the ostream's precision
+ // nor mp_float's max_digits10.
+ if(my_float_field == os_float_field_none)
+ {
+ const std::size_t max_digits = (std::min)(os_precision, static_cast<std::size_t>(std::numeric_limits<mp_float>::max_digits10));
+ the_number_of_digits_i_want_from_e_float = (std::min)(the_number_of_digits_i_want_from_e_float, max_digits);
+ }
+
+ // Extract the rounded output string with the desired number of digits.
+ get_output_string(str, my_exp, the_number_of_digits_i_want_from_e_float);
+
+ // Obtain additional format information.
+ const bool my_showpoint = ((my_flags & std::ios::showpoint) != static_cast<std::ios::fmtflags>(0u));
+
+ // Write the output string in the desired format.
+ if (my_float_field == os_float_field_scientific) { wr_string_scientific(str, my_exp, os_precision, my_showpoint, my_uppercase); }
+ else if(my_float_field == os_float_field_fixed) { wr_string_fixed(str, my_exp, os_precision, my_showpoint); }
+ else // os_float_field_none
+ {
+ (use_scientific ? wr_string_scientific(str, my_exp, os_precision, my_showpoint, my_uppercase, true)
+ : wr_string_fixed(str, my_exp, os_precision, my_showpoint, true));
+ }
+
+ // Append the sign.
+ if (isneg()) { str.insert(static_cast<std::size_t>(0u), "-"); }
+ else if(my_showpos) { str.insert(static_cast<std::size_t>(0u), "+"); }
+
+ // Handle std::setw(...), std::setfill(...), std::left, std::right, std::internal.
+ const std::size_t my_width = ((os.width() >= static_cast<std::streamsize>(0)) ? static_cast<std::size_t>(os.width())
+ : static_cast<std::size_t>(0u));
+
+ if(my_width > str.length())
+ {
+ // Get the number of fill characters.
+ const std::size_t n_fill = static_cast<std::size_t>(my_width - str.length());
+
+ // Left-justify is the exception, std::right and std::internal justify right.
+ const bool my_left = ((my_flags & std::ios::left) != static_cast<std::ios::fmtflags>(0u));
+
+ // Justify left or right and insert the fill characters.
+ str.insert((my_left ? str.end() : str.begin()), n_fill, os.fill());
+ }
+}
+
+namespace
+{
+ void special_handle_string_not_finite(std::string& str,
+ const mp_float& f,
+ const bool my_showpos,
+ const bool my_uppercase)
+ {
+ // Handle INF and NaN.
+ if(f.isinf())
+ {
+ if(my_uppercase)
+ {
+ str = ((!f.isneg()) ? (my_showpos ? std::string("+INF") : std::string("INF")) : std::string("-INF"));
+ }
+ else
+ {
+ str = ((!f.isneg()) ? (my_showpos ? std::string("+inf") : std::string("inf")) : std::string("-inf"));
+ }
+ }
+ else
+ {
+ str = (my_uppercase ? std::string("NAN") : std::string("nan"));
+ }
+ }
+
+ void wr_string_scientific(std::string& str,
+ const boost::int64_t my_exp,
+ const std::size_t os_precision,
+ const bool my_showpoint,
+ const bool my_uppercase,
+ const bool trim_trailing_zeros)
+ {
+ if(os_precision > static_cast<std::size_t>(str.length() - 1u))
+ {
+ // Zero-extend the string to the given precision if necessary.
+ const std::size_t n_pad = static_cast<std::size_t>(os_precision - (str.length() - 1u));
+
+ str.insert(str.end(), n_pad, static_cast<char>('0'));
+ }
+
+ // Insert the decimal point.
+ str.insert(static_cast<std::size_t>(1u), ".");
+
+ // Trim the trailing zeros, where the trim-characteristics depend on the showpoint flag.
+ if(trim_trailing_zeros)
+ {
+ const std::string::const_reverse_iterator rit_non_zero = std::find_if(str.rbegin(), str.rend(), mp_float_base::char_is_nonzero_predicate);
+
+ if(rit_non_zero != str.rbegin())
+ {
+ const std::size_t ofs = str.length() - std::distance<std::string::const_reverse_iterator>(str.rbegin(), rit_non_zero);
+ str.erase(str.begin() + ofs, str.end());
+ }
+ }
+
+ // Perform the final manipulations on the digits of the string.
+ if(my_showpoint)
+ {
+ if(trim_trailing_zeros) { ::special_extend_string_to_precision(str, os_precision); }
+ }
+ else
+ {
+ // Remove the trailing decimal point if necessary.
+ if(*(str.end() - 1u) == static_cast<char>('.'))
+ {
+ str.erase(str.end() - 1u, str.end());
+ }
+ }
+
+ // Append the exponent in uppercase or lower case, including its sign.
+ const bool b_exp_is_neg = (my_exp < static_cast<boost::int64_t>(0));
+ const boost::uint64_t u_exp = static_cast<boost::uint64_t>(!b_exp_is_neg ? my_exp : static_cast<boost::int64_t>(-my_exp));
+
+ str += (my_uppercase ? "E" : "e");
+ str += (b_exp_is_neg ? "-" : "+");
+ std::string str_exp = boost::lexical_cast<std::string>(static_cast<boost::int64_t>(u_exp));
+
+ // Format the exponent string to have a width that is an even multiple of three.
+ const std::size_t str_exp_len = str_exp.length();
+ const std::size_t str_exp_len_mod3 = static_cast<std::size_t>(str_exp_len % 3u);
+ const std::size_t str_exp_len_pad = ((str_exp_len_mod3 != static_cast<std::size_t>(0u)) ? static_cast<std::size_t>(3u - (str_exp_len % 3u))
+ : static_cast<std::size_t>(0u));
+
+ str += std::string(str_exp_len_pad, static_cast<char>('0'));
+ str += str_exp;
+ }
+
+ void wr_string_fixed(std::string& str,
+ const boost::int64_t my_exp,
+ const std::size_t os_precision,
+ const bool my_showpoint,
+ const bool trim_trailing_zeros)
+ {
+ const std::size_t input_str_len = str.length();
+
+ if(my_exp < static_cast<boost::int64_t>(0))
+ {
+ // The number is less than one in magnitude. Insert the decimal
+ // point using "0." as well as the needed number of leading zeros.
+ const std::size_t minus_exp_minus_one = static_cast<std::size_t>(-my_exp - 1);
+ const std::string str_zero_insert((std::min)(minus_exp_minus_one, os_precision), static_cast<char>('0'));
+
+ const boost::int64_t n_pad = static_cast<boost::int64_t>(static_cast<boost::int64_t>(os_precision) - static_cast<boost::int64_t>(str.length() + str_zero_insert.length()));
+
+ str.insert(0u, "0." + str_zero_insert);
+
+ // Zero-extend the string to the given precision if necessary.
+ if(n_pad > static_cast<boost::int64_t>(0))
+ {
+ str.insert(str.end(), static_cast<std::size_t>(n_pad), static_cast<char>('0'));
+ }
+ }
+ else
+ {
+ // Insert the decimal point.
+ const std::size_t my_exp_plus_one = static_cast<std::size_t>(my_exp + 1);
+
+ // The number string is not large enough to hold the integer part of the number.
+ // Zero extend the integer part of the string.
+ if(input_str_len < my_exp_plus_one)
+ {
+ str.insert(str.end(), static_cast<std::size_t>(my_exp_plus_one- str.length()), static_cast<char>('0'));
+ }
+
+ str.insert(my_exp_plus_one, ".");
+
+ // Zero-extend the string to the given precision if necessary.
+ const boost::int64_t n_pad = static_cast<boost::int64_t>(os_precision) - static_cast<boost::int64_t>(static_cast<boost::int64_t>(str.length() - 1u) - (my_exp + 1));
+
+ if(n_pad > static_cast<boost::int64_t>(0))
+ {
+ str.insert(str.end(), static_cast<std::size_t>(n_pad), static_cast<char>('0'));
+ }
+ }
+
+ // Trim the trailing zeros, where the trim-characteristics depend on the showpoint flag.
+ if(trim_trailing_zeros)
+ {
+ const std::string::const_reverse_iterator rit_non_zero = std::find_if(str.rbegin(), str.rend(), mp_float_base::char_is_nonzero_predicate);
+
+ if(rit_non_zero != str.rbegin())
+ {
+ const std::size_t ofs = str.length() - std::distance<std::string::const_reverse_iterator>(str.rbegin(), rit_non_zero);
+ str.erase(str.begin() + ofs, str.end());
+ }
+ }
+
+ // Perform the final manipulations on the digits of the string.
+ if(my_showpoint)
+ {
+ if(trim_trailing_zeros) { ::special_extend_string_to_precision(str, os_precision); }
+ }
+ else
+ {
+ // Remove the trailing decimal point if necessary.
+ if(*(str.end() - 1u) == static_cast<char>('.'))
+ {
+ str.erase(str.end() - 1u, str.end());
+ }
+ }
+ }
+
+ void special_extend_string_to_precision(std::string& str, const std::size_t os_precision)
+ {
+ // This is the special case of showpoint in combination with
+ // a non-fixed, non-scientific representation. The string has
+ // to be zero extended such that the total width of its entire
+ // non-zero part exactly equals the precision.
+
+ // Check if the number is less than 1.
+ if( (str.at(static_cast<std::size_t>(0u)) == static_cast<char>('0'))
+ && (str.at(static_cast<std::size_t>(1u)) == static_cast<char>('.'))
+ )
+ {
+ if(str.length() == static_cast<std::size_t>(2u))
+ {
+ // This string represents zero and needs zero extension.
+ str.insert(str.end(), os_precision, static_cast<char>('0'));
+ }
+ else
+ {
+ // This is a non-zero decimal less than 1 that needs zero extension.
+ const std::string::const_iterator it_non_zero = std::find_if(str.begin() + 2u, str.end(), mp_float_base::char_is_nonzero_predicate);
+ const std::size_t len_non_zero_part = std::distance<std::string::const_iterator>(it_non_zero, str.end());
+ const std::size_t u_pad = static_cast<std::size_t>(os_precision - len_non_zero_part);
+ str.insert(str.end(), u_pad, static_cast<char>('0'));
+ }
+ }
+ else
+ {
+ // This is a number greater than or equal to 1 that needs zero extension.
+ const std::size_t u_pad = static_cast<std::size_t>(os_precision - static_cast<std::size_t>(str.length() - static_cast<std::size_t>(1u)));
+ str.insert(str.end(), u_pad, static_cast<char>('0'));
+ }
+ }
+}
+
+mp_float mp_float_base::my_ldexp (const mp_float&, int) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_frexp (const mp_float&, int*) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_fmod (const mp_float&, const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_cbrt (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_rootn (const mp_float&, const boost::uint32_t) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_exp (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_log (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_sin (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_cos (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_tan (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_asin (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_acos (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_atan (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_sinh (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_cosh (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_tanh (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_asinh (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_acosh (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_atanh (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_gamma (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_riemann_zeta (const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_cyl_bessel_jn(const boost::int32_t, const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+mp_float mp_float_base::my_cyl_bessel_yn(const boost::int32_t, const mp_float&) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+
+/*
+#include <iostream>
+#include <boost/array>
+#include <vector>
+#include <string>
+#include <algorithm>
+#include <iterator>
+#include <sstream>
+#include <regex>
+
+namespace
+{
+ struct regex_matcher
+ {
+ private:
+ regex_matcher();
+ const regex_matcher& operator=(const regex_matcher&);
+
+ std::match_results<std::string::const_iterator>& results;
+ const std::string& str;
+
+ public:
+ regex_matcher(std::match_results<std::string::const_iterator>& mr, const std::string& s) : results(mr), str(s) { }
+
+ regex_matcher(const regex_matcher& rxm) : results(rxm.results), str(rxm.str) { }
+
+ bool operator()(const std::regex& rx) const { return std::regex_match(str, results, rx); }
+ };
+
+ template<typename T>
+ std::string lexical_cast(const T& t)
+ {
+ std::stringstream ss;
+ ss << t;
+ return ss.str();
+ }
+}
+
+bool rd_string(const std::string& str)
+{
+ // Use regular expressions to do a preliminary parse of the input string.
+
+ // Here is the key to the upcoming regular expressions.
+ // [1] = sign(s)
+ // [2] = leading zeros
+ // [3] = mantissa
+ // [4] = dot
+ // [5] = decimal part
+ // [6] = exponent letter e or E
+ // [7] = exponent sign + or -
+ // [8] = exponent's leading zeros
+ // [9] = exponent value
+ static const std::array<std::regex, 6u> the_regs_data =
+ {{
+ std::regex("([+|-]*)([0]*)([0-9]+)([.])([0-9]*)([e|E])([+|-]*)([0]*)([0-9]+)"), // Exponent with dot, integer part required.
+ std::regex("([+|-]*)([0]*)([0-9]*)([.])([0-9]+)([e|E])([+|-]*)([0]*)([0-9]+)"), // Exponent with dot, decimal part required.
+ std::regex("([+|-]*)([0]*)([0-9]+)()()([e|E])([+|-]*)([0]*)([0-9]+)"), // Exponent no dot, integer part required.
+ std::regex("([+|-]*)([0]*)([0-9]+)([.])([0-9]*)()()()()"), // Fixed with dot, integer part required.
+ std::regex("([+|-]*)([0]*)([0-9]*)([.])([0-9]+)()()()()"), // Fixed with dot, decimal part required.
+ std::regex("([+|-]*)([0]*)([0-9]+)()()()()()()") // Fixed no dot.
+ }};
+
+ static const std::vector<std::regex> the_regs(the_regs_data.begin(), the_regs_data.end());
+
+ std::match_results<std::string::const_iterator> mr;
+
+ const std::vector<std::regex>::const_iterator it_rx = std::find_if(the_regs.begin(), the_regs.end(), ::regex_matcher(mr, str));
+
+ const bool b_match = (it_rx != the_regs.end());
+
+ (b_match ? std::cout << "Match OK: index = " << std::distance(the_regs.begin(), it_rx) << std::endl
+ : std::cout << "Match failed!" << std::endl);
+
+ for(std::match_results<std::string::const_iterator>::const_iterator it_mr = mr.begin(); it_mr != mr.end(); ++it_mr)
+ {
+ std::cout << "mr-index: " + lexical_cast(std::distance(mr.begin(), it_mr)) << ", " << *it_mr << std::endl;
+ }
+
+ std::cout << std::endl;
+
+ return b_match;
+}
+
+int main(void)
+{
+ std::string str;
+
+ for(;;)
+ {
+ std::cout << "Enter FP string: ";
+ std::cin >> str;
+
+ if(str == "exit") { break; }
+
+ static_cast<void>(rd_string(str));
+ }
+}
+*/

Added: sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/p4/mpfr.lib
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/p4/mpfr.pdb
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.lib
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/mpfr/2-4-1/vc9/x64/mpfr.pdb
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/src/backends/float/mpfr/mp_float_mpfr.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/backends/float/mpfr/mp_float_mpfr.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,631 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <sstream>
+#include <iomanip>
+#include <cstdio>
+#include <cstdarg>
+
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include <boost/multiprecision/utility/util_numeric_cast.hpp>
+#include "mp_float_mpfr_protos.h"
+
+using boost::multiprecision::mp_float_mpfr;
+
+namespace
+{
+ const double& d_log2(void)
+ {
+ static const double value_log2 = 0.3010299956639811952137389;
+ return value_log2;
+ }
+}
+
+void mp_float_mpfr::init(void)
+{
+ static bool precision_is_initialized;
+
+ if(precision_is_initialized == false)
+ {
+ precision_is_initialized = true;
+ ::mpfr_set_default_prec(static_cast<mp_prec_t>(mp_digits2 + static_cast<boost::int32_t>(4)));
+ }
+}
+
+mp_float_mpfr::mp_float_mpfr() { init(); ::mpfr_init(rop); }
+
+mp_float_mpfr::mp_float_mpfr(const char n) { init(); const bool b_neg = (std::numeric_limits<char>::is_signed ? (n < static_cast<char> (0)) : false); from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n)); if(b_neg) { ::mpfr_neg(rop, rop, GMP_RNDN); } }
+mp_float_mpfr::mp_float_mpfr(const wchar_t n) { init(); const bool b_neg = (std::numeric_limits<wchar_t>::is_signed ? (n < static_cast<wchar_t>(0)) : false); from_unsigned_long((!b_neg) ? static_cast<unsigned long>(n) : static_cast<unsigned long>(-n)); if(b_neg) { ::mpfr_neg(rop, rop, GMP_RNDN); } }
+
+mp_float_mpfr::mp_float_mpfr(const signed char n) { init(); const bool b_neg = (n < static_cast<signed char>(0)); from_unsigned_long ((!b_neg) ? static_cast<unsigned long> (n) : static_cast<unsigned long> (-n)); if(b_neg) { ::mpfr_neg(rop, rop, GMP_RNDN); } }
+mp_float_mpfr::mp_float_mpfr(const signed short n) { init(); const bool b_neg = (n < static_cast<signed short>(0)); from_unsigned_long ((!b_neg) ? static_cast<unsigned long> (n) : static_cast<unsigned long> (-n)); if(b_neg) { ::mpfr_neg(rop, rop, GMP_RNDN); } }
+mp_float_mpfr::mp_float_mpfr(const signed int n) { init(); const bool b_neg = (n < static_cast<signed int>(0)); from_unsigned_long ((!b_neg) ? static_cast<unsigned long> (n) : static_cast<unsigned long> (-n)); if(b_neg) { ::mpfr_neg(rop, rop, GMP_RNDN); } }
+mp_float_mpfr::mp_float_mpfr(const signed long n) { init(); const bool b_neg = (n < static_cast<signed long>(0)); from_unsigned_long ((!b_neg) ? static_cast<unsigned long> (n) : static_cast<unsigned long> (-n)); if(b_neg) { ::mpfr_neg(rop, rop, GMP_RNDN); } }
+mp_float_mpfr::mp_float_mpfr(const signed long long n) { init(); const bool b_neg = (n < static_cast<signed long long>(0)); from_unsigned_long_long((!b_neg) ? static_cast<unsigned long long>(n) : static_cast<unsigned long long>(-n)); if(b_neg) { ::mpfr_neg(rop, rop, GMP_RNDN); } }
+
+mp_float_mpfr::mp_float_mpfr(const unsigned char n) { init(); from_unsigned_long (static_cast<unsigned long> (n)); }
+mp_float_mpfr::mp_float_mpfr(const unsigned short n) { init(); from_unsigned_long (static_cast<unsigned long> (n)); }
+mp_float_mpfr::mp_float_mpfr(const unsigned int n) { init(); from_unsigned_long (static_cast<unsigned long> (n)); }
+mp_float_mpfr::mp_float_mpfr(const unsigned long n) { init(); from_unsigned_long (static_cast<unsigned long> (n)); }
+mp_float_mpfr::mp_float_mpfr(const unsigned long long n) { init(); from_unsigned_long_long(static_cast<unsigned long long>(n)); }
+
+mp_float_mpfr::mp_float_mpfr(const float f)
+{
+ init();
+
+ const bool b_neg = (f < 0.0f);
+
+ if(!boost::multiprecision::isfinite(static_cast<double>(f)))
+ {
+ (boost::multiprecision::isnan(static_cast<double>(f)) ? mpfr_set_nan(rop) : ((!b_neg) ? ::mpfr_set_inf(rop, 1) : ::mpfr_set_inf(rop, -1)));
+ return;
+ }
+
+ if(f == 0.0f)
+ {
+ mpfr_init_set_ui(rop, 0uL, GMP_RNDN);
+ return;
+ }
+
+ const native_float_parts<float> fb((!b_neg) ? f : -f);
+
+ // Create an mp_float_mpfr from the fractional part of the
+ // mantissa expressed as an unsigned long long.
+ from_unsigned_long_long(fb.get_mantissa());
+
+ // Scale the unsigned long long representation to the fractional
+ // part of the float and multiply with the base-2 exponent.
+ const int p2 = fb.get_exponent() - (std::numeric_limits<float>::digits - 1);
+
+ if(p2 != 0) { mpfr_mul_2si(rop, rop, static_cast<signed long>(p2), GMP_RNDN); }
+
+ if(b_neg)
+ {
+ ::mpfr_neg(rop, rop, GMP_RNDN);
+ }
+}
+
+mp_float_mpfr::mp_float_mpfr(const double d) { init(); mpfr_init_set_d(rop, d, GMP_RNDN); }
+mp_float_mpfr::mp_float_mpfr(const long double ld) { init(); mpfr_init_set_ld(rop, ld, GMP_RNDN); }
+mp_float_mpfr::mp_float_mpfr(const mp_float_mpfr& f) { init(); mpfr_init_set(rop, f.rop, GMP_RNDN); }
+
+mp_float_mpfr::mp_float_mpfr(const char* s) { init(); static_cast<void>(rd_string(s)); }
+mp_float_mpfr::mp_float_mpfr(const std::string& str) { init(); static_cast<void>(rd_string(str.c_str())); }
+
+mp_float_mpfr::mp_float_mpfr(const double mantissa, const boost::int64_t exponent)
+{
+ init();
+
+ const bool mantissa_is_iszero = (::fabs(mantissa) < ((std::numeric_limits<double>::min)() * 2.0));
+
+ if(mantissa_is_iszero)
+ {
+ if(exponent == static_cast<boost::int64_t>(0))
+ {
+ mpfr_init_set(rop, (boost::multiprecision::one()).rop, GMP_RNDN);
+ }
+ else
+ {
+ mpfr_init_set(rop, (boost::multiprecision::zero()).rop, GMP_RNDN);
+ }
+ }
+ else
+ {
+ mpfr_init_set(rop, (boost::multiprecision::zero()).rop, GMP_RNDN);
+ operator=(mp_float_mpfr(mantissa));
+ operator*=(mp_float_mpfr("1E" + boost::lexical_cast<std::string>(exponent)));
+ }
+}
+
+mp_float_mpfr::~mp_float_mpfr()
+{
+ ::mpfr_clear(rop);
+}
+
+void mp_float_mpfr::from_unsigned_long_long(const unsigned long long u)
+{
+ if(u <= static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ from_unsigned_long(static_cast<unsigned long>(u));
+ }
+ else
+ {
+ static_cast<void>(::mpfr_init_set_str(rop, boost::lexical_cast<std::string>(u).c_str(), 10, GMP_RNDN));
+ }
+}
+
+void mp_float_mpfr::from_unsigned_long(const unsigned long u)
+{
+ mpfr_init_set_ui(rop, u, GMP_RNDN);
+}
+
+const mp_float_mpfr& mp_float_mpfr::my_value_nan(void) const
+{
+ static const mp_float_mpfr val;
+ return val;
+}
+
+const mp_float_mpfr& mp_float_mpfr::my_value_inf(void) const
+{
+ static const mp_float_mpfr inf = boost::multiprecision::one() / boost::multiprecision::zero();
+ return inf;
+}
+
+mp_float_mpfr& mp_float_mpfr::operator=(const mp_float_mpfr& v)
+{
+ static_cast<void>(::mpfr_set(rop, v.rop, GMP_RNDN));
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::operator+=(const mp_float_mpfr& v)
+{
+ static_cast<void>(::mpfr_add(rop, rop, v.rop, GMP_RNDN));
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::operator-=(const mp_float_mpfr& v)
+{
+ static_cast<void>(::mpfr_sub(rop, rop, v.rop, GMP_RNDN));
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::operator*=(const mp_float_mpfr& v)
+{
+ static_cast<void>(::mpfr_mul(rop, rop, v.rop, GMP_RNDN));
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::operator/=(const mp_float_mpfr& v)
+{
+ static_cast<void>(::mpfr_div(rop, rop, v.rop, GMP_RNDN));
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::add_unsigned_long_long(const unsigned long long n)
+{
+ if(n > static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ operator+=(mp_float_mpfr(n));
+ }
+ else
+ {
+ static_cast<void>(::mpfr_add_ui(rop, rop, static_cast<unsigned long>(n), GMP_RNDN));
+ }
+
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::sub_unsigned_long_long(const unsigned long long n)
+{
+ if(n > static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ operator-=(mp_float_mpfr(n));
+ }
+ else
+ {
+ static_cast<void>(::mpfr_sub_ui(rop, rop, static_cast<unsigned long>(n), GMP_RNDN));
+ }
+
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::mul_unsigned_long_long(const unsigned long long n)
+{
+ if(n > static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ operator*=(mp_float_mpfr(n));
+ }
+ else
+ {
+ static_cast<void>(::mpfr_mul_ui(rop, rop, static_cast<unsigned long>(n), GMP_RNDN));
+ }
+
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::div_unsigned_long_long(const unsigned long long n)
+{
+ if(n > static_cast<unsigned long long>((std::numeric_limits<unsigned long>::max)()))
+ {
+ operator/=(mp_float_mpfr(n));
+ }
+ else
+ {
+ static_cast<void>(::mpfr_div_ui(rop, rop, static_cast<unsigned long>(n), GMP_RNDN));
+ }
+
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::negate(void)
+{
+ ::mpfr_neg(rop, rop, GMP_RNDN);
+ return *this;
+}
+
+boost::int32_t mp_float_mpfr::cmp(const mp_float_mpfr& v) const
+{
+ // Handle all non-finite cases.
+ if((!isfinite()) || (!v.isfinite()))
+ {
+ // NaN can never equal NaN. Return an implementation-dependent
+ // signed result. Also note that comparison of NaN with NaN
+ // using operators greater-than or less-than is undefined.
+ if(isnan() || v.isnan()) { return (isnan() ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1)); }
+
+ if(isinf() && v.isinf())
+ {
+ // Both *this and v are infinite. They are equal if they have the same sign.
+ // Otherwise, *this is less than v if and only if *this is negative.
+ return ((isneg() == v.isneg()) ? static_cast<boost::int32_t>(0) : (isneg() ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1)));
+ }
+
+ if(isinf())
+ {
+ // *this is infinite, but v is finite.
+ // So negative infinite *this is less than any finite v.
+ // Whereas positive infinite *this is greater than any finite v.
+ return (isneg() ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1));
+ }
+ else
+ {
+ // *this is finite, and v is infinite.
+ // So any finite *this is greater than negative infinite v.
+ // Whereas any finite *this is less than positive infinite v.
+ return (v.isneg() ? static_cast<boost::int32_t>(1) : static_cast<boost::int32_t>(-1));
+ }
+ }
+
+ // And now handle all *finite* cases.
+ if(iszero() && v.iszero())
+ {
+ return static_cast<boost::int32_t>(0);
+ }
+ else
+ {
+ return static_cast<boost::int32_t>(::mpfr_cmp(rop, v.rop));
+ }
+}
+
+mp_float_mpfr& mp_float_mpfr::calculate_sqrt(void)
+{
+ static_cast<void>(::mpfr_sqrt(rop, rop, GMP_RNDN));
+ return *this;
+}
+
+mp_float_mpfr& mp_float_mpfr::calculate_inv(void)
+{
+ static_cast<void>(::mpfr_div(rop, boost::multiprecision::one().rop, rop, GMP_RNDN));
+ return *this;
+}
+
+bool mp_float_mpfr::isnan (void) const { return (::mpfr_nan_p (rop) != 0); }
+bool mp_float_mpfr::isinf (void) const { return (::mpfr_inf_p (rop) != 0); }
+bool mp_float_mpfr::isfinite(void) const { return ((!isnan()) && (!isinf())); }
+bool mp_float_mpfr::isone (void) const { return ((::mpfr_integer_p(rop) != 0) && (::mpfr_get_si(rop, GMP_RNDN) == static_cast<unsigned long>(1uL))); }
+bool mp_float_mpfr::isint (void) const { return (::mpfr_integer_p(rop) != 0); }
+bool mp_float_mpfr::isneg (void) const { return (::mpfr_sgn (rop) < 0); }
+
+bool mp_float_mpfr::iszero(void) const
+{
+ return (::mpfr_zero_p(rop) != 0);
+}
+
+mp_float_mpfr& mp_float_mpfr::operator++(void) { ::mpfr_add_ui(rop, rop, static_cast<unsigned long>(1uL), GMP_RNDN); return *this; }
+mp_float_mpfr& mp_float_mpfr::operator--(void) { ::mpfr_sub_ui(rop, rop, static_cast<unsigned long>(1uL), GMP_RNDN); return *this; }
+
+void mp_float_mpfr::extract_parts(double& mantissa, boost::int64_t& exponent) const
+{
+ const bool b_neg = isneg();
+
+ long n2;
+ const double d2 = ::mpfr_get_d_2exp(&n2, (boost::multiprecision::fabs(*this)).rop, GMP_RNDN);
+ const double x_exp = static_cast<double>(static_cast<double>(n2) * ::d_log2());
+
+ const double x_exp_integer_part = static_cast<double>(static_cast<long>(x_exp));
+ const double x_exp_decimal_part = static_cast<double>(x_exp - x_exp_integer_part);
+
+ double m = d2 * ::pow(10.0, x_exp_decimal_part);
+ boost::int64_t e = static_cast<boost::int64_t>(x_exp_integer_part);
+
+ if(m < 1.0)
+ {
+ m *= 10.0;
+ e -= static_cast<boost::int64_t>(1);
+ }
+
+ mantissa = ((!b_neg) ? m : -m);
+ exponent = e;
+}
+
+double mp_float_mpfr::extract_double(void) const
+{
+ const bool b_neg = isneg();
+
+ // Check for non-normal mp_float_mpfr.
+ if(!isfinite())
+ {
+ if(isnan())
+ {
+ return std::numeric_limits<double>::quiet_NaN();
+ }
+ else
+ {
+ return ((!b_neg) ? std::numeric_limits<double>::infinity()
+ : -std::numeric_limits<double>::infinity());
+ }
+ }
+
+ const mp_float_mpfr xx(boost::multiprecision::fabs(*this));
+
+ // Check for zero mp_float_mpfr.
+ if(iszero() || (xx < boost::multiprecision::double_min()))
+ {
+ return 0.0;
+ }
+
+ // Check if mp_float_mpfr exceeds the maximum of double.
+ if(xx > boost::multiprecision::double_max())
+ {
+ return ((!b_neg) ? std::numeric_limits<double>::infinity()
+ : -std::numeric_limits<double>::infinity());
+ }
+
+ const double dx = ::mpfr_get_d(xx.rop, GMP_RNDN);
+
+ return ((!b_neg) ? dx : -dx);
+}
+
+long double mp_float_mpfr::extract_long_double(void) const
+{
+ const bool b_neg = isneg();
+
+ // Check for non-normal mp_float_mpfr.
+ if(!isfinite())
+ {
+ if(isnan())
+ {
+ return std::numeric_limits<long double>::quiet_NaN();
+ }
+ else
+ {
+ return ((!b_neg) ? std::numeric_limits<long double>::infinity()
+ : -std::numeric_limits<long double>::infinity());
+ }
+ }
+
+ const mp_float_mpfr xx(boost::multiprecision::fabs(*this));
+
+ // Check for zero mp_float_mpfr.
+ if(iszero() || (xx < boost::multiprecision::long_double_min()))
+ {
+ return static_cast<long double>(0.0);
+ }
+
+ // Check if mp_float_mpfr exceeds the maximum of double.
+ if(xx > boost::multiprecision::long_double_max())
+ {
+ return ((!b_neg) ? std::numeric_limits<long double>::infinity()
+ : -std::numeric_limits<long double>::infinity());
+ }
+
+ const long double ldx = ::mpfr_get_ld(xx.rop, GMP_RNDN);
+
+ return ((!b_neg) ? ldx : -ldx);
+}
+
+signed long long mp_float_mpfr::extract_signed_long_long(void) const
+{
+ const bool b_neg = isneg();
+
+ const mp_float_mpfr nx = boost::multiprecision::fabs(*this);
+
+ if(nx > boost::multiprecision::signed_long_long_max())
+ {
+ return ((!b_neg) ? (std::numeric_limits<signed long long>::max)()
+ : -(std::numeric_limits<signed long long>::max)());
+ }
+
+ if(nx < boost::multiprecision::one())
+ {
+ return static_cast<signed long long>(0);
+ }
+
+ if(nx.isone())
+ {
+ return ((!b_neg) ? static_cast<signed long long>(1) : static_cast<signed long long>(-1));
+ }
+
+ boost::array<char, 64u> str = {{ static_cast<char>('0') }};
+
+ mp_exp_t p10;
+
+ static_cast<void>(::mpfr_get_str(str.data(), &p10, 10, str.size() - 1u, nx.rop, GMP_RNDN));
+
+ std::string str_sll(static_cast<std::size_t>(p10), static_cast<char>('0'));
+
+ std::copy(str.begin(), str.begin() + str_sll.size(), str_sll.begin());
+
+ const signed long long n = boost::multiprecision::utility::numeric_cast<signed long long>(str_sll);
+
+ return ((!b_neg) ? n : -n);
+}
+
+unsigned long long mp_float_mpfr::extract_unsigned_long_long(void) const
+{
+ if(isneg())
+ {
+ return static_cast<unsigned long long>(extract_signed_long_long());
+ }
+
+ if(*this > boost::multiprecision::unsigned_long_long_max())
+ {
+ return (std::numeric_limits<unsigned long long>::max)();
+ }
+
+ if(*this < boost::multiprecision::one())
+ {
+ return static_cast<unsigned long long>(0u);
+ }
+
+ if(isone())
+ {
+ return static_cast<unsigned long long>(1u);
+ }
+
+ boost::array<char, 64u> str = {{ static_cast<char>('0') }};
+
+ mp_exp_t p10;
+
+ static_cast<void>(::mpfr_get_str(str.data(), &p10, 10, str.size() - 1u, rop, GMP_RNDN));
+
+ std::string str_ull(static_cast<std::size_t>(p10), static_cast<char>('0'));
+
+ std::copy(str.begin(), str.begin() + str_ull.size(), str_ull.begin());
+
+ const unsigned long long n = boost::multiprecision::utility::numeric_cast<unsigned long long>(str_ull);
+
+ return n;
+}
+
+mp_float_mpfr mp_float_mpfr::extract_integer_part(void) const
+{
+ const bool b_neg = isneg();
+
+ mp_float_mpfr nx;
+
+ ::mpfr_floor(nx.rop, (boost::multiprecision::fabs(*this)).rop, GMP_RNDN);
+
+ return ((!b_neg) ? nx : -nx);
+}
+
+mp_float_mpfr mp_float_mpfr::extract_decimal_part(void) const
+{
+ const bool b_neg = isneg();
+
+ const mp_float_mpfr xx = boost::multiprecision::fabs(*this);
+
+ const mp_float_mpfr dx = xx - xx.extract_integer_part();
+
+ return ((!b_neg) ? dx : -dx);
+}
+
+boost::int64_t mp_float_mpfr::get_order_exact(void) const
+{
+ // Get the order-10 of the mp_float_mpfr. This is done using a partial
+ // string extraction with 10 decimal digits.
+
+ // Create a format string for 10-digits and scientific notation.
+ std::string str_fmt = std::string("%.10RNe");
+
+ // Get the ten digits.
+ boost::array<char, 64u> buf = {{ static_cast<char>(0) }};
+
+ ::mpfr_sprintf(buf.data(), str_fmt.c_str(), rop);
+
+ const std::string str = std::string(buf.data());
+
+ // Extract the base-10 exponent.
+ const std::size_t pos_letter_e = str.rfind(static_cast<char>('e'));
+
+ const boost::int64_t my_exp = ((pos_letter_e != std::string::npos) ? boost::multiprecision::utility::numeric_cast<boost::int64_t>(static_cast<const char* const>(str.c_str() + (pos_letter_e + 1u)))
+ : static_cast<boost::int64_t>(0));
+
+ return my_exp;
+}
+
+boost::int64_t mp_float_mpfr::get_order_fast(void) const
+{
+ const mp_float_mpfr xx = boost::multiprecision::fabs(*this);
+
+ if(xx.iszero() || xx.isone())
+ {
+ return static_cast<boost::int64_t>(0);
+ }
+ else
+ {
+ signed long int n2;
+ const double d2 = ::mpfr_get_d_2exp(&n2, xx.rop, GMP_RNDN);
+ const double lg10x = static_cast<double>(::log10(d2) + (static_cast<double>(n2) * ::d_log2()));
+
+ return ((lg10x < 0.0) ? static_cast<boost::int64_t>(lg10x - 0.5)
+ : static_cast<boost::int64_t>(lg10x + 0.5));
+ }
+}
+
+void mp_float_mpfr::get_output_string(std::string& str, boost::int64_t&, const std::size_t number_of_digits) const
+{
+ // Create a format string such as "%+.99RNe" in order to extract 100 digits
+ // in scientific notation with the lowercase and noshowpos flags.
+ const std::size_t the_number_of_digits_scientific = static_cast<std::size_t>((std::max)(number_of_digits, static_cast<std::size_t>(1u)) - static_cast<std::size_t>(1u));
+
+ const std::string str_fmt = std::string("%.") + (boost::lexical_cast<std::string>(the_number_of_digits_scientific) + "RNe");
+
+ // Get the string representation of the mp_float_mpfr in scientific notation (lowercase, noshowpos).
+ boost::array<char, static_cast<std::size_t>(mp_float_mpfr::mp_max_digits10 + 32)> buf = {{ static_cast<char>(0) }};
+
+ ::mpfr_sprintf(buf.data(), str_fmt.c_str(), rop);
+
+ str = std::string(buf.data());
+
+ // Obtain the raw digits from the scientific notation string.
+
+ // TBD: Well, this is a bit silly. First get the string in
+ // scientific notation, then reduce it to raw digits.
+ // Perhaps this can be improved.
+ // Get the raw digits from a string in scientific notation (lowercase, showpos).
+
+ // Erase the negative sign, if present.
+ if(str.at(0u) == static_cast<char>('-'))
+ {
+ str.erase(str.begin(), str.begin() + 1u);
+ }
+
+ // Erase the exponent.
+ const std::size_t pos_letter_e = str.rfind(static_cast<char>('e'));
+
+ if(pos_letter_e != std::string::npos)
+ {
+ str.erase(str.begin() + pos_letter_e, str.end());
+ }
+
+ // Erase the decimal point.
+ const std::size_t pos_decimal_point = str.rfind(static_cast<char>('.'));
+
+ if(pos_decimal_point != std::string::npos)
+ {
+ str.erase(str.begin() + pos_decimal_point, str.begin() + (pos_decimal_point + 1u));
+ }
+}
+
+bool mp_float_mpfr::rd_string(const char* const s) { return (::mpfr_init_set_str(rop, s, 10, GMP_RNDN) == 1); }
+
+mp_float_mpfr mp_float_mpfr::my_cbrt (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_cbrt (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_rootn (const mp_float_mpfr& x, const boost::uint32_t p) { mp_float_mpfr res; static_cast<void>(::mpfr_root (res.rop, x.rop, static_cast<unsigned long int>(p), GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_exp (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_exp (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_log (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_log (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_sin (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_sin (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_cos (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_cos (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_tan (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_tan (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_asin (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_asin (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_acos (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_acos (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_atan (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_atan (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_sinh (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_sinh (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_cosh (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_cosh (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_tanh (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_tanh (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_asinh (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_asinh(res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_acosh (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_acosh(res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_atanh (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_atanh(res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_gamma (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_gamma(res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_riemann_zeta (const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_zeta (res.rop, x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_cyl_bessel_jn(const boost::int32_t n, const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_jn(res.rop, static_cast<long>(n), x.rop, GMP_RNDN)); return res; }
+mp_float_mpfr mp_float_mpfr::my_cyl_bessel_yn(const boost::int32_t n, const mp_float_mpfr& x) { mp_float_mpfr res; static_cast<void>(::mpfr_yn(res.rop, static_cast<long>(n), x.rop, GMP_RNDN)); return res; }

Added: sandbox/multiprecision/src/backends/float/mpfr/mp_float_mpfr_protos.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/backends/float/mpfr/mp_float_mpfr_protos.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,92 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _E_FLOAT_MPFR_PROTOS_2009_11_15_H_
+ #define _E_FLOAT_MPFR_PROTOS_2009_11_15_H_
+
+ // Wrap the function names of MPFR.
+ extern "C"
+ {
+ #define MPFR_SIGN(x) ((x)->_mpfr_sign)
+
+ void mpfr_init(mpfr_ptr);
+ void mpfr_set_default_prec(mp_prec_t);
+ void mpfr_clear(mpfr_ptr);
+
+ int mpfr_set4 (mpfr_ptr, mpfr_srcptr, mp_rnd_t, int);
+ #define mpfr_set(x, y, rnd) mpfr_set4((x), (y), (rnd), MPFR_SIGN(y))
+ int mpfr_set_ui (mpfr_ptr, unsigned long, mp_rnd_t);
+ int mpfr_set_d (mpfr_ptr, double, mp_rnd_t);
+ int mpfr_set_ld (mpfr_ptr, long double, mp_rnd_t);
+ void mpfr_set_inf(mpfr_t, int);
+ void mpfr_set_nan(mpfr_t);
+
+ #define mpfr_init_set(x, y, rnd) ( mpfr_init(x), static_cast<void>(mpfr_set ((x), (y), (rnd))))
+ #define mpfr_init_set_ui(x, i, rnd) ( mpfr_init(x), static_cast<void>(mpfr_set_ui((x), (i), (rnd))))
+ #define mpfr_init_set_d(x, d, rnd) ( mpfr_init(x), static_cast<void>(mpfr_set_d((x), (d), (rnd))))
+ #define mpfr_init_set_ld(x, ld, rnd) ( mpfr_init(x), static_cast<void>(mpfr_set_ld((x), (ld), (rnd))))
+ int mpfr_init_set_str(mpfr_ptr, const char*, int, mp_rnd_t);
+
+ int mpfr_add(mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_sub(mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_mul(mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_div(mpfr_ptr, mpfr_srcptr, mpfr_srcptr, mp_rnd_t);
+
+ int mpfr_add_ui(mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t);
+ int mpfr_sub_ui(mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t);
+ int mpfr_mul_ui(mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t);
+ int mpfr_div_ui(mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t);
+ int mpfr_mul_2si(mpfr_t, mpfr_t, signed long, mp_rnd_t);
+
+ int mpfr_cmp3(mpfr_srcptr, mpfr_srcptr, int);
+ #define mpfr_cmp(b, c) mpfr_cmp3((b), (c), 1)
+
+ int mpfr_neg(mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+
+ int mpfr_nan_p (mpfr_srcptr);
+ int mpfr_inf_p (mpfr_srcptr);
+ int mpfr_number_p (mpfr_srcptr);
+ int mpfr_zero_p (mpfr_srcptr);
+ int mpfr_integer_p(mpfr_srcptr);
+ int mpfr_sgn (mpfr_srcptr);
+
+ int mpfr_sprintf(char*, const char*, ...);
+
+ double mpfr_get_d (mpfr_srcptr, mp_rnd_t);
+ long double mpfr_get_ld (mpfr_srcptr, mp_rnd_t);
+ unsigned long mpfr_get_si (mpfr_srcptr, mp_rnd_t);
+ double mpfr_get_d_2exp(signed long int*, mpfr_srcptr, mp_rnd_t);
+ char* mpfr_get_str (char*, mp_exp_t*, int, size_t, mpfr_srcptr, mp_rnd_t);
+
+ int mpfr_floor(mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_sqrt (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_cbrt (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_root (mpfr_ptr, mpfr_srcptr, unsigned long int, mp_rnd_t);
+ int mpfr_sin (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_cos (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_tan (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_asin (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_acos (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_atan (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_sinh (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_cosh (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_tanh (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_asinh(mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_acosh(mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_atanh(mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_exp (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_log (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_gamma(mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_zeta (mpfr_ptr, mpfr_srcptr, mp_rnd_t);
+ int mpfr_jn (mpfr_ptr, long, mpfr_srcptr, mp_rnd_t);
+ int mpfr_yn (mpfr_ptr, long, mpfr_srcptr, mp_rnd_t);
+ }
+
+#endif // _E_FLOAT_MPFR_PROTOS_2009_11_15_H_

Added: sandbox/multiprecision/src/functions/constants/constants.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/constants/constants.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,455 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+using boost::multiprecision::mp_float;
+
+const mp_float& boost::multiprecision::two (void) { static const mp_float val( 2u); return val; }
+const mp_float& boost::multiprecision::three (void) { static const mp_float val( 3u); return val; }
+const mp_float& boost::multiprecision::four (void) { static const mp_float val( 4u); return val; }
+const mp_float& boost::multiprecision::five (void) { static const mp_float val( 5u); return val; }
+const mp_float& boost::multiprecision::six (void) { static const mp_float val( 6u); return val; }
+const mp_float& boost::multiprecision::seven (void) { static const mp_float val( 7u); return val; }
+const mp_float& boost::multiprecision::eight (void) { static const mp_float val( 8u); return val; }
+const mp_float& boost::multiprecision::nine (void) { static const mp_float val( 9u); return val; }
+const mp_float& boost::multiprecision::ten (void) { static const mp_float val( 10u); return val; }
+const mp_float& boost::multiprecision::twenty (void) { static const mp_float val( 20u); return val; }
+const mp_float& boost::multiprecision::thirty (void) { static const mp_float val( 30u); return val; }
+const mp_float& boost::multiprecision::forty (void) { static const mp_float val( 40u); return val; }
+const mp_float& boost::multiprecision::fifty (void) { static const mp_float val( 50u); return val; }
+const mp_float& boost::multiprecision::hundred (void) { static const mp_float val( 100u); return val; }
+const mp_float& boost::multiprecision::two_hundred (void) { static const mp_float val( 200u); return val; }
+const mp_float& boost::multiprecision::three_hundred (void) { static const mp_float val( 300u); return val; }
+const mp_float& boost::multiprecision::four_hundred (void) { static const mp_float val( 400u); return val; }
+const mp_float& boost::multiprecision::five_hundred (void) { static const mp_float val( 500u); return val; }
+const mp_float& boost::multiprecision::thousand (void) { static const mp_float val( 1000u); return val; }
+const mp_float& boost::multiprecision::two_k (void) { static const mp_float val( 2000u); return val; }
+const mp_float& boost::multiprecision::three_k (void) { static const mp_float val( 3000u); return val; }
+const mp_float& boost::multiprecision::four_k (void) { static const mp_float val( 4000u); return val; }
+const mp_float& boost::multiprecision::five_k (void) { static const mp_float val( 5000u); return val; }
+const mp_float& boost::multiprecision::ten_k (void) { static const mp_float val( 10000u); return val; }
+const mp_float& boost::multiprecision::twenty_k (void) { static const mp_float val( 20000u); return val; }
+const mp_float& boost::multiprecision::thirty_k (void) { static const mp_float val( 30000u); return val; }
+const mp_float& boost::multiprecision::forty_k (void) { static const mp_float val( 40000u); return val; }
+const mp_float& boost::multiprecision::fifty_k (void) { static const mp_float val( 50000u); return val; }
+const mp_float& boost::multiprecision::hundred_k (void) { static const mp_float val( 100000u); return val; }
+const mp_float& boost::multiprecision::million (void) { static const mp_float val( 1000000u); return val; }
+const mp_float& boost::multiprecision::ten_M (void) { static const mp_float val( 10000000u); return val; }
+const mp_float& boost::multiprecision::hundred_M (void) { static const mp_float val( 100000000u); return val; }
+const mp_float& boost::multiprecision::billion (void) { static const mp_float val(1000000000u); return val; }
+const mp_float& boost::multiprecision::trillion (void) { static const mp_float val( "1e12"); return val; }
+const mp_float& boost::multiprecision::googol (void) { static const mp_float val( "1e100"); return val; }
+const mp_float& boost::multiprecision::int32_min (void) { static const mp_float val((std::numeric_limits<boost::int32_t>::min)()); return val; }
+const mp_float& boost::multiprecision::int32_max (void) { static const mp_float val((std::numeric_limits<boost::int32_t>::max)()); return val; }
+const mp_float& boost::multiprecision::int64_min (void) { static const mp_float val((std::numeric_limits<boost::int64_t>::min)()); return val; }
+const mp_float& boost::multiprecision::int64_max (void) { static const mp_float val((std::numeric_limits<boost::int64_t>::max)()); return val; }
+const mp_float& boost::multiprecision::unsigned_long_long_max(void) { static const mp_float val((std::numeric_limits<unsigned long long>::max)()); return val; }
+const mp_float& boost::multiprecision::signed_long_long_min (void) { static const mp_float val((std::numeric_limits<signed long long>::min)()); return val; }
+const mp_float& boost::multiprecision::signed_long_long_max (void) { static const mp_float val((std::numeric_limits<signed long long>::max)()); return val; }
+const mp_float& boost::multiprecision::double_min (void) { static const mp_float val((std::numeric_limits<double>::min)()); return val; }
+const mp_float& boost::multiprecision::double_max (void) { static const mp_float val((std::numeric_limits<double>::max)()); return val; }
+const mp_float& boost::multiprecision::long_double_min (void) { static const mp_float val((std::numeric_limits<long double>::min)()); return val; }
+const mp_float& boost::multiprecision::long_double_max (void) { static const mp_float val((std::numeric_limits<long double>::max)()); return val; }
+const mp_float& boost::multiprecision::one_minus (void) { static const mp_float val(-1 ); return val; }
+const mp_float& boost::multiprecision::tenth (void) { static const mp_float val(boost::multiprecision::one() / static_cast<boost::int32_t>(10)); return val; }
+const mp_float& boost::multiprecision::eighth (void) { static const mp_float val(boost::multiprecision::one() / static_cast<boost::int32_t>( 8)); return val; }
+const mp_float& boost::multiprecision::sixteenth (void) { static const mp_float val(boost::multiprecision::one() / static_cast<boost::int32_t>(16)); return val; }
+const mp_float& boost::multiprecision::fifth (void) { static const mp_float val(boost::multiprecision::one() / static_cast<boost::int32_t>( 5)); return val; }
+const mp_float& boost::multiprecision::quarter (void) { static const mp_float val(boost::multiprecision::one() / static_cast<boost::int32_t>( 4)); return val; }
+const mp_float& boost::multiprecision::third (void) { static const mp_float val(boost::multiprecision::one() / static_cast<boost::int32_t>( 3)); return val; }
+const mp_float& boost::multiprecision::two_third (void) { static const mp_float val(boost::multiprecision::two() / static_cast<boost::int32_t>( 3)); return val; }
+const mp_float& boost::multiprecision::four_third (void) { static const mp_float val(boost::multiprecision::four() / static_cast<boost::int32_t>( 3)); return val; }
+const mp_float& boost::multiprecision::three_half (void) { static const mp_float val(boost::multiprecision::one() + boost::multiprecision::half()); return val; }
+
+const mp_float& boost::multiprecision::sqrt2(void)
+{
+ // 1100 digits of sqrt(2)
+ static const std::string str =
+ std::string("1.")
+ + std::string("4142135623730950488016887242096980785696718753769480731766797379907324784621070388503875343276415727")
+ + std::string("3501384623091229702492483605585073721264412149709993583141322266592750559275579995050115278206057147")
+ + std::string("0109559971605970274534596862014728517418640889198609552329230484308714321450839762603627995251407989")
+ + std::string("6872533965463318088296406206152583523950547457502877599617298355752203375318570113543746034084988471")
+ + std::string("6038689997069900481503054402779031645424782306849293691862158057846311159666871301301561856898723723")
+ + std::string("5288509264861249497715421833420428568606014682472077143585487415565706967765372022648544701585880162")
+ + std::string("0758474922657226002085584466521458398893944370926591800311388246468157082630100594858704003186480342")
+ + std::string("1948972782906410450726368813137398552561173220402450912277002269411275736272804957381089675040183698")
+ + std::string("6836845072579936472906076299694138047565482372899718032680247442062926912485905218100445984215059112")
+ + std::string("0249441341728531478105803603371077309182869314710171111683916581726889419758716582152128229518488472")
+ + std::string("0896946338628915628827659526351405422676532396946175112916024087155101351504553812875600526314680171")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::sqrt3(void)
+{
+ // 1100 digits of sqrt(3)
+ static const std::string str =
+ std::string("1.")
+ + std::string("7320508075688772935274463415058723669428052538103806280558069794519330169088000370811461867572485756")
+ + std::string("7562614141540670302996994509499895247881165551209437364852809323190230558206797482010108467492326501")
+ + std::string("5312343266903322886650672254668921837971227047131660367861588019049986537379859389467650347506576050")
+ + std::string("7566183481296061009476021871903250831458295239598329977898245082887144638329173472241639845878553976")
+ + std::string("6795806381835366611084317378089437831610208830552490167002352071114428869599095636579708716849807289")
+ + std::string("9493296484283020786408603988738697537582317317831395992983007838702877053913369563312103707264019249")
+ + std::string("1067682311992883756411414220167427521023729942708310598984594759876642888977961478379583902288548529")
+ + std::string("0357603385280806438197234466105968972287286526415382266469842002119548415527844118128653450703519165")
+ + std::string("0016689294415480846071277143999762926834629577438361895110127148638746976545982451788550975379013880")
+ + std::string("6649619119622229571105552429237231921977382625616314688420328537166829386496119170497388363954959381")
+ + std::string("4575767185337363312591089965542462483478719760523599776919232357022030530284038591541497107242955920")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::pi(void)
+{
+ // 1100 digits of pi
+ static const std::string str =
+ std::string("3.")
+ + std::string("1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679")
+ + std::string("8214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196")
+ + std::string("4428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273")
+ + std::string("7245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094")
+ + std::string("3305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912")
+ + std::string("9833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132")
+ + std::string("0005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235")
+ + std::string("4201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859")
+ + std::string("5024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303")
+ + std::string("5982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989")
+ + std::string("3809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913152")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::pi_half (void) { static const mp_float val = boost::multiprecision::pi() / static_cast<boost::int32_t>(2); return val; }
+const mp_float& boost::multiprecision::pi_quarter(void) { static const mp_float val = boost::multiprecision::pi() / static_cast<boost::int32_t>(4); return val; }
+const mp_float& boost::multiprecision::pi_squared(void) { static const mp_float val = boost::multiprecision::pi() * boost::multiprecision::pi(); return val; }
+const mp_float& boost::multiprecision::two_pi (void) { static const mp_float val = boost::multiprecision::pi() * static_cast<boost::int32_t>(2); return val; }
+const mp_float& boost::multiprecision::degree (void) { static const mp_float val = boost::multiprecision::pi() / static_cast<boost::int32_t>(180); return val; }
+const mp_float& boost::multiprecision::sqrt_pi (void) { static const mp_float val = boost::multiprecision::sqrt(boost::multiprecision::pi()); return val; }
+
+const mp_float& boost::multiprecision::exp1(void)
+{
+ // 1100 digits of e
+ static const std::string str =
+ std::string("2.")
+ + std::string("7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274")
+ + std::string("2746639193200305992181741359662904357290033429526059563073813232862794349076323382988075319525101901")
+ + std::string("1573834187930702154089149934884167509244761460668082264800168477411853742345442437107539077744992069")
+ + std::string("5517027618386062613313845830007520449338265602976067371132007093287091274437470472306969772093101416")
+ + std::string("9283681902551510865746377211125238978442505695369677078544996996794686445490598793163688923009879312")
+ + std::string("7736178215424999229576351482208269895193668033182528869398496465105820939239829488793320362509443117")
+ + std::string("3012381970684161403970198376793206832823764648042953118023287825098194558153017567173613320698112509")
+ + std::string("9618188159304169035159888851934580727386673858942287922849989208680582574927961048419844436346324496")
+ + std::string("8487560233624827041978623209002160990235304369941849146314093431738143640546253152096183690888707016")
+ + std::string("7683964243781405927145635490613031072085103837505101157477041718986106873969655212671546889570350354")
+ + std::string("0212340784981933432106817012100562788023519303322474501585390473041995777709350366041699732972508869")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::ln2(void)
+{
+ // 1100 digits of ln2
+ static const std::string str =
+ std::string("0.")
+ + std::string("6931471805599453094172321214581765680755001343602552541206800094933936219696947156058633269964186875")
+ + std::string("4200148102057068573368552023575813055703267075163507596193072757082837143519030703862389167347112335")
+ + std::string("0115364497955239120475172681574932065155524734139525882950453007095326366642654104239157814952043740")
+ + std::string("4303855008019441706416715186447128399681717845469570262716310645461502572074024816377733896385506952")
+ + std::string("6066834113727387372292895649354702576265209885969320196505855476470330679365443254763274495125040606")
+ + std::string("9438147104689946506220167720424524529612687946546193165174681392672504103802546259656869144192871608")
+ + std::string("2938031727143677826548775664850856740776484514644399404614226031930967354025744460703080960850474866")
+ + std::string("3852313818167675143866747664789088143714198549423151997354880375165861275352916610007105355824987941")
+ + std::string("4729509293113897155998205654392871700072180857610252368892132449713893203784393530887748259701715591")
+ + std::string("0708823683627589842589185353024363421436706118923678919237231467232172053401649256872747782344535347")
+ + std::string("6481149418642386776774406069562657379600867076257199184734022651462837904883062033061144630073719489")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::ln3(void)
+{
+ // 1100 digits of ln3
+ static const std::string str =
+ std::string("1.")
+ + std::string("0986122886681096913952452369225257046474905578227494517346943336374942932186089668736157548137320887")
+ + std::string("8797002906595786574236800422593051982105280187076727741060316276918338136717937369884436095990374257")
+ + std::string("0316795911521145591917750671347054940166775580222203170252946897560690106521505642868138036317373298")
+ + std::string("5777823669916547921318181490200301038236301222486527481982259910974524908964580534670088459650857484")
+ + std::string("4411901885708764749486707961308582941160216612118400140982551439194876889367984943022557315353296853")
+ + std::string("4529525145921387649468593256279441655694157827231035516886610211846989043994306313825528573646688282")
+ + std::string("4988136822800634143910786893251456437510204451627561934973982116941585740535361758900975122233797736")
+ + std::string("9696877543547951357129821770175812421223514058101632724655889372495649191852429607966842346470693772")
+ + std::string("3725265508203207833392805589285314687309513260645830918439749682223032576546753331182301964927525759")
+ + std::string("9132217851353390237482964339502546074245824934666866121881436526565429542767610505477795422933973323")
+ + std::string("4011737431939745798470185595484940594783539438410106029307622922281312074893063445340252777326856271")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::ln10(void)
+{
+ // 1100 digits of ln10
+ static const std::string str =
+ std::string("2.")
+ + std::string("3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983")
+ + std::string("4196778404228624863340952546508280675666628736909878168948290720832555468084379989482623319852839350")
+ + std::string("5308965377732628846163366222287698219886746543667474404243274365155048934314939391479619404400222105")
+ + std::string("1017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806")
+ + std::string("4450706480002775026849167465505868569356734206705811364292245544057589257242082413146956890167589402")
+ + std::string("5677631135691929203337658714166023010570308963457207544037084746994016826928280848118428931484852494")
+ + std::string("8644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938")
+ + std::string("6629769795221107182645497347726624257094293225827985025855097852653832076067263171643095059950878075")
+ + std::string("2371033310119785754733154142180842754386359177811705430982748238504564801909561029929182431823752535")
+ + std::string("7709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978")
+ + std::string("7488737713456862091670584980782805975119385444500997813114691593466624107184669231010759843831919129")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::log10_2(void)
+{
+ // 1100 digits of log10(2)
+ static const std::string str =
+ std::string("0.")
+ + std::string("3010299956639811952137388947244930267681898814621085413104274611271081892744245094869272521181861720")
+ + std::string("4068447719143099537909476788113352350599969233370469557506450296425419340266181973431160294350118390")
+ + std::string("2898178582617154439531861929046353884699520239310849612462540400263312594621478845847318282672683982")
+ + std::string("3261965427935076313175483509271389649469177857689180507900075995480878154597145850319648776261224922")
+ + std::string("9082911819095149899717161986047767650006782051791255732862866834200040292050983708457222489549429756")
+ + std::string("2149707244659708613689609221909482761214391496528235167826492314804027746243244163311538738259303883")
+ + std::string("0393806332161302390518805821319156854616929053015051319269853784884187183200657535694683929717421320")
+ + std::string("1090589689085058562464098721839687664853985623516127730263892787826084983668103030843141556081394361")
+ + std::string("7674548856663424538123733932422469594349060212044504296827460688478546115684768410643797950046596991")
+ + std::string("7745657540864018464079456529544341077408293999745400737217016801948890554856910694003754116899634157")
+ + std::string("5929721806443038102815203392388085633198685453987393548560657842896848982613944260846632782952602877")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::euler_gamma(void)
+{
+ // 1100 digits of Euler gamma
+ static const std::string str =
+ std::string("0.")
+ + std::string("5772156649015328606065120900824024310421593359399235988057672348848677267776646709369470632917467495")
+ + std::string("1463144724980708248096050401448654283622417399764492353625350033374293733773767394279259525824709491")
+ + std::string("6008735203948165670853233151776611528621199501507984793745085705740029921354786146694029604325421519")
+ + std::string("0587755352673313992540129674205137541395491116851028079842348775872050384310939973613725530608893312")
+ + std::string("6760017247953783675927135157722610273492913940798430103417771778088154957066107501016191663340152278")
+ + std::string("9358679654972520362128792265559536696281763887927268013243101047650596370394739495763890657296792960")
+ + std::string("1009015125195950922243501409349871228247949747195646976318506676129063811051824197444867836380861749")
+ + std::string("4551698927923018773910729457815543160050021828440960537724342032854783670151773943987003023703395183")
+ + std::string("2869000155819398804270741154222781971652301107356583396734871765049194181230004065469314299929777956")
+ + std::string("9303100503086303418569803231083691640025892970890985486825777364288253954925873629596133298574739302")
+ + std::string("3734388470703702844129201664178502487333790805627549984345907616431671031467107223700218107450444187")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::catalan(void)
+{
+ // 1100 digits of Catalan's constant
+ static const std::string str =
+ std::string("0.")
+ + std::string("9159655941772190150546035149323841107741493742816721342664981196217630197762547694793565129261151062")
+ + std::string("4857442261919619957903589880332585905943159473748115840699533202877331946051903872747816408786590902")
+ + std::string("4706484152163000228727640942388259957741508816397470252482011560707644883807873370489900864775113225")
+ + std::string("9971343407485407553230768565335768095835260219382323950800720680355761048235733942319149829836189977")
+ + std::string("0690364041808621794110191753274314997823397610551224779530324875371878665828082360570225594194818097")
+ + std::string("5350971131571261580424272363643985001738287597797653068370092980873887495610893659771940968726844441")
+ + std::string("6680462162433986483891628044828150627302274207388431172218272190472255870531908685735423498539498309")
+ + std::string("9191159673884645086151524996242370437451777372351775440708538464401321748392999947572446199754961975")
+ + std::string("8706400747487070149093767887304586997986064487497464387206238513712392736304998503539223928787979063")
+ + std::string("3644032354784535851927777787270906083031994301332316712476158709792455479119092126201854803963934243")
+ + std::string("4956537596739494354730014385180705051250748861328564129344959502298722983162894816461622573989476232")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::glaisher(void)
+{
+ // 1100 digits of Glaisher's constant
+ static const std::string str =
+ std::string("1.")
+ + std::string("2824271291006226368753425688697917277676889273250011920637400217404063088588264611297364919582023743")
+ + std::string("9420646120399000748933157791362775280404159072573861727522143343271434397873350679152573668569078765")
+ + std::string("6114668644999778496275451817431239465276128213808180219264516851546143919901083573730703504903888123")
+ + std::string("4188136749781330509377083368222249411587483734806439997883007012556700128699415770543205392758540581")
+ + std::string("7315881554817629703847432504677751473746000316160230466132963429915580958792933634388728870198895346")
+ + std::string("0725233184702489001091776941712153569193674967261270398013526526688689782188974017293758407501674721")
+ + std::string("1489528881599666874316451389030696264559870469543740253099606800842447417554061490189444139386196089")
+ + std::string("1296821735287986298843422036698990060698088878584958749408530734711709013266756750331052340522105414")
+ + std::string("1767761563081919199971852370477613123153741353047258198147974517610275408349431438496523413945337306")
+ + std::string("5832325673954957601692256427736926358821692159870775858274695751628415506485858908341282275562095470")
+ + std::string("0291859326307937337694207752229094018708695195737807113096673517703001997619162841026237527268163782")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::khinchin(void)
+{
+ // 1100 digits of Khinchin's constant
+ static const std::string str =
+ std::string("2.")
+ + std::string("6854520010653064453097148354817956938203822939944629530511523455572188595371520028011411749318476979")
+ + std::string("9515346590528809008289767771641096305179253348325966838185231542133211949962603932852204481940961806")
+ + std::string("8664166428930847788062036073705350103367263357728904990427070272345170262523702354581068631850103237")
+ + std::string("4655803775026442524852869468234189949157306618987207994137235500057935736698933950879021244642075289")
+ + std::string("7414591476930184490506017934993852254704042033779856398310157090222339100002207725096513324604444391")
+ + std::string("9169146085968234821283246228292710126906974182348477675457348986254203392662351862086778136650969658")
+ + std::string("3146995271837448054012195366666049648269890827548115254721177330319675947383719393578106059230401890")
+ + std::string("7113496246737068412217946810740608918276695667117166837405904739368809534504899970471763904513432323")
+ + std::string("7715103219651503824698888324870935399469608264781812056634946712578436664579740977848366204977774868")
+ + std::string("2765697087163192938512899314199518611673792654620563505951385713761697126872299805327673278710513763")
+ + std::string("9563719023145289003058136910904799672757571385043565050641590820999623402779053834180985121278529455")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::golden_ratio(void)
+{
+ // 1100 digits of the golden ratio
+ static const std::string str =
+ std::string("1.")
+ + std::string("6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374")
+ + std::string("8475408807538689175212663386222353693179318006076672635443338908659593958290563832266131992829026788")
+ + std::string("0675208766892501711696207032221043216269548626296313614438149758701220340805887954454749246185695364")
+ + std::string("8644492410443207713449470495658467885098743394422125448770664780915884607499887124007652170575179788")
+ + std::string("3416625624940758906970400028121042762177111777805315317141011704666599146697987317613560067087480710")
+ + std::string("1317952368942752194843530567830022878569978297783478458782289110976250030269615617002504643382437764")
+ + std::string("8610283831268330372429267526311653392473167111211588186385133162038400522216579128667529465490681131")
+ + std::string("7159934323597349498509040947621322298101726107059611645629909816290555208524790352406020172799747175")
+ + std::string("3427775927786256194320827505131218156285512224809394712341451702237358057727861600868838295230459264")
+ + std::string("7878017889921990270776903895321968198615143780314997411069260886742962267575605231727775203536139362")
+ + std::string("1076738937645560606059216589466759551900400555908950229530942312482355212212415444006470340565734798")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::extreme_value_skewness(void)
+{
+ // 1100 digits of the extreme value distribution skewness
+ // Mathematica: N[12 Sqrt[6] Zeta[3]/Pi^3, 1101]
+ static const std::string str =
+ std::string("1.")
+ + std::string("1395470994046486574927930193898461120875997958365518247216557100852480077060706857071875468869385150")
+ + std::string("1894272048688553376986765366075828644841024041679714157616857834895702411080704529137366329462558680")
+ + std::string("2015498788776135705587959418756809080074611906006528647805347822929577145038743873949415294942796280")
+ + std::string("0895597703063466053535550338267721294164578901640163603544404938283861127819804918174973533694090594")
+ + std::string("3094963822672055237678432023017824416203652657301470473548274848068762500300316769691474974950757965")
+ + std::string("8640779777748741897542093874605477776538884083378029488863880220988107155275203245233994097178778984")
+ + std::string("3488995668362387892097897322246698071290011857605809901090220903955815127463328974447572119951192970")
+ + std::string("3684453635456559086126406960279692862247058250100678008419431185138019869693206366891639436908462809")
+ + std::string("9756051372711251054914491837034685476095423926553367264355374652153595857163724698198860485357368964")
+ + std::string("3807049634423621246870868566707915720704996296083373077647528285782964567312903914752617978405994377")
+ + std::string("9064157147206717895272199736902453130842229559980076472936976287378945035706933650987259357729800315")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::rayleigh_skewness(void)
+{
+ // 1100 digits of the Rayleigh distribution skewness
+ // Mathematica: N[2 Sqrt[Pi] (Pi - 3)/((4 - Pi)^(3/2)), 1100]
+ static const std::string str =
+ std::string("0.")
+ + std::string("6311106578189371381918993515442277798440422031347194976580945856929268196174737254599050270325373067")
+ + std::string("9440004726436754739597525250317640394102954301685809920213808351450851396781817932734836994829371322")
+ + std::string("5797376021347531983451654130317032832308462278373358624120822253764532674177325950686466133508511968")
+ + std::string("2389168716630349407238090652663422922072397393006683401992961569208109477307776249225072042971818671")
+ + std::string("4058887072693437217879039875871765635655476241624825389439481561152126886932506682176611183750503553")
+ + std::string("1218982627032068396407180216351425758181396562859085306247387212297187006230007438534686340210168288")
+ + std::string("8956816965453815849613622117088096547521391672977226658826566757207615552041767516828171274858145957")
+ + std::string("6137539156656005855905288420585194082284972984285863898582313048515484073396332610565441264220790791")
+ + std::string("0194897267890422924599776483890102027823328602965235306539844007677157873140562950510028206251529523")
+ + std::string("7428049693650605954398446899724157486062545281504433364675815915402937209673727753199567661561209251")
+ + std::string("4695589950526053470201635372590001578503476490223746511106018091907936826431407434894024396366284848")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::rayleigh_kurtosis(void)
+{
+ // 1100 digits of the Rayleigh distribution kurtosis
+ // Mathematica: N[3 - (6 Pi^2 - 24 Pi + 16)/((Pi - 4)^2), 1101]
+ static const std::string str =
+ std::string("3.")
+ + std::string("2450893006876380628486604106197544154170667317892093617713376449336790454087415905149061936867934897")
+ + std::string("7426462632766222863025885280475303127822220268263096589513724730667617861820932858778449728296659479")
+ + std::string("3509930847868156538858152415545518545531216798298547693461311645548952424632118645472682463069545526")
+ + std::string("1983053031855607397851202464589880370383506850067796236695992134911848393006954201076208202808484125")
+ + std::string("6133354144360242773961231033129953293849110813453065649115333206743995085094897184520870169529618137")
+ + std::string("1386582922293062730416145656063188572844644520145571288064202952779173502297498984505977966704775822")
+ + std::string("5618195941007999394816250555243512667729218321194759827137580052728640801190395474421829335542653964")
+ + std::string("2635117940160187084211929489404610340511995002504673867278772758560400939592040029761998053665442841")
+ + std::string("1577415214507922011979312846237719442003310251741466941617588043270228799439065296867165276320363613")
+ + std::string("8733430815475656049776923162323269916006398895573867114723876996574699420608567147551765179203903001")
+ + std::string("5455211712707351783064330032429944926162677960388580113035455983189062640894597247867450273307835796")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}
+
+const mp_float& boost::multiprecision::rayleigh_kurtosis_excess(void)
+{
+ // 1100 digits of the Rayleigh distribution kurtosis excess
+ // Mathematica: N[- (6 Pi^2 - 24 Pi + 16)/((Pi - 4)^2), 1100]
+ static const std::string str =
+ std::string("0.")
+ + std::string("2450893006876380628486604106197544154170667317892093617713376449336790454087415905149061936867934897")
+ + std::string("7426462632766222863025885280475303127822220268263096589513724730667617861820932858778449728296659479")
+ + std::string("3509930847868156538858152415545518545531216798298547693461311645548952424632118645472682463069545526")
+ + std::string("1983053031855607397851202464589880370383506850067796236695992134911848393006954201076208202808484125")
+ + std::string("6133354144360242773961231033129953293849110813453065649115333206743995085094897184520870169529618137")
+ + std::string("1386582922293062730416145656063188572844644520145571288064202952779173502297498984505977966704775822")
+ + std::string("5618195941007999394816250555243512667729218321194759827137580052728640801190395474421829335542653964")
+ + std::string("2635117940160187084211929489404610340511995002504673867278772758560400939592040029761998053665442841")
+ + std::string("1577415214507922011979312846237719442003310251741466941617588043270228799439065296867165276320363613")
+ + std::string("8733430815475656049776923162323269916006398895573867114723876996574699420608567147551765179203903001")
+ + std::string("5455211712707351783064330032429944926162677960388580113035455983189062640894597247867450273307835796")
+ ;
+
+ static const mp_float val(str.c_str());
+ return val;
+}

Added: sandbox/multiprecision/src/functions/elementary/elementary_complex.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/elementary/elementary_complex.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,241 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include <boost/multiprecision/utility/util_power_x_pow_n.hpp>
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+bool operator==(const mp_complex& u, const mp_float& v) { return ((u.real() == v) && boost::multiprecision::iszero(u.imag())); }
+bool operator!=(const mp_complex& u, const mp_float& v) { return ((u.real() != v) || !boost::multiprecision::iszero(u.imag())); }
+
+bool operator==(const mp_float& u, const mp_complex& v) { return ((u == v.real()) && boost::multiprecision::iszero(v.imag())); }
+bool operator!=(const mp_float& u, const mp_complex& v) { return ((u != v.real()) || !boost::multiprecision::iszero(v.imag())); }
+
+mp_float boost::multiprecision::abs(const mp_complex& z) { return boost::multiprecision::sqrt(boost::multiprecision::norm(z)); }
+mp_float boost::multiprecision::arg(const mp_complex& z) { return boost::multiprecision::atan2(z.imag(), z.real()); }
+
+mp_complex boost::multiprecision::polar(const mp_float& mod, const mp_float& arg)
+{
+ mp_float s, c;
+ boost::multiprecision::sincos(arg, &s, &c);
+ return mp_complex(c, s) * mod;
+}
+
+mp_complex boost::multiprecision::sin(const mp_complex& z)
+{
+ mp_float sin_x, cos_x, sinh_y, cosh_y;
+
+ boost::multiprecision::sincos (z.real(), &sin_x, &cos_x);
+ boost::multiprecision::sinhcosh(z.imag(), &sinh_y, &cosh_y);
+
+ return mp_complex(sin_x * cosh_y, cos_x * sinh_y);
+}
+
+mp_complex boost::multiprecision::cos(const mp_complex& z)
+{
+ mp_float sin_x, cos_x, sinh_y, cosh_y;
+
+ boost::multiprecision::sincos (z.real(), &sin_x, &cos_x);
+ boost::multiprecision::sinhcosh(z.imag(), &sinh_y, &cosh_y);
+
+ return mp_complex(cos_x * cosh_y, -(sin_x * sinh_y));
+}
+
+void boost::multiprecision::sincos(const mp_complex& z, mp_complex* const p_sin, mp_complex* const p_cos)
+{
+ mp_float sin_x, cos_x, sinh_y, cosh_y;
+
+ boost::multiprecision::sincos (z.real(), &sin_x, &cos_x);
+ boost::multiprecision::sinhcosh(z.imag(), &sinh_y, &cosh_y);
+
+ const bool b_wants_sin = (p_sin != static_cast<mp_complex* const>(0u));
+ const bool b_wants_cos = (p_cos != static_cast<mp_complex* const>(0u));
+
+ if(b_wants_sin) { *p_sin = mp_complex(sin_x * cosh_y, cos_x * sinh_y); }
+ if(b_wants_cos) { *p_cos = mp_complex(cos_x * cosh_y, -(sin_x * sinh_y)); }
+}
+
+mp_complex boost::multiprecision::tan(const mp_complex& z)
+{
+ mp_complex s, c;
+ boost::multiprecision::sincos(z, &s, &c);
+ return s * boost::multiprecision::inv(c);
+}
+
+mp_complex boost::multiprecision::csc(const mp_complex& z) { return boost::multiprecision::inv(boost::multiprecision::sin(z)); }
+mp_complex boost::multiprecision::sec(const mp_complex& z) { return boost::multiprecision::inv(boost::multiprecision::cos(z)); }
+mp_complex boost::multiprecision::cot(const mp_complex& z) { return boost::multiprecision::inv(boost::multiprecision::tan(z)); }
+
+mp_complex boost::multiprecision::asin(const mp_complex& z)
+{
+ return -boost::multiprecision::iz(boost::multiprecision::log(boost::multiprecision::iz(z) + boost::multiprecision::sqrt(boost::multiprecision::one() - (z * z))));
+}
+
+mp_complex boost::multiprecision::acos(const mp_complex& z)
+{
+ return mp_complex(boost::multiprecision::pi_half(), boost::multiprecision::zero()) - boost::multiprecision::asin(z);
+}
+
+mp_complex boost::multiprecision::atan(const mp_complex& z)
+{
+ const mp_complex izz = boost::multiprecision::iz(z);
+ return boost::multiprecision::iz(boost::multiprecision::log(boost::multiprecision::one() - izz) - boost::multiprecision::log(boost::multiprecision::one() + izz)) / static_cast<boost::int32_t>(2);
+}
+
+mp_complex boost::multiprecision::inv(const mp_complex& z)
+{
+ // Compute inverse 1 / (x + iy) = (x - iy) / (x^2 + y^2)
+ return mp_complex(z.real(), -z.imag()) * boost::multiprecision::norm(z).calculate_inv();
+}
+
+mp_complex boost::multiprecision::sqrt(const mp_complex& z)
+{
+ // Equation from MPFUN documentation page 12.
+ // See: http://www.nersc.gov/~dhb/mpdist/mpdist.html
+
+ // Pure zero?
+ if(boost::multiprecision::iszero(z))
+ {
+ return boost::multiprecision::zero();
+ }
+ else
+ {
+ // sqrt(*this) = (s, I / 2s) for R >= 0
+ // (|I| / 2s, +-s) for R < 0
+ // where s = sqrt{ [ |R| + sqrt(R^2 + I^2) ] / 2 },
+ // and the +- sign is the same as the sign of I.
+ const mp_float s = boost::multiprecision::sqrt((boost::multiprecision::fabs(z.real()) + boost::multiprecision::abs(z)) / static_cast<boost::int32_t>(2));
+
+ if(boost::multiprecision::iszero(z.real()) || !boost::multiprecision::isneg(z.real()))
+ {
+ return mp_complex(s, (z.imag() / s) / static_cast<boost::int32_t>(2));
+ }
+ else
+ {
+ const bool imag_is_pos = boost::multiprecision::iszero(z.imag()) || (!boost::multiprecision::isneg(z.imag()));
+
+ return mp_complex((boost::multiprecision::fabs(z.imag()) / s) / static_cast<boost::int32_t>(2), (imag_is_pos ? s : -s));
+ }
+ }
+}
+
+mp_complex boost::multiprecision::exp(const mp_complex& z)
+{
+ mp_float s, c;
+ boost::multiprecision::sincos(z.imag(), &s, &c);
+ return mp_complex(c , s) * boost::multiprecision::exp(z.real());
+}
+
+mp_complex boost::multiprecision::log(const mp_complex& z)
+{
+ return mp_complex(boost::multiprecision::log(boost::multiprecision::norm(z)) / static_cast<boost::int32_t>(2), boost::multiprecision::atan2(z.imag(), z.real()));
+}
+
+mp_complex boost::multiprecision::log10(const mp_complex& z)
+{
+ return boost::multiprecision::log(z) / boost::multiprecision::ln10();
+}
+
+mp_complex boost::multiprecision::loga(const mp_complex& a, const mp_complex& z)
+{
+ return boost::multiprecision::log(z) / boost::multiprecision::log(a);
+}
+
+mp_complex boost::multiprecision::pown(const mp_complex& z, const boost::int64_t p)
+{
+ return boost::multiprecision::utility::x_pow_n_template<mp_complex>(z, p);
+}
+
+mp_complex boost::multiprecision::pow(const mp_complex& z, const mp_complex& a)
+{
+ return (boost::multiprecision::isint(a) ? boost::multiprecision::pown(z, boost::multiprecision::to_int64(a.real()))
+ : boost::multiprecision::exp(a * boost::multiprecision::log(z)));
+}
+
+mp_complex boost::multiprecision::rootn(const mp_complex& z, const boost::int32_t p)
+{
+ if(p < static_cast<boost::int32_t>(0))
+ {
+ return boost::multiprecision::pown(boost::multiprecision::one() / z, static_cast<boost::int64_t>(-p));
+ }
+ else if(p == static_cast<boost::int32_t>(0))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+ else if(p == static_cast<boost::int32_t>(1))
+ {
+ return z;
+ }
+ else
+ {
+ return boost::multiprecision::polar(boost::multiprecision::rootn(boost::multiprecision::norm(z), static_cast<boost::int32_t>(2) * p), boost::multiprecision::arg(z) / p);
+ }
+}
+
+mp_complex boost::multiprecision::sinh(const mp_complex& z)
+{
+ mp_float sin_y, cos_y, sinh_x, cosh_x;
+
+ boost::multiprecision::sincos (z.imag(), &sin_y, &cos_y);
+ boost::multiprecision::sinhcosh(z.real(), &sinh_x, &cosh_x);
+
+ return mp_complex(cos_y * sinh_x, cosh_x * sin_y);
+}
+
+mp_complex boost::multiprecision::cosh(const mp_complex& z)
+{
+ mp_float sin_y, cos_y, sinh_x, cosh_x;
+
+ boost::multiprecision::sincos (z.imag(), &sin_y, &cos_y);
+ boost::multiprecision::sinhcosh(z.real(), &sinh_x, &cosh_x);
+
+ return mp_complex(cos_y * cosh_x, sin_y * sinh_x);
+}
+
+void boost::multiprecision::sinhcosh(const mp_complex& z, mp_complex* const p_sinh, mp_complex* const p_cosh)
+{
+ mp_float sin_y, cos_y, sinh_x, cosh_x;
+
+ boost::multiprecision::sincos (z.imag(), &sin_y, &cos_y);
+ boost::multiprecision::sinhcosh(z.real(), &sinh_x, &cosh_x);
+
+ const bool b_wants_sinh = (p_sinh != static_cast<mp_complex* const>(0u));
+ const bool b_wants_cosh = (p_cosh != static_cast<mp_complex* const>(0u));
+
+ if(b_wants_sinh) { *p_sinh = mp_complex(cos_y * sinh_x, cosh_x * sin_y); }
+ if(b_wants_cosh) { *p_cosh = mp_complex(cos_y * cosh_x, sin_y * sinh_x); }
+}
+
+mp_complex boost::multiprecision::tanh(const mp_complex& z)
+{
+ mp_complex sh, ch;
+ boost::multiprecision::sinhcosh(z, &sh, &ch);
+ return sh * boost::multiprecision::inv(ch);
+}
+
+mp_complex boost::multiprecision::asinh(const mp_complex& z)
+{
+ return boost::multiprecision::log(z + boost::multiprecision::sqrt((z * z) + boost::multiprecision::one()));
+}
+
+mp_complex boost::multiprecision::acosh(const mp_complex& z)
+{
+ const mp_complex zp(z.real() + boost::multiprecision::one(), z.imag());
+ const mp_complex zm(z.real() - boost::multiprecision::one(), z.imag());
+
+ return boost::multiprecision::log(z + (zp * boost::multiprecision::sqrt(zm / zp)));
+}
+
+mp_complex boost::multiprecision::atanh(const mp_complex& z)
+{
+ return (boost::multiprecision::log(boost::multiprecision::one() + z) - boost::multiprecision::log(boost::multiprecision::one() - z)) / static_cast<boost::int32_t>(2);
+}

Added: sandbox/multiprecision/src/functions/elementary/elementary_hyper_g.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/elementary/elementary_hyper_g.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,318 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <algorithm>
+#include <numeric>
+#include <functional>
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+using boost::multiprecision::mp_float;
+
+mp_float boost::multiprecision::hyp0F0(const mp_float& x)
+{
+ // Compute the series representation of Hypergeometric0F0 taken from
+ // http://functions.wolfram.com/HypergeometricFunctions/Hypergeometric0F0/06/01/
+ // There are no checks on input range or parameter boundaries.
+
+ mp_float x_pow_n_div_n_fact(x);
+
+ mp_float H0F0 = boost::multiprecision::one() + x_pow_n_div_n_fact;
+
+ boost::int32_t n;
+
+ // Series expansion of hyperg_0f0(; ; x).
+ for(n = static_cast<boost::int32_t>(2); n < boost::multiprecision::max_iteration(); n++)
+ {
+ x_pow_n_div_n_fact *= x;
+ x_pow_n_div_n_fact /= n;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(x_pow_n_div_n_fact.order() - H0F0.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ H0F0 += x_pow_n_div_n_fact;
+ }
+
+ return ((n < boost::multiprecision::max_iteration()) ? H0F0 : std::numeric_limits<mp_float>::quiet_NaN());
+}
+
+mp_float boost::multiprecision::hyp0F1(const mp_float& b, const mp_float& x)
+{
+ // Compute the series representation of Hypergeometric0F1 taken from
+ // http://functions.wolfram.com/HypergeometricFunctions/Hypergeometric0F1/06/01/01/
+ // There are no checks on input range or parameter boundaries.
+
+ mp_float x_pow_n_div_n_fact(x);
+ mp_float pochham_b (b);
+ mp_float bp (b);
+
+ mp_float H0F1 = boost::multiprecision::one() + (x_pow_n_div_n_fact / pochham_b);
+
+ boost::int32_t n;
+
+ // Series expansion of hyperg_0f1(; b; x).
+ for(n = static_cast<boost::int32_t>(2); n < boost::multiprecision::max_iteration(); n++)
+ {
+ x_pow_n_div_n_fact *= x;
+ x_pow_n_div_n_fact /= n;
+
+ pochham_b *= ++bp;
+
+ const mp_float term = x_pow_n_div_n_fact / pochham_b;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - H0F1.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ H0F1 += term;
+ }
+
+ return ((n < boost::multiprecision::max_iteration()) ? H0F1 : std::numeric_limits<mp_float>::quiet_NaN());
+}
+
+mp_float boost::multiprecision::hyp1F0(const mp_float& a, const mp_float& x)
+{
+ // Compute the series representation of Hypergeometric1F0 taken from
+ // http://functions.wolfram.com/HypergeometricFunctions/Hypergeometric1F0/06/01/01/
+ // and also see the corresponding section for the power function (i.e. x^a).
+ // There are no checks on input range or parameter boundaries.
+
+ mp_float x_pow_n_div_n_fact(x);
+ mp_float pochham_a (a);
+ mp_float ap (a);
+
+ mp_float H1F0 = boost::multiprecision::one() + (pochham_a * x_pow_n_div_n_fact);
+
+ boost::int32_t n;
+
+ // Series expansion of hyperg_1f0(a; ; x).
+ for(n = static_cast<boost::int32_t>(2); n < boost::multiprecision::max_iteration(); n++)
+ {
+ x_pow_n_div_n_fact *= x;
+ x_pow_n_div_n_fact /= n;
+
+ pochham_a *= ++ap;
+
+ const mp_float term = pochham_a * x_pow_n_div_n_fact;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - H1F0.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ H1F0 += term;
+ }
+
+ return ((n < boost::multiprecision::max_iteration()) ? H1F0 : std::numeric_limits<mp_float>::quiet_NaN());
+}
+
+mp_float boost::multiprecision::hyp1F1(const mp_float& a, const mp_float& b, const mp_float& x)
+{
+ // Compute the series representation of hyperg_1f1 taken from
+ // Abramowitz and Stegun 13.1.2, page 504.
+ // There are no checks on input range or parameter boundaries.
+
+ mp_float x_pow_n_div_n_fact(x);
+ mp_float pochham_a (a);
+ mp_float pochham_b (b);
+ mp_float ap (a);
+ mp_float bp (b);
+
+ mp_float H1F1 = boost::multiprecision::one() + ((pochham_a / pochham_b) * x_pow_n_div_n_fact);
+
+ boost::int32_t n;
+
+ // Series expansion of hyperg_1f1(a, b ; x).
+ for(n = static_cast<boost::int32_t>(2); n < boost::multiprecision::max_iteration(); n++)
+ {
+ x_pow_n_div_n_fact *= x;
+ x_pow_n_div_n_fact /= n;
+
+ pochham_a *= ++ap;
+ pochham_b *= ++bp;
+
+ const mp_float term = (pochham_a / pochham_b) * x_pow_n_div_n_fact;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - H1F1.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ H1F1 += term;
+ }
+
+ return ((n < boost::multiprecision::max_iteration()) ? H1F1 : std::numeric_limits<mp_float>::quiet_NaN());
+}
+
+mp_float boost::multiprecision::hyp2F0(const mp_float& a, const mp_float& b, const mp_float& x)
+{
+ // Compute the series representation of hyperg_2f0.
+ // There are no checks on input range or parameter boundaries.
+
+ mp_float x_pow_n_div_n_fact(x);
+ mp_float pochham_a (a);
+ mp_float pochham_b (b);
+ mp_float ap (a);
+ mp_float bp (b);
+
+ mp_float H2F0 = boost::multiprecision::one() + ((pochham_a * pochham_b) * x_pow_n_div_n_fact);
+
+ boost::int32_t n;
+
+ // Series expansion of hyperg_2f0(a, b; ; x).
+ for(n = static_cast<boost::int32_t>(2); n < boost::multiprecision::max_iteration(); n++)
+ {
+ x_pow_n_div_n_fact *= x;
+ x_pow_n_div_n_fact /= n;
+
+ pochham_a *= ++ap;
+ pochham_b *= ++bp;
+
+ const mp_float term = (pochham_a * pochham_b) * x_pow_n_div_n_fact;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - H2F0.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ H2F0 += term;
+ }
+
+ return ((n < boost::multiprecision::max_iteration()) ? H2F0 : std::numeric_limits<mp_float>::quiet_NaN());
+}
+
+mp_float boost::multiprecision::hyp2F1(const mp_float& a, const mp_float& b, const mp_float& c, const mp_float& x)
+{
+ // Compute the series representation of hyperg_2f1 taken from
+ // Abramowitz and Stegun 15.1.1.
+ // There are no checks on input range or parameter boundaries.
+
+ mp_float x_pow_n_div_n_fact(x);
+ mp_float pochham_a (a);
+ mp_float pochham_b (b);
+ mp_float pochham_c (c);
+ mp_float ap (a);
+ mp_float bp (b);
+ mp_float cp (c);
+
+ mp_float H2F1 = boost::multiprecision::one() + (((pochham_a * pochham_b) / pochham_c) * x_pow_n_div_n_fact);
+
+ boost::int32_t n;
+
+ // Series expansion of hyperg_2f1(a, b; c; x).
+ for(n = static_cast<boost::int32_t>(2); n < boost::multiprecision::max_iteration(); n++)
+ {
+ x_pow_n_div_n_fact *= x;
+ x_pow_n_div_n_fact /= n;
+
+ pochham_a *= ++ap;
+ pochham_b *= ++bp;
+ pochham_c *= ++cp;
+
+ const mp_float term = ((pochham_a * pochham_b) / pochham_c) * x_pow_n_div_n_fact;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - H2F1.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ H2F1 += term;
+ }
+
+ return ((n < boost::multiprecision::max_iteration()) ? H2F1 : std::numeric_limits<mp_float>::quiet_NaN());
+}
+
+mp_float boost::multiprecision::hypPFQ(const std::deque<mp_float>& a, const std::deque<mp_float>& b, const mp_float& x)
+{
+ // Compute the series representation of hyperg_pfq.
+ // There are no checks on input range or parameter boundaries.
+
+ mp_float x_pow_n_div_n_fact(x);
+
+ // The pochhammer symbols for the multiplications in the series expansion
+ // will be stored in STL-containers.
+ std::vector<mp_float> ap(a.begin(), a.end());
+ std::vector<mp_float> bp(b.begin(), b.end());
+
+ // Initialize the pochhammer product terms with the products of the form:
+ // [(a0)_1 * (a1)_1 * (a2)_1 * ...], or [(b0)_1 * (b1)_1 * (b2)_1 * ...].
+ mp_float pochham_a = std::accumulate(ap.begin(), ap.end(), boost::multiprecision::one(), std::multiplies<mp_float>());
+ mp_float pochham_b = std::accumulate(bp.begin(), bp.end(), boost::multiprecision::one(), std::multiplies<mp_float>());
+
+ mp_float HPFQ = boost::multiprecision::one() + ((pochham_a / pochham_b) * x_pow_n_div_n_fact);
+
+ boost::int32_t n;
+
+ // Series expansion of hyperg_pfq[{a0, a1, a2, ...}; {b0, b1, b2, ...}; x].
+ for(n = static_cast<boost::int32_t>(2); n < boost::multiprecision::max_iteration(); n++)
+ {
+ x_pow_n_div_n_fact *= x;
+ x_pow_n_div_n_fact /= n;
+
+ // Increment each of the pochhammer elements in a and b.
+ std::transform(ap.begin(), ap.end(), ap.begin(), std::bind1st(std::plus<mp_float>(), boost::multiprecision::one()));
+ std::transform(bp.begin(), bp.end(), bp.begin(), std::bind1st(std::plus<mp_float>(), boost::multiprecision::one()));
+
+ // Multiply the pochhammer product terms with the products of the incremented
+ // pochhammer elements. These are products of the form:
+ // [(a0)_k * (a1)_k * (a2)_k * ...], or [(b0)_k * (b1)_k * (b2)_k * ...].
+ pochham_a *= std::accumulate(ap.begin(), ap.end(), boost::multiprecision::one(), std::multiplies<mp_float>());
+ pochham_b *= std::accumulate(bp.begin(), bp.end(), boost::multiprecision::one(), std::multiplies<mp_float>());
+
+ const mp_float term = (pochham_a / pochham_b) * x_pow_n_div_n_fact;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - HPFQ.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ HPFQ += term;
+ }
+
+ return ((n < boost::multiprecision::max_iteration()) ? HPFQ : std::numeric_limits<mp_float>::quiet_NaN());
+}

Added: sandbox/multiprecision/src/functions/elementary/elementary_math.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/elementary/elementary_math.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,246 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+using boost::multiprecision::mp_float;
+
+#if defined(__GNUC__)
+ static inline int _isnan (double x) { return std::isnan <double>(x); }
+ static inline int _finite(double x) { return std::isfinite<double>(x); }
+#endif
+
+mp_float boost::multiprecision::floor(const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x) || boost::multiprecision::isint(x)) { return x; }
+
+ return (boost::multiprecision::isneg(x) ? boost::multiprecision::integer_part(x - boost::multiprecision::one())
+ : boost::multiprecision::integer_part(x));
+}
+
+mp_float boost::multiprecision::ceil(const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x) || boost::multiprecision::isint(x)) { return x; }
+
+ return (boost::multiprecision::isneg(x) ? boost::multiprecision::integer_part(x)
+ : boost::multiprecision::integer_part(x + boost::multiprecision::one()));
+}
+
+boost::int32_t boost::multiprecision::sgn(const mp_float& x)
+{
+ if(boost::multiprecision::iszero(x))
+ {
+ return static_cast<boost::int32_t>(0);
+ }
+ else
+ {
+ return (boost::multiprecision::isneg(x) ? static_cast<boost::int32_t>(-1) : static_cast<boost::int32_t>(1));
+ }
+}
+
+mp_float ldexp(const mp_float& v, int e)
+{
+ return v * boost::multiprecision::pow2(e);
+}
+
+mp_float boost::multiprecision::frexp(const mp_float& v, int* expon)
+{
+ double d;
+ boost::int64_t i;
+
+ v.extract_parts(d, i);
+
+ *expon = static_cast<int>(i);
+
+ return v * boost::multiprecision::pow2(static_cast<boost::int64_t>(-i));
+}
+
+mp_float boost::multiprecision::fmod(const mp_float& v1, const mp_float& v2)
+{
+ const mp_float n = (boost::multiprecision::isneg(v1) ? boost::multiprecision::ceil(v1 / v2) : boost::multiprecision::floor(v1 / v2));
+
+ return v1 - (n * v2);
+}
+
+bool boost::multiprecision::isfinite(const double x) { return (::_finite(x) != 0); }
+bool boost::multiprecision::isnan (const double x) { return (::_isnan (x) != 0); }
+
+double boost::multiprecision::to_double(const mp_float& x) { return x.extract_double(); }
+double boost::multiprecision::to_double(const mp_complex& z) { return boost::multiprecision::to_double(z.real()); }
+
+boost::int64_t boost::multiprecision::to_int64(const double x) { return static_cast<boost::int64_t>(x); }
+boost::int64_t boost::multiprecision::to_int64(const mp_float& x) { return static_cast<boost::int64_t>(x.extract_signed_long_long()); }
+boost::int64_t boost::multiprecision::to_int64(const mp_complex& z) { return boost::multiprecision::to_int64(z.real()); }
+
+bool boost::multiprecision::isint(const double x)
+{
+ static const double delta = (std::numeric_limits<double>::min)() * 2.0;
+
+ const double xx = ::fabs(x);
+
+ if((xx - ::floor(xx)) < delta)
+ {
+ return true;
+ }
+ else if((::ceil(xx) - xx) < delta)
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+}
+
+boost::int32_t boost::multiprecision::to_int32(const double x)
+{
+ const boost::int64_t n32_max = static_cast<boost::int64_t>((std::numeric_limits<boost::int32_t>::max)());
+ const boost::int64_t n32_min = static_cast<boost::int64_t>((std::numeric_limits<boost::int32_t>::min)());
+
+ const boost::int64_t n64 = boost::multiprecision::to_int64(x);
+
+ return static_cast<boost::int32_t>((std::min)((std::max)(n64, n32_min), n32_max));
+}
+
+boost::int32_t boost::multiprecision::to_int32(const mp_float& x)
+{
+ const boost::int64_t n32_max = static_cast<boost::int64_t>((std::numeric_limits<boost::int32_t>::max)());
+ const boost::int64_t n32_min = static_cast<boost::int64_t>((std::numeric_limits<boost::int32_t>::min)());
+
+ const boost::int64_t n64 = boost::multiprecision::to_int64(x);
+
+ return static_cast<boost::int32_t>((std::min)((std::max)(n64, n32_min), n32_max));
+}
+
+boost::int32_t boost::multiprecision::to_int32(const mp_complex& z)
+{
+ return boost::multiprecision::to_int32(z.real());
+}
+
+void boost::multiprecision::to_parts(const mp_float& x, double& mantissa, boost::int64_t& exponent)
+{
+ x.extract_parts(mantissa, exponent);
+}
+
+mp_float boost::multiprecision::integer_part(const mp_float& x)
+{
+ return x.extract_integer_part();
+}
+
+mp_float boost::multiprecision::decimal_part(const mp_float& x)
+{
+ return x.extract_decimal_part();
+}
+
+bool boost::multiprecision::small_arg(const double x)
+{
+ static const double one_sixth = 1.0 / 6.0;
+ static const double small_tol = ::pow(std::numeric_limits<double>::epsilon(), one_sixth);
+
+ return (::fabs(x) < small_tol);
+}
+
+bool boost::multiprecision::small_arg(const mp_float& x)
+{
+ static const double lim_d = static_cast<double>(static_cast<boost::int32_t>(boost::multiprecision::tol())) / 10.0;
+ static const boost::int64_t lim = (std::max)(static_cast<boost::int64_t>(lim_d), static_cast<boost::int64_t>(6));
+
+ return (x.order() < static_cast<boost::int64_t>(-lim));
+}
+
+bool boost::multiprecision::small_arg(const mp_complex& z)
+{
+ return boost::multiprecision::small_arg(boost::multiprecision::abs(z));
+}
+
+bool boost::multiprecision::large_arg(const double x)
+{
+ static const double one_sixth = 1.0 / 6.0;
+ static const double small_tol = ::pow(std::numeric_limits<double>::epsilon(), one_sixth);
+ static const double large_tol = 1.0 / small_tol;
+
+ return (::fabs(x) > large_tol);
+}
+
+bool boost::multiprecision::large_arg(const mp_float& x)
+{
+ static const double lim_d = static_cast<double>(static_cast<boost::int32_t>(boost::multiprecision::tol())) / 10.0;
+ static const boost::int64_t lim = (std::max)(static_cast<boost::int64_t>(lim_d), static_cast<boost::int64_t>(6));
+
+ return (x.order() > lim);
+}
+
+bool boost::multiprecision::large_arg(const mp_complex& z) { return boost::multiprecision::large_arg(z.real()); }
+
+bool boost::multiprecision::near_one(const double x) { return boost::multiprecision::small_arg(::fabs(1.0 - x)); }
+bool boost::multiprecision::near_one(const mp_float& x) { return boost::multiprecision::small_arg(boost::multiprecision::fabs(boost::multiprecision::one() - x)); }
+bool boost::multiprecision::near_one(const mp_complex& z) { return boost::multiprecision::near_one(z.real()) && boost::multiprecision::iszero(z.imag()); }
+
+bool boost::multiprecision::near_int(const double x)
+{
+ if(boost::multiprecision::isint(x))
+ {
+ return true;
+ }
+ else
+ {
+ const double xx = ::fabs(x);
+
+ if(boost::multiprecision::small_arg(xx - ::floor(xx)))
+ {
+ return true;
+ }
+ else if(boost::multiprecision::small_arg(::ceil(xx) - xx))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+}
+
+bool boost::multiprecision::near_int(const mp_float& x)
+{
+ if(boost::multiprecision::isint(x))
+ {
+ return true;
+ }
+ else
+ {
+ const mp_float xx = boost::multiprecision::fabs(x);
+
+ if(boost::multiprecision::small_arg(xx - boost::multiprecision::floor(xx)))
+ {
+ return true;
+ }
+ else if(boost::multiprecision::small_arg(boost::multiprecision::ceil(xx) - xx))
+ {
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+}
+
+bool boost::multiprecision::near_int(const mp_complex& z)
+{
+ if(boost::multiprecision::isint(z))
+ {
+ return true;
+ }
+ else
+ {
+ return boost::multiprecision::iszero(z.imag()) && boost::multiprecision::near_int(z.real());
+ }
+}

Added: sandbox/multiprecision/src/functions/elementary/elementary_trans.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/elementary/elementary_trans.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,876 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <vector>
+#include <numeric>
+#include <map>
+
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include <boost/multiprecision/utility/util_power_x_pow_n.hpp>
+
+using boost::multiprecision::mp_float;
+
+namespace ElementaryTrans_Series
+{
+ static mp_float rootn_inv(const mp_float& x, const boost::int32_t p);
+}
+
+mp_float boost::multiprecision::pown(const mp_float& x, const boost::int64_t p)
+{
+ return boost::multiprecision::utility::x_pow_n_template<mp_float>(x, p);
+}
+
+mp_float boost::multiprecision::pow2(const boost::int64_t p)
+{
+ // Create a static const table of p^2 for -128 < p < +128.
+ // Note: The size of this table must be odd-numbered and
+ // symmetric about 0.
+ static const boost::array<mp_float, 255u> p2_data =
+ {{
+ mp_float("5.877471754111437539843682686111228389093327783860437607543758531392086297273635864257812500000000000e-39"),
+ mp_float("1.175494350822287507968736537222245677818665556772087521508751706278417259454727172851562500000000000e-38"),
+ mp_float("2.350988701644575015937473074444491355637331113544175043017503412556834518909454345703125000000000000e-38"),
+ mp_float("4.701977403289150031874946148888982711274662227088350086035006825113669037818908691406250000000000000e-38"),
+ mp_float("9.403954806578300063749892297777965422549324454176700172070013650227338075637817382812500000000000000e-38"),
+ mp_float("1.880790961315660012749978459555593084509864890835340034414002730045467615127563476562500000000000000e-37"),
+ mp_float("3.761581922631320025499956919111186169019729781670680068828005460090935230255126953125000000000000000e-37"),
+ mp_float("7.523163845262640050999913838222372338039459563341360137656010920181870460510253906250000000000000000e-37"),
+ mp_float("1.504632769052528010199982767644474467607891912668272027531202184036374092102050781250000000000000000e-36"),
+ mp_float("3.009265538105056020399965535288948935215783825336544055062404368072748184204101562500000000000000000e-36"),
+ mp_float("6.018531076210112040799931070577897870431567650673088110124808736145496368408203125000000000000000000e-36"),
+ mp_float("1.203706215242022408159986214115579574086313530134617622024961747229099273681640625000000000000000000e-35"),
+ mp_float("2.407412430484044816319972428231159148172627060269235244049923494458198547363281250000000000000000000e-35"),
+ mp_float("4.814824860968089632639944856462318296345254120538470488099846988916397094726562500000000000000000000e-35"),
+ mp_float("9.629649721936179265279889712924636592690508241076940976199693977832794189453125000000000000000000000e-35"),
+ mp_float("1.925929944387235853055977942584927318538101648215388195239938795566558837890625000000000000000000000e-34"),
+ mp_float("3.851859888774471706111955885169854637076203296430776390479877591133117675781250000000000000000000000e-34"),
+ mp_float("7.703719777548943412223911770339709274152406592861552780959755182266235351562500000000000000000000000e-34"),
+ mp_float("1.540743955509788682444782354067941854830481318572310556191951036453247070312500000000000000000000000e-33"),
+ mp_float("3.081487911019577364889564708135883709660962637144621112383902072906494140625000000000000000000000000e-33"),
+ mp_float("6.162975822039154729779129416271767419321925274289242224767804145812988281250000000000000000000000000e-33"),
+ mp_float("1.232595164407830945955825883254353483864385054857848444953560829162597656250000000000000000000000000e-32"),
+ mp_float("2.465190328815661891911651766508706967728770109715696889907121658325195312500000000000000000000000000e-32"),
+ mp_float("4.930380657631323783823303533017413935457540219431393779814243316650390625000000000000000000000000000e-32"),
+ mp_float("9.860761315262647567646607066034827870915080438862787559628486633300781250000000000000000000000000000e-32"),
+ mp_float("1.972152263052529513529321413206965574183016087772557511925697326660156250000000000000000000000000000e-31"),
+ mp_float("3.944304526105059027058642826413931148366032175545115023851394653320312500000000000000000000000000000e-31"),
+ mp_float("7.888609052210118054117285652827862296732064351090230047702789306640625000000000000000000000000000000e-31"),
+ mp_float("1.577721810442023610823457130565572459346412870218046009540557861328125000000000000000000000000000000e-30"),
+ mp_float("3.155443620884047221646914261131144918692825740436092019081115722656250000000000000000000000000000000e-30"),
+ mp_float("6.310887241768094443293828522262289837385651480872184038162231445312500000000000000000000000000000000e-30"),
+ mp_float("1.262177448353618888658765704452457967477130296174436807632446289062500000000000000000000000000000000e-29"),
+ mp_float("2.524354896707237777317531408904915934954260592348873615264892578125000000000000000000000000000000000e-29"),
+ mp_float("5.048709793414475554635062817809831869908521184697747230529785156250000000000000000000000000000000000e-29"),
+ mp_float("1.009741958682895110927012563561966373981704236939549446105957031250000000000000000000000000000000000e-28"),
+ mp_float("2.019483917365790221854025127123932747963408473879098892211914062500000000000000000000000000000000000e-28"),
+ mp_float("4.038967834731580443708050254247865495926816947758197784423828125000000000000000000000000000000000000e-28"),
+ mp_float("8.077935669463160887416100508495730991853633895516395568847656250000000000000000000000000000000000000e-28"),
+ mp_float("1.615587133892632177483220101699146198370726779103279113769531250000000000000000000000000000000000000e-27"),
+ mp_float("3.231174267785264354966440203398292396741453558206558227539062500000000000000000000000000000000000000e-27"),
+ mp_float("6.462348535570528709932880406796584793482907116413116455078125000000000000000000000000000000000000000e-27"),
+ mp_float("1.292469707114105741986576081359316958696581423282623291015625000000000000000000000000000000000000000e-26"),
+ mp_float("2.584939414228211483973152162718633917393162846565246582031250000000000000000000000000000000000000000e-26"),
+ mp_float("5.169878828456422967946304325437267834786325693130493164062500000000000000000000000000000000000000000e-26"),
+ mp_float("1.033975765691284593589260865087453566957265138626098632812500000000000000000000000000000000000000000e-25"),
+ mp_float("2.067951531382569187178521730174907133914530277252197265625000000000000000000000000000000000000000000e-25"),
+ mp_float("4.135903062765138374357043460349814267829060554504394531250000000000000000000000000000000000000000000e-25"),
+ mp_float("8.271806125530276748714086920699628535658121109008789062500000000000000000000000000000000000000000000e-25"),
+ mp_float("1.654361225106055349742817384139925707131624221801757812500000000000000000000000000000000000000000000e-24"),
+ mp_float("3.308722450212110699485634768279851414263248443603515625000000000000000000000000000000000000000000000e-24"),
+ mp_float("6.617444900424221398971269536559702828526496887207031250000000000000000000000000000000000000000000000e-24"),
+ mp_float("1.323488980084844279794253907311940565705299377441406250000000000000000000000000000000000000000000000e-23"),
+ mp_float("2.646977960169688559588507814623881131410598754882812500000000000000000000000000000000000000000000000e-23"),
+ mp_float("5.293955920339377119177015629247762262821197509765625000000000000000000000000000000000000000000000000e-23"),
+ mp_float("1.058791184067875423835403125849552452564239501953125000000000000000000000000000000000000000000000000e-22"),
+ mp_float("2.117582368135750847670806251699104905128479003906250000000000000000000000000000000000000000000000000e-22"),
+ mp_float("4.235164736271501695341612503398209810256958007812500000000000000000000000000000000000000000000000000e-22"),
+ mp_float("8.470329472543003390683225006796419620513916015625000000000000000000000000000000000000000000000000000e-22"),
+ mp_float("1.694065894508600678136645001359283924102783203125000000000000000000000000000000000000000000000000000e-21"),
+ mp_float("3.388131789017201356273290002718567848205566406250000000000000000000000000000000000000000000000000000e-21"),
+ mp_float("6.776263578034402712546580005437135696411132812500000000000000000000000000000000000000000000000000000e-21"),
+ mp_float("1.355252715606880542509316001087427139282226562500000000000000000000000000000000000000000000000000000e-20"),
+ mp_float("2.710505431213761085018632002174854278564453125000000000000000000000000000000000000000000000000000000e-20"),
+ mp_float("5.421010862427522170037264004349708557128906250000000000000000000000000000000000000000000000000000000e-20"),
+ mp_float("1.084202172485504434007452800869941711425781250000000000000000000000000000000000000000000000000000000e-19"),
+ mp_float("2.168404344971008868014905601739883422851562500000000000000000000000000000000000000000000000000000000e-19"),
+ mp_float("4.336808689942017736029811203479766845703125000000000000000000000000000000000000000000000000000000000e-19"),
+ mp_float("8.673617379884035472059622406959533691406250000000000000000000000000000000000000000000000000000000000e-19"),
+ mp_float("1.734723475976807094411924481391906738281250000000000000000000000000000000000000000000000000000000000e-18"),
+ mp_float("3.469446951953614188823848962783813476562500000000000000000000000000000000000000000000000000000000000e-18"),
+ mp_float("6.938893903907228377647697925567626953125000000000000000000000000000000000000000000000000000000000000e-18"),
+ mp_float("1.387778780781445675529539585113525390625000000000000000000000000000000000000000000000000000000000000e-17"),
+ mp_float("2.775557561562891351059079170227050781250000000000000000000000000000000000000000000000000000000000000e-17"),
+ mp_float("5.551115123125782702118158340454101562500000000000000000000000000000000000000000000000000000000000000e-17"),
+ mp_float("1.110223024625156540423631668090820312500000000000000000000000000000000000000000000000000000000000000e-16"),
+ mp_float("2.220446049250313080847263336181640625000000000000000000000000000000000000000000000000000000000000000e-16"),
+ mp_float("4.440892098500626161694526672363281250000000000000000000000000000000000000000000000000000000000000000e-16"),
+ mp_float("8.881784197001252323389053344726562500000000000000000000000000000000000000000000000000000000000000000e-16"),
+ mp_float("1.776356839400250464677810668945312500000000000000000000000000000000000000000000000000000000000000000e-15"),
+ mp_float("3.552713678800500929355621337890625000000000000000000000000000000000000000000000000000000000000000000e-15"),
+ mp_float("7.105427357601001858711242675781250000000000000000000000000000000000000000000000000000000000000000000e-15"),
+ mp_float("1.421085471520200371742248535156250000000000000000000000000000000000000000000000000000000000000000000e-14"),
+ mp_float("2.842170943040400743484497070312500000000000000000000000000000000000000000000000000000000000000000000e-14"),
+ mp_float("5.684341886080801486968994140625000000000000000000000000000000000000000000000000000000000000000000000e-14"),
+ mp_float("1.136868377216160297393798828125000000000000000000000000000000000000000000000000000000000000000000000e-13"),
+ mp_float("2.273736754432320594787597656250000000000000000000000000000000000000000000000000000000000000000000000e-13"),
+ mp_float("4.547473508864641189575195312500000000000000000000000000000000000000000000000000000000000000000000000e-13"),
+ mp_float("9.094947017729282379150390625000000000000000000000000000000000000000000000000000000000000000000000000e-13"),
+ mp_float("1.818989403545856475830078125000000000000000000000000000000000000000000000000000000000000000000000000e-12"),
+ mp_float("3.637978807091712951660156250000000000000000000000000000000000000000000000000000000000000000000000000e-12"),
+ mp_float("7.275957614183425903320312500000000000000000000000000000000000000000000000000000000000000000000000000e-12"),
+ mp_float("1.455191522836685180664062500000000000000000000000000000000000000000000000000000000000000000000000000e-11"),
+ mp_float("2.910383045673370361328125000000000000000000000000000000000000000000000000000000000000000000000000000e-11"),
+ mp_float("5.820766091346740722656250000000000000000000000000000000000000000000000000000000000000000000000000000e-11"),
+ mp_float("1.164153218269348144531250000000000000000000000000000000000000000000000000000000000000000000000000000e-10"),
+ mp_float("2.328306436538696289062500000000000000000000000000000000000000000000000000000000000000000000000000000e-10"),
+ mp_float("4.656612873077392578125000000000000000000000000000000000000000000000000000000000000000000000000000000e-10"),
+ mp_float("9.313225746154785156250000000000000000000000000000000000000000000000000000000000000000000000000000000e-10"),
+ mp_float("1.862645149230957031250000000000000000000000000000000000000000000000000000000000000000000000000000000e-9"),
+ mp_float("3.725290298461914062500000000000000000000000000000000000000000000000000000000000000000000000000000000e-9"),
+ mp_float("7.450580596923828125000000000000000000000000000000000000000000000000000000000000000000000000000000000e-9"),
+ mp_float("1.490116119384765625000000000000000000000000000000000000000000000000000000000000000000000000000000000e-8"),
+ mp_float("2.980232238769531250000000000000000000000000000000000000000000000000000000000000000000000000000000000e-8"),
+ mp_float("5.960464477539062500000000000000000000000000000000000000000000000000000000000000000000000000000000000e-8"),
+ mp_float("1.192092895507812500000000000000000000000000000000000000000000000000000000000000000000000000000000000e-7"),
+ mp_float("2.384185791015625000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-7"),
+ mp_float("4.768371582031250000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-7"),
+ mp_float("9.536743164062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-7"),
+ mp_float("1.907348632812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-6"),
+ mp_float("3.814697265625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-6"),
+ mp_float("7.629394531250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e-6"),
+ mp_float("0.000015258789062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.000030517578125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.000061035156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.000122070312500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.000244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.000488281250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.000976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.001953125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.003906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.007812500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.01562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.03125000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ mp_float("0.06250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"),
+ boost::multiprecision::eighth(),
+ boost::multiprecision::quarter(),
+ boost::multiprecision::half(),
+ boost::multiprecision::one(),
+ boost::multiprecision::two(),
+ boost::multiprecision::four(),
+ boost::multiprecision::eight(),
+ mp_float(16),
+ mp_float(32),
+ mp_float(64),
+ mp_float(128),
+ mp_float(256),
+ mp_float(512),
+ mp_float(1024),
+ mp_float(2048),
+ mp_float(4096),
+ mp_float(8192),
+ mp_float(16384),
+ mp_float(32768),
+ mp_float(65536),
+ mp_float(131072),
+ mp_float(262144),
+ mp_float(524288),
+ mp_float(static_cast<boost::uint32_t>(1uL << 20u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 21u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 22u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 23u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 24u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 25u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 26u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 27u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 28u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 29u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 30u)),
+ mp_float(static_cast<boost::uint32_t>(1uL << 31u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 32u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 33u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 34u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 35u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 36u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 37u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 38u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 39u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 40u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 41u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 42u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 43u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 44u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 45u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 46u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 47u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 48u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 49u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 50u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 51u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 52u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 53u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 54u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 55u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 56u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 57u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 58u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 59u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 60u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 61u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 62u)),
+ mp_float(static_cast<boost::uint64_t>(1uLL << 63u)),
+ mp_float("1.844674407370955161600000000000000000000000000000000000000000000000000000000000000000000000000000000e19"),
+ mp_float("3.689348814741910323200000000000000000000000000000000000000000000000000000000000000000000000000000000e19"),
+ mp_float("7.378697629483820646400000000000000000000000000000000000000000000000000000000000000000000000000000000e19"),
+ mp_float("1.475739525896764129280000000000000000000000000000000000000000000000000000000000000000000000000000000e20"),
+ mp_float("2.951479051793528258560000000000000000000000000000000000000000000000000000000000000000000000000000000e20"),
+ mp_float("5.902958103587056517120000000000000000000000000000000000000000000000000000000000000000000000000000000e20"),
+ mp_float("1.180591620717411303424000000000000000000000000000000000000000000000000000000000000000000000000000000e21"),
+ mp_float("2.361183241434822606848000000000000000000000000000000000000000000000000000000000000000000000000000000e21"),
+ mp_float("4.722366482869645213696000000000000000000000000000000000000000000000000000000000000000000000000000000e21"),
+ mp_float("9.444732965739290427392000000000000000000000000000000000000000000000000000000000000000000000000000000e21"),
+ mp_float("1.888946593147858085478400000000000000000000000000000000000000000000000000000000000000000000000000000e22"),
+ mp_float("3.777893186295716170956800000000000000000000000000000000000000000000000000000000000000000000000000000e22"),
+ mp_float("7.555786372591432341913600000000000000000000000000000000000000000000000000000000000000000000000000000e22"),
+ mp_float("1.511157274518286468382720000000000000000000000000000000000000000000000000000000000000000000000000000e23"),
+ mp_float("3.022314549036572936765440000000000000000000000000000000000000000000000000000000000000000000000000000e23"),
+ mp_float("6.044629098073145873530880000000000000000000000000000000000000000000000000000000000000000000000000000e23"),
+ mp_float("1.208925819614629174706176000000000000000000000000000000000000000000000000000000000000000000000000000e24"),
+ mp_float("2.417851639229258349412352000000000000000000000000000000000000000000000000000000000000000000000000000e24"),
+ mp_float("4.835703278458516698824704000000000000000000000000000000000000000000000000000000000000000000000000000e24"),
+ mp_float("9.671406556917033397649408000000000000000000000000000000000000000000000000000000000000000000000000000e24"),
+ mp_float("1.934281311383406679529881600000000000000000000000000000000000000000000000000000000000000000000000000e25"),
+ mp_float("3.868562622766813359059763200000000000000000000000000000000000000000000000000000000000000000000000000e25"),
+ mp_float("7.737125245533626718119526400000000000000000000000000000000000000000000000000000000000000000000000000e25"),
+ mp_float("1.547425049106725343623905280000000000000000000000000000000000000000000000000000000000000000000000000e26"),
+ mp_float("3.094850098213450687247810560000000000000000000000000000000000000000000000000000000000000000000000000e26"),
+ mp_float("6.189700196426901374495621120000000000000000000000000000000000000000000000000000000000000000000000000e26"),
+ mp_float("1.237940039285380274899124224000000000000000000000000000000000000000000000000000000000000000000000000e27"),
+ mp_float("2.475880078570760549798248448000000000000000000000000000000000000000000000000000000000000000000000000e27"),
+ mp_float("4.951760157141521099596496896000000000000000000000000000000000000000000000000000000000000000000000000e27"),
+ mp_float("9.903520314283042199192993792000000000000000000000000000000000000000000000000000000000000000000000000e27"),
+ mp_float("1.980704062856608439838598758400000000000000000000000000000000000000000000000000000000000000000000000e28"),
+ mp_float("3.961408125713216879677197516800000000000000000000000000000000000000000000000000000000000000000000000e28"),
+ mp_float("7.922816251426433759354395033600000000000000000000000000000000000000000000000000000000000000000000000e28"),
+ mp_float("1.584563250285286751870879006720000000000000000000000000000000000000000000000000000000000000000000000e29"),
+ mp_float("3.169126500570573503741758013440000000000000000000000000000000000000000000000000000000000000000000000e29"),
+ mp_float("6.338253001141147007483516026880000000000000000000000000000000000000000000000000000000000000000000000e29"),
+ mp_float("1.267650600228229401496703205376000000000000000000000000000000000000000000000000000000000000000000000e30"),
+ mp_float("2.535301200456458802993406410752000000000000000000000000000000000000000000000000000000000000000000000e30"),
+ mp_float("5.070602400912917605986812821504000000000000000000000000000000000000000000000000000000000000000000000e30"),
+ mp_float("1.014120480182583521197362564300800000000000000000000000000000000000000000000000000000000000000000000e31"),
+ mp_float("2.028240960365167042394725128601600000000000000000000000000000000000000000000000000000000000000000000e31"),
+ mp_float("4.056481920730334084789450257203200000000000000000000000000000000000000000000000000000000000000000000e31"),
+ mp_float("8.112963841460668169578900514406400000000000000000000000000000000000000000000000000000000000000000000e31"),
+ mp_float("1.622592768292133633915780102881280000000000000000000000000000000000000000000000000000000000000000000e32"),
+ mp_float("3.245185536584267267831560205762560000000000000000000000000000000000000000000000000000000000000000000e32"),
+ mp_float("6.490371073168534535663120411525120000000000000000000000000000000000000000000000000000000000000000000e32"),
+ mp_float("1.298074214633706907132624082305024000000000000000000000000000000000000000000000000000000000000000000e33"),
+ mp_float("2.596148429267413814265248164610048000000000000000000000000000000000000000000000000000000000000000000e33"),
+ mp_float("5.192296858534827628530496329220096000000000000000000000000000000000000000000000000000000000000000000e33"),
+ mp_float("1.038459371706965525706099265844019200000000000000000000000000000000000000000000000000000000000000000e34"),
+ mp_float("2.076918743413931051412198531688038400000000000000000000000000000000000000000000000000000000000000000e34"),
+ mp_float("4.153837486827862102824397063376076800000000000000000000000000000000000000000000000000000000000000000e34"),
+ mp_float("8.307674973655724205648794126752153600000000000000000000000000000000000000000000000000000000000000000e34"),
+ mp_float("1.661534994731144841129758825350430720000000000000000000000000000000000000000000000000000000000000000e35"),
+ mp_float("3.323069989462289682259517650700861440000000000000000000000000000000000000000000000000000000000000000e35"),
+ mp_float("6.646139978924579364519035301401722880000000000000000000000000000000000000000000000000000000000000000e35"),
+ mp_float("1.329227995784915872903807060280344576000000000000000000000000000000000000000000000000000000000000000e36"),
+ mp_float("2.658455991569831745807614120560689152000000000000000000000000000000000000000000000000000000000000000e36"),
+ mp_float("5.316911983139663491615228241121378304000000000000000000000000000000000000000000000000000000000000000e36"),
+ mp_float("1.063382396627932698323045648224275660800000000000000000000000000000000000000000000000000000000000000e37"),
+ mp_float("2.126764793255865396646091296448551321600000000000000000000000000000000000000000000000000000000000000e37"),
+ mp_float("4.253529586511730793292182592897102643200000000000000000000000000000000000000000000000000000000000000e37"),
+ mp_float("8.507059173023461586584365185794205286400000000000000000000000000000000000000000000000000000000000000e37"),
+ mp_float("1.701411834604692317316873037158841057280000000000000000000000000000000000000000000000000000000000000e38")
+ }};
+
+ if((p > static_cast<boost::int64_t>(-128)) && (p < static_cast<boost::int64_t>(+128)))
+ {
+ return p2_data[static_cast<std::size_t>(p + ((p2_data.size() - 1u) / 2u))];
+ }
+
+ // Compute and return 2^p.
+ if(p < static_cast<boost::int64_t>(0))
+ {
+ return boost::multiprecision::pow2(static_cast<boost::int64_t>(-p)).calculate_inv();
+ }
+ else if(p < static_cast<boost::int64_t>(std::numeric_limits<boost::uint64_t>::digits))
+ {
+ const boost::uint64_t p2 = static_cast<boost::uint64_t>(static_cast<boost::uint64_t>(1uLL) << p);
+ return mp_float(p2);
+ }
+ else
+ {
+ return boost::multiprecision::utility::x_pow_n_template(boost::multiprecision::two(), p);
+ }
+}
+
+static mp_float ElementaryTrans_Series::rootn_inv(const mp_float& x, const boost::int32_t p)
+{
+ // Compute the value of [1 / (rootn of x)] with n = p.
+
+ // Generate the initial estimate using 1 / rootn.
+ // Extract the mantissa and exponent for a "manual"
+ // computation of the estimate.
+ double dd;
+ boost::int64_t ne;
+ boost::multiprecision::to_parts(x, dd, ne);
+
+ // Adjust exponent and mantissa such that ne is an even power of p.
+ while(ne % static_cast<boost::int64_t>(p))
+ {
+ ++ne;
+ dd /= 10.0;
+ }
+
+ // Estimate the one over the root using simple manipulations.
+ const double one_over_rtn_d = ::pow(dd, -1.0 / static_cast<double>(p));
+
+ // Set the result equal to the initial guess.
+ mp_float result(one_over_rtn_d, static_cast<boost::int64_t>(-ne / p));
+
+ static const boost::int32_t double_digits10_minus_one = static_cast<boost::int32_t>(static_cast<boost::int32_t>(std::numeric_limits<double>::digits10) - static_cast<boost::int32_t>(1));
+
+ for(boost::int32_t digits = double_digits10_minus_one; digits <= static_cast<boost::int32_t>(boost::multiprecision::tol()); digits *= static_cast<boost::int32_t>(2))
+ {
+ // Adjust precision of the terms.
+ result.precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+
+ // Next iteration
+ mp_float term = (((-boost::multiprecision::pown(result, p) * x) + boost::multiprecision::one()) / p) + boost::multiprecision::one();
+
+ term.precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+
+ result *= term;
+
+ }
+
+ result.precision(static_cast<boost::int32_t>(boost::multiprecision::tol()));
+
+ return result;
+}
+
+mp_float boost::multiprecision::inv (const mp_float& x) { return mp_float(x).calculate_inv(); }
+mp_float boost::multiprecision::sqrt(const mp_float& x) { return mp_float(x).calculate_sqrt(); }
+
+mp_float boost::multiprecision::cbrt(const mp_float& x)
+{
+ return boost::multiprecision::rootn(x, static_cast<boost::int32_t>(3));
+}
+
+mp_float boost::multiprecision::rootn(const mp_float& x, const boost::int32_t p)
+{
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(p < static_cast<boost::int32_t>(0))
+ {
+ return boost::multiprecision::rootn(boost::multiprecision::one() / x, static_cast<boost::int32_t>(-p));
+ }
+
+ if((p == static_cast<boost::int32_t>(0)) || boost::multiprecision::isneg(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+ else if(p == static_cast<boost::int32_t>(1))
+ {
+ return x;
+ }
+ else if(p == static_cast<boost::int32_t>(2))
+ {
+ return boost::multiprecision::sqrt(x);
+ }
+ else if((p == static_cast<boost::int32_t>(3)) && x.has_its_own_cbrt())
+ {
+ return mp_float::my_cbrt(x);
+ }
+
+ const mp_float rtn = (x.has_its_own_rootn() ? mp_float::my_rootn(x, p)
+ : ElementaryTrans_Series::rootn_inv(x, p).calculate_inv());
+
+ return rtn;
+}
+
+mp_float boost::multiprecision::exp(const mp_float& x)
+{
+ if(x.has_its_own_exp())
+ {
+ return mp_float::my_exp(x);
+ }
+
+ // Handle special arguments.
+ if(boost::multiprecision::isnan(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(boost::multiprecision::isinf(x))
+ {
+ return ((!boost::multiprecision::isneg(x)) ? std::numeric_limits<mp_float>::infinity() : boost::multiprecision::zero());
+ }
+
+ if(boost::multiprecision::iszero(x) || (x.order() < -boost::multiprecision::tol()))
+ {
+ return boost::multiprecision::one();
+ }
+
+ // Get local copy of argument and force it to be positive.
+ const bool bo_x_is_neg = boost::multiprecision::isneg(x);
+
+ const mp_float xx = ((!bo_x_is_neg) ? x : -x);
+
+ // Check the range of the argument.
+ static const mp_float maximum_arg_for_exp = std::numeric_limits<mp_float>::max_exponent;
+
+ if(xx > maximum_arg_for_exp)
+ {
+ // Overflow / underflow
+ return ((!bo_x_is_neg) ? std::numeric_limits<mp_float>::infinity() : boost::multiprecision::zero());
+ }
+
+ // Check for pure-integer arguments which can be either signed or unsigned.
+ if(boost::multiprecision::isint(x))
+ {
+ return boost::multiprecision::pown(boost::multiprecision::exp1(), boost::multiprecision::to_int64(x));
+ }
+
+ // The algorithm for exp has been taken from MPFUN.
+ // exp(t) = [ (1 + r + r^2/2! + r^3/3! + r^4/4! ...)^p2 ] * 2^n
+ // where p2 is a power of 2 such as 2048, r = t_prime / p2, and
+ // t_prime = t - n*ln2, with n chosen to minimize the absolute
+ // value of t_prime. In the resulting Taylor series, which is
+ // implemented as a hypergeometric function, |r| is bounded by
+ // ln2 / p2. For small arguments, no scaling is done.
+
+ const bool b_scale = (xx.order() > static_cast<boost::int64_t>(-4));
+
+ // Compute the exponential series of the (possibly) scaled argument.
+ mp_float exp_series;
+
+ if(b_scale)
+ {
+ // Compute 1 / ln2 as a warm-cached constant value.
+ static const mp_float one_over_ln2 = boost::multiprecision::one() / boost::multiprecision::ln2();
+
+ const mp_float nf = boost::multiprecision::integer_part(xx * one_over_ln2);
+
+ // The scaling is 2^11 = 2048.
+ const boost::int32_t p2 = static_cast<boost::int32_t>(boost::uint32_t(1u) << 11);
+
+ exp_series = boost::multiprecision::pown(boost::multiprecision::hyp0F0((xx - (nf * boost::multiprecision::ln2())) / p2), static_cast<boost::int64_t>(p2)) * boost::multiprecision::pow2(boost::multiprecision::to_int64(nf));
+ }
+ else
+ {
+ exp_series = boost::multiprecision::hyp0F0(xx);
+ }
+
+ return ((!bo_x_is_neg) ? exp_series : (boost::multiprecision::one() / exp_series));
+}
+
+namespace Log_Series
+{
+ static mp_float AtOne(const mp_float& x)
+ {
+ // This subroutine computes the series representation of Log[1 + x]
+ // for small x without losing precision.
+
+ // http://functions.wolfram.com/ElementaryFunctions/Log/26/01/01/
+
+ return x * boost::multiprecision::hyp2F1( boost::multiprecision::one(), boost::multiprecision::one(), boost::multiprecision::two(), -x);
+ }
+}
+
+mp_float boost::multiprecision::log(const mp_float& x)
+{
+ // Handle special arguments.
+ if(boost::multiprecision::isnan(x) || boost::multiprecision::isneg(x) || boost::multiprecision::isinf(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(x.has_its_own_log())
+ {
+ return mp_float::my_log(x);
+ }
+
+ if(boost::multiprecision::iszero(x))
+ {
+ return -std::numeric_limits<mp_float>::infinity();
+ }
+
+ if(boost::multiprecision::isone(x))
+ {
+ return boost::multiprecision::zero();
+ }
+
+ // Make a local copy
+ mp_float xx = x;
+
+ // Compute the delta of the argument compared to one.
+ const mp_float x_minus_one = xx - boost::multiprecision::one();
+
+ if(boost::multiprecision::near_one(xx))
+ {
+ return Log_Series::AtOne(x_minus_one);
+ }
+
+ // For large arguments, the value will be broken into two parts
+ // in order to facilitate the convergence of the Newton iteration.
+ const bool b_correction = ( (xx.order() > static_cast<boost::int64_t>(+1000))
+ || (xx.order() < static_cast<boost::int64_t>(-1000)));
+
+ mp_float correction;
+
+ if(b_correction)
+ {
+ // The argument xx is of the form a * 10^b.
+ // It will be broken into two parts: log(a) + b * log(10).
+ const bool b_neg_exp = (xx.order() < static_cast<boost::int64_t>(0));
+
+ // Remove a large power of ten from the argument. But be sure to leave the argument
+ // large enough (or small enough) to avoid entering the near-one range.
+ const boost::int64_t n_order = xx.order();
+ const boost::int64_t n_exp = ((!b_neg_exp) ? n_order : -n_order);
+ const boost::int64_t delta_exp = static_cast<boost::int64_t>(n_exp - static_cast<boost::int64_t>(8));
+
+ // Convert the scaling power of ten to a string and subsequently to an mp_float.
+ const mp_float mp_delta_exp("1E" + boost::lexical_cast<std::string>(delta_exp));
+
+ !b_neg_exp ? xx /= mp_delta_exp : xx *= mp_delta_exp;
+
+ correction = boost::multiprecision::ln10() * mp_float(delta_exp);
+
+ if(b_neg_exp)
+ {
+ correction = -correction;
+ }
+ }
+
+ // Generate the initial estimate using double precision log combined with
+ // the exponent for a "manual" computation of the initial iteration estimate.
+
+ static const double lg10_d = ::log(10.0);
+
+ static const boost::int64_t n32_min = static_cast<boost::int64_t>((std::numeric_limits<boost::int32_t>::min)());
+ static const boost::int64_t n32_max = static_cast<boost::int64_t>((std::numeric_limits<boost::int32_t>::max)());
+
+ // computation of the estimate.
+ double dd;
+ boost::int64_t ne;
+ boost::multiprecision::to_parts(xx, dd, ne);
+
+ const double nd = ((ne < static_cast<boost::int64_t>(0)) ? static_cast<double>(static_cast<boost::int32_t>((std::max)(ne, n32_min)))
+ : static_cast<double>(static_cast<boost::int32_t>((std::min)(ne, n32_max))));
+
+ const double dlog = ::log(dd) + (nd * lg10_d);
+
+ const double d10 = ((!boost::multiprecision::iszero(dlog)) ? ::log10(::fabs(dlog)) + 0.5 : 0.0);
+
+ const boost::int64_t p10 = (boost::multiprecision::ispos(dlog) ? static_cast<boost::int64_t>(d10) : static_cast<boost::int64_t>(-d10));
+
+ mp_float log_val = ((!boost::multiprecision::iszero(dlog)) ? mp_float(dlog / ::pow(10.0, static_cast<double>(static_cast<boost::int32_t>(p10))), p10)
+ : x_minus_one);
+
+ // Newton-Raphson iteration
+ static const boost::int32_t double_digits10_minus_one = static_cast<boost::int32_t>(static_cast<boost::int32_t>(std::numeric_limits<double>::digits10) - static_cast<boost::int32_t>(1));
+
+ for(boost::int32_t digits = double_digits10_minus_one; digits <= static_cast<boost::int32_t>(boost::multiprecision::tol()); digits *= static_cast<boost::int32_t>(2))
+ {
+ // Adjust precision of the terms.
+ log_val.precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+ xx.precision(static_cast<boost::int32_t>(digits * static_cast<boost::int32_t>(2)));
+
+ const mp_float exp_minus_log = boost::multiprecision::exp(-log_val);
+
+ log_val += (xx * exp_minus_log) - boost::multiprecision::one();
+ }
+
+ return ((!b_correction) ? log_val : log_val + correction);
+}
+
+mp_float boost::multiprecision::log10(const mp_float& x) { return boost::multiprecision::log(x) / boost::multiprecision::ln10(); }
+mp_float boost::multiprecision::loga (const mp_float& a, const mp_float& x) { return boost::multiprecision::log(x) / boost::multiprecision::log(a); }
+mp_float boost::multiprecision::log1p(const mp_float& x) { return Log_Series::AtOne(x); }
+
+mp_float boost::multiprecision::log1p1m2(const mp_float& x)
+{
+ // This subroutine calculates the series representation of (1/2) Log[(1 + x) / (1 - x)]
+ // for small x without losing precision.
+
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return x;
+ }
+
+ if((x <= boost::multiprecision::one_minus()) || (x >= boost::multiprecision::one()))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ // for values of x near one.
+ const mp_float x2 = x * x;
+ mp_float xn = x;
+
+ mp_float sum = xn;
+
+ // Series representation of (1/2) Log[(1 + x) / (1 - x)] as given in
+ // Schaum's Outlines: Mathematical Handbook of Formulas and Tables,
+ // Second Edition, equation 22.8, page 136.
+ for(boost::int32_t n = static_cast<boost::int32_t>(3); n < boost::multiprecision::max_iteration(); n += static_cast<boost::int32_t>(2))
+ {
+ xn *= x2;
+
+ const mp_float term = xn / n;
+
+ if(n > static_cast<boost::int32_t>(20))
+ {
+ const boost::int64_t order_check = static_cast<boost::int64_t>(term.order() - sum.order());
+
+ if(order_check < -boost::multiprecision::tol())
+ {
+ break;
+ }
+ }
+
+ sum += term;
+ }
+
+ return sum;
+}
+
+mp_float boost::multiprecision::pow(const mp_float& x, const mp_float& a)
+{
+ if(!boost::multiprecision::isfinite(x) || boost::multiprecision::isone(a))
+ {
+ return x;
+ }
+
+ if(boost::multiprecision::iszero(x))
+ {
+ return boost::multiprecision::one();
+ }
+
+ if(boost::multiprecision::iszero(a))
+ {
+ return boost::multiprecision::one();
+ }
+
+ const bool bo_a_isint = boost::multiprecision::isint(a);
+
+ if(boost::multiprecision::isneg(x) && !bo_a_isint)
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(a <= boost::multiprecision::one_minus())
+ {
+ return boost::multiprecision::one() / boost::multiprecision::pow(x, -a);
+ }
+
+ const mp_float a_int = boost::multiprecision::integer_part(a);
+ const boost::int64_t an = boost::multiprecision::to_int64(a_int);
+ const mp_float da = a - a_int;
+
+ if(bo_a_isint)
+ {
+ return boost::multiprecision::pown(x, an);
+ }
+
+ static const mp_float nine_tenths = boost::multiprecision::nine() / static_cast<boost::int32_t>(10);
+
+ if(boost::multiprecision::ispos(x) && (x > boost::multiprecision::tenth()) && (x < nine_tenths))
+ {
+ if(boost::multiprecision::small_arg(a))
+ {
+ // Series expansion for small a.
+ return boost::multiprecision::hyp0F0(a * boost::multiprecision::log(x));
+ }
+ else
+ {
+ // Series expansion for moderately sized x. Note that for large power of a,
+ // the power of the integer part of a is calculated using the pown function.
+ return ((an != static_cast<boost::int64_t>(0)) ? boost::multiprecision::hyp1F0(-da, boost::multiprecision::one() - x) * boost::multiprecision::pown(x, an)
+ : boost::multiprecision::hyp1F0( -a, boost::multiprecision::one() - x));
+ }
+ }
+ else
+ {
+ // Series expansion for pow(x, a). Note that for large power of a, the power
+ // of the integer part of a is calculated using the pown function.
+ return ((an != static_cast<boost::int64_t>(0)) ? boost::multiprecision::exp(da * boost::multiprecision::log(x)) * boost::multiprecision::pown(x, an)
+ : boost::multiprecision::exp( a * boost::multiprecision::log(x)));
+ }
+}
+
+mp_float boost::multiprecision::sinh(const mp_float& x)
+{
+ if(x.has_its_own_sinh())
+ {
+ return mp_float::my_sinh(x);
+ }
+
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return x;
+ }
+
+ mp_float s;
+ boost::multiprecision::sinhcosh(x, &s, static_cast<mp_float*>(0u));
+ return s;
+}
+
+mp_float boost::multiprecision::cosh(const mp_float& x)
+{
+ if(x.has_its_own_cosh())
+ {
+ return mp_float::my_cosh(x);
+ }
+
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return x;
+ }
+
+ mp_float c;
+ boost::multiprecision::sinhcosh(x, static_cast<mp_float*>(0u), &c);
+ return c;
+}
+
+void boost::multiprecision::sinhcosh(const mp_float& x, mp_float* const p_sinh, mp_float* const p_cosh)
+{
+ if(!boost::multiprecision::isfinite(x) || (!p_sinh && !p_cosh))
+ {
+ return;
+ }
+
+ if(boost::multiprecision::iszero(x))
+ {
+ if(p_sinh)
+ {
+ *p_sinh = boost::multiprecision::zero();
+ }
+
+ if(p_cosh)
+ {
+ *p_cosh = boost::multiprecision::one();
+ }
+
+ return;
+ }
+
+ const mp_float e_px = boost::multiprecision::exp(x);
+ const mp_float e_mx = boost::multiprecision::one() / e_px;
+
+ if(p_sinh != static_cast<mp_float* const>(0u)) { *p_sinh = (e_px - e_mx) / static_cast<boost::int32_t>(2); }
+ if(p_cosh != static_cast<mp_float* const>(0u)) { *p_cosh = (e_px + e_mx) / static_cast<boost::int32_t>(2); }
+}
+
+mp_float boost::multiprecision::tanh(const mp_float& x)
+{
+ if(x.has_its_own_tanh())
+ {
+ return mp_float::my_tanh(x);
+ }
+
+ mp_float c, s;
+ boost::multiprecision::sinhcosh(x, &s, &c);
+ return s * c.calculate_inv();
+}
+
+mp_float boost::multiprecision::asinh(const mp_float& x)
+{
+ if(x.has_its_own_asinh())
+ {
+ return mp_float::my_asinh(x);
+ }
+
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(boost::multiprecision::iszero(x))
+ {
+ return boost::multiprecision::zero();
+ }
+ else
+ {
+ const mp_float value = boost::multiprecision::log(boost::multiprecision::fabs(x) + boost::multiprecision::sqrt((x * x) + boost::multiprecision::one()));
+
+ return !boost::multiprecision::isneg(x) ? value : -value;
+ }
+}
+
+mp_float boost::multiprecision::acosh(const mp_float& x)
+{
+ if(x.has_its_own_acosh())
+ {
+ return mp_float::my_acosh(x);
+ }
+
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(boost::multiprecision::isneg(x) || x < boost::multiprecision::one())
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(boost::multiprecision::isone(x))
+ {
+ return boost::multiprecision::one();
+ }
+
+ const mp_float x_minus_one = x - boost::multiprecision::one();
+
+ if(boost::multiprecision::small_arg(x_minus_one))
+ {
+ return (boost::multiprecision::sqrt2() * boost::multiprecision::sqrt(x_minus_one))
+ * boost::multiprecision::hyp2F1( boost::multiprecision::half(),
+ boost::multiprecision::half(),
+ boost::multiprecision::three_half(),
+ -x_minus_one / static_cast<boost::int32_t>(2));
+ }
+ else
+ {
+ return boost::multiprecision::log(x + boost::multiprecision::sqrt((x * x) - boost::multiprecision::one()));
+ }
+}
+
+mp_float boost::multiprecision::atanh(const mp_float& x)
+{
+ if(x.has_its_own_atanh())
+ {
+ return mp_float::my_atanh(x);
+ }
+
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return x;
+ }
+
+ const mp_float xx = boost::multiprecision::fabs(x);
+
+ if(xx >= boost::multiprecision::one())
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ const mp_float value = (boost::multiprecision::small_arg(x) ? boost::multiprecision::log1p1m2(x)
+ : (boost::multiprecision::log((boost::multiprecision::one() + x) / (boost::multiprecision::one() - x)) / static_cast<boost::int32_t>(2)));
+
+ return ((!boost::multiprecision::isneg(xx)) ? value : -value);
+}

Added: sandbox/multiprecision/src/functions/elementary/elementary_trig.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/elementary/elementary_trig.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,501 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// *****************************************************************************
+// Filename : e_float_math.cpp
+//
+// Project : Multiple precision mathematics
+//
+// Date : 28.02.2004
+//
+// Description : Real variable mathematics for mp_float.
+//
+// *****************************************************************************
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+using boost::multiprecision::mp_float;
+
+mp_float boost::multiprecision::sin(const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(x.has_its_own_sin())
+ {
+ return mp_float::my_sin(x);
+ }
+
+ // Local copy of the argument
+ mp_float xx = x;
+
+ // Analyze and prepare the phase of the argument.
+ // Make a local, positive copy of the argument, xx.
+ // The argument xx will be reduced to 0 <= xx <= pi/2.
+ bool b_negate_sin = false;
+
+ if(boost::multiprecision::isneg(x))
+ {
+ xx = -xx;
+ b_negate_sin = !b_negate_sin;
+ }
+
+ // Remove even multiples of pi.
+ if(xx > boost::multiprecision::pi())
+ {
+ mp_float n_pi = boost::multiprecision::integer_part(xx / boost::multiprecision::pi());
+ xx -= n_pi * boost::multiprecision::pi();
+
+ // Adjust signs if the multiple of pi is not even.
+ const bool b_n_pi_is_even = boost::multiprecision::iszero(boost::multiprecision::decimal_part(n_pi / static_cast<boost::int32_t>(2)));
+
+ if(!b_n_pi_is_even)
+ {
+ b_negate_sin = !b_negate_sin;
+ }
+ }
+
+ // Reduce the argument to 0 <= xx <= pi/2.
+ if(xx > boost::multiprecision::pi_half())
+ {
+ xx = boost::multiprecision::pi() - xx;
+ }
+
+ const bool b_zero = boost::multiprecision::iszero(xx);
+ const bool b_pi_half = boost::multiprecision::iszero(xx - boost::multiprecision::pi_half());
+
+ // Check if the reduced argument is very close to 0 or pi/2.
+ const bool b_near_zero = boost::multiprecision::small_arg(xx);
+ const mp_float delta_pi_half = boost::multiprecision::pi_half() - xx;
+ const bool b_near_pi_half = boost::multiprecision::small_arg(delta_pi_half);
+
+ mp_float sin_val;
+
+ if(b_zero)
+ {
+ sin_val = boost::multiprecision::zero();
+ }
+ else if(b_pi_half)
+ {
+ sin_val = boost::multiprecision::one();
+ }
+ else if(b_near_zero)
+ {
+ const mp_float x_squared = xx * xx;
+
+ sin_val = xx * boost::multiprecision::hyp0F1(boost::multiprecision::three_half(), -x_squared / static_cast<boost::int32_t>(4));
+ }
+ else if(b_near_pi_half)
+ {
+ sin_val = boost::multiprecision::hyp0F1(boost::multiprecision::half(), -(delta_pi_half * delta_pi_half) / static_cast<boost::int32_t>(4));
+ }
+ else
+ {
+ // Scale to a small argument for an efficient Taylor series,
+ // implemented as a hypergeometric function. Use a standard
+ // divide by three identity a certain number of times.
+ // Here we use division by 3^9 --> (19683 = 3^9).
+
+ const bool b_scale = (xx.order() > static_cast<boost::int64_t>(-4));
+
+ static const boost::int32_t n_scale = static_cast<boost::int32_t>(9);
+ static const boost::int32_t n_three_pow_scale = static_cast<boost::int32_t>(static_cast<boost::int64_t>(::pow(3.0, static_cast<double>(n_scale)) + 0.5));
+
+ if(b_scale)
+ {
+ xx /= n_three_pow_scale;
+ }
+
+ // Now with small arguments, we are ready for a series expansion.
+ sin_val = xx * boost::multiprecision::hyp0F1(boost::multiprecision::three_half(), -(xx * xx) / static_cast<boost::int32_t>(4));
+
+ // Convert back using multiple angle identity.
+ if(b_scale)
+ {
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < n_scale; k++)
+ {
+ // Rescale the cosine value using the multiple angle identity.
+ sin_val = - ((sin_val * (sin_val * sin_val)) * static_cast<boost::int32_t>(4))
+ + (sin_val * static_cast<boost::int32_t>(3));
+ }
+ }
+ }
+
+ return ((!b_negate_sin) ? sin_val : -sin_val);
+}
+
+mp_float boost::multiprecision::cos(const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(x.has_its_own_cos())
+ {
+ return mp_float::my_cos(x);
+ }
+
+ // Local copy of the argument
+ mp_float xx = x;
+
+ // Analyze and prepare the phase of the argument.
+ // Make a local, positive copy of the argument, xx.
+ // The argument xx will be reduced to 0 <= xx <= pi/2.
+ bool b_negate_cos = false;
+
+ if(boost::multiprecision::isneg(x))
+ {
+ xx = -xx;
+ }
+
+ // Remove even multiples of pi.
+ if(xx > boost::multiprecision::pi())
+ {
+ mp_float n_pi = boost::multiprecision::integer_part(xx / boost::multiprecision::pi());
+ xx -= n_pi * boost::multiprecision::pi();
+
+ // Adjust signs if the multiple of pi is not even.
+ const bool b_n_pi_is_even = boost::multiprecision::iszero(boost::multiprecision::decimal_part(n_pi / static_cast<boost::int32_t>(2)));
+
+ if(!b_n_pi_is_even)
+ {
+ b_negate_cos = !b_negate_cos;
+ }
+ }
+
+ // Reduce the argument to 0 <= xx <= pi/2.
+ if(xx > boost::multiprecision::pi_half())
+ {
+ xx = boost::multiprecision::pi() - xx;
+ b_negate_cos = !b_negate_cos;
+ }
+
+ const bool b_zero = boost::multiprecision::iszero(xx);
+ const bool b_pi_half = boost::multiprecision::iszero(xx - boost::multiprecision::pi_half());
+
+ // Check if the reduced argument is very close to 0 or pi/2.
+ const bool b_near_zero = boost::multiprecision::small_arg(xx);
+ const mp_float delta_pi_half = boost::multiprecision::pi_half() - xx;
+ const bool b_near_pi_half = boost::multiprecision::small_arg(delta_pi_half);
+
+ mp_float cos_val;
+
+ if(b_zero)
+ {
+ cos_val = boost::multiprecision::one();
+ }
+ else if(b_pi_half)
+ {
+ cos_val = boost::multiprecision::zero();
+ }
+ else if(b_near_zero)
+ {
+ const mp_float x_squared = xx * xx;
+
+ cos_val = boost::multiprecision::hyp0F1(boost::multiprecision::half(), -x_squared / static_cast<boost::int32_t>(4));
+ }
+ else if(b_near_pi_half)
+ {
+ cos_val = delta_pi_half * boost::multiprecision::hyp0F1(boost::multiprecision::three_half(), -(delta_pi_half * delta_pi_half) / static_cast<boost::int32_t>(4));
+ }
+ else
+ {
+ // Scale to a small argument for an efficient Taylor series,
+ // implemented as a hypergeometric function. Use a standard
+ // divide by three identity a certain number of times.
+ // Here we use division by 3^9 --> (19683 = 3^9).
+
+ const bool b_scale = (xx.order() > static_cast<boost::int64_t>(-4));
+
+ static const boost::int32_t n_scale = static_cast<boost::int32_t>(9);
+ static const boost::int32_t n_three_pow_scale = static_cast<boost::int32_t>(static_cast<boost::int64_t>(::pow(3.0, static_cast<double>(n_scale)) + 0.5));
+
+ if(b_scale)
+ {
+ xx /= n_three_pow_scale;
+ }
+
+ // Now with small arguments, we are ready for a series expansion.
+ cos_val = boost::multiprecision::hyp0F1(boost::multiprecision::half(), -(xx * xx) / static_cast<boost::int32_t>(4));
+
+ // Convert back using multiple angle identity.
+ if(b_scale)
+ {
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < n_scale; k++)
+ {
+ // Rescale the cosine value using the multiple angle identity.
+ cos_val = ((cos_val * (cos_val * cos_val)) * static_cast<boost::int32_t>(4))
+ - (cos_val * static_cast<boost::int32_t>(3));
+ }
+ }
+ }
+
+ return ((!b_negate_cos) ? cos_val : -cos_val);
+}
+
+void boost::multiprecision::sincos(const mp_float& x, mp_float* const p_sin, mp_float* const p_cos)
+{
+ if(p_sin != static_cast<mp_float*>(0u)) { *p_sin = boost::multiprecision::sin(x); }
+ if(p_cos != static_cast<mp_float*>(0u)) { *p_cos = boost::multiprecision::cos(x); }
+}
+
+mp_float boost::multiprecision::tan(const mp_float& x)
+{
+ if(x.has_its_own_tan())
+ {
+ return mp_float::my_tan(x);
+ }
+ else
+ {
+ return boost::multiprecision::sin(x) / boost::multiprecision::cos(x);
+ }
+}
+
+mp_float boost::multiprecision::csc(const mp_float& x) { return boost::multiprecision::one() / boost::multiprecision::sin(x); }
+mp_float boost::multiprecision::sec(const mp_float& x) { return boost::multiprecision::one() / boost::multiprecision::cos(x); }
+mp_float boost::multiprecision::cot(const mp_float& x) { return boost::multiprecision::cos(x) / boost::multiprecision::sin(x); }
+
+mp_float boost::multiprecision::asin(const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(x.has_its_own_asin())
+ {
+ return mp_float::my_asin(x);
+ }
+
+ const bool b_neg = boost::multiprecision::isneg(x);
+
+ const mp_float xx = !b_neg ? x : -x;
+
+ if(xx > boost::multiprecision::one())
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(boost::multiprecision::iszero(x))
+ {
+ return boost::multiprecision::zero();
+ }
+
+ if(boost::multiprecision::isone(xx))
+ {
+ return ((!b_neg) ? boost::multiprecision::pi_half() : -boost::multiprecision::pi_half());
+ }
+
+ if(boost::multiprecision::small_arg(xx))
+ {
+ // http://functions.wolfram.com/ElementaryFunctions/ArcSin/26/01/01/
+ const mp_float asin_value = x * boost::multiprecision::hyp2F1(boost::multiprecision::half(),
+ boost::multiprecision::half(),
+ boost::multiprecision::three_half(),
+ (x * x));
+
+ return !b_neg ? asin_value : -asin_value;
+ }
+ else if(boost::multiprecision::near_one(xx))
+ {
+ const mp_float dx1 = boost::multiprecision::one() - xx;
+
+ const mp_float asin_value = boost::multiprecision::pi_half()
+ - ( boost::multiprecision::sqrt(dx1 * static_cast<boost::int32_t>(2))
+ * boost::multiprecision::hyp2F1(boost::multiprecision::half(),
+ boost::multiprecision::half(),
+ boost::multiprecision::three_half(),
+ dx1 / static_cast<boost::int32_t>(2)));
+
+ return ((!b_neg) ? asin_value : -asin_value);
+ }
+
+ // Get initial estimate using standard math function asin.
+ double dd;
+ boost::int64_t ne;
+ boost::multiprecision::to_parts(xx, dd, ne);
+
+ static const boost::int64_t p10_min = static_cast<boost::int64_t>(std::numeric_limits<double>::min_exponent10);
+ static const boost::int64_t p10_max = static_cast<boost::int64_t>(std::numeric_limits<double>::max_exponent10);
+
+ const double de = static_cast<double>(ne < static_cast<boost::int64_t>(0) ? static_cast<boost::int32_t>((std::max)(ne, p10_min))
+ : static_cast<boost::int32_t>((std::min)(ne, p10_max)));
+
+ mp_float value = mp_float(::asin(dd * ::pow(10.0, de)));
+
+ // Newton-Raphson iteration
+
+ static const boost::int32_t double_digits10_minus_one = static_cast<boost::int32_t>(static_cast<boost::int32_t>(std::numeric_limits<double>::digits10) - static_cast<boost::int32_t>(1));
+
+ for(boost::int32_t digits = double_digits10_minus_one; digits <= static_cast<boost::int32_t>(boost::multiprecision::tol()); digits *= static_cast<boost::int32_t>(2))
+ {
+ mp_float s, c;
+ boost::multiprecision::sincos(value, &s, &c);
+ value -= (s - xx) / c;
+ }
+
+ return ((!b_neg) ? value : -value);
+}
+
+mp_float boost::multiprecision::acos(const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(x.has_its_own_acos())
+ {
+ return mp_float::my_acos(x);
+ }
+
+ if(boost::multiprecision::fabs(x) > boost::multiprecision::one()) { return std::numeric_limits<mp_float>::quiet_NaN(); }
+
+ return boost::multiprecision::iszero(x) ? boost::multiprecision::pi_half() : boost::multiprecision::pi_half() - boost::multiprecision::asin(x);
+}
+
+namespace Atan_Series
+{
+ static mp_float AtZero (const mp_float& x);
+ static mp_float AtInfinity(const mp_float& x);
+}
+
+static mp_float Atan_Series::AtZero(const mp_float& x)
+{
+ // http://functions.wolfram.com/ElementaryFunctions/ArcTan/26/01/01/
+ return x * boost::multiprecision::hyp2F1( boost::multiprecision::one(),
+ boost::multiprecision::half(),
+ boost::multiprecision::three_half(),
+ -(x * x));
+}
+
+static mp_float Atan_Series::AtInfinity(const mp_float& x)
+{
+ // http://functions.wolfram.com/ElementaryFunctions/ArcTan/26/01/01/
+ return boost::multiprecision::pi_half() - boost::multiprecision::hyp2F1( boost::multiprecision::half(),
+ boost::multiprecision::one(),
+ boost::multiprecision::three_half(),
+ -boost::multiprecision::one() / (x * x)) / x;
+}
+
+mp_float boost::multiprecision::atan(const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x))
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+
+ if(x.has_its_own_atan())
+ {
+ return mp_float::my_atan(x);
+ }
+
+ const boost::int64_t order = x.order();
+
+ if(x.isinf() || order > boost::multiprecision::tol())
+ {
+ return boost::multiprecision::ispos(x) ? boost::multiprecision::pi_half() : -boost::multiprecision::pi_half();
+ }
+ else if(boost::multiprecision::iszero(x))
+ {
+ return boost::multiprecision::zero();
+ }
+
+ if(boost::multiprecision::small_arg(x))
+ {
+ return Atan_Series::AtZero(x);
+ }
+
+ if(boost::multiprecision::large_arg(x))
+ {
+ return Atan_Series::AtInfinity(x);
+ }
+
+ const bool b_neg = boost::multiprecision::isneg(x);
+
+ const mp_float xx = ((!b_neg) ? x : -x);
+
+ // Get initial estimate using standard math function atan or a series
+ // expansion for rather large arguments having order 3 or larger.
+ double dd;
+ boost::int64_t ne;
+ boost::multiprecision::to_parts(xx, dd, ne);
+
+ static const boost::int64_t p10_min = static_cast<boost::int64_t>(std::numeric_limits<double>::min_exponent10);
+ static const boost::int64_t p10_max = static_cast<boost::int64_t>(std::numeric_limits<double>::max_exponent10);
+
+ const double de = static_cast<double>(ne < static_cast<boost::int64_t>(0) ? static_cast<boost::int32_t>((std::max)(ne, p10_min))
+ : static_cast<boost::int32_t>((std::min)(ne, p10_max)));
+
+ mp_float value = order < static_cast<boost::int64_t>(2) ? mp_float(::atan(dd * ::pow(10.0, de)))
+ : Atan_Series::AtInfinity(xx);
+
+ // Newton-Raphson iteration
+ static const boost::int32_t double_digits10_minus_one = static_cast<boost::int32_t>(static_cast<boost::int32_t>(std::numeric_limits<double>::digits10) - static_cast<boost::int32_t>(1));
+
+ for(boost::int32_t digits = double_digits10_minus_one; digits <= static_cast<boost::int32_t>(boost::multiprecision::tol()); digits *= static_cast<boost::int32_t>(2))
+ {
+ mp_float s, c;
+ boost::multiprecision::sincos(value, &s, &c);
+ value += c * ((xx * c) - s);
+ }
+
+ return !b_neg ? value : -value;
+}
+
+mp_float boost::multiprecision::atan2(const mp_float& y, const mp_float& x)
+{
+ if(!boost::multiprecision::isfinite(x) || !boost::multiprecision::isfinite(y))
+ {
+ return x;
+ }
+
+ // y is zero
+ if(boost::multiprecision::iszero(y))
+ {
+ return (boost::multiprecision::isneg(x) ? boost::multiprecision::pi() : boost::multiprecision::zero());
+ }
+
+ // x is zero
+ if(boost::multiprecision::iszero(x))
+ {
+ return boost::multiprecision::sgn(y) * boost::multiprecision::pi_half();
+ }
+
+ // y is infinite
+ if(y.isinf())
+ {
+ const bool b_pos = ((boost::multiprecision::ispos(x) && boost::multiprecision::ispos(y)) || (boost::multiprecision::isneg(x) && boost::multiprecision::isneg(y)));
+
+ return (b_pos ? std::numeric_limits<mp_float>::infinity()
+ : -std::numeric_limits<mp_float>::infinity());
+ }
+
+ // Compute atan(y / x), ignoring sign.
+ mp_float atan_term(boost::multiprecision::atan(y / x));
+
+ // Determine quadrant (sign) based on signs of x, y
+ const bool y_neg = boost::multiprecision::isneg(y);
+ const bool x_neg = boost::multiprecision::isneg(x);
+
+ if(y_neg == x_neg)
+ {
+ // Both negative or both positive
+ return (x_neg ? atan_term - boost::multiprecision::pi() : atan_term);
+ }
+ else
+ {
+ // Different signs of x, y
+ return (x_neg ? atan_term + boost::multiprecision::pi() : atan_term);
+ }
+}

Added: sandbox/multiprecision/src/functions/gamma/factorial.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/gamma/factorial.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,109 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "../tables/tables.h"
+
+using boost::multiprecision::mp_float;
+
+namespace Factorial_Series
+{
+ mp_float AtInfinity(const boost::uint32_t n);
+}
+
+mp_float Factorial_Series::AtInfinity(const boost::uint32_t n)
+{
+ const mp_float x = mp_float(n);
+ mp_float one_over_x_pow_two_n_minus_one = boost::multiprecision::one() / x;
+ const mp_float one_over_x2 = one_over_x_pow_two_n_minus_one * one_over_x_pow_two_n_minus_one;
+
+ static const mp_float B2 = Tables::A000367()[static_cast<std::size_t>(1u)]()
+ / Tables::A002445()[static_cast<std::size_t>(1u)]();
+
+ mp_float sum = (B2 * one_over_x_pow_two_n_minus_one) / static_cast<boost::int32_t>(2);
+
+ static const std::size_t sz_A000367 = Tables::A000367().size();
+ static const std::size_t sz_A002445 = Tables::A002445().size();
+ static const std::size_t sz_max = (std::min)(sz_A000367, sz_A002445);
+
+ // Perform the Bernoulli series expansion without explicitly calling the function
+ // boost::multiprecision::Bernoulli in order to avoid any recursive calls of boost::multiprecision::factorial. This is
+ // because boost::multiprecision::bernoulli_b calls boost::multiprecision::factorial for large integers.
+
+ for(boost::int32_t k = static_cast<boost::int32_t>(2); k < static_cast<boost::int32_t>(sz_max); k++)
+ {
+ one_over_x_pow_two_n_minus_one *= one_over_x2;
+
+ const boost::int32_t two_k = static_cast<boost::int32_t>(k * static_cast<boost::int32_t>(2));
+ const boost::int32_t two_k_minus_one = static_cast<boost::int32_t>(two_k - static_cast<boost::int32_t>(1));
+
+ const mp_float B2k = Tables::A000367()[static_cast<std::size_t>(k)]()
+ / Tables::A002445()[static_cast<std::size_t>(k)]();
+
+ const mp_float term = ((B2k * one_over_x_pow_two_n_minus_one) / two_k) / two_k_minus_one;
+
+ if(term.order() < -boost::multiprecision::tol())
+ {
+ break;
+ }
+
+ sum += term;
+ }
+
+ static const mp_float half_ln_two_pi = boost::multiprecision::log(boost::multiprecision::two_pi()) / static_cast<boost::int32_t>(2);
+
+ return boost::multiprecision::exp(((((x - boost::multiprecision::half()) * boost::multiprecision::log(x)) - x) + half_ln_two_pi) + sum);
+}
+
+mp_float boost::multiprecision::factorial(const boost::uint32_t n)
+{
+ return (static_cast<std::size_t>(n) < Tables::A000142().size()) ? Tables::A000142()[n]()
+ : Factorial_Series::AtInfinity(static_cast<boost::uint32_t>(n + static_cast<boost::uint32_t>(1u)));
+}
+
+mp_float boost::multiprecision::binomial(const boost::uint32_t n, const boost::uint32_t k)
+{
+ if(k > n)
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+ else if(k == n)
+ {
+ return boost::multiprecision::one();
+ }
+ else
+ {
+ if(n < static_cast<boost::uint32_t>(Tables::A007318().size()))
+ {
+ return Tables::A007318()[static_cast<std::size_t>(n)]()[static_cast<std::size_t>(k)];
+ }
+ else
+ {
+ return boost::multiprecision::factorial(n) / (boost::multiprecision::factorial(k) * boost::multiprecision::factorial(n - k));
+ }
+ }
+}
+
+mp_float boost::multiprecision::binomial(const boost::uint32_t n, const mp_float& y)
+{
+ return boost::multiprecision::factorial(n) / (boost::multiprecision::gamma(y + boost::multiprecision::one()) * boost::multiprecision::gamma((mp_float(n) - y) + boost::multiprecision::one()));
+}
+
+mp_float boost::multiprecision::binomial(const mp_float& x, const boost::uint32_t k)
+{
+ return boost::multiprecision::gamma(x + boost::multiprecision::one()) / (boost::multiprecision::factorial(k) * boost::multiprecision::gamma((x - mp_float(k)) + boost::multiprecision::one()));
+}
+
+mp_float boost::multiprecision::binomial(const mp_float& x, const mp_float& y)
+{
+ return boost::multiprecision::gamma(x + boost::multiprecision::one()) / (boost::multiprecision::gamma(y + boost::multiprecision::one()) * boost::multiprecision::gamma((x - y) + boost::multiprecision::one()));
+}

Added: sandbox/multiprecision/src/functions/gamma/factorial2.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/gamma/factorial2.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,73 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../tables/tables.h"
+
+using boost::multiprecision::mp_float;
+
+namespace Factorial2_Series
+{
+ mp_float AtInfinity(const boost::int32_t n);
+}
+
+mp_float Factorial2_Series::AtInfinity(const boost::int32_t n)
+{
+ const bool n_is_even = static_cast<boost::int32_t>(n % static_cast<boost::int32_t>(2)) == static_cast<boost::int32_t>(0u);
+
+ if(n_is_even)
+ {
+ const boost::uint32_t n_half = static_cast<boost::uint32_t>(static_cast<boost::uint32_t>(n) / static_cast<boost::uint32_t>(2));
+
+ return boost::multiprecision::pow2(static_cast<boost::int64_t>(n_half)) * boost::multiprecision::factorial(n_half);
+ }
+ else
+ {
+ const boost::int32_t n_plus_one = static_cast<boost::int32_t>(static_cast<boost::int32_t>(n) + static_cast<boost::int32_t>(1));
+
+ return boost::multiprecision::factorial(static_cast<boost::uint32_t>(n_plus_one)) / boost::multiprecision::factorial2(n_plus_one);
+ }
+}
+
+mp_float boost::multiprecision::factorial2(const boost::int32_t n)
+{
+ const bool n_is_neg = (n < static_cast<boost::int32_t>(0));
+
+ if(!n_is_neg)
+ {
+ return (static_cast<std::size_t>(n) < Tables::A006882().size()) ? Tables::A006882()[n]()
+ : Factorial2_Series::AtInfinity(n);
+ }
+ else
+ {
+ if(n == static_cast<boost::int32_t>(-1))
+ {
+ return boost::multiprecision::one();
+ }
+
+ const boost::int32_t nn = (!n_is_neg ? n : static_cast<boost::int32_t>(-n));
+ const bool n_is_even = (static_cast<boost::int32_t>(nn % static_cast<boost::int32_t>(2)) == static_cast<boost::int32_t>(0u));
+
+ if(n_is_even)
+ {
+ return std::numeric_limits<mp_float>::quiet_NaN();
+ }
+ else
+ {
+ // Double factorial for negative odd integers.
+ const boost::int32_t n_minus_one_over_two = static_cast<boost::int32_t>(static_cast<boost::int32_t>(nn - static_cast<boost::int32_t>(1)) / static_cast<boost::int32_t>(2));
+ const bool b_negate = static_cast<boost::int32_t>(n_minus_one_over_two % static_cast<boost::int32_t>(2)) != static_cast<boost::int32_t>(0);
+
+ const mp_float f2 = boost::multiprecision::one() / boost::multiprecision::factorial2(static_cast<boost::int32_t>(nn - static_cast<boost::int32_t>(2)));
+
+ return (!b_negate ? f2 : -f2);
+ }
+ }
+}

Added: sandbox/multiprecision/src/functions/gamma/gamma.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/gamma/gamma.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,244 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <numeric>
+
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "../tables/tables.h"
+#include <boost/multiprecision/utility/util_coefficient_expansion.hpp>
+#include <boost/multiprecision/utility/util_digit_scale.hpp>
+#include "gamma_util.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace Gamma_Series
+{
+ const std::vector<mp_float>& CoefOneOverGammaAtZero(void)
+ {
+ // Series coefficients of 1/gamma[x] to 400 decimal digits of precision.
+ // Extracted from Mathematica Version 4.1 using:
+ // N[Series[1/Gamma[x], {x, 0, 20}], 400]
+ // Table[SeriesCoefficient[%, n], {n, 20}]
+ // Export["c:\\temp\\coef.txt", %, "list"]
+ // The coefficient of (x^1) is 1 and the coefficient of (x^2) is EulerGamma.
+ static const boost::array<mp_float, 20u> comp_data =
+ {{
+ boost::multiprecision::one(),
+ boost::multiprecision::euler_gamma(),
+ mp_float("-0.6558780715202538810770195151453904812797663804785843472923624456838708383537221020861828159940213640004823766794673960425880273800045120663276349042352029670719647868920256583927459606866272636428716503560447876477020029264993733572853936743624613834732228286244522007087071544720609051364563240296088675489599938359316660318321422152685114387721454550793121583896628767836242712406766501355141085654"),
+ mp_float("-0.04200263503409523552900393487542981871139450040110609352206581297618009687597598854710770129478771323353200022200001805792037621099075181447805816907283782783355156941422840681585671757922536196664416350181665682109004334254906673031085386942302647163933719562136186164185652922234123296618703050633022456154116377616684761434108546150201363905266261778775672100038613880494186238891616981359256812529"),
+ mp_float("+0.1665386113822914895017007951021052357177815022471743405704689031789938660564742483194719146580416266239559340512887953328435534067790239085961674942407332694546242602880866376070387262496367207086080494302533434060985324494851329241260152920664205323542319634585425345992159996851601411139446646838555765301874799329345794442502091118859615974367643203447574836048889488156231419555751071696734321971"),
+ mp_float("-0.04219773455554433674820830128918739130165268418982248637691887327545901118558899606734728429375531504062334826057082510869875342573608881031728336193513216807653051215558592232817158189354800086887093374690761985231094669862796057544336120242135379457098619992409318732513064699294082343694452964488092134178703074119479383139206604543459710454255056686229455745478027704185028721684902564483861681488"),
+ mp_float("-0.009621971527876973562114921672348198975362942252113002105138862627311673514460739536466888015658820015733562800356029803723332017419507197553494169877116743012525221376253108885704616876673111525831349233429832639845702227478746003004271641976963298258697182291199410219284964853091797576513483088948247179443482321981474420510403801562538507188880431476146363008815197790256291597231466854822676154536"),
+ mp_float("+0.007218943246663099542395010340446572709904800880238318001094781173622594974158542714089090120849888863763580197688859795311415307822774690748268422748882778219306457154065720813703287027418373611063189696287389264012126740635036226069672622811192532111244693818497291437270392053464350242231258452208196814361249731802322058940324639712443939052265996811453388534005459217602808725999963971215780208927"),
+ mp_float("-0.001165167591859065112113971084018388666809333795384057443407505275620025848166530722148800109172188515797192888894863669066772517370809868046375622203294817029684730913245113885467980578363470095176347017392442241646234586862652283891629280315418462703268811259855101866764711768855009672612320853542794740964104932696508211319286122820153051919898017312123494771712287419491362072058225406140411120019"),
+ mp_float("-0.0002152416741149509728157299630536478064782419233783387503502674890856394637167847391861851194625624815259563219739244945163417211076747477123391086742668973557906175454607228737337091983400046734865215719165942151250609611490595370582548259601169491801275521476262588189925692003213654485091597871400858799644166761772424150734750207019101578462267487952510338819128595535888433239855683688898584219257"),
+ mp_float("+0.0001280502823881161861531986263281643233948920996936772149005458380412035520434687587389223798955199755551386484801312995164552307622434192355599981862167102840027210758568419015795376653975972537042214781394208013779609060164253049743961101368403030633183813736201875808775924737002119102356796180501539005893241175032007956168654433971365386229244346745439587609848542929397402454550229243419558216667"),
+ mp_float("-0.00002013485478078823865568939142102181838229483329797911526116267090822918618897047762330812383650301882610598611158717931945723532269982416612357113737088330997041202300337442465482349805785560019857678505838147808340261428265467157736711014454674223004617947229087707010849731551472310234902900406148808090505873712222916856506434771262514141240239945017462827997814312257914315173799509409580592227999"),
+ mp_float("-1.250493482142670657345359473833092242322655621153959815349923157491212455610792211796228757892295094621846077970315353463508834829915102416793382769258699176937711876791097906964868348037193273974207229913211507712885193827801031655018418659441463872772541489470618445691009164835001388077418133290491428524980227554901591552867473525328143941529948218328641439202885771220946627449251945182703333714e-6"),
+ mp_float("+1.133027231981695882374129620330744943324004838621075654295505395460408427303676342059099599341571794151723102554723472282247098515047076970814877245054820361527216773963022956952446219594483308210208907304801101488348848062734625098840906296035467239877276901851067511872545950865225464347561051817490348962059288584407364395282537157756108088904191766662293100072409206551732618605079716933286705185e-6"),
+ mp_float("-2.056338416977607103450154130020572836512579026293379453468317253324568037109991871188900376836419475497313953593845935602678421832119064686665246359768127970426304592335249241703427667413130015011643569198543828768405669892358923289301890386377129451006676551195702074350994748934923779785037553155730018542197343217850356691279814564656597210371502101337995794398983674689948759643317988389766813875e-7"),
+ mp_float("+6.116095104481415817862498682855342867275865719712320867324029277235074352503861972826211688750122568389248723593760275052110202607289094841928198408739156977044243956049097412356065163620990532543731396877525356196920079422184202257312549571022890099774170257148393843273692290361740154736183615097192651911573292083206887421491192856772933647750427490115120897580598446855104580940274924647813616162e-9"),
+ mp_float("+5.002007644469222930055665048059991303044612742494481718953378877374721317711613245138149284064041492607495463035818621192634138138674255799031521408077064669154375661227867987031920077145517025614542160750699253046327614481165280828729590903826540895400924922302845714850348986296988595579237764267997702727230547855413274977607953320860481079313147166661821990367245206182829153066329757101435599756e-9"),
+ mp_float("-1.181274570487020144588126565436505577738759504932587590961892631696433914362731439517968288144559739788048758350566671400704726777156064156164018114386575307315494202805215438614394288438629133949868735821855227356344177768519582180435858700409517489758611765199834757506730273652724786075640254440409769591442946310523471108835614728780635461979668551745785999641219440682865730142763528023172889291e-9"),
+ mp_float("+1.043426711691100510491540332312250191400709823125812121087107392734758807124820988847060670016098018403228867991155660260908069802732864181290140345583710171861863717571042850540110559715149698077318582760140410483437385783369743279091227248338835597955083612786539728965176160729156453537619398985580910769450857209100810336623880736523569415690948751514525776483744186241841939479643365941249571376e-10"),
+ mp_float("+7.782263439905071254049937311360777226068086181392938819435507326929869575078978038827379507664107281913393462406889059435100758544819098632173849066677032230561159253228543787258397911069334455291546933865105252140021359958145198606994108363499673176861344191053751641915087563642143554534989078722037333135067999258209158657882450793530257918827738106564148852026754272154918712839939196672793348702e-12")
+ }};
+
+ static const std::vector<mp_float> coef(comp_data.begin(), comp_data.end());
+
+ return coef;
+ }
+}
+
+namespace GammaTemplate
+{
+ template<typename T,
+ typename TR>
+ T gamma(const T& x)
+ {
+ using boost::multiprecision::isfinite;
+ using boost::multiprecision::iszero;
+ using boost::multiprecision::isneg;
+ using boost::multiprecision::isint;
+ using boost::multiprecision::small_arg;
+ using boost::multiprecision::abs;
+ using boost::multiprecision::abs;
+ using boost::multiprecision::tol;
+ using boost::multiprecision::exp;
+ using boost::multiprecision::exp;
+ using boost::multiprecision::log;
+ using boost::multiprecision::log;
+ using boost::multiprecision::real;
+ using boost::multiprecision::real;
+ using boost::multiprecision::sin;
+ using boost::multiprecision::sin;
+ using boost::multiprecision::factorial;
+ using boost::multiprecision::bernoulli;
+ using boost::multiprecision::half;
+ using boost::multiprecision::one;
+ using boost::multiprecision::pi;
+ using boost::multiprecision::pi_half;
+ using boost::multiprecision::two_pi;
+ using boost::multiprecision::max_iteration;
+ using boost::multiprecision::to_int32;
+ using boost::multiprecision::to_int64;
+ using boost::multiprecision::order_of;
+
+ if(!isfinite(x))
+ {
+ return x;
+ }
+
+ const bool b_neg = isneg(real(x));
+
+ if(isint(x))
+ {
+ if(b_neg || iszero(x))
+ {
+ return std::numeric_limits<TR>::quiet_NaN();
+ }
+ else
+ {
+ const boost::int64_t nx = to_int64(x);
+
+ // Possible special handling for (relatively) small, pure integers.
+ if(static_cast<std::size_t>(nx) < Tables::A000142().size())
+ {
+ const boost::int32_t n = static_cast<boost::int32_t>(nx - static_cast<boost::int64_t>(1));
+
+ return factorial(static_cast<boost::uint32_t>(n));
+ }
+ }
+ }
+
+ // Make a local, unsigned copy of the input argument.
+
+ T xx((!b_neg) ? x : -x);
+
+ T G;
+
+ if(small_arg(xx))
+ {
+ static const T tz(0u);
+
+ G = one() / std::accumulate(Gamma_Series::CoefOneOverGammaAtZero().begin(),
+ Gamma_Series::CoefOneOverGammaAtZero().end(),
+ tz,
+ boost::multiprecision::utility::coefficient_expansion<T, T>(xx, xx));
+ }
+ else
+ {
+ // Check if the argument should be scaled up for the Bernoulli series expansion.
+ static const boost::int32_t min_arg_n = static_cast<boost::int32_t>(240.0 * boost::multiprecision::utility::digit_scale());
+ static const TR min_arg_x = TR(min_arg_n);
+
+ const TR rx = real(xx);
+
+ const boost::int32_t n_recur = ((rx < min_arg_x) ? static_cast<boost::int32_t>((min_arg_n - to_int32(rx)) + 1)
+ : static_cast<boost::int32_t>(0));
+
+ // Scale the argument up and use downward recursion later for the final result.
+ xx += n_recur;
+
+ // Perform the Bernoulli series expansion.
+ T one_over_x_pow_two_n_minus_one = one() / xx;
+ const T one_over_x2 = one_over_x_pow_two_n_minus_one * one_over_x_pow_two_n_minus_one;
+ T sum = (bernoulli(static_cast<boost::uint32_t>(2u)) / static_cast<boost::int32_t>(2)) * one_over_x_pow_two_n_minus_one;
+
+ for(boost::int32_t n2 = static_cast<boost::int32_t>(4); n2 < max_iteration(); n2 += static_cast<boost::int32_t>(2))
+ {
+ one_over_x_pow_two_n_minus_one *= one_over_x2;
+
+ const T term = (bernoulli(static_cast<boost::uint32_t>(n2)) * one_over_x_pow_two_n_minus_one) / static_cast<boost::int32_t>(n2 * (n2 - static_cast<boost::int32_t>(1)));
+
+ const boost::int64_t order_check = static_cast<boost::int64_t>(order_of(abs(term)) - order_of(abs(sum)));
+
+ if((n2 > static_cast<boost::int32_t>(20)) && (order_check < -tol()))
+ {
+ break;
+ }
+
+ sum += term;
+ }
+
+ static const TR half_ln_two_pi = log(two_pi()) / static_cast<boost::int32_t>(2);
+
+ G = exp(((((xx - half()) * log(xx)) - xx) + half_ln_two_pi) + sum);
+
+ // Rescale the result using downward recursion if necessary.
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < n_recur; k++)
+ {
+ G /= --xx;
+ }
+ }
+
+ // Return the result, accounting for possible negative arguments.
+ return ((!b_neg) ? G : -pi() / ((xx * G) * sin(pi() * xx)));
+ }
+
+ template<typename T,
+ typename TR>
+ T gamma_near_n(const boost::int32_t n, const T& x)
+ {
+ using boost::multiprecision::sin;
+ using boost::multiprecision::sin;
+ using boost::multiprecision::one;
+ using boost::multiprecision::pi;
+
+ if(n >= static_cast<boost::int32_t>(0))
+ {
+ return GammaTemplate::gamma<T, TR>(n + x);
+ }
+ else
+ {
+ const boost::int32_t nn = static_cast<boost::int32_t>(-n);
+
+ const bool b_neg = (static_cast<boost::int32_t>(nn % static_cast<boost::int32_t>(2)) != static_cast<boost::int32_t>(0));
+
+ const T n_minus_x = nn - x;
+ const T Gn = pi() / (GammaTemplate::gamma<T, TR>(n_minus_x + one()) * sin(pi() * x));
+
+ return ((!b_neg) ? Gn : -Gn);
+ }
+ }
+}
+
+mp_float boost::multiprecision::gamma(const mp_float& x)
+{
+ if(x.has_its_own_gamma())
+ {
+ return mp_float::my_gamma(x);
+ }
+ else
+ {
+ return GammaTemplate::gamma<mp_float, mp_float>(x);
+ }
+}
+
+mp_complex boost::multiprecision::gamma(const mp_complex& z)
+{
+ if(boost::multiprecision::iszero(z.imag()))
+ {
+ return mp_complex(GammaTemplate::gamma<mp_float, mp_float>(z.real()));
+ }
+ else
+ {
+ return GammaTemplate::gamma<mp_complex, mp_float>(z);
+ }
+}
+
+mp_float boost::multiprecision::gamma_near_n(const boost::int32_t n, const mp_float& x)
+{
+ return GammaTemplate::gamma_near_n<mp_float, mp_float>(n, x);
+}

Added: sandbox/multiprecision/src/functions/gamma/gamma_util.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/gamma/gamma_util.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,28 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "gamma_util.h"
+
+using boost::multiprecision::mp_float;
+
+void GammaUtil::GammaOfPlusXMinusX(const mp_float& x, mp_float& gamma_plus_x, mp_float& gamma_minus_x)
+{
+ // Calculate gamma(x) and gamma(-x) without regard for the actual sign of x.
+ // In other words, calculate gamma(abs(x)) and set the results appropriately
+ // using the reflection formula.
+ const bool bo_x_isneg = boost::multiprecision::isneg(x);
+ const mp_float abs_x = boost::multiprecision::fabs(x);
+ const mp_float gamma_x_pos = boost::multiprecision::gamma(abs_x);
+ const mp_float gamma_x_neg = -boost::multiprecision::pi() / ((abs_x * gamma_x_pos) * boost::multiprecision::sin(boost::multiprecision::pi() * abs_x));
+
+ gamma_plus_x = bo_x_isneg ? gamma_x_neg : gamma_x_pos;
+ gamma_minus_x = bo_x_isneg ? gamma_x_pos : gamma_x_neg;
+}

Added: sandbox/multiprecision/src/functions/gamma/gamma_util.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/gamma/gamma_util.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,23 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _GAMMA_UTIL_2008_01_10_H_
+ #define _GAMMA_UTIL_2008_01_10_H_
+
+ #include <boost/multiprecision/mp_float.hpp>
+
+ namespace GammaUtil
+ {
+ void GammaOfPlusXMinusX(const boost::multiprecision::mp_float& x,
+ boost::multiprecision::mp_float& gamma_plus_x,
+ boost::multiprecision::mp_float& gamma_minus_x);
+ }
+
+#endif // _GAMMA_UTIL_2008_01_10_H_

Added: sandbox/multiprecision/src/functions/gamma/pochhammer.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/gamma/pochhammer.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,79 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace Pochhammer_Series
+{
+ template<typename T,
+ typename TR>
+ T Pochhammer_Template(const T& x, const boost::uint32_t n)
+ {
+ using boost::multiprecision::real;
+ using boost::multiprecision::real;
+ using boost::multiprecision::gamma;
+ using boost::multiprecision::gamma;
+ using boost::multiprecision::one;
+
+ if(n == static_cast<boost::uint32_t>(0u))
+ {
+ return one();
+ }
+ else if(n == static_cast<boost::uint32_t>(1u))
+ {
+ return x;
+ }
+ else
+ {
+ if(n < static_cast<boost::uint32_t>(50u))
+ {
+ T val (x);
+ T term(x);
+
+ for(boost::uint32_t i = static_cast<boost::uint32_t>(1u); i < n; i++)
+ {
+ val *= ++term;
+ }
+
+ return val;
+ }
+ else
+ {
+ const TR nr(n);
+
+ return gamma(x + nr) / gamma(x);
+ }
+ }
+ }
+}
+
+mp_float boost::multiprecision::pochhammer(const mp_float& x, const boost::uint32_t n)
+{
+ return Pochhammer_Series::Pochhammer_Template<mp_float, mp_float>(x, n);
+}
+
+mp_complex boost::multiprecision::pochhammer(const mp_complex& x, const boost::uint32_t n)
+{
+ return Pochhammer_Series::Pochhammer_Template<mp_complex, mp_float>(x, n);
+}
+
+mp_float boost::multiprecision::pochhammer(const mp_float& x, const mp_float& a)
+{
+ return boost::multiprecision::gamma(x + a) / boost::multiprecision::gamma(x);
+}
+
+mp_complex boost::multiprecision::pochhammer(const mp_complex& z, const mp_complex& a)
+{
+ return boost::multiprecision::gamma(z + a) / boost::multiprecision::gamma(z);
+}
+

Added: sandbox/multiprecision/src/functions/integer/bernoulli_b.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/integer/bernoulli_b.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,120 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "../tables/tables.h"
+
+using boost::multiprecision::mp_float;
+
+mp_float boost::multiprecision::bernoulli(const boost::uint32_t n)
+{
+ if(static_cast<boost::uint32_t>(n % static_cast<boost::uint32_t>(2u)) != static_cast<boost::uint32_t>(0u))
+ {
+ return (n == static_cast<boost::uint32_t>(1u) ? -boost::multiprecision::half() : boost::multiprecision::zero());
+ }
+ else
+ {
+ static const std::size_t sz_A000367 = Tables::A000367().size();
+ static const std::size_t sz_A002445 = Tables::A002445().size();
+ static const std::size_t sz_max = (std::min)(sz_A000367, sz_A002445);
+
+ const std::size_t n_half = static_cast<std::size_t>(n / static_cast<boost::uint32_t>(2u));
+
+ if(n_half < sz_max)
+ {
+ return Tables::A000367()[n_half]() / Tables::A002445()[n_half]();
+ }
+ else
+ {
+ // Do a loop calculation for higher numbered Bernoulli numbers.
+ // See Abramowitz & Stegun 23.1.18, page 805, for x = 0.
+ // See Computation of Special Functions, Zhang & Jin, 1.1.16, page 5.
+
+ mp_float sum = boost::multiprecision::one();
+
+ // TBD: Check the power of two using logs and floating point math to see
+ // if the loop is even necessary.
+
+ for(boost::int32_t k = static_cast<boost::int32_t>(2); k < boost::multiprecision::max_iteration(); k++)
+ {
+ const mp_float one_over_k = boost::multiprecision::one() / k;
+ const mp_float term = boost::multiprecision::pown(one_over_k, static_cast<boost::int64_t>(n));
+
+ if(term.order() < -boost::multiprecision::tol())
+ {
+ break;
+ }
+
+ sum += term;
+ }
+
+ const bool b_neg = static_cast<boost::uint32_t>(static_cast<boost::uint32_t>(n / static_cast<boost::uint32_t>(2u)) & static_cast<boost::uint32_t>(1u)) == static_cast<boost::uint32_t>(0u);
+
+ const mp_float factor = ((boost::multiprecision::factorial(n) / boost::multiprecision::pown(boost::multiprecision::two_pi(), static_cast<boost::int64_t>(n))) * static_cast<boost::int32_t>(2));
+ const mp_float bn = sum * factor;
+
+ return ((!b_neg) ? bn : -bn);
+ }
+ }
+}
+
+void boost::multiprecision::bernoulli_table(std::vector<mp_float>& bn, const boost::uint32_t n)
+{
+ // See reference "Computing Bernoulli and Tangent Numbers", Richard P. Brent.
+ // Also see "Modern Computer Arithmetic", Richard P. Brent and Paul Zimmermann,
+ // Cambridge University Press, 2010, 237 pp.
+
+ const boost::uint32_t nn = (((n % static_cast<boost::uint32_t>(2)) != static_cast<boost::uint32_t>(0u)) ? static_cast<boost::uint32_t>(n + 1u) : n);
+
+ const boost::int32_t m = static_cast<boost::int32_t>(nn / static_cast<boost::uint32_t>(2u));
+
+ std::vector<mp_float> tangent_numbers(static_cast<std::vector<mp_float>::size_type>(m + 1));
+
+ tangent_numbers[0u] = boost::multiprecision::zero();
+ tangent_numbers[1u] = boost::multiprecision::one();
+
+ for(boost::int32_t k = static_cast<boost::int32_t>(2); k <= m; k++)
+ {
+ tangent_numbers[k] = tangent_numbers[k - 1] * static_cast<boost::int32_t>(k - static_cast<boost::int32_t>(1));
+ }
+
+ for(boost::int32_t k = static_cast<boost::int32_t>(2); k <= m; k++)
+ {
+ for(boost::int32_t j = k; j <= m; j++)
+ {
+ const boost::int32_t j_minus_k = static_cast<boost::int32_t>(j - k);
+
+ tangent_numbers[j] = (tangent_numbers[j - 1] * j_minus_k)
+ + (tangent_numbers[j] * static_cast<boost::int32_t>(j_minus_k + static_cast<boost::int32_t>(2)));
+ }
+ }
+
+ mp_float two_pow_two_m(4);
+
+ bn.clear();
+ bn.resize(static_cast<std::vector<mp_float>::size_type>(nn + static_cast<boost::uint32_t>(1u)));
+
+ for(boost::int32_t i = static_cast<boost::int32_t>(1); i < static_cast<boost::int32_t>(tangent_numbers.size()); i++)
+ {
+ const boost::int32_t two_i = static_cast<boost::int32_t>(static_cast<boost::int32_t>(2) * i);
+
+ const mp_float b = (tangent_numbers[i] * two_i) / ((two_pow_two_m * two_pow_two_m) - two_pow_two_m);
+
+ const bool b_neg = (static_cast<boost::int32_t>(two_i % static_cast<boost::int32_t>(4)) == static_cast<boost::int32_t>(0));
+
+ bn[2 * i] = ((!b_neg) ? b : -b);
+
+ two_pow_two_m *= static_cast<boost::int32_t>(4);
+ }
+
+ bn[0u] = boost::multiprecision::one();
+ bn[1u] = -boost::multiprecision::half();
+}

Added: sandbox/multiprecision/src/functions/integer/prime.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/integer/prime.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,120 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <algorithm>
+
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+namespace Primes
+{
+ struct Inserter
+ {
+ private:
+ mutable boost::uint32_t count;
+ mutable std::back_insert_iterator<std::deque<boost::uint32_t> > it;
+
+ public:
+
+ static const std::size_t start_index = static_cast<std::size_t>(2u);
+
+ explicit Inserter(std::deque<boost::uint32_t>& sequence) : count(static_cast<boost::uint32_t>(start_index)),
+ it (std::back_inserter(sequence)) { }
+
+ void operator()(const bool& bo_is_not_prime) const
+ {
+ const bool bo_is_prime = (!bo_is_not_prime);
+ if(bo_is_prime) { *it = count; }
+ ++count;
+ }
+ };
+
+ static void Generator(const boost::uint32_t n, std::deque<boost::uint32_t>& primes_data)
+ {
+ // Establish the range of the prime number calculation. Use an approximation
+ // related to the prime number theorem to obtain the value of the maximum prime
+ // number or a minimum of at least 100. Also be sure to limit this range to
+ // within the upper limit of boost::uint32_t.
+
+ static const boost::uint32_t min_hundred = static_cast<boost::uint32_t>(100u);
+ static const double xmax = static_cast<double>((std::numeric_limits<boost::uint32_t>::max)());
+
+ const boost::uint32_t N = (std::max)(min_hundred, n);
+ const double xn = static_cast<double>(N);
+ const double logn = ::log(xn);
+ const double loglogn = ::log(logn);
+ const double top = xn * (((logn + loglogn) - 1.0) + ((static_cast<double>(1.8) * loglogn) / logn));
+ const double xlim = (std::min)(top, xmax);
+ const boost::uint32_t nlim = static_cast<boost::uint32_t>(static_cast<boost::uint64_t>(xlim));
+ const boost::uint32_t limit = (std::max)(n, nlim);
+
+ // Use a sieve algorithm to generate a boolean table representation of the primes.
+
+ std::vector<bool> sieve(static_cast<std::size_t>(limit), false);
+
+ boost::uint32_t i = static_cast<boost::uint32_t>(Primes::Inserter::start_index);
+ boost::uint32_t i2;
+
+ while((i2 = static_cast<boost::uint32_t>(i * i)) < limit)
+ {
+ if(sieve[i] == false)
+ {
+ for(boost::uint32_t j = i2; j < limit; j = static_cast<boost::uint32_t>(j + i))
+ {
+ sieve[j] = true;
+ }
+ }
+
+ ++i;
+ }
+
+ // Extract the prime numbers into the data table by inserting them from the sieve.
+ primes_data.clear();
+
+ std::for_each(sieve.begin() + Primes::Inserter::start_index,
+ sieve.end(),
+ Primes::Inserter(primes_data));
+
+ primes_data.resize(static_cast<std::size_t>(n), static_cast<boost::uint32_t>(0u));
+ }
+
+ std::deque<boost::uint32_t>& Data(void)
+ {
+ // Create a static data table of primes and return a reference to it.
+ static std::deque<boost::uint32_t> primes;
+
+ if(primes.empty())
+ {
+ // Select a maximum count of prime numbers to be stored in the data table.
+ // This number is selected such that the value of the highest prime will slightly
+ // exceed 0x10000 (decimal 65,536). This number is significant because it is
+ // the maximum value which needs to be tested while computing the prime factors
+ // of unsigned 32-bit integers, as done in the subroutine Factors(...).
+ Primes::Generator(static_cast<boost::uint32_t>(6550u), primes);
+ }
+
+ return primes;
+ }
+}
+
+void boost::multiprecision::prime(const boost::uint32_t n, std::deque<boost::uint32_t>& primes)
+{
+ // For small values of n less than the size of the prime data table, the primes
+ // can be copied from the data table. For large values of n, the primes must be
+ // generated.
+ if(n < static_cast<boost::uint32_t>(Primes::Data().size()))
+ {
+ primes.assign(Primes::Data().begin(), Primes::Data().begin() + static_cast<std::size_t>(n));
+ }
+ else
+ {
+ Primes::Generator(n, primes);
+ }
+}

Added: sandbox/multiprecision/src/functions/integer/prime_factor.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/integer/prime_factor.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,125 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <algorithm>
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "prime_factors.h"
+
+namespace Primes
+{
+ std::deque<boost::uint32_t>& Data(void);
+
+ static bool IsPrimeFactor(boost::uint32_t& np, const boost::uint32_t p)
+ {
+ const boost::uint32_t q = static_cast<boost::uint32_t>(np / p);
+ const boost::uint32_t r = static_cast<boost::uint32_t>(np - static_cast<boost::uint32_t>(q * p));
+
+ const bool is_prime_factor = (r == static_cast<boost::uint32_t>(0u));
+
+ if(is_prime_factor)
+ {
+ np = q;
+ }
+
+ return is_prime_factor;
+ }
+
+ static void Factors(const boost::uint32_t n, std::deque<boost::multiprecision::utility::point<boost::uint32_t> >& pf)
+ {
+ // Compute the prime factors of the unsigned integer n. Use the divide algorithm of
+ // "The Art of Computer Programming Volume 2 Semi-numerical Algorithms Third Edition",
+ // Donald Knuth (Algorithm A, Chapter 4.5.4, page 380 and pages 378-417).
+ static const std::size_t sz = Data().size();
+
+ pf.clear();
+
+ const boost::uint32_t sqrt_n = static_cast<boost::uint32_t>(static_cast<boost::uint64_t>(::sqrt(static_cast<double>(n)) + 0.5));
+
+ boost::uint32_t np = n;
+
+ for(std::size_t i = static_cast<std::size_t>(0u); i < sz; i++)
+ {
+ const boost::uint32_t p = Data()[i];
+
+ if(IsPrimeFactor(np, p))
+ {
+ boost::multiprecision::utility::point<boost::uint32_t> ip(p, static_cast<boost::uint32_t>(1u));
+
+ while(IsPrimeFactor(np, p))
+ {
+ ++ip.y;
+ }
+
+ pf.push_back(ip);
+ }
+
+ if(static_cast<boost::uint32_t>(np / p) <= p)
+ {
+ pf.push_back(boost::multiprecision::utility::point<boost::uint32_t>(np, static_cast<boost::uint32_t>(1u)));
+
+ break;
+ }
+
+ if((np == static_cast<boost::uint32_t>(1u)) || (p >= sqrt_n))
+ {
+ break;
+ }
+ }
+ }
+}
+
+void boost::multiprecision::prime_factors(const boost::uint32_t n, std::deque<boost::multiprecision::utility::point<boost::uint32_t> >& pf)
+{
+ // Factor the input integer into a list of primes. For small inputs less than 10,000
+ // use the tabulated prime factors list. Calculate the prime factors for larger inputs
+ // above 10,000.
+ static std::vector<std::deque<boost::multiprecision::utility::point<boost::uint32_t> > > prime_factors_list;
+
+ if(prime_factors_list.empty())
+ {
+ // Generate a table of the sets of the first 10,000 integer prime factorizations.
+ prime_factors_list.resize(static_cast<std::size_t>(10000u));
+
+ prime_factors_list[static_cast<std::size_t>(0u)] = std::deque<boost::multiprecision::utility::point<boost::uint32_t> >(static_cast<std::size_t>(1u), boost::multiprecision::utility::point<boost::uint32_t>(static_cast<boost::uint32_t>(0u), static_cast<boost::uint32_t>(1u)));
+ prime_factors_list[static_cast<std::size_t>(1u)] = std::deque<boost::multiprecision::utility::point<boost::uint32_t> >(static_cast<std::size_t>(1u), boost::multiprecision::utility::point<boost::uint32_t>(static_cast<boost::uint32_t>(1u), static_cast<boost::uint32_t>(1u)));
+ prime_factors_list[static_cast<std::size_t>(2u)] = std::deque<boost::multiprecision::utility::point<boost::uint32_t> >(static_cast<std::size_t>(1u), boost::multiprecision::utility::point<boost::uint32_t>(static_cast<boost::uint32_t>(2u), static_cast<boost::uint32_t>(1u)));
+ prime_factors_list[static_cast<std::size_t>(3u)] = std::deque<boost::multiprecision::utility::point<boost::uint32_t> >(static_cast<std::size_t>(1u), boost::multiprecision::utility::point<boost::uint32_t>(static_cast<boost::uint32_t>(3u), static_cast<boost::uint32_t>(1u)));
+
+ static const boost::uint32_t n_five = static_cast<boost::uint32_t>(5u);
+
+ std::deque<boost::uint32_t>::const_iterator it_next_prime = std::find(Primes::Data().begin(), Primes::Data().end(), n_five);
+
+ for(std::size_t i = static_cast<std::size_t>(4u); i < prime_factors_list.size(); i++)
+ {
+ if((it_next_prime != Primes::Data().end()) && (static_cast<boost::uint32_t>(i) == *it_next_prime))
+ {
+ ++it_next_prime;
+
+ prime_factors_list[i] = std::deque<boost::multiprecision::utility::point<boost::uint32_t> >(static_cast<std::size_t>(1u),
+ boost::multiprecision::utility::point<boost::uint32_t>(static_cast<boost::uint32_t>(i),
+ static_cast<boost::uint32_t>(1u)));
+ }
+ else
+ {
+ Primes::Factors(static_cast<boost::uint32_t>(i), prime_factors_list[i]);
+ }
+ }
+ }
+
+ if(static_cast<std::size_t>(n) < prime_factors_list.size())
+ {
+ pf = prime_factors_list[static_cast<std::size_t>(n)];
+ }
+ else
+ {
+ Primes::Factors(n, pf);
+ }
+}

Added: sandbox/multiprecision/src/functions/integer/prime_factors.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/integer/prime_factors.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,26 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _PRIME_FACTORS_2011_06_23_H_
+ #define _PRIME_FACTORS_2011_06_23_H_
+
+ #include <deque>
+
+ #include <boost/multiprecision/utility/util_point.hpp>
+
+ namespace boost
+ {
+ namespace multiprecision
+ {
+ void prime_factors(const boost::uint32_t n, std::deque<boost::multiprecision::utility::point<boost::uint32_t> >& pf);
+ }
+ }
+
+#endif // _PRIME_FACTORS_2011_06_23_H_

Added: sandbox/multiprecision/src/functions/tables/A000142.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/tables/A000142.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,7041 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <vector>
+#include <boost/array.hpp>
+#include "tables.h"
+
+using boost::multiprecision::mp_float;
+
+namespace A000142_Table
+{
+ static const mp_float& A000142_0(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A000142_1(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A000142_2(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2L));
+ return val;
+ }
+
+ static const mp_float& A000142_3(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A000142_4(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(24L));
+ return val;
+ }
+
+ static const mp_float& A000142_5(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(120L));
+ return val;
+ }
+
+ static const mp_float& A000142_6(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(720L));
+ return val;
+ }
+
+ static const mp_float& A000142_7(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5040L));
+ return val;
+ }
+
+ static const mp_float& A000142_8(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(40320L));
+ return val;
+ }
+
+ static const mp_float& A000142_9(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(362880L));
+ return val;
+ }
+
+ static const mp_float& A000142_10(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3628800L));
+ return val;
+ }
+
+ static const mp_float& A000142_11(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(39916800L));
+ return val;
+ }
+
+ static const mp_float& A000142_12(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(479001600L));
+ return val;
+ }
+
+ static const mp_float& A000142_13(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6227020800LL));
+ return val;
+ }
+
+ static const mp_float& A000142_14(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(87178291200LL));
+ return val;
+ }
+
+ static const mp_float& A000142_15(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1307674368000LL));
+ return val;
+ }
+
+ static const mp_float& A000142_16(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(20922789888000LL));
+ return val;
+ }
+
+ static const mp_float& A000142_17(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(355687428096000LL));
+ return val;
+ }
+
+ static const mp_float& A000142_18(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6402373705728000LL));
+ return val;
+ }
+
+ static const mp_float& A000142_19(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(121645100408832000LL));
+ return val;
+ }
+
+ static const mp_float& A000142_20(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2432902008176640000LL));
+ return val;
+ }
+
+ static const mp_float& A000142_21(void)
+ {
+ static const mp_float val("51090942171709440000");
+ return val;
+ }
+
+ static const mp_float& A000142_22(void)
+ {
+ static const mp_float val("1124000727777607680000");
+ return val;
+ }
+
+ static const mp_float& A000142_23(void)
+ {
+ static const mp_float val("25852016738884976640000");
+ return val;
+ }
+
+ static const mp_float& A000142_24(void)
+ {
+ static const mp_float val("620448401733239439360000");
+ return val;
+ }
+
+ static const mp_float& A000142_25(void)
+ {
+ static const mp_float val("15511210043330985984000000");
+ return val;
+ }
+
+ static const mp_float& A000142_26(void)
+ {
+ static const mp_float val("403291461126605635584000000");
+ return val;
+ }
+
+ static const mp_float& A000142_27(void)
+ {
+ static const mp_float val("10888869450418352160768000000");
+ return val;
+ }
+
+ static const mp_float& A000142_28(void)
+ {
+ static const mp_float val("304888344611713860501504000000");
+ return val;
+ }
+
+ static const mp_float& A000142_29(void)
+ {
+ static const mp_float val("8841761993739701954543616000000");
+ return val;
+ }
+
+ static const mp_float& A000142_30(void)
+ {
+ static const mp_float val("265252859812191058636308480000000");
+ return val;
+ }
+
+ static const mp_float& A000142_31(void)
+ {
+ static const mp_float val("8222838654177922817725562880000000");
+ return val;
+ }
+
+ static const mp_float& A000142_32(void)
+ {
+ static const mp_float val("263130836933693530167218012160000000");
+ return val;
+ }
+
+ static const mp_float& A000142_33(void)
+ {
+ static const mp_float val("8683317618811886495518194401280000000");
+ return val;
+ }
+
+ static const mp_float& A000142_34(void)
+ {
+ static const mp_float val("295232799039604140847618609643520000000");
+ return val;
+ }
+
+ static const mp_float& A000142_35(void)
+ {
+ static const mp_float val("10333147966386144929666651337523200000000");
+ return val;
+ }
+
+ static const mp_float& A000142_36(void)
+ {
+ static const mp_float val("371993326789901217467999448150835200000000");
+ return val;
+ }
+
+ static const mp_float& A000142_37(void)
+ {
+ static const mp_float val("13763753091226345046315979581580902400000000");
+ return val;
+ }
+
+ static const mp_float& A000142_38(void)
+ {
+ static const mp_float val("523022617466601111760007224100074291200000000");
+ return val;
+ }
+
+ static const mp_float& A000142_39(void)
+ {
+ static const mp_float val("20397882081197443358640281739902897356800000000");
+ return val;
+ }
+
+ static const mp_float& A000142_40(void)
+ {
+ static const mp_float val("815915283247897734345611269596115894272000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_41(void)
+ {
+ static const mp_float val("33452526613163807108170062053440751665152000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_42(void)
+ {
+ static const mp_float val("1405006117752879898543142606244511569936384000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_43(void)
+ {
+ static const mp_float val("60415263063373835637355132068513997507264512000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_44(void)
+ {
+ static const mp_float val("2658271574788448768043625811014615890319638528000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_45(void)
+ {
+ static const mp_float val("119622220865480194561963161495657715064383733760000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_46(void)
+ {
+ static const mp_float val("5502622159812088949850305428800254892961651752960000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_47(void)
+ {
+ static const mp_float val("258623241511168180642964355153611979969197632389120000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_48(void)
+ {
+ static const mp_float val("12413915592536072670862289047373375038521486354677760000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_49(void)
+ {
+ static const mp_float val("608281864034267560872252163321295376887552831379210240000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_50(void)
+ {
+ static const mp_float val("30414093201713378043612608166064768844377641568960512000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_51(void)
+ {
+ static const mp_float val("1551118753287382280224243016469303211063259720016986112000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_52(void)
+ {
+ static const mp_float val("80658175170943878571660636856403766975289505440883277824000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_53(void)
+ {
+ static const mp_float val("4274883284060025564298013753389399649690343788366813724672000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_54(void)
+ {
+ static const mp_float val("230843697339241380472092742683027581083278564571807941132288000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_55(void)
+ {
+ static const mp_float val("12696403353658275925965100847566516959580321051449436762275840000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_56(void)
+ {
+ static const mp_float val("710998587804863451854045647463724949736497978881168458687447040000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_57(void)
+ {
+ static const mp_float val("40526919504877216755680601905432322134980384796226602145184481280000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_58(void)
+ {
+ static const mp_float val("2350561331282878571829474910515074683828862318181142924420699914240000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_59(void)
+ {
+ static const mp_float val("138683118545689835737939019720389406345902876772687432540821294940160000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_60(void)
+ {
+ static const mp_float val("8320987112741390144276341183223364380754172606361245952449277696409600000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_61(void)
+ {
+ static const mp_float val("507580213877224798800856812176625227226004528988036003099405939480985600000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_62(void)
+ {
+ static const mp_float val("31469973260387937525653122354950764088012280797258232192163168247821107200000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_63(void)
+ {
+ static const mp_float val("1982608315404440064116146708361898137544773690227268628106279599612729753600000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_64(void)
+ {
+ static const mp_float val("126886932185884164103433389335161480802865516174545192198801894375214704230400000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_65(void)
+ {
+ static const mp_float val("8247650592082470666723170306785496252186258551345437492922123134388955774976000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_66(void)
+ {
+ static const mp_float val("544344939077443064003729240247842752644293064388798874532860126869671081148416000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_67(void)
+ {
+ static const mp_float val("36471110918188685288249859096605464427167635314049524593701628500267962436943872000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_68(void)
+ {
+ static const mp_float val("2480035542436830599600990418569171581047399201355367672371710738018221445712183296000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_69(void)
+ {
+ static const mp_float val("171122452428141311372468338881272839092270544893520369393648040923257279754140647424000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_70(void)
+ {
+ static const mp_float val("11978571669969891796072783721689098736458938142546425857555362864628009582789845319680000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_71(void)
+ {
+ static const mp_float val("850478588567862317521167644239926010288584608120796235886430763388588680378079017697280000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_72(void)
+ {
+ static const mp_float val("61234458376886086861524070385274672740778091784697328983823014963978384987221689274204160000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_73(void)
+ {
+ static const mp_float val("4470115461512684340891257138125051110076800700282905015819080092370422104067183317016903680000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_74(void)
+ {
+ static const mp_float val("330788544151938641225953028221253782145683251820934971170611926835411235700971565459250872320000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_75(void)
+ {
+ static const mp_float val("24809140811395398091946477116594033660926243886570122837795894512655842677572867409443815424000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_76(void)
+ {
+ static const mp_float val("1885494701666050254987932260861146558230394535379329335672487982961844043495537923117729972224000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_77(void)
+ {
+ static const mp_float val("145183092028285869634070784086308284983740379224208358846781574688061991349156420080065207861248000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_78(void)
+ {
+ static const mp_float val("11324281178206297831457521158732046228731749579488251990048962825668835325234200766245086213177344000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_79(void)
+ {
+ static const mp_float val("894618213078297528685144171539831652069808216779571907213868063227837990693501860533361810841010176000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_80(void)
+ {
+ static const mp_float val("71569457046263802294811533723186532165584657342365752577109445058227039255480148842668944867280814080000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_81(void)
+ {
+ static const mp_float val("5797126020747367985879734231578109105412357244731625958745865049716390179693892056256184534249745940480000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_82(void)
+ {
+ static const mp_float val("475364333701284174842138206989404946643813294067993328617160934076743994734899148613007131808479167119360000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_83(void)
+ {
+ static const mp_float val("39455239697206586511897471180120610571436503407643446275224357528369751562996629334879591940103770870906880000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_84(void)
+ {
+ static const mp_float val("3314240134565353266999387579130131288000666286242049487118846032383059131291716864129885722968716753156177920000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_85(void)
+ {
+ static const mp_float val("281710411438055027694947944226061159480056634330574206405101912752560026159795933451040286452340924018275123200000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_86(void)
+ {
+ static const mp_float val("24227095383672732381765523203441259715284870552429381750838764496720162249742450276789464634901319465571660595200000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_87(void)
+ {
+ static const mp_float val("2107757298379527717213600518699389595229783738061356212322972511214654115727593174080683423236414793504734471782400000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_88(void)
+ {
+ static const mp_float val("185482642257398439114796845645546284380220968949399346684421580986889562184028199319100141244804501828416633516851200000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_89(void)
+ {
+ static const mp_float val("16507955160908461081216919262453619309839666236496541854913520707833171034378509739399912570787600662729080382999756800000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_90(void)
+ {
+ static const mp_float val("1485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_91(void)
+ {
+ static const mp_float val("135200152767840296255166568759495142147586866476906677791741734597153670771559994765685283954750449427751168336768008192000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_92(void)
+ {
+ static const mp_float val("12438414054641307255475324325873553077577991715875414356840239582938137710983519518443046123837041347353107486982656753664000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_93(void)
+ {
+ static const mp_float val("1156772507081641574759205162306240436214753229576413535186142281213246807121467315215203289516844845303838996289387078090752000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_94(void)
+ {
+ static const mp_float val("108736615665674308027365285256786601004186803580182872307497374434045199869417927630229109214583415458560865651202385340530688000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_95(void)
+ {
+ static const mp_float val("10329978488239059262599702099394727095397746340117372869212250571234293987594703124871765375385424468563282236864226607350415360000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_96(void)
+ {
+ static const mp_float val("991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_97(void)
+ {
+ static const mp_float val("96192759682482119853328425949563698712343813919172976158104477319333745612481875498805879175589072651261284189679678167647067832320000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_98(void)
+ {
+ static const mp_float val("9426890448883247745626185743057242473809693764078951663494238777294707070023223798882976159207729119823605850588608460429412647567360000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_99(void)
+ {
+ static const mp_float val("933262154439441526816992388562667004907159682643816214685929638952175999932299156089414639761565182862536979208272237582511852109168640000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_100(void)
+ {
+ static const mp_float val("93326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_101(void)
+ {
+ static const mp_float val("9425947759838359420851623124482936749562312794702543768327889353416977599316221476503087861591808346911623490003549599583369706302603264000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_102(void)
+ {
+ static const mp_float val("961446671503512660926865558697259548455355905059659464369444714048531715130254590603314961882364451384985595980362059157503710042865532928000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_103(void)
+ {
+ static const mp_float val("99029007164861804075467152545817733490901658221144924830052805546998766658416222832141441073883538492653516385977292093222882134415149891584000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_104(void)
+ {
+ static const mp_float val("10299016745145627623848583864765044283053772454999072182325491776887871732475287174542709871683888003235965704141638377695179741979175588724736000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_105(void)
+ {
+ static const mp_float val("1081396758240290900504101305800329649720646107774902579144176636573226531909905153326984536526808240339776398934872029657993872907813436816097280000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_106(void)
+ {
+ static const mp_float val("114628056373470835453434738414834942870388487424139673389282723476762012382449946252660360871841673476016298287096435143747350528228224302506311680000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_107(void)
+ {
+ static const mp_float val("12265202031961379393517517010387338887131568154382945052653251412013535324922144249034658613287059061933743916719318560380966506520420000368175349760000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_108(void)
+ {
+ static const mp_float val("1324641819451828974499891837121832599810209360673358065686551152497461815091591578895743130235002378688844343005686404521144382704205360039762937774080000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_109(void)
+ {
+ static const mp_float val("144385958320249358220488210246279753379312820313396029159834075622223337844983482099636001195615259277084033387619818092804737714758384244334160217374720000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_110(void)
+ {
+ static const mp_float val("15882455415227429404253703127090772871724410234473563207581748318444567162948183030959960131517678520479243672638179990208521148623422266876757623911219200000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_111(void)
+ {
+ static const mp_float val("1762952551090244663872161047107075788761409536026565516041574063347346955087248316436555574598462315773196047662837978913145847497199871623320096254145331200000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_112(void)
+ {
+ static const mp_float val("197450685722107402353682037275992488341277868034975337796656295094902858969771811440894224355027779366597957338237853638272334919686385621811850780464277094400000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_113(void)
+ {
+ static const mp_float val("22311927486598136465966070212187151182564399087952213171022161345724023063584214692821047352118139068425569179220877461124773845924561575264739138192463311667200000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_114(void)
+ {
+ static const mp_float val("2543559733472187557120132004189335234812341496026552301496526393412538629248600474981599398141467853800514886431180030568224218435400019580180261753940817530060800000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_115(void)
+ {
+ static const mp_float val("292509369349301569068815180481773552003419272043053514672100535242441942363589054622883930786268803187059211939585703515345785120071002251720730101703194015956992000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_116(void)
+ {
+ static const mp_float val("33931086844518982011982560935885732032396635556994207701963662088123265314176330336254535971207181169698868584991941607780111073928236261199604691797570505851011072000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_117(void)
+ {
+ static const mp_float val("3969937160808720895401959629498630647790406360168322301129748464310422041758630649341780708631240196854767624444057168110272995649603642560353748940315749184568295424000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_118(void)
+ {
+ static const mp_float val("468452584975429065657431236280838416439267950499862031533310318788629800927518416622330123618486343228862579684398745837012213486653229822121742374957258403779058860032000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_119(void)
+ {
+ static const mp_float val("55745857612076058813234317117419771556272886109483581752463927935846946310374691578057284710599874844234646982443450754604453404911734348832487342619913750049708004343808000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_120(void)
+ {
+ static const mp_float val("6689502913449127057588118054090372586752746333138029810295671352301633557244962989366874165271984981308157637893214090552534408589408121859898481114389650005964960521256960000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_121(void)
+ {
+ static const mp_float val("809429852527344373968162284544935082997082306309701607045776233628497660426640521713391773997910182738287074185078904956856663439318382745047716214841147650721760223072092160000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_122(void)
+ {
+ static const mp_float val("98750442008336013624115798714482080125644041369783596059584700502676714572050143649033796427745042294071023050579626404736512939596842694895821378210620013388054747214795243520000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_123(void)
+ {
+ static const mp_float val("12146304367025329675766243241881295855454217088483382315328918161829235892362167668831156960612640202170735835221294047782591091570411651472186029519906261646730733907419814952960000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_124(void)
+ {
+ static const mp_float val("1506141741511140879795014161993280686076322918971939407100785852066825250652908790935063463115967385069171243567440461925041295354731044782551067660468376444194611004520057054167040000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_125(void)
+ {
+ static const mp_float val("188267717688892609974376770249160085759540364871492425887598231508353156331613598866882932889495923133646405445930057740630161919341380597818883457558547055524326375565007131770880000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_126(void)
+ {
+ static const mp_float val("23721732428800468856771473051394170805702085973808045661837377170052497697783313457227249544076486314839447086187187275319400401837013955325179315652376928996065123321190898603130880000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_127(void)
+ {
+ static const mp_float val("3012660018457659544809977077527059692324164918673621799053346900596667207618480809067860692097713761984609779945772783965563851033300772326297773087851869982500270661791244122597621760000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_128(void)
+ {
+ static const mp_float val("385620482362580421735677065923463640617493109590223590278828403276373402575165543560686168588507361534030051833058916347592172932262498857766114955245039357760034644709279247692495585280000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_129(void)
+ {
+ static const mp_float val("49745042224772874403902341504126809639656611137138843145968864022652168932196355119328515747917449637889876686464600208839390308261862352651828829226610077151044469167497022952331930501120000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_130(void)
+ {
+ static const mp_float val("6466855489220473672507304395536485253155359447828049608975952322944781961185526165512707047229268452925683969240398027149120740074042105844737747799459310029635780991774612983803150965145600000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_131(void)
+ {
+ static const mp_float val("847158069087882051098456875815279568163352087665474498775849754305766436915303927682164623187034167333264599970492141556534816949699515865660644961729169613882287309922474300878212776434073600000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_132(void)
+ {
+ static const mp_float val("111824865119600430744996307607616902997562475571842633838412167568361169672820118454045730260688510087990927196104962685462595837360336094267205134948250389032461924909766607715924086489297715200000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_133(void)
+ {
+ static const mp_float val("14872707060906857289084508911813048098675809251055070300508818286592035566485075754388082124671571841702793317081960037166525246368924700537538282948117301741317436012998958826217903503076596121600000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_134(void)
+ {
+ static const mp_float val("1992942746161518876737324194182948445222558439641379420268181650403332765909000151088003004705990626788174304488982644980314383013435909872030129915047718433336536425741860482713199069412263880294400000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_135(void)
+ {
+ static const mp_float val("269047270731805048359538766214698040105045389351586221736204522804449923397715020396880405635308734616403531106012657072342441706813847832724067538531441988500432417475151165166281874370655623839744000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_136(void)
+ {
+ static const mp_float val("36590428819525486576897272205198933454286172951815726156123815101405189582089242773975735166401987907830880230417721361838572072126683305250473185240276110436058808776620558462614334914409164842205184000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_137(void)
+ {
+ static const mp_float val("5012888748274991661034926292112253883237205694398754483388962668892510972746226260034675717797072343372830591567227826571884373881355612819314826377917827129740056802397016509378163883274055583382110208000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_138(void)
+ {
+ static const mp_float val("691778647261948849222819828311491035886734385827028118707676848307166514238979223884785249055995983385450621636277440066920043595627074569065446040152660143904127838730788278294186615891819670506731208704000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_139(void)
+ {
+ static const mp_float val("96157231969410890041971956135297253988256079629956908500367081914696145479218112119985149618783441690577636407442564169301886059792163365100096999581219760002673769583579570682891939608962934200435638009856000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_140(void)
+ {
+ static const mp_float val("13462012475717524605876073858941615558355851148193967190051391468057460367090535696797920946629681836680869097041958983702264048370902871114013579941370766400374327741701139895604871545254810788060989321379840000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_141(void)
+ {
+ static const mp_float val("1898143759076170969428526414110767793728175011895349373797246196996101911759765533248506853474785138972002542682916216702019230820297304827075914771733278062452780211579860725280286887880928321116599494314557440000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_142(void)
+ {
+ static const mp_float val("269536413788816277658850750803729026709400851689139611079208959973446471469886705721287973193419489734024361060974102771686730776482217285444779897586125484868294790044340222989800738079091821598557128192667156480000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_143(void)
+ {
+ static const mp_float val("38543707171800727705215657364933250819444321791546964384326881276202845420193798918144180166658987031965483631719296696351202501036957071818603525354815944336166154976340651887541505545310130488593669331551403376640000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_144(void)
+ {
+ static const mp_float val("5550293832739304789551054660550388117999982337982762871343070903773209740507907044212761943998894132603029642967578724274573160149321818341878907651093495984407926316593053871805976798524658790357488383743402086236160000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_145(void)
+ {
+ static const mp_float val("804792605747199194484902925779806277109997439007500616344745281047115412373646521410850481879839649227439298230298915019813108221651663659572441609408556917739149315905992811411866635786075524601835815642793302504243200000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_146(void)
+ {
+ static const mp_float val("117499720439091082394795827163851716458059626095095089986332811032878850206552392125984170354456588787206137541623641592892713800361142894297576474973649309989915800122274950466132528824767026591868029083847822165619507200000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_147(void)
+ {
+ static const mp_float val("17272458904546389112034986593086202319334765035978978227990923221833190980363201642519673042105118551719302218618675314155228928653088005461743741821126448568517622617974417718521481737240752909004600275325629858346067558400000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_148(void)
+ {
+ static const mp_float val("2556323917872865588581178015776757943261545225324888777742656636831312265093753843092911610231557545654456728355563946494973881440657024808338073789526714388140608147460213822341179297111631430532680840748193219035217998643200000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_149(void)
+ {
+ static const mp_float val("380892263763056972698595524350736933545970238573408427883655838887865527498969322620843829924502074302514052524979028027751108334657896696442372994639480443832950613971571859528835715269633083149369445271480789636247481797836800000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_150(void)
+ {
+ static const mp_float val("57133839564458545904789328652610540031895535786011264182548375833179829124845398393126574488675311145377107878746854204162666250198684504466355949195922066574942592095735778929325357290444962472405416790722118445437122269675520000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_151(void)
+ {
+ static const mp_float val("8627209774233240431623188626544191544816225903687700891564804750810154197851655157362112747789971982951943289690774984828562603780001360174419748328584232052816331406456102618328128950857189333333217935399039885261005462721003520000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_152(void)
+ {
+ static const mp_float val("1311335885683452545606724671234717114812066337360530535517850322123143438073451583919041137664075741408695380032997797693941515774560206746511801745944803272028082373781327597985875600530292778666649126180654062559672830333592535040000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_153(void)
+ {
+ static const mp_float val("200634390509568239477828874698911718566246149616161171934231099284840946025238092339613294062603588435530393145048663047173051913507711632216305667129554900620296603188543122491838966881134795135997316305640071571629943041039657861120000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_154(void)
+ {
+ static const mp_float val("30897696138473508879585646703632404659201907040888820477871589289865505687886666220300447285640952619071680544337494109264649994680187591361311072737951454695525676891035640863743200899694758450943586711068571022031011228320107310612480000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_155(void)
+ {
+ static const mp_float val("4789142901463393876335775239063022722176295591337767174070096339929153381622433264146569329274347655956110484372311586936020749175429076661003216274382475477806479918110524333880196139452687559896255940215628508414806740389616633144934400000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_156(void)
+ {
+ static const mp_float val("747106292628289444708380937293831544659502112248691679154935029028947927533099589206864815366798234329153235562080607562019236871366935959116501738803666174537810867225241796085310597754619259343815926673638047312709851500780194770609766400000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_157(void)
+ {
+ static const mp_float val("117295687942641442819215807155131552511541831623044593627324799557544824622696635505477776012587322789677057983246655387237020188804608945581290772992175589402436306154362961985393763847475223716979100487761173428095446685622490578985733324800000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_158(void)
+ {
+ static const mp_float val("18532718694937347965436097530510785296823609396441045793117318330092082290386068409865488609988797000768975161352971551183449189831128213401843942132763743125584936372389347993692214687901085347282697877066265401639080576328353511479745865318400000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_159(void)
+ {
+ static const mp_float val("2946702272495038326504339507351214862194953894034126281105653614484641084171384877168612688988218723122267050655122476638168421183149385930893186799109435156968004883209906330997062135376272570217948962453536198860613811636208208325279592585625600000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_160(void)
+ {
+ static const mp_float val("471472363599206132240694321176194377951192623045460204976904578317542573467421580346978030238114995699562728104819596262106947389303901748942909887857509625114880781313585012959529941660203611234871833992565791817698209861793313332044734813700096000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_161(void)
+ {
+ static const mp_float val("75907050539472187290751785709367294850142012310319093001281637109124354328254874435863462868336514307629599224875954998199218529677928181579808491945059049643495805791487187086484320607292781408814365272803092482649411787748723446459202305005715456000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_162(void)
+ {
+ static const mp_float val("12296942187394494341101789284917501765723005994271693066207625211678145401177289658609880984670515317835995074429904709708273401807824365415928975695099566042246320538220924308010459938381430588227927174194100982189204709615293198326390773410925903872000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_163(void)
+ {
+ static const mp_float val("2004401576545302577599591653441552787812849977066285969791842909503537700391898214353410600501293996807267197132074467682448564494675371562796423038301229264886150247730010662205704969956173185881152129393638460096840367667292791327201696065980922331136000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_164(void)
+ {
+ static const mp_float val("328721858553429622726333031164414657201307396238870899045862237158580182864271307153959338482212215476391820329660212699921564577126760936298613378281401599441328640627721748601735615072812402484508949220556707455881820297436017777661078154820871262306304000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_165(void)
+ {
+ static const mp_float val("54239106661315887749844950142128418438215720379413698342567269131165730172604765680403290849565015553604650354393935095487058155225915554489271207416431263907819225703574088519286376487014046409943976621391856730220500349076942933314077895545443758280540160000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_166(void)
+ {
+ static const mp_float val("9003691705778437366474261723593317460743809582982673924866166675773511208652391102946946281027792581898371958829393225850851653767501982045219020431127589808697991466793298694201538496844331704050700119151048217216603057946772526930136930660543663874569666560000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_167(void)
+ {
+ static const mp_float val("1503616514864999040201201707840084015944216200358106545452649834854176371844949314192140028931641361177028117124508668717092226179172831001551576411998307498052564574954480881931656928973003394576466919898225052275172710677111011997332867420310791867053134315520000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_168(void)
+ {
+ static const mp_float val("252607574497319838753801886917134114678628321660161899636045172255501630469951484784279524860515748677740723676917456344471493998101035608260664837215715659672830848592352788164518364067464570288846442542901808782229015393754650015551921726612213033664926565007360000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_169(void)
+ {
+ static const mp_float val("42690680090047052749392518888995665380688186360567361038491634111179775549421800928543239701427161526538182301399050122215682485679075017796052357489455946484708413412107621199803603527401512378815048789750405684196703601544535852628274771797464002689372589486243840000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_170(void)
+ {
+ static const mp_float val("7257415615307998967396728211129263114716991681296451376543577798900561843401706157852350749242617459511490991237838520776666022565442753025328900773207510902400430280058295603966612599658257104398558294257568966313439612262571094946806711205568880457193340212661452800000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_171(void)
+ {
+ static const mp_float val("1241018070217667823424840524103103992616605577501693185388951803611996075221691752992751978120487585576464959501670387052809889858690710767331242032218484364310473577889968548278290754541561964852153468318044293239598173696899657235903947616152278558180061176365108428800000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_172(void)
+ {
+ static const mp_float val("213455108077438865629072570145733886730056159330291227886899710221263324938130981514753340236723864719151973034287306573083301055694802251980973629541579310661401455397074590303866009781148657954570396550703618437210885875866741044575478989978191912006970522334798649753600000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_173(void)
+ {
+ static const mp_float val("36927733697396923753829554635211962404299715564140382424433649868278555214296659802052327860953228596413291334931704037143411082635200789592708437910693220744422451783693904122568819692138717826140678603271725989637483256524946200711557865266227200777205900363920166407372800000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_174(void)
+ {
+ static const mp_float val("6425425663347064733166342506526881458348150508160426541851455077080468607287618805557105047805861775775912692278116502462953528378524937389131268196460620409529506610362739317326974626432136901748478076969280322196922086635340638923811068556323532935233826663322108954882867200000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_175(void)
+ {
+ static const mp_float val("1124449491085736328304109938642204255210926338928074644824004638489082006275333290972493383366025810760784721148670387931016867466241864043097971934380608571667663656813479380532220559625623957805983663469624056384461365161184611811666936997356618263665919666081369067104501760000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_176(void)
+ {
+ static const mp_float val("197903110431089593781523349201027948917123035651341137489024816374078433104458659211158835472420542693898110922165988275858968674058568071585243060450987108613508803599172370973670818494109816573853124770653833923665200268368491678853380911534764814405201861230320955810392309760000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_177(void)
+ {
+ static const mp_float val("35028850546302858099329632808581946958330777310287381335557392498211882659489182680375113878618436056819965633223379924827037455308366548670588021699824718224591058237053509662339734873457437533572003084405728604488740447501223027157048421341653372149720729437766809178439438827520000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_178(void)
+ {
+ static const mp_float val("6235135397241908741680674639927586558582878361231153877729215864681715113389074517106770270394081618113953882713761626619212667044889245663364667862568799843977208366195524719896472807475423880975816549024219691598995799655217698833954618998814300242650289839922492033762220111298560000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_179(void)
+ {
+ static const mp_float val("1116089236106301664760840760547037993986335226660376544113529639778027005296644338562111878400540609642397745005763331164839067401035174973742275547399815172071920297548998924861468632538100874694671162275335324796220248138283968091277876800787759743434401881346126074043437399922442240000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_180(void)
+ {
+ static const mp_float val("200896062499134299656951336898466838917540340798867777940435335160044860953395980941180138112097309735631594101037399609671032132186331495273609598531966730972945653558819806475064353856858157445040809209560358463319644664891114256430017824141796753818192338642302693327818731986039603200000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_181(void)
+ {
+ static const mp_float val("36362187312343308237908191978622497844074801684595067807218795663968119832564672550353604998289613062149318532287769329350456815925726000644523337334285978306103163294146384971986648048091326497552386466930424881860855684345291680413833226169665212441092813294256787492335190489473168179200000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_182(void)
+ {
+ static const mp_float val("6617918090846482099299290940109294607621613906596302340913820810842197809526770404164356109688709577311175972876374017941783140498482132117303247394840048051710775719534642064901569944752621422554534336981337328498675734550843085835317647162879068664278892019554735323605004669084116608614400000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_183(void)
+ {
+ static const mp_float val("1211079010624906224171770242040000913194755344907123328387229208384122199143398983962077168073033852647945203036376445283346314711222230177466494273255728793463071956674839497876987299889729720327479783667584731115257659422804284707863129430806869565563037239578516564219715854442393339376435200000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_184(void)
+ {
+ static const mp_float val("222838537954982745247605724535360168027834983462910692423250174342678484642385413049022198925438228887221917358693265932135721906864890352653834946279054097997205240028170467609365663179710268540256280194835590525207409333795988386246815815268464000063598852082447047816427717217400374445264076800000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_185(void)
+ {
+ static const mp_float val("41225129521671807870807059039041631085149471940638478098301282253395519658841301414069106801206072344136054711358254197445108552770004715240959465061625008129482969405211536507732647688246399679947411836044584247163370726752257851455660925824665840011765787635252703846039127685219069272373854208000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_186(void)
+ {
+ static const mp_float val("7667874091030956263970112981261743381837801780958756926284038499131566656544482063016853865024329456009306176312635280724790190815220877034818460501462251512083832309369345790438272470013830340470218601504292669972386955175919960370752932203387846242188436500157002915363277749450746884661536882688000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_187(void)
+ {
+ static const mp_float val("1433892455022788821362411127495946012403668933039287545215115199337602964773818145784151672759549608273740254970462797495535765682446304005511052113773441032759676641852067662811956951892586273667930878481302729284836360617897032589330798322033527247289237625529359545172932939147289667431707397062656000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_188(void)
+ {
+ static const mp_float val("269571781544284298416133291969237850331889759411386058500441657475469357377477811407420514478795326355463167934447005929160723948299905153036077797389406914158819208668188720608647906955806219449571005154484913105549235796164642126794190084542303122490376673599519594492511392559690457477160990647779328000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_189(void)
+ {
+ static const mp_float val("50949066711869732400649192182185953712727164528751965056583473262863708544343306356002477236492316681182538739610484120611376826228682073923818703706597906776016830438287668195034454414647375475968919974197648576948805565475117361964101925978495290150681191310309203359084653193781496463183427232430292992000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_190(void)
+ {
+ static const mp_float val("9680322675255249156123346514615331205418161260462873360750859919944104623425228207640470674933540169424682360525991982916161596983449594045525553704253602287443197783274656957056546338783001340434094795097553229620273057440272298773179365935914105128629426348958748638226084106818484328004851174161755668480000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_191(void)
+ {
+ static const mp_float val("1848941630973752588819559184291528260234868800748408811903414244709323983074218587659329898912306172360114330860464468736986865023838872462695380757512438036901650776605459478797800350707553256022912105863632666857472153971092009065677258893759594079568220432651120989901182064402330506648926574264895332679680000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_192(void)
+ {
+ static const mp_float val("354996793146960497053355363383973425965094809743694491885455534984190204750249968830591340591162785093141951525209177997501478084577063512837513105442388103085116949108248219929177667335850225156399124325817472036634653562449665740610033707601842063277098323069015230061026956365247457276593902258859903874498560000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_193(void)
+ {
+ static const mp_float val("68514381077363375931297585133106871211263298280533036933892918251948709516798243984304128734094417522976396644365371353517785270323373257977640029350380903895427571177891906446331289795819093455185030994882772103070488137552785487937736505567155518212479976352319939401778202578492759254382623135959961447778222080000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_194(void)
+ {
+ static const mp_float val("13291789929008494930671731515822733014985079866423409165175226140878049646258859332955000974414316999457420949006882042582450342442734412047662165693973895355712948808511029850588270220388904130305896013007257787995674698685240384659920882080028170533221115412350068243944971300227595295350228888376232520868975083520000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_195(void)
+ {
+ static const mp_float val("2591899036156656511480987645585432937922090573952564787209169097471219681020477569926225190010791814894197085056341998303577816776333210349294122310324909594364025017659650820864712692975836305409649722536415268659156566243621875008684572005605493253978117505408263307569269403544381082593294633233365341569450141286400000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_196(void)
+ {
+ static const mp_float val("508012211086704676250273578534744855832729752494702698292997143104359057480013603705540137242115195719262628671043031667501252088161309228461647972823682280495348903461291560889483687823263915860291345617137392657194686983749887501702176113098676677779711031060019608283576803094698692188285748113739606947612227692134400000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_197(void)
+ {
+ static const mp_float val("100078405584080821221303894971344736599047761241456431563720437191558734323562679929991407036696693556694737848195477238497746661367777918006944650646265409257583733981874437495228286501182991424477395086576066353467353335798727837835328694280439305522603073118823862831864630209655642361092292378406702568679608855350476800000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_198(void)
+ {
+ static const mp_float val("19815524305648002601818171204326257846611456725808373449616646563928629396065410626138298593265945324225558093942704493222553838950820027765375040827960551033001579328411138624055200727234232302046524227142061137986535960488148111891395081467526982493475408477527124840709196781511817187496273890924527108598562553359394406400000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_199(void)
+ {
+ static const mp_float val("3943289336823952517761816069660925311475679888435866316473712666221797249817016714601521420059923119520886060694598194151288213951213185525309633124764149655567314286353816586186984944719612228107258321201270166459320656137141474266387621212037869516201606287027897843301130159520851620311758504293980894611113948118519486873600000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_200(void)
+ {
+ static const mp_float val("788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_201(void)
+ {
+ static const mp_float val("158520231340322891214025006000369197521322331515121825922243249182116249442644071926981161086408909404739619639922847404881786200838770058117447251615518816153806034311423426764716794777728411569911784512291060691664690376713087265508782372723922354551304572738521493300705432412738235136532691872618031963366780714364483372318720000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_202(void)
+ {
+ static const mp_float val("32021086730745224025233051212074577899307110966054608836293136334787482387414102529250194539454599699757403167264415175786120812569431551739724344826334800863068818930907532206472792545101139137122180471482794259716267456096043627632774039290232315619363523693181341646742497347373123497579603758268842456600089704301625641208381440000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_203(void)
+ {
+ static const mp_float val("6500280606341280477122309396051139313559343526109085593767506675961858924645062813437789491509283739050752842954676280684582524951594605003164041999745964575202970242974229037913976886655531244835802635711007234722402293587496856409453129975917160070730795309715812354288726961516744070008659562928575018689818209973230005165301432320000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_204(void)
+ {
+ static const mp_float val("1326057243693621217332951116794432419966106079326253461128571361896219220627592813941309056267893882766353579962753961259654835090125299420645464567948176773341405929566742723734451284877728373946503737685045475883370067891849358707528438515087100654429082243182025720274900300149415790281766550837429303812722914834538921053721492193280000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_205(void)
+ {
+ static const mp_float val("271841734957192349553254978942858646093051746261881959531357129188724940228656526857968356534918245967102483892364562058229241193475686381232320236429376238534988215561182258365562513399934316659033266225434322556090863917829118535043329895592855634157961859852315272656354561530630237007762142921673007281608197541080478816012905899622400000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_206(void)
+ {
+ static const mp_float val("55999397401181624007970525662228881095168659729947683663459568612877337687103244532741481446193158669223111681827099783995223685855991394533857968704451505138207572405603545223305877760386469231760852842439470446554717967072798418218925958492128260636540143129576946167209039675309828823599001441864639500011288693462578636098658615322214400000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_207(void)
+ {
+ static const mp_float val("11591875262044596169649898812081378386699912564099170518336130702865608901230371618277486659361983844529184118138209655287011302972190218668508599521821461563608967487959933861224316696399999130974496538384970382436826619184069272571317673407870549951763809627822427856612271212789134566484993298465980376502336759546753777672422333371698380800000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_208(void)
+ {
+ static const mp_float val("2411110054505276003287178952912926704433581813332627467813915186196046651455917296601717225147292639662070296572747608299698351018215565483049788700538864005230665237495666243134657872851199819242695279984073839546859936790286408694834076068837074389966872402587064994175352412260139989828878606080923918312486045985724785755863845341313263206400000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_209(void)
+ {
+ static const mp_float val("503922001391602684687020401158801681226618598986519140773108273914973750154286714989758900055784161689372691983704250134636955362807053185957405838412622577093209034636594244815143495425900762221723313516671432465293726789169859417220321898386948547503076332140696583782648654162369257874235628670913098927309583611016480222975543676334472010137600000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_210(void)
+ {
+ static const mp_float val("105823620292236563784274284243348353057589905787169019562352737522144487532400210147849369011714673954768265316577892528273760626189481169051055226066650741189573897273684791411180134039439160066561895838501000817711682625725670477616267598661259194975646029749546282594356217374097544153589482020891750774735012558313460846824864172030239122128896000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_211(void)
+ {
+ static const mp_float val("22328783881661914958481873975346502495151470121092663127656427617172486869336444341196216861471796204456103981797935323465763492125980526669772652700063306391000092324747490987759008282321662774044560021923711172537165034028116470777032463317525690139861312277154265627409161865934581816407380706408159413469087649804140238680046340298380454769197056000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_212(void)
+ {
+ static const mp_float val("4733702182912325971198157282773458528972111665671644583063162654840567216299326200333597974632020795344694044141162288574741860330707871653991802372413420954892019572846468089404909755852192508097446724647826768577878987213960691804730882223315446309650598202756704313010742315578131345078364709758529795655446581758477730600169824143256656411069775872000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_213(void)
+ {
+ static const mp_float val("1008278564960325431865207501230746666671059784788060296192453645481040817071756480671056368596620429408419831402067567466420016250440776662300253905324058663392000169016297703043245777996517004224756152349987101707088224276573627354407677913566190063955577417187178018671288113218141976501691683178566846474610121914555756617836172542513667815557862260736000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_214(void)
+ {
+ static const mp_float val("215771612901509642419154405263379786667606793944644903385185080132942734853355886863606062879676771893401843920042459437813883477594326205732254335739348553965888036169487708451254596491254638904097816602897239765316879995186756253843243073503164673686493567278056095995655656228682382971362020200213305145566566089714931916216940924097924912529382523797504000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_215(void)
+ {
+ static const mp_float val("46390896773824573120118197131626654133535460698098654227814792228582687993471515675675303519130505957081396442809128779129984947682780134232434682183959939102665927776439857317019738245619747364381030569622906549543129198965152594576297260803180404842596116964782060639065966089166712338842834343045860606296811709288710361986642298681053856193817242616463360000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_216(void)
+ {
+ static const mp_float val("10020433703146107793945530580431357292843659510789309313207995121373860606589847385945865560132189286729581631646771816292076748699480508994205891351735346846175840399711009180476263461053865430706302603038547814701315906976472960428480208333486967446000761264392925098038248675260009865190052218097905890960111329206361438189114736515107632937864524405156085760000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_217(void)
+ {
+ static const mp_float val("2174434113582705391286180135953604532547074113841280120966134941338127751629996882750252826548685075220319214067349484135380654467787270451742678423326570265620157366737288992163349171048688798463267664859364875790185551813894632412980205208366671935782165194373264746274299962531422140746241331327245578338344158437780432087037897823778356347516601795918870609920000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_218(void)
+ {
+ static const mp_float val("474026636761029775300387269637885788095262156817399066370617417211711849855339320439555116187613346398029588666682187541512982673977624958479903896285192317905194305948729000291610119288614158064992350939341542922260450295429029866029684735423934482000512012373371714687797391831850026682680610229339536077759026539436134194974261725583681683758619191510313792962560000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_219(void)
+ {
+ static const mp_float val("103811833450665520790784812050696987592862412343010395535165214369364895118319311176262570445087322861168479918003399071591343205601099865907098953286457117621237553002771651063862616124206500616233324855715797899975038614698957540660500957057841651558112130709768405516627628811175155843507053640225358401029226812136513388699363317902826288743137602940758720658800640000000000000000000000000000000000000000000000000000");
+ return val;
+ }
+
+ static const mp_float& A000142_220(void)
+ {
+ static const mp_float val("+2.28386033591464145739726586511533372704297307154622870177363471612602769260302484587777654979192110294570655819607477957500955052322419704995617697230205658766722616606097632340497755473254301355713314682574755379945084952337706589453102105527251633427846687561490492136580783384585342855715518008495788482264298986700329455138599299386217835234902726469669185449361408000000000000000000000000000000000000000000000000000E+000000000000000421");
+ return val;
+ }
+
+ static const mp_float& A000142_221(void)
+ {
+ static const mp_float val("+5.04733134237135762084795756190488753676497048811716543091973272263852120065268490938988617504014563751001149361332526286077110665632547548040315110878754505874456982699475767472500039595892005996126425448490209389678637744666331562691355653215226109875541179510893987621843531279933607711131294798775692545804100760607728095856304451643541415869135025497968899843088711680000000000000000000000000000000000000000000000000E+000000000000000423");
+ return val;
+ }
+
+ static const mp_float& A000142_222(void)
+ {
+ static const mp_float val("+1.12050755800644139182824657874288503316182344836201072566418066442575170654489604988455473085891233152722255158215820835509118567770425555664949954615083500304129450159283620378895008790288025331140066449564826484508657579315925606917480955013780196392370141851418465252049263944145260911871147445328203745168510368854915637280099588264866194322947975660549095765165693992960000000000000000000000000000000000000000000000E+000000000000000426");
+ return val;
+ }
+
+ static const mp_float& A000142_223(void)
+ {
+ static const mp_float val("+2.49873185435436430377698987059663362395086628984728391823112288166942630559511819124255704981537449930570629002821280463185334406128048989132838398791636205678208673855202473444935869602342296488442348182529563060454306401874514103425982529680729837954985416328663177512069858595443931833472658803081894351725778122546461871134622081830651613340173985723024483556319497604300800000000000000000000000000000000000000000000E+000000000000000428");
+ return val;
+ }
+
+ static const mp_float& A000142_224(void)
+ {
+ static const mp_float val("+5.59715935375377604046045731013645931764994048925791597683771525493951492453306474838332779158643887844478208966319668237535149069726829735657558013293265100719187429435653540516656347909246744134110859928866221255417646340198911591674200866484834837019167332576205517627036483253794407306978755718903443347865742994504074591341553463300659613881989728019574843166155674633633792000000000000000000000000000000000000000000E+000000000000000430");
+ return val;
+ }
+
+ static const mp_float& A000142_225(void)
+ {
+ static const mp_float val("+1.25936085459459960910360289478070334647123661008303109478848593236139085801993956838624875310694874765007597017421925353445408540688536690522950552990984647661817171623022046616247678279580517430174943483994899782468970426544755108126695194959087838329312649829646241466083208732103741644070220036753274753269792173763416783051849529242648413123447688804404339712385026792567603200000000000000000000000000000000000000000E+000000000000000433");
+ return val;
+ }
+
+ static const mp_float& A000142_226(void)
+ {
+ static const mp_float val("+2.84615553138379511657414254220438956302499473878765027422197820713674333912506342455292218202170416968917169259373551298786623301956092920581868249759625303715706807868029825352719752911851969392195372273828473508379873163991146544366331140607538514624246588615000505713348051734554456115598697283062400942389730312705321929697179936088385413658991776697953807749990160551202783232000000000000000000000000000000000000000E+000000000000000435");
+ return val;
+ }
+
+ static const mp_float& A000142_227(void)
+ {
+ static const mp_float val("+6.46077305624121491462330357080396430806673805704796612248389053020040737981389397373513335318926846519441974218777961448245634895440330929720840926954349439434654453860427703550673839109903970520283495061590634864022312082259902655711571689179112428197039756156051147969300077437438615382409042832551650139224687809841080780412598454920634889005911333104355143592477664451230317936640000000000000000000000000000000000000E+000000000000000437");
+ return val;
+ }
+
+ static const mp_float& A000142_228(void)
+ {
+ static const mp_float val("+1.47305625682299700053411321414330386223921627700693627592632704088569288259756782601161040452715321006432770121881375210200004756160395451976351731345591672191101215480177516409553635317058105278624636874042664748997087154755257805502238345132837633628925064403579661737000417655736004307189261765821776231743228820643766417934072447721904754693347783947792972739084907494880512489553920000000000000000000000000000000000E+000000000000000440");
+ return val;
+ }
+
+ static const mp_float& A000142_229(void)
+ {
+ static const mp_float val("+3.37329882812466313122311926038816584452780527434588407187128892362823670114843032156658782636718085104731043579108349231358010891607305585025845464781404929317621783449606512577877824876063061088050418441557702275203329584389540374600125810354198181010238397484197425377730956431635449863463409443731867570691993999274225097069025905283161888247766425240445907572504438163276373601078476800000000000000000000000000000000E+000000000000000442");
+ return val;
+ }
+
+ static const mp_float& A000142_230(void)
+ {
+ static const mp_float val("+7.75858730468672520181317429889278144241395213099553336530396452434494441264138973960315200064451595740881400231949203232123425050696802845559444568997231337430530101934094978929118997214945040502515962415582715232967658044095942861580289363814655816323548314213654078368781199792761534685965841720583295412591586198330717723258759582151272342969862778053025587416760207775535659282480496640000000000000000000000000000000E+000000000000000444");
+ return val;
+ }
+
+ static const mp_float& A000142_231(void)
+ {
+ static const mp_float val("+1.79223366738263352161884326304423251319762294225996820738521580512368215932016102984832811214888318616143603453580265946620511186710961457324231695438360438946452453546775940132626488356652304356081187317999607218815529008186162801025046843041185493570739660583354092103188457152127914512458109437454741240308656411814395794072773463476943911226038301730248910693271607996148737294252994723840000000000000000000000000000E+000000000000000447");
+ return val;
+ }
+
+ static const mp_float& A000142_232(void)
+ {
+ static const mp_float val("+4.15798210832770977015571637026261943061848522604312624113370066788694260962277358924812122018540899189453160012306216996159585953169430580992217533416996218355769692228520181107693452987433346106108354577759088747652027298991897698378108675855550345084116012553381493679397220592936761668902813894894999677516082875409398242248834435266509874044408860014177472808390130551065070522666947759308800000000000000000000000000E+000000000000000449");
+ return val;
+ }
+
+ static const mp_float& A000142_233(void)
+ {
+ static const mp_float val("+9.68809831240356376446281914271190327334107057668048414184152255617657628042106246294812244303200295111425862828673485601051835270884773253711866852861601188768943382892452021980925745460719696427232466166178676782029223606651121637220993214743432304045990309249378880272995523981542654688543556375105349248612473099703897904439784234170968006523472643833033511643549004183981614317813988279189504000000000000000000000000E+000000000000000451");
+ return val;
+ }
+
+ static const mp_float& A000142_234(void)
+ {
+ static const mp_float val("+2.26701500510243392088429967939458536596181051494323328919091627814531884961852861632986065166948869056073651901909595630646129453387036941368576843569614678171932751596833773143536624437808408963972397082885810366994838323956362463109712412249963159146761732364354657983880952611680981197119192191774651724175318705330712109638909510796006513526492598656929841724590466979051697750368473257330343936000000000000000000000E+000000000000000454");
+ return val;
+ }
+
+ static const mp_float& A000142_235(void)
+ {
+ static const mp_float val("+5.32748526199071971407810424657727561001025471011659822959865325364149929660354224837517253142329842281773081969487549732018404215459536812216155582388594493704041966252559366887311067428849761065335133144781654362437870061297451788307824168787413423994890071056233446262120238637450305813230101650670431551811998957527173457651437350370615306787257606843785128052787597400771489713365912154726308249600000000000000000000E+000000000000000456");
+ return val;
+ }
+
+ static const mp_float& A000142_236(void)
+ {
+ static const mp_float val("+1.25728652182980985252243260219223704396242011158751718218528216785939383399843597061654071741589842778498447344799061736756343394848450687683012717443708300514153904035604010585405411913208543611419091422168470429535337334466198622040646503833829568062794056769271093317860376318438272171922303989558221846227631753976412936005739214687465212401792795215133290220457872986582071572354355268515408746905600000000000000000E+000000000000000459");
+ return val;
+ }
+
+ static const mp_float& A000142_237(void)
+ {
+ static const mp_float val("+2.97976905673664935047816526719560179419093566446241572177911873782676338657629325036120150027567927385041320207173776316112533845790828129808740140341588672218544752564381505087410826234304248359063246670539274917998749482684890734236332214086176076308821914543172491163329091874698705047455860455252985775559487256924098658333601938809292553392248924659865897822485158978199509626479821986381518730166272000000000000000E+000000000000000461");
+ return val;
+ }
+
+ static const mp_float& A000142_238(void)
+ {
+ static const mp_float val("+7.09185035503322545413803333592553227017442688142054941783430259602769686005157793585965957065611667176398342093073587632347830552982170948944801534012981039880136511103227982108037766437644111094570527075883474304837023768790039947482470669525099061614996156612750528968723238661782918012944947883502106145831579671479354806833972614366116277073552440690480836817514678368114832911021976327588014577795727360000000000000E+000000000000000463");
+ return val;
+ }
+
+ static const mp_float& A000142_239(void)
+ {
+ static const mp_float val("+1.69495223485294088353898996728620221257168802465951131086239832045061954955232712667045863738681188455159203760244587444131131502162738856797807566629102468531352626153671487723821026178596942551602355971136150358856048680740819547448310490016498675725984081430447376423524854040166117405093842544157003368853747541483565798833319454833501790220579033325024919999386008129979445065734252342293535484093178839040000000000E+000000000000000466");
+ return val;
+ }
+
+ static const mp_float& A000142_240(void)
+ {
+ static const mp_float val("+4.06788536364705812049357592148688531017205125918282714606975596908148691892558510400910072972834852292382089024587009865914715605190573256314738159909845924475246302768811570537170462828632662123845654330726760861254516833777966913875945176039596821742361795433073703416459649696398681772225222105976808085248994099560557917199966691600404296529389679980059807998526419511950668157762205621504485161823629213696000000000E+000000000000000468");
+ return val;
+ }
+
+ static const mp_float& A000142_241(void)
+ {
+ static const mp_float val("+9.80360372638941007038951797078339359751464353463061342202811188548638347461066010066193275864531994024640834549254693776854464608509281547718518965382728677985343589672835884994580815417004715718468026937051493675623385569404900262441027874255428340399091926993707625233667755768320823071062785275404107485450075779940944580451919726756974354635829128751944137276448671023801110260206915547825809239994946405007360000000E+000000000000000470");
+ return val;
+ }
+
+ static const mp_float& A000142_242(void)
+ {
+ static const mp_float val("+2.37247210178623723703426334892958125059854373538060844813080307628770480085577974436018772759216742553963081960919635893998780435259246134547881589622620340072453148700826284168688557330915141203869262518766461469500859307795985863510728745569813658376580246332477245306547596895933639183197194036647794011478918338745708588469364573875187793821870649157970481220900578387759868682970073562573845836078777030011781120000E+000000000000000473");
+ return val;
+ }
+
+ static const mp_float& A000142_243(void)
+ {
+ static const mp_float val("+5.76510720734055648599325993789888243895446127697487852895785147537912266607954477879525617804896684406130289165034715222417036457679968106951352262782967426376061151343007870529913194314123793125402307920602501370887088117944245648331070851734647189855089998587919706094910660457118743215169181509054139447893771563152071869980555914516706338987145677453868269366788405482256480899617278757054445381671428182928628121600E+000000000000000475");
+ return val;
+ }
+
+ static const mp_float& A000142_244(void)
+ {
+ static const mp_float val("+1.40668615859109578258235542484732731510488855158187036106571575999250593052340892602604250744394790995095790556268470514269756895673912218096129952119044052035758920927693920409298819412646205522598163132627010334496449500778395938192781287823253914324641959655452408287158201151536973344501280288209210025286080261409105536275255643142076346712863545298743857725496370937670581339506616016721284673127828476634585261670E+000000000000000478");
+ return val;
+ }
+
+ static const mp_float& A000142_245(void)
+ {
+ static const mp_float val("+3.44638108854818466732677079087595192200697695137558238461100361198163952978235186876380414323767237937984686862857752759960904394401084934335518382691657927487609356272850105002782107560983203530365499674936175319516301276907070048572314155166972090095372801155858400303537592821265584694028136706112564561950896640452308563874376325698087049446515685981922451427466108797292924281791209240967147449163179767754733891092E+000000000000000480");
+ return val;
+ }
+
+ static const mp_float& A000142_246(void)
+ {
+ static const mp_float val("+8.47809747782853428162385614555484172813716330038393266614306888547483324326458559715895819236467405327442329682630071789503824810226668938465375221421478501619519016431211258306843984600018680684699129200342991286010101141191392319487892821710751341634617090843411664746702478340313338347309216297036908822399205735512679067130965761217294141638428587515529230511566627641340593733206374732779182724941422228676645372088E+000000000000000482");
+ return val;
+ }
+
+ static const mp_float& A000142_247(void)
+ {
+ static const mp_float val("+2.09409007702364796756109246795204590684987933519483136853733801471228381108635264249826267351407449115878255431609627732007444728125987227800947679691105189900021197058509180801790464196204614129120684912484718847644494981874273902913509526962555581383750421438322681192435512150057394571785376425368116479132603816671631729581348543020671652984691861116335719936356957027411126652101974558996458133060531290483131406906E+000000000000000485");
+ return val;
+ }
+
+ static const mp_float& A000142_248(void)
+ {
+ static const mp_float val("+5.19334339101864695955150932052107384898770075128318179397259827648646385149415455339569143031490473807378073470391876775378462925752448324946350245633940870952052568705102768388440351206587443040219298582962102742158347555048199279225503626867137841831701045167040249357240070132142338538027733534912928868248857465345646689361744386691265699402035815568512585442165253427979594097212896906311216169990117600398165889126E+000000000000000487");
+ return val;
+ }
+
+ static const mp_float& A000142_249(void)
+ {
+ static const mp_float val("+1.29314250436364309292832582080974738839793748706951226669917697084512949902204448379552716614841127978037140294127577317069237268512359632911641211162851276867061089607570589328721647450440273317014605347157563582797428541207001620527150403089917322616093560246593022089952777462903442295968905650193319288193965508871066025651074352286125159151106918076559633775099148103566918930206011329671492826327539282499143306392E+000000000000000490");
+ return val;
+ }
+
+ static const mp_float& A000142_250(void)
+ {
+ static const mp_float val("+3.23285626090910773232081455202436847099484371767378066674794242711282374755511120948881791537102819945092850735318943292673093171280899082279103027907128192167652724018926473321804118626100683292536513367893908956993571353017504051317876007724793306540233900616482555224881943657258605739922264125483298220484913772177665064127685880715312897877767295191399084437747870258917297325515028324178732065818848206247858265981E+000000000000000492");
+ return val;
+ }
+
+ static const mp_float& A000142_251(void)
+ {
+ static const mp_float val("+8.11446921488186040812524452558116486219705773136118947353733549205318760636332913581693296758128078062183055345650547664609463859915056696520548600046891762340808337287505448037728337751512715064266648553413711482053864096073935168807868779389231199415987090547371213614453678579719100407204882954963078533417133568165939310960491560595435373673195910930411701938747154349882416287042721093688617485205308997682124247612E+000000000000000494");
+ return val;
+ }
+
+ static const mp_float& A000142_252(void)
+ {
+ static const mp_float val("+2.04484624215022882284756162044645354527365854830301974733140854399740327680355894222586710783048275671670129947103938011481584892698594287523178247211816724109883700996451372905507541113381204196195195435460255293477573752210631662539582932406086262252828746817937545830842327002089213302615630504650695790421117659177816706362043873270049714165645369554463748888564282896170368904334765715609531606271737867415895310398E+000000000000000497");
+ return val;
+ }
+
+ static const mp_float& A000142_253(void)
+ {
+ static const mp_float val("+5.17346099264007892180433089972952746954235612720663996074846361631343029031300412383144378281112137449325428766172963169048409778527443547433640965445896311998005763521021973450934079016854446616373844451714445892498261593092898106225144818987398243499656729449381990952031087315285709655617545176766260349765427677719876267095970999373225776839082784972793284688067635727311033327966957260492114963867496804562215135308E+000000000000000499");
+ return val;
+ }
+
+ static const mp_float& A000142_254(void)
+ {
+ static const mp_float val("+1.31405909213058004613830004853129997726375845631048655003010975854361129373950304745318672083402482912128658906607932644938296083745970661048144805223257663247493463934339581256537256070281029440558956490735469256694558444645596118981186784022799153848912809280143025701815896178082570252526856474898630128840418630140848571842376633840799347317127027383089494310769179474737002465303607144164997200822344188358802644368E+000000000000000502");
+ return val;
+ }
+
+ static const mp_float& A000142_255(void)
+ {
+ static const mp_float val("+3.35085068493297911765266512375481494202258406359174070257677988428620879903573277100562613812676331425928080211850228244592655013552225185672769253319307041281108333032565932204170002979216625073425339051375446604571124033846270103402026299258137842314727663664364715539630535254110554143943484010991506828543067506859163858198060416294038335658673919826878210492461407660579356286524198217620742862096977680314946743139E+000000000000000504");
+ return val;
+ }
+
+ static const mp_float& A000142_256(void)
+ {
+ static const mp_float val("+8.57817775342842654119082271681232625157781520279485619859655650377269452553147589377440291360451408450375885342336584306157196834693696475322289288497426025679637332563368786442675207626794560187968867971521143307702077526646451464709187326100832876325702818980773671781454170250523018608495319068138257481070252817559459476987034665712738139286205234756808218860701203611083152093501947437109101726968262861606263662435E+000000000000000506");
+ return val;
+ }
+
+ static const mp_float& A000142_257(void)
+ {
+ static const mp_float val("+2.20459168263110562108604143822076784665549850711827804303931502146958249306158930470002154879636011971746602532980502166682399586516279994157828347143838488599666794468785778115767528360086201968307999068680933830079433924348138026430261142807914049215705624478058833647833721754384415782383297000511532172635054974112781085585667909088173701796554745332499712247200209328048370088030000491337039143830843555432809761246E+000000000000000509");
+ return val;
+ }
+
+ static const mp_float& A000142_258(void)
+ {
+ static const mp_float val("+5.68784654118825250240198691060958104437118614836515735104143275539152283209890040612605559589460910887106234535089695590040590933212002384927197135631103300587140329729467307538680223169022401078234637597196809281604939524818196108190073748444418246976520511153391790811411002126311792718548906261319753005398441833210975200811023205447488150635111242957849257597776540066364794827117401267649560991083576373016649184014E+000000000000000511");
+ return val;
+ }
+
+ static const mp_float& A000142_259(void)
+ {
+ static const mp_float val("+1.47315225416775739812211460984788149049213721242657575391973108364640441351361520518664839933670375919760514744588231157820513051701908617696144058128455754852069345399932032652518177800776801879262771137673973603935679336927912792021229100847104325966918812388728473820155449550714754314104166721681816028398196434801642577010055010210899431014493811926082957717824123877188481860223406928321236296690646280611312138660E+000000000000000514");
+ return val;
+ }
+
+ static const mp_float& A000142_260(void)
+ {
+ static const mp_float val("+3.83019586083616923511749798560449187527955675230909696019130081748065147513539953348528583827542977391377338335929401010333333934424962406009974551133984962615380298039823284896547262282019684886083204957952331370232766276012573259255195662202471247513988912210694031932404168831858361216670833476372721673835310730484270700226143026548338520637683911007815690066342722080690052836580858013635214371395680329589411560515E+000000000000000516");
+ return val;
+ }
+
+ static const mp_float& A000142_261(void)
+ {
+ static const mp_float val("+9.99681119678240170365666974242772379447964312352674306609929513362450035010339278239659603789887170991494853056775736636970001568849151879686033578459700752426142577883938773579988354556071377552677164940255584876307519980392816206656060678348449956011511060869911423343574880651150322775510875373332803568710161006563946527590233299291163538864355007730398951073154504630601037903476039415587909509342725660228364172945E+000000000000000518");
+ return val;
+ }
+
+ static const mp_float& A000142_262(void)
+ {
+ static const mp_float val("+2.61916453355698924635804747251606363415366649836400668331801532500961909172708890898790816192950438799771651500875242998886140411038477792477740797556441597135649355405591958677956948893690700918801417214346963237592570234862917846143887897727293888475015897947916792916016618730601384567183849347813194535002062183719753990228641124414284847182461012025364525181166480213217471930710722326884032291447794122979831413311E+000000000000000521");
+ return val;
+ }
+
+ static const mp_float& A000142_263(void)
+ {
+ static const mp_float val("+6.88840272325488171792166485271724735782414289069733757712638030477529821124224383063819846587459654043399443447301889087070549281031196594216458297573441400466757804716706851323026775590406543416447727273732513314868459717689473935358425171022782926689291811603021165369123707261481641411693523784748701627055423543182952994301326157209569148089872461626708701226467842960761951177769199719705004926507698543436956617009E+000000000000000523");
+ return val;
+ }
+
+ static const mp_float& A000142_264(void)
+ {
+ static const mp_float val("+1.81853831893928877353131952111735330246557372314409712036136440046067872776795237128848439499089348667457453070087698718986625010192235900873144990559388529723224060445210608749279068755867327461942200000265383515125273365470021118934624245150014692645973038263197587657448658717031153332687090279173657229542631815400299590495550105503326255095726329869451097123787510541641155110931068726002121300598032415467356546890E+000000000000000526");
+ return val;
+ }
+
+ static const mp_float& A000142_265(void)
+ {
+ static const mp_float val("+4.81912654518911524985799673096098625153377036633185736895761566122079862858507378391448364672586773968762250635732401605314556277009425137313834224982379603766543760179808113185589532203048417774146830000703266315081974418495555965176754249647538935511828551397473607292238945600132556331620789239810191658287974310810793914813207779583814576003674774154045407378036902935349061043967332123905621446584785900988494849260E+000000000000000528");
+ return val;
+ }
+
+ static const mp_float& A000142_266(void)
+ {
+ static const mp_float val("+1.28188766102030465646222713043562234290798291744427406014272576588473243520362962652125265002908081875690758669104818827013671969684507086525479903845312974601900640207828958107366815566010879127923056780187068839811805195319817886737016630406245356846146394671727979539735559529635259984211129937789510981104601166675671181340313269369294677216977489924976078362557816180802850237695310344958895304791553049662939629903E+000000000000000531");
+ return val;
+ }
+
+ static const mp_float& A000142_267(void)
+ {
+ static const mp_float val("+3.42264005492421343275414643826311165556431438957621174058107779491223560199369110281174457557764578608094325646509866268126504159057633921023031343266985642187074709354903318146669397561249047271554561603099473802297519871503913757587834403184675102779210873773513705371093943944126144157843716933897994319549285115024042054178636429216016788169329898099686129228029369202743610134646478621040250463793446642600048811841E+000000000000000533");
+ return val;
+ }
+
+ static const mp_float& A000142_268(void)
+ {
+ static const mp_float val("+9.17267534719689199978111245454513923691236256406424746475728849036479141334309215553547546254809070669692792732646441598579031146274458908341723999955521521061360221071140892633073985464147446687766225096306589790157353255630488870335396200534929275448285141713016730394531769770258066343021161382846624776392084108264432705198745630298924992293804126907158826331118709463352875160852562704387871242966437002168130815734E+000000000000000535");
+ return val;
+ }
+
+ static const mp_float& A000142_269(void)
+ {
+ static const mp_float val("+2.46744966839596394794111925027264245472942552973328256801971060390812889018929178983904289942543640010147361245081892790017759378347829446343923755988035289165505899468136900118296902089855663159009114550906472653552328025764601506120221577943895975095588703120801500476129046068199419846272692411985742064849470625123132397698462574550410822927033310138025724283070932845641923418269339367480337364357971553583227189433E+000000000000000538");
+ return val;
+ }
+
+ static const mp_float& A000142_270(void)
+ {
+ static const mp_float val("+6.66211410466910265944102197573613462776944893027986293365321863055194800351108783256541582844867828027397875361721110533047950321539139505128594141167695280746865928563969630319401635642610290529324609287447476164591285669564424066524598260448519132758089498426164051285548424384138433584936269512361503575093570687832457473785848951286109221902989937372669455564291518683233193229327216292196910883766523194674713411468E+000000000000000540");
+ return val;
+ }
+
+ static const mp_float& A000142_271(void)
+ {
+ static const mp_float val("+1.80543292236532682070851695542449248412552066010584285502002224887957790895150480262522768950959181395424824223026420954455994537137106805889849012256445421082400666640835769816557843259147388733446969116898266040604238416451958922028166128581548684977442254073490457898383623008101515501517729037849967468850357656402595975395965065798535599135710273027993422457923001563156195365147675615185362849500727785756847334508E+000000000000000543");
+ return val;
+ }
+
+ static const mp_float& A000142_272(void)
+ {
+ static const mp_float val("+4.91077754883368895232716611875461955682141619548789256565446051695245191234809306314061931546608973395555521886631864996120305141012930512020389313337531545344129813263073293901037333664880897354975755997963283630443528492749328267916611869741812423138642931079894045483603454582036122164128222982951911515272972825415061053077024978972016829649131942636142109085550564251784851393201677673304186950641979577258624749861E+000000000000000545");
+ return val;
+ }
+
+ static const mp_float& A000142_273(void)
+ {
+ static const mp_float val("+1.34064227083159708398531635042001113901224662136819467042366772112801937207102940623738907312224249736986657475050499143940843303496530029781566282541146111878947439020819009234983192090512484977908381387443976431111083278520566617141235040439514791516849520184811074417023743100895861350807004874345871843669521581338311667490027819259360594494213020339666795780355304040737264430344058004812043037525260424591604556712E+000000000000000548");
+ return val;
+ }
+
+ static const mp_float& A000142_274(void)
+ {
+ static const mp_float val("+3.67335982207857601011976680015083052089355574254885339696084955589077307947462057309044606035494444279343441481638367654397910651580492281601491614162740346548315982917044085303853946328004208839468965001596495421244368183146352530966984010804270528756167685306382343902645056096454660101211193355707688851654489132866973968922676224770648028914143675730687020438173533071620104539142718933184997922819213563380996485391E+000000000000000550");
+ return val;
+ }
+
+ static const mp_float& A000142_275(void)
+ {
+ static const mp_float val("+1.01017395107160840278293587004147839324572782920093468416423362786996259685552065759987266659760972176819446407450551104959425429184635377440410193894753595300786895302187123458559835240201157430853965375439036240842201250365246946015920602971174395407946113459255144573227390426525031527833078172819614434204984511538417841453735961811928207951389510825938930620497721594695528748264247706625874428775283729929774033483E+000000000000000553");
+ return val;
+ }
+
+ static const mp_float& A000142_276(void)
+ {
+ static const mp_float val("+2.78808010495763919168090300131448036535820880859457972829328481292109676732123701497564855980940283208021672084563521049688014184549593641735532135149519923030171831034036460745625145262955194509156944436211740024724475451008081571003940864200441331325931273147544199022107597577209087016819295756982135838405757251846033242412311254600921853945835049879591448512573711601359659345209323670287413423419783094606176332412E+000000000000000555");
+ return val;
+ }
+
+ static const mp_float& A000142_277(void)
+ {
+ static const mp_float val("+7.72298189073266056095610131364111061204223839980698584737239893179143804547982653148254651067204584486220031674240953307635799291202374387607424014364170186793575971964280996265381652378385888790364736088306519868486796999292385951680916193835222487772829626618697431291238045288869171036589449246840516272383947587613512081482102175244553535429963088166468312379829181135766256386229826566696135182872799172059108440781E+000000000000000557");
+ return val;
+ }
+
+ static const mp_float& A000142_278(void)
+ {
+ static const mp_float val("+2.14698896562367963594579616519222875014774227514634206556952690303801977664339177575214792996682874487169168805438985019522752202954260079754863875993239311928614120206070116961776099361191277083721396632549212523439329565803283294567294701886191851600846636199997885898964176590305629548171866890621663523722737429356556358652024404717985882849529738510278190841592512355743019275371891785541525580838638169832432146537E+000000000000000560");
+ return val;
+ }
+
+ static const mp_float& A000142_279(void)
+ {
+ static const mp_float val("+5.99009921409006618428877130088631821291220094765829436293898005947607517683506305434849272460745219819201980967174768204468478646242385622516070214021137680280833395374935626323355317217723663063582696604812302940395729488591160391842752218262475265966362114997994101658110052686952706439399508624834441231186437427904792240639148089163180613150187970443676152448043109472523023778287578081660856370539800493832485688838E+000000000000000562");
+ return val;
+ }
+
+ static const mp_float& A000142_280(void)
+ {
+ static const mp_float val("+1.67722777994521853160085596424816909961541626534432242162291441665330104951381765521757796289008661549376554670808935097251174020947867974304499659925918550478633350704981975370539488820962625657803155049347444823310804256805524909715970621113493074470581392199438348464270814752346757803031862414953643544732202479813341827378961464965690571682052631724229322685452070652306446657920521862865039783751144138273095992875E+000000000000000565");
+ return val;
+ }
+
+ static const mp_float& A000142_281(void)
+ {
+ static const mp_float val("+4.71301006164606407379840525953735516991931970561754600476038951079577594913382761116139407572114338953748118624973107623275798998863509007795644044391831126844959715480999350791215963586904978098426865688666319953503359961623524996301877445328915539262333712080421759184600989454094389426519533386019738360697488968275490534934881716553590506426567895145084396746120318532981115108756666434650761792340715028547399739978E+000000000000000567");
+ return val;
+ }
+
+ static const mp_float& A000142_282(void)
+ {
+ static const mp_float val("+1.32906883738419006881115028318953415791724815698414797334242984204440881765573938634751312935336243584956969452242416349763775317679509540198371620518496377770278639765641816923122901731507203823756376124203902226887947509177834048957129439582754182071978106806678936090057479026054617818278508414857566217716691889053688330851636644068112522812292146430913799882405929826300674460669379934571514825440081638050366726674E+000000000000000570");
+ return val;
+ }
+
+ static const mp_float& A000142_283(void)
+ {
+ static const mp_float val("+3.76126480979725789473555530142638166690581228426513876455907645298567695396574246336346215607001569345428223549846038269831484149033011998761391686067344749089888550536766341892437811900165386821230544431497043302092891450973270358548676314019194335263698042262901389134862665643734568425728178814046912396138238046021937976310131702712758439558786774399486053667208781408430908723694345214837386955995431035682537836487E+000000000000000572");
+ return val;
+ }
+
+ static const mp_float& A000142_284(void)
+ {
+ static const mp_float val("+1.06819920598242124210489770560509239340125068873129940913477771264793225492627085959522325232388445694101615488156274868632141498325375407648235238843125908741528348352441641097452338579646969857229474618545160297794381172076408781827824073181451191214890244002663994514300997042820617432906802783189323120503259605070230385272077403570423396834695443929454039241487293919994378077529194041013817895502702414133840745562E+000000000000000575");
+ return val;
+ }
+
+ static const mp_float& A000142_285(void)
+ {
+ static const mp_float val("+3.04436773704990053999895846097451332119356446288420331603411648104660692653987194984638626912307070228189604141245383375601603270227319911797470430702908839913355792804458677127739164951993864093104002662853706848713986340417765028209298608567135894962437195407592384365757841572038759683784387932089570893434289874450156598025420600175706680978882015198944011838238787671983977520958203016889381002182701880281446124853E+000000000000000577");
+ return val;
+ }
+
+ static const mp_float& A000142_286(void)
+ {
+ static const mp_float val("+8.70689172796271554439702119838710809861359436384882148385757313579329580990403377656066472969198220852622267843961796454220585352850134947740765431810319282152197567420751816585334011762702451306277447615761601587322000933594807980678594020502008659592570378865714219286067426896030852695623349485776172755222069040927447870352702916502521107599602563468979873857362932741874175709940460628303629666242527377604935917078E+000000000000000579");
+ return val;
+ }
+
+ static const mp_float& A000142_287(void)
+ {
+ static const mp_float val("+2.49887792592529936124194508393710002430210158242461176586712348997267589744245769387291077742159889384702590871217035582361307996267988730001599678929561633977680701849755771359990861375895603524901627465723579655561414267941709890454756483884076485303067698734459980935101351519160854723643901302417761580748733814746177538791225737036223557881085935715597223797063161696917888428752912200323141714211605357372616608201E+000000000000000582");
+ return val;
+ }
+
+ static const mp_float& A000142_288(void)
+ {
+ static const mp_float val("+7.19676842666486216037680184173884806999005255738288188569731565112130658463427815835398303897420481427943461709105062477200567029251807542404607075317137505855720421327296621516773680762579338151716687101283909408016873091672124484509698673586140277672834972355244745093091892375183261604094435750963153352556353386468991311718730122664323846697527494860920004535541905687123518674808387136930648136929423429233135831620E+000000000000000584");
+ return val;
+ }
+
+ static const mp_float& A000142_289(void)
+ {
+ static const mp_float val("+2.07986607530614516434889573226252709222712518908365286496652422317405760295930638776430109826354519132675660433931363055910963871453772379754931444766652739192303201763588723618347593740385428725846122572271049818916876323493243976023302916666394540247449307010665731331903556896427962603583291932028351318888786128689538489086713005449989591695585446014805881310771610743578696897019623882572957311572603371048376255338E+000000000000000587");
+ return val;
+ }
+
+ static const mp_float& A000142_290(void)
+ {
+ static const mp_float val("+6.03161161838782097661179762356132856745866304834259330840292024720476704858198852451647318496428105484759415258400952862141795227215939901289301189823292943657679285114407298493208021847117743304953755459586044474858941338130407530467578458332544166717602990330930620862520314999641091550391546602882218824777479773199661618351467715804969815917197793442937055801237671156378221001356909259461576203560549776040291140481E+000000000000000589");
+ return val;
+ }
+
+ static const mp_float& A000142_291(void)
+ {
+ static const mp_float val("+1.75519898095085590419403310845634661313047094706769465274524979193658721113735866063429369682460578696064989840194677282883262411119838511275186646238578246604384671968292523861523534357511263301741542838739538942183951929395948591366065331374770352514822470186300810670993411664895557641163940061438725678010246614001101530940277105299246216431904557891894683238160162306506062311394860594503318675236119984827724721880E+000000000000000592");
+ return val;
+ }
+
+ static const mp_float& A000142_292(void)
+ {
+ static const mp_float val("+5.12518102437649924024657667669253211034097516543766838601612939245483465652108728905213759472784889792509770333368457666019126240469928452923545007016648480084803242147414169675648720323932888841085305089119453711177139633836169886788910767614329429343281612943998367159300762061495028312198704979401078979789920112883216470345609147473798951981161309044332475055427673934997701949272992935949690531689470355696956187889E+000000000000000594");
+ return val;
+ }
+
+ static const mp_float& A000142_293(void)
+ {
+ static const mp_float val("+1.50167804014231427739224696627091190832990572347323683710272591198926655436067857569227631525525972709205362707676958096143603988457689036706598687055878004664847349949192351714965075054912336430437994391111999937374901912713997776829150854910998522797581512592591521577675123284018043295474220558964516141078446593074782425811263480209823092930480263549989415191240308462954326671136986930233259325785014814219208163052E+000000000000000597");
+ return val;
+ }
+
+ static const mp_float& A000142_294(void)
+ {
+ static const mp_float val("+4.41493343801840397553320608083648101048992282701131630108201418124844366982039501253529236685046359765063766360570256802662195726065605767917400139944281333714651208850625514041997320661442269105487703509869279815882211623379153463877703513438335657024889647022219073438364862455013047288694208443355677454770632983639860331885114631816879893215611974836968880662246506881085720413142741574885782417807943553804471999372E+000000000000000599");
+ return val;
+ }
+
+ static const mp_float& A000142_295(void)
+ {
+ static const mp_float val("+1.30240536421542917278229579384676189809452723396833830881919418346829088259701652869791124822088676130693811076368225756785347739189353701535633041283562993445822106610934526642389209595125469386118872535411437545685252428896850271843922536464309018822342445871554626664317634424228848950164791490789924849157336730173758797906108816385979568498605532576905819795362719529920287521877108764591305813253343348372319239815E+000000000000000602");
+ return val;
+ }
+
+ static const mp_float& A000142_296(void)
+ {
+ static const mp_float val("+3.85511987807767035143559554978641521835980061254628139410481478306614101248716892494581729473382481346853680786049948240084629308000486956545473802199346460599633435568366198861472060401571389382911862704817855135228347189534676804658010707934354695714133639779801694926380197895717392892487782812738177553505716721314326041802082096502499522755872376427641226594273649808564051064756241943190265207229896311182064949851E+000000000000000604");
+ return val;
+ }
+
+ static const mp_float& A000142_297(void)
+ {
+ static const mp_float val("+1.14497060378906809437637187828656531985286078192624557404912999057064388070868917070890773653594596960015543193456834627305134904476144626094005719253205898798091130363804761061857201939266702646724823223330902975162819115291799010983429180256503344627097691014601103393134918775028065689068871495383238733391197866230354834415218382661242358258494095799009444298499273993143523166232603857127508766547279204421073290106E+000000000000000607");
+ return val;
+ }
+
+ static const mp_float& A000142_298(void)
+ {
+ static const mp_float val("+3.41201239929142292124158819729396465316152513014021181066640737190051876451189372871254505487711898940846318716501367189369302015338910985760137043374553578418311568484138187964334461779014773887239973205526090865985200963569561052730618957164379966988751119223511288111542057949583635753425237056242051425505769641366457406557350780330502227610312405481048144009527836499567699035373159494239976124310892029174798404515E+000000000000000609");
+ return val;
+ }
+
+ static const mp_float& A000142_299(void)
+ {
+ static const mp_float val("+1.02019170738813545345123487099089543129529601391192333138925580419825511058905622488505097140825857783313049296233908789621421302586334384742280975968991519947075158976757318201336004071925417392284751988452301168929575088107298754766455068192149610129636584647829875145351075326925507090274145879816373376226225122768570764560647883318820166055483409238833395058848823113370742011576574688777752861168956716723264722950E+000000000000000612");
+ return val;
+ }
+
+ static const mp_float& A000142_300(void)
+ {
+ static const mp_float val("+3.06057512216440636035370461297268629388588804173576999416776741259476533176716867465515291422477573349939147888701726368864263907759003154226842927906974559841225476930271954604008012215776252176854255965356903506788725264321896264299365204576448830388909753943489625436053225980776521270822437639449120128678675368305712293681943649956460498166450227716500185176546469340112226034729724066333258583506870150169794168850E+000000000000000614");
+ return val;
+ }
+
+ static const mp_float& A000142_301(void)
+ {
+ static const mp_float val("+9.21233111771486314466465088504778574459652300562466768244497991191024364861917771071201027181657495783316835144992196370281434362354599494222797212999993425122088685560118583358064116769486519052331310455724279555434063045608907755541089265775110979470618359369903772562520210202137329025175537294741851587322812858600194003982650386368946099481015185426665557381404872713737800364536469439663108336355679152011080448240E+000000000000000616");
+ return val;
+ }
+
+ static const mp_float& A000142_302(void)
+ {
+ static const mp_float val("+2.78212399754988866968872456728443129486814994769864964009838393339689358188299166863502710208860563726561684213787643303824993177431089047255284758325998014386870783039155812174135363264384928753804055757628732425741087039773890142173408958264083515800126744529710939313881103481045473365603012263012039179371489483297258589202760416683421722043266585998852998329184271559548815710090013770778258717579415103907346295368E+000000000000000619");
+ return val;
+ }
+
+ static const mp_float& A000142_303(void)
+ {
+ static const mp_float val("+8.42983571257616266915683543887182682345049434152690840949810331819258755310546475596413211932847508091481903167776559210589729327616199813183512817727773983592218472608642110887630150691086334124026288945615059249995493730514887130785429143540173052874384035925024146121059743547567784297777127156926478713495613134390693525284364062550767817791097755576524584937428342825432911601572741725458123914265627764839259274966E+000000000000000621");
+ return val;
+ }
+
+ static const mp_float& A000142_304(void)
+ {
+ static const mp_float val("+2.56267005662315345142367797341703535432895027982418015648742340873054661614406128581309616427585642459810498563004074000019277715595324743207787896589243291012034415673027201709839565810090245573703991839466978011998630094076525687758770459636212608073812746921207340420802162038460606426524246655705649528902666392854770831686446675015433416608493717695263473820978216218931605126878113484539269669936750840511134819590E+000000000000000624");
+ return val;
+ }
+
+ static const mp_float& A000142_305(void)
+ {
+ static const mp_float val("+7.81614367270061802684221781892195783070329835346374947728664139662816717923938692172994330104136209502422020617162425700058797032565740466783753084597192037586704967802732965215010675720775248999797175110374282936595821786933403347664249901890448454625128878109682388283446594217304849600898952299902231063153132498207051036643662358797071920655905838970553595153983559467741395636978246127844772493307090063558961199749E+000000000000000626");
+ return val;
+ }
+
+ static const mp_float& A000142_306(void)
+ {
+ static const mp_float val("+2.39173996384638911621371865259011909619520929615990734004971226736821915684725239804936265011865680107741138308851702264217991891965116582835828443886740763501531720147636287355793266770557226193937935583774530578598321466801621424385260469978477227115289436701562810814734657830495283977875079403770082705324858544451357617212960681791904007720707186724989400117118969197128867064915343315120500382951969559449042127123E+000000000000000629");
+ return val;
+ }
+
+ static const mp_float& A000142_307(void)
+ {
+ static const mp_float val("+7.34264168900841458677611626345166562531929253921091553395261666082043281152106486201154333586427637930765294608174725951149235108332907909305993322732294143949702380853243402182285328985610684415389462242187808876296846903080977772862749642833925087243938570673797829201235399539620521812076493769574153905347315731465667884843789293101145303702571063245717458359555235435185621889290103977419936175662546547508559330268E+000000000000000631");
+ return val;
+ }
+
+ static const mp_float& A000142_308(void)
+ {
+ static const mp_float val("+2.26153364021459169272704380914311301259834210207696198445740593153269330594848797749955534744619712482675710739317815592953964413366535636066245943401546596336508333302798967872143881327568090799939954370593845133899428846148941154041726889992848926871133079767529731393980503058203120718119560081028839402846973245291425708531887102275152753540391887479680977174743012514037171541901352025045340342104064336632636273722E+000000000000000634");
+ return val;
+ }
+
+ static const mp_float& A000142_309(void)
+ {
+ static const mp_float val("+6.98813894826308833052656537025221920892887709541781253197338432843602231538082785047362602360874911571467946184492050182227750037302595115444699965110778982679810749905648810724924593302185400571814459005134981463749235134600228165988936090077903184031801216481666870007399754449847643018989440650379113754797147327950505439363531146030222008439810932312214219469955908668374860064475177757390101657101558800194846085802E+000000000000000636");
+ return val;
+ }
+
+ static const mp_float& A000142_310(void)
+ {
+ static const mp_float val("+2.16632307396155738246323526477818795476795189957952188491174914181516691776805663364682406731871222587155063317192535556490602511563804485787856989184341484630741332470751131324726623923677474177262482291591844253762262891726070731456570187924149987049858377109316729702293923879452769335886726601617525263987115671664656686202694655269368822616341389016786408035686331687196206619987305104790931513701483228060402286599E+000000000000000639");
+ return val;
+ }
+
+ static const mp_float& A000142_311(void)
+ {
+ static const mp_float val("+6.73726476002044345946066167346016453932833040769231306207553983104516911425865613064162284936119502246052246916468785580685773810963431950800235236363302017201605543984036018419899800402636944691286319926850635629200637593268079974829933284444106459725059552809975029374134103265098112634607719731030503570999929738877082294090380377887737038336821719842205728990984491547180202588160518875899797007611612839267851111322E+000000000000000641");
+ return val;
+ }
+
+ static const mp_float& A000142_312(void)
+ {
+ static const mp_float val("+2.10202660512637835935172644211957133627043908720000167536756842728609276364870071276018632900069284700768301037938261101173961429020590768649673393745350229366900929723019237747008737725622726743681331817177398316310598929099640952146939184746561215434218580476712209164729840218710611141997608556081517114151978078529649675756198677900973955961088376590768187445187161362720223207506081889280736666374823205851569546733E+000000000000000644");
+ return val;
+ }
+
+ static const mp_float& A000142_313(void)
+ {
+ static const mp_float val("+6.57934327404556426477090376383425828252647434293600524390048917740547035022043323093938320977216861113404782248746757246674499272834449105873477722422946217918399910033050214148137349081199134707722568587765256730052174648081876180219919648256736604309104156892109214685604399884564212874452514780535148567295691385797803485116901861830048482158206618729104426703435815065314298639494036313448705765753196634315412681273E+000000000000000646");
+ return val;
+ }
+
+ static const mp_float& A000142_314(void)
+ {
+ static const mp_float val("+2.06591378805030717913806378184395710071331294368190564658475360170531768996921603451496632786846094389609101626106481775455792771670017019244272004840805112426377571750377767242515127611496528298224886536558290613236382839497709120589054769552615293753058705264122293411279781563753162842578089641088036650130847095140510294326707184614635223397676878280938789984878845930508689772801127402422893610446503743175039581920E+000000000000000649");
+ return val;
+ }
+
+ static const mp_float& A000142_315(void)
+ {
+ static const mp_float val("+6.50762843235846761428490091280846486724693577259800278674197384537175072340303050872214393278565197327268670122235417592685747230760553610619456815248536104143089351013689966813922651976214064139408392590158615431694605944417783729855522524090738175322134921581985224245531311925822462954120982369427315447912168349692607427129127631536100953702682166584957188452368364681102372784323551317632114872906486791001374683047E+000000000000000651");
+ return val;
+ }
+
+ static const mp_float& A000142_316(void)
+ {
+ static const mp_float val("+2.05641058462527576611402868844747489805003170414096888061046373513747322859535764075619748276026602355416899758626391959288696124920334940955748353618537408909216234920326029513199558024483644268053052058490122476415495478436019658634345117612673263401794635219907330861587894568559898293502230428739031681540245198502863946972804331565407901370047564640846471550948403239228349799846242216371748299838449825956434399843E+000000000000000654");
+ return val;
+ }
+
+ static const mp_float& A000142_317(void)
+ {
+ static const mp_float val("+6.51882155326212417858147094237849542681860050212687135153517004038579013464728372119714602035004329466671572234845662510945166715997461762829722280970763586242215464697433513556842598937613152329728175025413688250237120666642182317870874022832174244983688993647106238831233625782334877590402070459102730430482577279254078711903789731062343047343050779911483314816506438268353868865512587825898442110487885948281897047502E+000000000000000656");
+ return val;
+ }
+
+ static const mp_float& A000142_318(void)
+ {
+ static const mp_float val("+2.07298525393735548878890775967636154572831495967634508978818407284268126281783622334069243447131376770401559970680920678480563015687192840579851685348702820425024517773783857311075946462160982440853559658081552863575404371992213977082937939260631409904813099979779783948332292998782491073747858405994668276893459574802797030385405134477825089055090148011851694111649047369336530299233002928635704591135147731553643261106E+000000000000000659");
+ return val;
+ }
+
+ static const mp_float& A000142_319(void)
+ {
+ static const mp_float val("+6.61282296006016400923661575336759333087332472136754083642430719236815322838889755245680886596349091897580976306472136964352996020042145161449726876262361997155828211698370504822332269214293533986322855309280153634805539946655162586894572026241414197596353788935497510795180014666116146525255668315122991803290136043620922526929442378984262034085737572157806904216160461108183531654553279342347897645721121263656122002927E+000000000000000661");
+ return val;
+ }
+
+ static const mp_float& A000142_320(void)
+ {
+ static const mp_float val("+2.11610334721925248295571704107762986587946391083761306765577830155780903308444721678617883710831709407225912418071083828592958726413486451663912600403955839089865027743478561543146326148573930875623313698969649163137772782929652027806263048397252543230833212459359203454457604693157166888081813860839357377052843533958695208617421561274963850907436023090498209349171347554618730129457049389551327246630758804369959040937E+000000000000000664");
+ return val;
+ }
+
+ static const mp_float& A000142_321(void)
+ {
+ static const mp_float val("+6.79269174457380047028785170185919186947307915378873794717504834800056699620107556588363406711769787197195178862008179089783397511787291509841159447296698243478466739056566182553499706936922318110750836973692573813672250633204183009258104385355180663770974611994543043088808911065034505710742622493294337180339627744007411619661923211692633961412869634120499252010840025650326123715557128540459760461684735762027568521406E+000000000000000666");
+ return val;
+ }
+
+ static const mp_float& A000142_322(void)
+ {
+ static const mp_float val("+2.18724674175276375143268824799865978197033148751997361899036556805618257277674633221453016961189871477496847593566633666910253998795507866168853342029536834400066289976214310782226905633688986431661769505529008768002464703891746928981109612084368173734253825062242859874596469362941110838859124442840776572069360133570386541531139274165028135574944022186800759147490488259405011836409395390028042868662484915372877063893E+000000000000000669");
+ return val;
+ }
+
+ static const mp_float& A000142_323(void)
+ {
+ static const mp_float val("+7.06480697586142691712758304103567109576417070468951478933888078482146971006889065305293244784643284872314817727220226744120120416109490407725396294755403975112214116623172223826592905196815426174267515502858698320647960993570342580608984047032509201161639854951044437394946596042299788009514971950375708327784033231432348529145579855553040877907069191663366452046394277077878188231602347109790578465779826276654392916374E+000000000000000671");
+ return val;
+ }
+
+ static const mp_float& A000142_324(void)
+ {
+ static const mp_float val("+2.28899746017910232114933690529555743502759130831940279174579737428215618606232057158915011310224424298630000943619353465094919014819474892103028399500750887936357373785907800519816101283768198080462675022926218255889939361916790996117310831238532981176371313004138397715962697117705131315082850911921729498202026766984080923443167873199185244441890418098930730463031745773232532987039160463572147422912663713636023304905E+000000000000000674");
+ return val;
+ }
+
+ static const mp_float& A000142_325(void)
+ {
+ static const mp_float val("+7.43924174558208254373534494221056166383967175203805907317384146641700760470254185766473786758229378970547503066762898761558486798163293399334842298377440385793161464804200351689402329172246643761503693824510209331642302926229570737381260201525232188823206767263449792576878765632541676774019265463745620869156586992698263001190295587897352044436143858821524874004853173763005732207877271506609479124466157069317075740942E+000000000000000676");
+ return val;
+ }
+
+ static const mp_float& A000142_326(void)
+ {
+ static const mp_float val("+2.42519280905975890925772245116064310241173299116440725785467231805194447913302864559870454483182777544398485999764704996268066696201233648183158589271045565768570637526169314650745159310152405866250204186790328242115390753950840060386290825697225693556365406127884632380062477596208586628330280541181072403345047359619633738388036361654536766486182897975817108925582134646739868699767990511154690194575967204597366691547E+000000000000000679");
+ return val;
+ }
+
+ static const mp_float& A000142_327(void)
+ {
+ static const mp_float val("+7.93038048562541163327275241529530294488636688110761173318477848002985844676500367110776386160007682570183049219230585337796578096578034029558928586916319000063225984710573658907936670944198367182638167690804373351717327765419246997463171000029928017929314878038182747882804301739602078274640017369662106758938304865956202324528878902610335226409818076380921946186653580294839370648241328971475836936263412759033389081359E+000000000000000681");
+ return val;
+ }
+
+ static const mp_float& A000142_328(void)
+ {
+ static const mp_float val("+2.60116479928513501571346279221685936592272833700329664848460734144979357053892120412334654660482519883020040143907631990797277615677595161695328576508552632020738122985068160121803228069697064435905319002583834459363283507057513015167920088009816389880815279996523941305559810970589481674081925697249171016931763996033634362445472280056189954262420329052942398349222374336707313572623155902644074515094399384962951618686E+000000000000000684");
+ return val;
+ }
+
+ static const mp_float& A000142_329(void)
+ {
+ static const mp_float val("+8.55783218964809420169729258639346731388577622874084597351435815336982084707305076156581013832987490415135932073456109249723043355579288081977631016713138159348228424620874246800732620349303341994128499518500815371305202738219217819902457089552295922707882271188563766895291778093239394707729535543949772645705503546950657052445603801384864949523362882584180490568941611567767061653930182919699005154660573976528110825476E+000000000000000686");
+ return val;
+ }
+
+ static const mp_float& A000142_330(void)
+ {
+ static const mp_float val("+2.82408462258387108656010655350984421358230615548447917125973819061204087953410675131671734564885871836994857584240516052408604307341165067052618235515335592584915380124888501444241764715270102858062404841105269072530716903612341880567810839552257654493601149492226043075446286770769000253550746729503424973082816170493716827307049254457005433342709751252779561887750731817363130345796960363500671701037989412254276572407E+000000000000000689");
+ return val;
+ }
+
+ static const mp_float& A000142_331(void)
+ {
+ static const mp_float val("+9.34772010075261329651395269211758434695743337465362605686973341092585531125789334685833441409772235780452978603836108133472480257299256371944166359555760811456069908213380939780440241207544040460186560024058440630076672950956851624679453878917972836373819804819268202579727209211245390839252971674656336660904121524334202698386333032252687984364369276646700349848454922315471961444587938803187223330435744954561655454667E+000000000000000691");
+ return val;
+ }
+
+ static const mp_float& A000142_332(void)
+ {
+ static const mp_float val("+3.10344307344986761444263229378303800318986788038500385088075149242738396333762059115696702548044382279110388896473587900312863445423353115485463231372512589403415209526842472007106160080904621432781937927987402289185455419717674739393578687800766981676108175199997043256469433458133469758631986595985903771420168346078955295864262566707892410808970599846704516149687034208736691199603195682658158145704667324914469610949E+000000000000000694");
+ return val;
+ }
+
+ static const mp_float& A000142_333(void)
+ {
+ static const mp_float val("+1.03344654345880591560939655382975165506222600416820628234329024697831885979142765685527001948498779298943759502525704770804183527325976587456659256047046692271337264772438543178366351306941238937116385330019804962298756654765985688218061703037655404898144022341599015404404321341558445429624451536463305955882916059244292113522799434713728172799387209748952603877845782391509318169467864162325166662519654219196518380446E+000000000000000697");
+ return val;
+ }
+
+ static const mp_float& A000142_334(void)
+ {
+ static const mp_float val("+3.45171145515241175813538448979137052790783485392180898302658942490758499170336837389660186507985922858472156738435853934485972981268761802105241915197135952186266464339944734215743613365183738049968727002266148574077847226918392198648326088145769052359801034620940711450710433280805207734945668131787441892648939637875935659166150111943852097149953280561501696952004913187641122686022666302166056652815645092116371390690E+000000000000000699");
+ return val;
+ }
+
+ static const mp_float& A000142_335(void)
+ {
+ static const mp_float val("+1.15632333747605793897535380408010912684912467606380600931390745734404097222062840525536162480175284157588172507376011068052800948725035203705256041591040543982399265553881485962274110477336552246739523545759159772316078821017661386547189239528832632540533346598015138335987995149069744591206798824148793034037394778688438445820660287501190452545234348988103068478921645917859776099817593211225628978693241105858984415881E+000000000000000702");
+ return val;
+ }
+
+ static const mp_float& A000142_336(void)
+ {
+ static const mp_float val("+3.88524641391955467495718878170916666621305891157438819129472905667597766666131144165801505933388954769496259624783397188657411187716118284449660299745896227780861532261041792833241011203850815549044799113750776834982024838619342258798555844816877645336192044569330864808919663700874341826454844049139944594365646456393153177957418566003999920551987412600026310089176730284008847695387113189718113368409290115686187637361E+000000000000000704");
+ return val;
+ }
+
+ static const mp_float& A000142_337(void)
+ {
+ static const mp_float val("+1.30932804149088992546057261943598916651380085320056882046632369209980447366486195583875107499552077757320239493552004852577547570260331861859535521014367028762150336371971084184802220775697724840028097301334011793388942370614718341215113319703287766478296719019864501440605926667194653195515282444560161328301222855804492620971650056743347973226019758046208866500052558105710981673345457144935004205153930768986245233791E+000000000000000707");
+ return val;
+ }
+
+ static const mp_float& A000142_338(void)
+ {
+ static const mp_float val("+4.42552878023920794805673545369364338281664688381792261317617407929733912098723341073497863348486022819742409488205776401712110787479921693085230061028560557216068136937262264544631506221858309959294968878508959861654625212677747993307083020597112650696642910287142014869248032135117927800841654662613345289658133252619185058884177191792516149503946782196185968770177646397303118055907645149880314213420285999173508890212E+000000000000000709");
+ return val;
+ }
+
+ static const mp_float& A000142_339(void)
+ {
+ static const mp_float val("+1.50025425650109149439123331880214510677484329361427576586672301288179796201467212623915775675136761735892676816501758200180405556955693453955892990688682028896247098421731907680630080609209967076200994449814537393100917947097756569731101143982421188586161946587341143040675082893804977524485320930625924053194107172637903734961736068017662974681837959164507043413090222128685757020952691705809426518349476953719819513782E+000000000000000712");
+ return val;
+ }
+
+ static const mp_float& A000142_340(void)
+ {
+ static const mp_float val("+5.10086447210371108093019328392729336303446719828853760394685824379811307084988522921313637295464989902035101176105977880613378893649357743450036168341518898247240134633888486114142274071313888059083381129369427136543121020132372337085743889540232041192950618396959886338295281838936923583250091164128141780859964386968872698869902631260054113918249061159323947604506755237531573871239151799752050162388221642647386346859E+000000000000000714");
+ return val;
+ }
+
+ static const mp_float& A000142_341(void)
+ {
+ static const mp_float val("+1.73939478498736547859719590981920703679475331461639132294587866113515655715981086316167950317753561556593969501052138457289162202734430990516462333404457944302308885910155973764922515458318035828147432965114974653561204267865138966946238666333219126046796160873363321241358691107077490941888281086967696347273247855956385590314636797259678452846122929855329466133136803535998266690092550763715449105374383580142758744279E+000000000000000717");
+ return val;
+ }
+
+ static const mp_float& A000142_342(void)
+ {
+ static const mp_float val("+5.94873016465678993680241001158168806583805633598805832447490502108223542548655315201294390086717180523551375693598313523928934733351753987566301180243246169513896389812733430276035002867447682532264220740693213315179318596098775266956136238859609411080042870186902558645446723586205019021257921317429521507674507667370838718876057846628100308733740420105226774175327868093114072080116523611906835940380391844088234905434E+000000000000000719");
+ return val;
+ }
+
+ static const mp_float& A000142_343(void)
+ {
+ static const mp_float val("+2.04041444647727894832322663397251900658245332324390400529489242223120675094188773114043975799743992919578121862904221538707624613539651617735241304823433436143266461705767566584680005983534555108566627714057772167106506278461879916565954729928846028000454704474107577615388226190068321524291467011878325877132356129908197680574487841393438405895672964096092783542137458755938126723479967598884044727550474402522264572564E+000000000000000722");
+ return val;
+ }
+
+ static const mp_float& A000142_344(void)
+ {
+ static const mp_float val("+7.01902569588183958223189962086546538264363943195902977821442993247535122324009379512311276751119335643348739208390522093154228670576401565009230088592611020332836628267840429051299220583358869573469199336358736254846381597908866912986884270955230336321564183390930066996935498093835026043562646520861441017335305086884200021176238174393428116281114996490559175384952858120427155928771088540161113862773631944676590129619E+000000000000000724");
+ return val;
+ }
+
+ static const mp_float& A000142_345(void)
+ {
+ static const mp_float val("+2.42156386507923465587000536919858555701205560402586527348397832670399617201783235931747390479136170796955315026894730122138208891348858539928184380564450802014828636752404948022698231101258810002846873771043764007922001651278559084980475073479554466030939643269870873113942746842373083985029113049697197150980680254975049007305802170165732700116984673789242915507808736051547368795426025546355584282656903020913423594719E+000000000000000727");
+ return val;
+ }
+
+ static const mp_float& A000142_346(void)
+ {
+ static const mp_float val("+8.37861097317415190931021857742710602726171238992949384625456501039582675518169996323845971057811150957465389993055766222598202764067050548151517956752999774971307083163321120158535879610355482609850183247811423467410125713423814434032443754239258452467051165713753220974241904074610870588200731151952302142393153682213669565278075508773435142404766971310780487657018226738353896032174048390390321617992884452360445637726E+000000000000000729");
+ return val;
+ }
+
+ static const mp_float& A000142_347(void)
+ {
+ static const mp_float val("+2.90737800769143071253064584636720579145981419930553436465033405860735188404804988724374551957060469382240490327590350879241576359131266540208576730993290921915043557857672428695011950224793352465618013586990563943191313622558063608609257982721022683006066754502672367678061940713889972094105653709727448843410424327728143339151492201544381994414454139044840829216985324678208801923164394791465441601443530904969074636291E+000000000000000732");
+ return val;
+ }
+
+ static const mp_float& A000142_348(void)
+ {
+ static const mp_float val("+1.01176754667661788796066475453578761542801534135832595889831625239535845564872136076082344081057043345019690634001442105976068572977680755992584702385665240826435158134470005185864158678228086658035068728272716252230577140650206135796021777986915893686111230566929983951965555368433710288748767490985152197506827666049393882024719286137444934056230040387604608567510892988016663069261209387429973677302348754929237973429E+000000000000000735");
+ return val;
+ }
+
+ static const mp_float& A000142_349(void)
+ {
+ static const mp_float val("+3.53106873790139642898271999332989877784377354134055759655512372085980101021403754905527380842889081274118720312665032949856479319692105838414120611325971690484258701889300318098665913787016022436542389861671779720284714220869219413928116005174336468964528194678585643992359788235833648907733198543538181169298828554512384648266270308619682819856242840952740083900613016528178154111721620762130608133785197154703040527268E+000000000000000737");
+ return val;
+ }
+
+ static const mp_float& A000142_350(void)
+ {
+ static const mp_float val("+1.23587405826548875014395199766546457224532073946919515879429330230093035357491314216934583295011178445941552109432761532449767761892237043444942213964090091669490545661255111334533069825455607852789836451585122902099649977304226794874840601811017764137584868137504975397325925882541777117706619490238363409254589994079334626893194608016888986949684994333459029365214555784862353939102567266745712846824819004146064184544E+000000000000000740");
+ return val;
+ }
+
+ static const mp_float& A000142_351(void)
+ {
+ static const mp_float val("+4.33791794451186551300527151180578064858107579553687500736796949107626554104794512901440387365489236345254847904108992978898684844241752022491747171013956221759911815271005440784211075087349183563292325945063781386369771420337836050010690512356672352122922887162642463644613999847721637683150234410736655566483610879218464540395113074139280344193394330110441193071903090804866862326250011106277452092355114704552685287749E+000000000000000742");
+ return val;
+ }
+
+ static const mp_float& A000142_352(void)
+ {
+ static const mp_float val("+1.52694711646817666057785557215563478830053868002898000259352526085884547044887668541307016352652211193529706462246365528572337065173096711917095004196912590059488958975393915156042298430746912614278898732662451048002159539958918289603763060349548667947268856281250147202904127946398016464468882512579302759402231029484899518219079802097026681156074804198875299961309887963313135538840003909409663136509000376002545221288E+000000000000000745");
+ return val;
+ }
+
+ static const mp_float& A000142_353(void)
+ {
+ static const mp_float val("+5.39012332113266361183983016970939080270090154050229940915514417083172451068453469950813767724862305513159863811729670315860349840061031393067345364815101442909996025183140520500829313460536601528404512526298452199447623176054981562301283603033906797853859062672813019626251571650784998119575155269404938740689875534081695299313351701402504184480944058822029808863423904510495368452105213800216110871876771327288984631145E+000000000000000747");
+ return val;
+ }
+
+ static const mp_float& A000142_354(void)
+ {
+ static const mp_float val("+1.90810365568096291859129988007712434415611914533781399084092103647443047678232528362588073774601256151658591789352303291814563843381605113145840259144545910790138592914831744257293576965029956941055197434309652078604458604323463473054654395474003006440266108186175808947693056364377889334329604965369348314204215939064920135956926502296486481306254196822998552337652062196715360432045245685276503248644377049860300559425E+000000000000000750");
+ return val;
+ }
+
+ static const mp_float& A000142_355(void)
+ {
+ static const mp_float val("+6.77376797766741836099911457427379142175422296594923966748526967948422819257725475687187661899834459338388000852200676685941701644004698151667732919963137983304992004847652692113392198225856347140745950891799264879045828045348295329344023103932710672862944684060924121764310350093541507136870097627061186515424966583680466482647089083152527008637202398721644860798664820798339529533760622182731586532687538527004066985960E+000000000000000752");
+ return val;
+ }
+
+ static const mp_float& A000142_356(void)
+ {
+ static const mp_float val("+2.41146140004960093651568478844146974614450337587792932162475600589638523655750269344638807636341067524466128303383440900195245785265672541993712919506877122056577153725764358392367622568404859582105558517480538296940314784143993137246472225000044999539208307525688987348094484633300776540725754755233782399491288103790246067822363713602299615074844053944905570444324676204208872514018781497052444805636763715613447847002E+000000000000000755");
+ return val;
+ }
+
+ static const mp_float& A000142_357(void)
+ {
+ static const mp_float val("+8.60891719817707534336099469473604699373587705188420767820037894105009529451028461560360543261737611062344078043078884013697027453398450974917555122639551325741980438800978759460752412569205348708116843907405521720076923779394055499969905843250160648354973657866709684832697310140883772250390944476184603166183898530531178462125838457560209625817193272583312886486239094049025674875047049944477227956123246464740008813797E+000000000000000757");
+ return val;
+ }
+
+ static const mp_float& A000142_358(void)
+ {
+ static const mp_float val("+3.08199235694739297292323610071550482375744398457454634879573566089593411543468189238609074487702064760319179939422240476903535828316645449020484733904959374615628997090750395886949363699775514837505830118851176775787538713023071868989226291883557512111080569516282067170105637030436390465639958122474087933493835673930161889441050167806555046042555191584826013362073595669551191605266843880122847608292122234376923155339E+000000000000000760");
+ return val;
+ }
+
+ static const mp_float& A000142_359(void)
+ {
+ static const mp_float val("+1.10643525614411407727944176015686623172892239046226213921766910226164034744105079936660657741085041248954585598252584331208369362365675716198354019471880415487010809955579392123414821568219409826664593012667572462507726397975282800967132238786197146847877924456345262114067923693926664177164744965968197568124287006940928118309337010242553261529277313778952538796984420845368877786290796952964102291376871882141315412767E+000000000000000763");
+ return val;
+ }
+
+ static const mp_float& A000142_360(void)
+ {
+ static const mp_float val("+3.98316692211881067820599033656471843422412060566414370118360876814190525078778287771978367867906148496236508153709303592350129704516432578314074470098769495753238915840085811644293357645589875375992534845603260865027815032711018083481676059630309728652360528042842943610644525298135991037793081877485511245247433224987341225913613236873191741505398329604229139669143915043327960030646869030670768248956738775708735485961E+000000000000000765");
+ return val;
+ }
+
+ static const mp_float& A000142_361(void)
+ {
+ static const mp_float val("+1.43792325888489065483236251149986335475490753864475587612728276529922779553438961885684190800314119607141379443489058596838396823330432160771380883705655787966919248618270978003589902110057945010733305079262777172275041226808677528136885057526541812043502150623466302643442673632627092764643302557772269559534323394220430182554814378511222218683448796987126719420560953330641393571063519720072147337873382698030853510432E+000000000000000768");
+ return val;
+ }
+
+ static const mp_float& A000142_362(void)
+ {
+ static const mp_float val("+5.20528219716330417049315229162950534421276528989401627158076361038320461983449042026176770697137112977851793585430392120554996500456164421992398799014473952440247679998140940372995445638409760938854564386931253363635649241047412651855523908246081359597477785256948015569262478550110075808008755259135615805514250687077957260848428050210624431634084645093398724302430651056921844727249941386661173363101645366871689707763E+000000000000000770");
+ return val;
+ }
+
+ static const mp_float& A000142_363(void)
+ {
+ static const mp_float val("+1.88951743757027941388901428186151043994923380023152790658381719056910327699992002255502167763060772010960201071511232339761463729665587685183240764042254044735809907839325161355397346766742743220804206872456044970999740674500210792623555178693327533533884436048272129651642279713689957518307178159066228537401672999409298485687979382226456668683172726168903736921782326333662629635991728723358005930805897268174423363918E+000000000000000773");
+ return val;
+ }
+
+ static const mp_float& A000142_364(void)
+ {
+ static const mp_float val("+6.87784347275581706655601198597589800141521103284276157996509457367153592827970888210027890657541210119895131900300885716731727975982739174066996381113804722838348064535143587333646342230943585323727313015740003694439056055180767285149740850443712222063339347215710551931977898157831445366638128499001071876142089717849846487904244951304302274006748723254809602395287667854531971875009892553023141588133466056154901044661E+000000000000000775");
+ return val;
+ }
+
+ static const mp_float& A000142_365(void)
+ {
+ static const mp_float val("+2.51041286755587322929294437488120277051655202698760797668725951939011061382209374196660180090002541693761723143609823286607080711233699798534453679106538723835997043555327409376780914914294408643160469250745101348470255460140980059079655410411954961053118861733734351455171932827608477558822916902135391234791862747015193968085049407226070330012463283988005504874279998766904169734378610781853446679668715110496538881301E+000000000000000778");
+ return val;
+ }
+
+ static const mp_float& A000142_366(void)
+ {
+ static const mp_float val("+9.18811109525449601921217641206520214009058041877464519467536984096780484658886309559776259129409302599167906705611953228981915403115341262636100465529931729239749179412498318319018148586317535633967317457727070935401134984115987016231538802107755157454415033945467726325929274149047027865291875861815531919338217654075609923191280830447417407845615619396100147839864795486869261227825715461583614847587497304417332305563E+000000000000000780");
+ return val;
+ }
+
+ static const mp_float& A000142_367(void)
+ {
+ static const mp_float val("+3.37203677195840003905086874322792918541324301369029478644586073163518437869811275608437887100493214053894621760959586835036362952943330243387448870849484944630987948844386882823079660531178535577666005506985835033292216539170567234956974740373546142785770317457986655561616043612700259226562118441286300214397125879045748841811200064774202188679340932318368754257230379943681018870612037574401186649064611510721160956142E+000000000000000783");
+ return val;
+ }
+
+ static const mp_float& A000142_368(void)
+ {
+ static const mp_float val("+1.24090953208069121437071969750787794023207342903802848141207674924174785136090549423905142452981502771833220808033127955293381566683145529566581184472610459624203565174734372878893315075473701092581090026570787292251535686414768742464166704457464980545163476824539089246674704049473695395374859586393358478898142323488835573786521623836906405433997463093159701566660779819274614944385229827379636686855777035945387231860E+000000000000000786");
+ return val;
+ }
+
+ static const mp_float& A000142_369(void)
+ {
+ static const mp_float val("+4.57895617337775058102795568380406959945635095315032509641056320470204957152174127374209975651501745228064584781642242155032577981060807004100684570703932596013311155494769835923116332628497957031624222198046205108408166682870496659692775139448045778211653229482549239320229657942557936008933231873791492787134145173673803267272264791958184636051450638813759298780978277533123329144781498063030859374497817262638478885564E+000000000000000788");
+ return val;
+ }
+
+ static const mp_float& A000142_370(void)
+ {
+ static const mp_float val("+1.69421378414976771498034360300750575179884985266562028567190838573975834146304427128457690991055645734383896369207629597362053852992498591517253291160455060524925127533064839291553043072544244101700962213277095890111021672662083764086326801595776937938311694908543218548484973438746436323305295793302852331239633714259307208890737973024528315339036736361090940548961962687255631783569154283321417968564192387176237187659E+000000000000000791");
+ return val;
+ }
+
+ static const mp_float& A000142_371(void)
+ {
+ static const mp_float val("+6.28553313919563822257707476715784633917373295338945125984278011109450344682789424646578033576816445674564255529760305806213219794602169774529009710205288274547472223147670553771661789799139145617310569811258025752311890405576330764760272433920332439751136388110695340814879251457749278759462647393153582148899041079902029744984637879921000049907826291899647389436648881569718393917041562391122460663373153756423839966213E+000000000000000793");
+ return val;
+ }
+
+ static const mp_float& A000142_372(void)
+ {
+ static const mp_float val("+2.33821832778077741879867181338271883817262865866087586866151420132715528221997665968527028490575717790937903057070833759911317763592007156124791612196367238131659667010933446003058185805279762169639531969787985579860023230874395044490821345418363667587422736377178666783135081542282731698520104830253132559390443281723555065134285291330612018565711380586668828870433383943935242537139461209497555366774813197389668467431E+000000000000000796");
+ return val;
+ }
+
+ static const mp_float& A000142_373(void)
+ {
+ static const mp_float val("+8.72155436262229977211904586391754126638390489680506699010744797095028920268051294062605816269847427360198378402874209924469215258198186692345472713492449798231090557950781753591407033053693512892755454247309186212877886651161493515950763618410496480101086806686876427101093854152714589235479991016844184446526353440828860392950884136663182829250103449588274731686716522110878454663530190311425881518070053226263463383519E+000000000000000798");
+ return val;
+ }
+
+ static const mp_float& A000142_374(void)
+ {
+ static const mp_float val("+3.26186133162074011477252315310516043362758043140509505430018554113540816180251183979414575284922937832714193522674954511751486506566121822937206794846176224538427868673592375843186230362081373821890539888493635643616329607534398574965585593285525683557806465700891783735809101453115256374069516640299724983000856186869993786963630667112030378139538690146014749650831979269468542044160291176473279687758199906622535305436E+000000000000000801");
+ return val;
+ }
+
+ static const mp_float& A000142_375(void)
+ {
+ static const mp_float val("+1.22319799935777754303969618241443516261034266177691064536256957792577806067594193992280465731846101687267822571003107941906807439962295683601452548067316084201910450752597140941194836385780515183208952458185113366356123602825399465612094597482072131334177424637834418900928413044918221140276068740112396868625321070076247670111361500167011391802327008804755531119061992226050703266560109191177479882909324964983450739539E+000000000000000804");
+ return val;
+ }
+
+ static const mp_float& A000142_376(void)
+ {
+ static const mp_float val("+4.59922447758524356182925764587827621141488840828118402656326161300092550814154169410974551151741342344127012866971685861569595974258231770341461580733108476599183294829765249938892584810534737088865661242776026257499024746623501990701475686532591213816507116638257415067490833048892511487438018462822612226031207223486691239618719240627962833176749553105880797007673090769950644282266010558827324359739061868337774780665E+000000000000000806");
+ return val;
+ }
+
+ static const mp_float& A000142_377(void)
+ {
+ static const mp_float val("+1.73390762804963682280963013249611013170341292992200637801434962810134891656936121867937405784206486063735883850848325569811737682295353377418731015936381895677892102150821499226962504473571595882502354288526561899077132329477060250494456333822786887608823182972623045480444044059432476830764132960484124809213765123254482597336257153716741988107634581520917060471892755220271392894414285980677901283621626324363341092311E+000000000000000809");
+ return val;
+ }
+
+ static const mp_float& A000142_378(void)
+ {
+ static const mp_float val("+6.55417083402762719022040190083529629783890087510518410889424159422309890463218540660803393864300517320921640956206670653888368439076435766642803240239523565662432146130105267077918266910100632435858899210630403978511560205423287746869044941850134435161351631636515111916078486544654762420288422590629991778828032165901944217931052041049284715046858718149066488583754614732625865140886001006962466852089747506093429328934E+000000000000000811");
+ return val;
+ }
+
+ static const mp_float& A000142_379(void)
+ {
+ static const mp_float val("+2.48403074609647070509353232041657729688094343166486477727091756421055448485559826910444486274569896064629301922402328177823691638409969155557622428050779431386061783383309896222531023158928139693190522800828923107855881317855426056063368032961200950926152268390239227416193746400424154957289312161848766884175824190876836858595868723557678907002759454178496199173242998983665202888395794381638774936942014304809409715666E+000000000000000814");
+ return val;
+ }
+
+ static const mp_float& A000142_380(void)
+ {
+ static const mp_float val("+9.43931683516658867935542281758299372814758504032648615362948674400010704245127342259689047843365605045591347305128847075730028225957882791118965226592961839267034776856577605645617888003926930834123986643149907809852349007850619013040798525252563613519378619882909064181536236321611788837699386215025314159868131925331980062664301149519179846610485925878285556858323396137927770975904018650227344760379654358275756919531E+000000000000000816");
+ return val;
+ }
+
+ static const mp_float& A000142_381(void)
+ {
+ static const mp_float val("+3.59637971419847028683441609349912061042422990036439122453283444946404078317393517400941527228322295522370303323254090735853140754089953343416325751331918460760740249982356067750980415329496160647801238911040114875553744971991085843968544238121226736750883254175388353453165306038534091547163466147924644694909758263551484403875098737966807521558595137759626797163021213928550480741819431105736618353704648310503063386341E+000000000000000819");
+ return val;
+ }
+
+ static const mp_float& A000142_382(void)
+ {
+ static const mp_float val("+1.37381705082381564957074694771666407318205582193919744777154275969526357917244323647159663401219116889545455869483062661095899768062362177185036437008792852010602775493260017880874518655867533367460073264017323882461530579300594792395983898962308613438837403094998351019109146906720022971016444068507214273455527656676667042280287717903320473235383342624177436516274103720706283643375022682391388211115175654612170213582E+000000000000000822");
+ return val;
+ }
+
+ static const mp_float& A000142_383(void)
+ {
+ static const mp_float val("+5.26171930465521393785596080975482340028727379802712622496500876963285950823045759568621510826669217686959095980120129991997296111678847138618689553743676623200608630139185868483749406451972652797372080601186350469827662118721278054876618333025641989470747253853843684403188032652737687978992980782382630667334670925071634771933501959569717412491518202250599581857329817250305066354126336873559016848571122757164611918021E+000000000000000824");
+ return val;
+ }
+
+ static const mp_float& A000142_384(void)
+ {
+ static const mp_float val("+2.02050021298760215213668895094585218571031313844241647038656336753901805116049571674350660157440979591792292856366129916926961706884677301229576788637571823309033713973447373497759772077557498674190878950855558580413822253588970773072621439881846523956766945479875974810824204538651272183933304620434930176256513635227507752422464752474771486396742989664230239433214649824117145479984513359446662469851311138751210976520E+000000000000000827");
+ return val;
+ }
+
+ static const mp_float& A000142_385(void)
+ {
+ static const mp_float val("+7.77892582000226828572625246114153091498470558300330341098826896502521949696790850946250041606147771428400327497009600180168802571506007609733870636254651519739779798797772387966375122498596369895634883960793900534593215676317537476329592543545109117233552740097522503021673187473807397908143222788674481178587577495625904846826489297027870222627460510207286421817876401822851010097940376433869650508927547884192162259602E+000000000000000829");
+ return val;
+ }
+
+ static const mp_float& A000142_386(void)
+ {
+ static const mp_float val("+3.00266536652087555829033345000063093318409635503927511664147182049973472582961268465252516059973039771362526413845705669545157792601318937357274065594295486619555002335940141755020797284458198779715065208866445606352981251058569465863222721808412119252151357677643686166365850364889655592543283996428349734934804913311599270875024868652757905934199756940012558821700291103620489897804985303473685096446033483298174632206E+000000000000000832");
+ return val;
+ }
+
+ static const mp_float& A000142_387(void)
+ {
+ static const mp_float val("+1.16203149684357884105835904515024417114224528940019947014024959453339733889606010896052723715209566391517297722158288094113976065736710428757265063384992353321767785904008834859193048549085322927749730235831314449658603744159666383289067193339855490150582575421248106546383584091212296714314250906617771347419769501451588917828634624168617309596535305935784860263998012657101129590450529312444316132324614958036393582664E+000000000000000835");
+ return val;
+ }
+
+ static const mp_float& A000142_388(void)
+ {
+ static const mp_float val("+4.50868220775308590330643309518294738403191172287277394414416842678958167491671322276684568015013117599087115161974157805162227135058436463578188445933770330888459009307554279253669028370451052959668953315025500064675382527339505567161580710158639301784260392634442653399968306273903711251539293517676952827988705665632165001175102341774235161234556987030845257824312289109552382810948053732283946593419506037181207100736E+000000000000000837");
+ return val;
+ }
+
+ static const mp_float& A000142_389(void)
+ {
+ static const mp_float val("+1.75387737881595041638620247402616653238841366019750906427208151802114727154260144365630296957840102746044887798007947386208106355537731784331915305468236658715610554620638614629677252036105459601311222839544919525158723803135067665625854896251710688394077292734798192172587671140548543676848785178376334650087606503930912185457114810950177477720242667954998805293657480463615876913458792901858455224840187848463489562186E+000000000000000840");
+ return val;
+ }
+
+ static const mp_float& A000142_390(void)
+ {
+ static const mp_float val("+6.84012177738220662390618964870204947631481327477028535066111792028247435901614563025958158135576400709575062412230994806211614786597153958894469691326122968990881163020490597055741282940811292445113769074225186148119022832226763895940834095381671684736901441665712949473091917448139320339710262195667705135341665365330557523282747762705692163108946405024495340645264173808101919962489292317247975376876732609007609292526E+000000000000000842");
+ return val;
+ }
+
+ static const mp_float& A000142_391(void)
+ {
+ static const mp_float val("+2.67448761495644278994732015264250134523909199043518157210849710683044747437531294143149639831010372677443849403182318969228741381559487197927737649308514080875434534741011823448794841629857215346039483708022047783914537927400664683312866131294233628732128463691293763243978939722222474252826712518506072707918591157844247991603554375217925635775598044364577678192298291958967850705333313296043958372358802450121975233378E+000000000000000845");
+ return val;
+ }
+
+ static const mp_float& A000142_392(void)
+ {
+ static const mp_float val("+1.04839914506292557365934949983586052733372406025059117626653086587753540995512267304114658813756066089557988966047469035937666621571318981587673158528937519703170337618476634791927577918904028415647477613544642731294498867541060555858643523467339582462994357766987155191639744371111209907108071307254380501504087733874945212708593315085426849224034433390914449851380930447915397476490658812049231681964650560447814291484E+000000000000000848");
+ return val;
+ }
+
+ static const mp_float& A000142_393(void)
+ {
+ static const mp_float val("+4.12020864009729750448124353435493187242153555678482332272746630289871416112363210505170609138061339731962896636566553311235029822775283597639555513018724452433459426840613174732275381221292831673494587021230445933987380549436367984524469047226644559079567826024259519903144195378467054934934720237509715370911064794128534685944771728285727517450455323226293787915927056660307512082608289131353480510121076702559910165532E+000000000000000850");
+ return val;
+ }
+
+ static const mp_float& A000142_394(void)
+ {
+ static const mp_float val("+1.62336220419833521676560995253584315773408500937322038915462172334209337948271104939037220000396167854393381274807222004626601750173461737469984872129377434258783014175201590844516500201189375679356867286364795697991027936477928985902640804607297956277349723453558250841838812979116019644364279773578827856138959528886642666262240060944576641875479397351159752438875260324161159760547665917753271320987704220808604605220E+000000000000000853");
+ return val;
+ }
+
+ static const mp_float& A000142_395(void)
+ {
+ static const mp_float val("+6.41228070658342410622415931251658047304963578702422053716075580720126884895670864509197019001564863024853856035488526918275076913185173863006440244911040865322192905992046283835840175794698033933459625781140943007064560349087819494315431178198826927295531407641555090825263311267508277595238905105636370031748890139102238531735848240731077735408143619537081022133557278280436581054163280375125421717901431672193988190618E+000000000000000855");
+ return val;
+ }
+
+ static const mp_float& A000142_396(void)
+ {
+ static const mp_float val("+2.53926315980703594606476708775656586732765577166159133271565929965170246418685662345642019524619685757842126990053456659636930457621328849750550336984772182667588390772850328398992709614700421437650011809331813430797565898238776519748910746566735463209030437426055815966804271261933277927714606421832002532572560495084486458567395903329506783221624873336684084764888682199052886097448659028549667000288966942188819323485E+000000000000000858");
+ return val;
+ }
+
+ static const mp_float& A000142_397(void)
+ {
+ static const mp_float val("+1.00808747444339327058771253383935664932907934134965175908811674196172587828218207951219881751274015245863324415051222293875861391675667553350968483782954556519032591136821580374400105717036067310747054688304729932026633661600794278340317566386993978893985083658144158938821295690987511337302698749467305005431306516548541124051256173621814192938985074714663581651660806833023995780687117634334217799114719876048961271423E+000000000000000861");
+ return val;
+ }
+
+ static const mp_float& A000142_398(void)
+ {
+ static const mp_float val("+4.01218814828470521693909588468063946432973577857161400117070463300766899556308467645855129370070580678536031171903864729625928338869156862336854565456159134945749712724549889890112420753803547896773277659452825129466001973171161227794463914220236035998060632959413752576508756850130295122464741022879873921616599935863193673723999571014820487897160597364361054973610011195435503207134728184650186840476585106674865860265E+000000000000000863");
+ return val;
+ }
+
+ static const mp_float& A000142_399(void)
+ {
+ static const mp_float val("+1.60086307116559738155869925798757514626756457565007398646711114857005992922967078590696196618658161690735876437589642027120745407208793588072404971617007494843354135377095406066154855880767615610812537786121677226656934787295293329889991101773874178363226192550806087278026993983201987753863431668129069694725023374409414275815875828834913374670967078348380060934470394466978765779646756545675424549350157457563271478246E+000000000000000866");
+ return val;
+ }
+
+ static const mp_float& A000142_400(void)
+ {
+ static const mp_float val("+6.40345228466238952623479703195030058507025830260029594586844459428023971691868314362784786474632646762943505750358568108482981628835174352289619886468029979373416541508381624264619423523070462443250151144486708906627739149181173319559964407095496713452904770203224349112107975932807951015453726672516278778900093497637657103263503315339653498683868313393520243737881577867915063118587026182701698197400629830253085912983E+000000000000000868");
+ return val;
+ }
+
+ static const mp_float& A000142_401(void)
+ {
+ static const mp_float val("+2.56778436614961820002015360981207053461317357934271867429324628230637612648439194059476699376327691351940345805893785811501675633162904915268137574473680021728740033144861031330112388832751255439743310608939170271557723398821650501143545727245294182094614812851492963993955298349055988357196944395679027790338937492552700498408664829451201052972231193670801617738890512725033940310553397499263380977157652561931487451106E+000000000000000871");
+ return val;
+ }
+
+ static const mp_float& A000142_402(void)
+ {
+ static const mp_float val("+1.03224931519214651640810175114445235491449577889577290706588500548716320284672556011909633149283731923480019013969301896223673604531487775937791304938419368734953493324234134594705180310766004686776810864793546449166204806326303501459705382352608261202035154766300171525570029936320507319593171647062969171716252872006185600360283261439382823294836939855662250331033986115463644004842465794703879152817376329896457955345E+000000000000000874");
+ return val;
+ }
+
+ static const mp_float& A000142_403(void)
+ {
+ static const mp_float val("+4.15996474022435046112465005711214299030541798894996481547551657211326770747230400727995821591613439651624476626296286641781404626261895737029298958901830056001862578096663562416661876652386998887710547785117992190139805369495003110882612690881011292644201673708189691248047220643371644497960481737663765762016499074184927969451941543600712777878192867618318868834066964045318485339515137152656632985854026609482725560039E+000000000000000876");
+ return val;
+ }
+
+ static const mp_float& A000142_404(void)
+ {
+ static const mp_float val("+1.68062575505063758629435862307330576808338886753578578545210869513376015381881081894110311923011829619256288557023699803279687469009805877759836779396339342624752481551052079216331398167564347550635061305187668844816481369275981256796575527115928562228257476178108635264211077139922144377176034622016161367854665625970710899658584383614687962262789918517800823008963053474308668077164115409673279726285026750231021126256E+000000000000000879");
+ return val;
+ }
+
+ static const mp_float& A000142_405(void)
+ {
+ static const mp_float val("+6.80653430795508222449215242344688836073772491351993243108104021529172862296618381671146763288197909957987968655945984203282734249489713804927338956555174337630247550281760920826142162578635607580071998286010058821506749545567724090026130884819510677024442778521339972820054862416684684727562940219165453539811395785181379143617266753639486247164299169997093333186300366570950105712514667409176782891454358338435635561336E+000000000000000881");
+ return val;
+ }
+
+ static const mp_float& A000142_406(void)
+ {
+ static const mp_float val("+2.76345292902976338314381388391943667445951631488909256701890232740844182092427062958485585895008351442943115274314069586532790105292823804800499616361400781077880505414394933855413718006926056677509231304120083881531740315500495980550609139236721334871923768079664028964942274141173981999390553728981174137163426688783639932308610301977631416348705463018819893273637948827805742919280954968125773853930469485404868037903E+000000000000000884");
+ return val;
+ }
+
+ static const mp_float& A000142_407(void)
+ {
+ static const mp_float val("+1.12472534211511369693953225075521072650502314015986067477669324725523582111617814624103633459268399037277847916645826321718845572854179288553803343859090117898697365703658738079153383228818905067746257140776874139783418308408701864084097919669345583292872973608423259788731505575457810673751955367695337873825514662334941452449604392904895986453923123448659696562370645172916937368147348672027189958549701080559781291426E+000000000000000887");
+ return val;
+ }
+
+ static const mp_float& A000142_408(void)
+ {
+ static const mp_float val("+4.58887939582966388351329158308125976414049441185223155308890844880136215015400683666342824513815068072093619499914971392612889937245051497299517642945087681026685252070927651362945803573581132676404729134369646490316346698307503605463119512250929979834921732322366899938024542747867867548907977900196978525208099822326561125994385923051975624732006343670531561974472232305501104462041182581870935030882780408683907669020E+000000000000000889");
+ return val;
+ }
+
+ static const mp_float& A000142_409(void)
+ {
+ static const mp_float val("+1.87685167289433252835693625748023524353346221444756270521336355555975711941298879619534215226150362841486290375465223299578671984333226062395502715964540861539914268097009409407444833661594683264649534215957185414539385799607768974634415880510630361752482988519848062074652037983877957827503362961180564216810112827331563500531703842528258030515390594561247408847559143012949951724974843675985212427631057187151718236629E+000000000000000892");
+ return val;
+ }
+
+ static const mp_float& A000142_410(void)
+ {
+ static const mp_float val("+7.69509185886676336626343865566896449848719507923500709137479057779500418959325406440090282427216487650093790539407415528272555135766226855821561135454617532313648499197738578570523818012538201385063090285424460199611481778391852796001105110093584483185180252931377054506073355733899627092763788140840313288921462592059410352179985754365857925113101437701114376274992486353094802072396859071539370953287334467322044770179E+000000000000000894");
+ return val;
+ }
+
+ static const mp_float& A000142_411(void)
+ {
+ static const mp_float val("+3.16268275399423974353427328747994440887823717756558791455503892747374672192282742046877106077585976424188547911696447782120020160799919237742661626671847805780909533170270555792485289203153200769260930107309453142040319010919051499156454200248463222589109083954795969401996149206632746735125916925885368761746721125336417654745974145044367607221484690895158008649021911891121963651755109078402681461801094466069360400544E+000000000000000897");
+ return val;
+ }
+
+ static const mp_float& A000142_412(void)
+ {
+ static const mp_float val("+1.30302529464562677433612059444173709645783371715702222079667603811918364943220489723313367703965422286765681739618936486233448306249566725949976590188801295981734727666151468986503939151699118716935503204211494694520611432498649217652459130502366847706712942589375939393622413473132691654871877773464771929839649103638604073755341347758279454175251692648805099563397027699142249024523104940301904762262050920020576485024E+000000000000000900");
+ return val;
+ }
+
+ static const mp_float& A000142_413(void)
+ {
+ static const mp_float val("+5.38149446688643857800817805504437420837085325185850177189027203743222847215500622557284208617377194044342265584626207688144141504810710578173403317479749352404564425261205566914261268696517360300943628233393473088370125216219421268904656208974775081028724452894122629695660567644038016534620855204409508070237750798027434824609559766241694145743789490639565061196829724397457488471280423403446866668142270299684980883149E+000000000000000902");
+ return val;
+ }
+
+ static const mp_float& A000142_414(void)
+ {
+ static const mp_float val("+2.22793870929098557129538571478837092226553324626941973356257262349694258747217257738715662367594158334357697952035249982891674582991634179363788973436616231895489672058139104702504165240358187164590662088624897858585231839514840405326527670515556883545891923498166768694003475004631738845333034054625536341078428830383358017388357743224061376337928849124779935335487505900547400227110095289027002800610899904069582085624E+000000000000000905");
+ return val;
+ }
+
+ static const mp_float& A000142_415(void)
+ {
+ static const mp_float val("+9.24594564355759012087585071637173932740196297201809189428467638751231173800951619615669998825515757087584446500946287429000449519415281844359724239761957362366282139041277284515392285747486476733051247667793326113128712133986587682105089832639561066715451482517392090080114421269221716208132091326695975815475479646090935772161684634379854711802404723867836731642273149487271710942506895449462061622535234601888765655338E+000000000000000907");
+ return val;
+ }
+
+ static const mp_float& A000142_416(void)
+ {
+ static const mp_float val("+3.84631338771995749028435389801064356019921659635952622802242537720512168301195873760118719511414554948435129744393655570464187000076757247253645283740974262744373369841171350358403190870954374320949319029802023663061544247738420475755717370378057403753627816727235109473327599247996233942582949991905525939237799532773829281219260807902019560109800365129020080363185630186705031752082868506976217634974657594385726512621E+000000000000000910");
+ return val;
+ }
+
+ static const mp_float& A000142_417(void)
+ {
+ static const mp_float val("+1.60391268267922227344857557547043836460307332068192243708535138229453574181598679357969506036259869413497449103412154372883565979032007772104770083319986267564403695223768453099454130593187974091835866035427443867496663951306921338390134143447649937365262799575257040650377608886414429554057090146624604316662162405166686810268431756895142156565786752258801373511448407787855998240618556167409082753784432216858847955763E+000000000000000913");
+ return val;
+ }
+
+ static const mp_float& A000142_418(void)
+ {
+ static const mp_float val("+6.70435501359914910301504590546643236404084648045043578701676877799115940079082479716312535231566254148419337252262805278653305792353792487397938948277542598419207446035352133955718265879525731703873920028086715366136055316462931194470760719611176738186798502224574429918578405145212315535958636812890846043647838853596750866922044743821694214444988624441789741277854344553238072645785564779769965910818926666469984455088E+000000000000000915");
+ return val;
+ }
+
+ static const mp_float& A000142_419(void)
+ {
+ static const mp_float val("+2.80912475069804347416330423439043516053311467530873259476002611797829578893135559001134952262026260488187702308698115411755735126996239052219736419328290348737647919888812544127445953403521281583923172491768333738411007177597968170483248741517083053300268572432096686135884351755843960209566668824601264492288444479657038613240336747661289875852450233641109901595420970367806752438584151642723615716633130273250923486682E+000000000000000918");
+ return val;
+ }
+
+ static const mp_float& A000142_420(void)
+ {
+ static const mp_float val("+1.17983239529317825914858777844398276742390816362966768979921096955088423135116934780476679950051029405038834969653208472937408753338420401932289296117881946469812126353301268533527300429478938265247732446542700170132623014591146631602964471437174882386112800421480608177071427737454463288018000906332531086761146681455956217560941434017741747858029098129266158670076807554478836024205343689943918600985914714765387864406E+000000000000000921");
+ return val;
+ }
+
+ static const mp_float& A000142_421(void)
+ {
+ static const mp_float val("+4.96709438418428047101555454724916745085465336888090097405467818180922261398842295425806822589714833795213495222240007671066490851554749892134937936656282994637909051947398340526149934808106330096692953599944767716258342891428727319048480424750506254845534889774433360425470710774683290442555783815659955875264427528929575675931563437214692758482302503124210528001023359804355899661904496934663897310150700949162282909151E+000000000000000923");
+ return val;
+ }
+
+ static const mp_float& A000142_422(void)
+ {
+ static const mp_float val("+2.09611383012576635876856401893914866426066372166774021105107419272349194310311448669690479132859659861580094983785283237190059139356104454480943809268951423737197619921802099702035272489020871300804426419176691976261020700182922928638458739244713639544815723484810878099548639946916348566758540770208501379361588417208280935243119770504600344079531656318416842816431857837438189657323697706428164664883595800546483387662E+000000000000000926");
+ return val;
+ }
+
+ static const mp_float& A000142_423(void)
+ {
+ static const mp_float val("+8.86656150143199169759102580011259884982260754265454109274604383522037091932617427872790726731996361214483801781411748093313950159476321842454392313207664522408345932269222881739609202628558285602402723753117407059584117561773763988140680467005138695274570510340750014361090746975456154437388627457981960834699519004791028356078396629234459455456418906226903245113506758652363542250479241298191136532457610236311624729809E+000000000000000928");
+ return val;
+ }
+
+ static const mp_float& A000142_424(void)
+ {
+ static const mp_float val("+3.75942207660716447977859493924774191232478559808552542332432258613343726979429789418063268134366457154941131955318581191565114867617960461200662340800049757501138675282150501857594301914508713095418754871321780593263665846192075930971648518010178806796417896384478006089102476717593409481452778042184351393912596058031396022977240170795410809113521616240206975928126865668602141914203198310433041889762026740196128885439E+000000000000000931");
+ return val;
+ }
+
+ static const mp_float& A000142_425(void)
+ {
+ static const mp_float val("+1.59775438255804490390590284918029031273803387918634830491283709910671083966257660502676888957105744290849981081010397006415173818737633196010281494840021146937983936994913963289477578313666203065552970820311756752137057984631632270662950620154325992888477605963403152587868552604977199029617430667928349342412853324663343309765327072588049593873246686902087964769453917909155910313536359281934042803148861364583354776312E+000000000000000934");
+ return val;
+ }
+
+ static const mp_float& A000142_426(void)
+ {
+ static const mp_float val("+6.80643366969727129063914613750803673226402432533384377892868604219458817696257633741403546957270470679020919405104291247328640467822317415003799168018490085955811571598333483613174483616218025059255655694528083764103867014530753473024169641857428729704914601404097430024320034097202867866170254645374768198678755163065842499600293329225091269900030886202894729917873690293004177935664890541039022341414149413125091347088E+000000000000000936");
+ return val;
+ }
+
+ static const mp_float& A000142_427(void)
+ {
+ static const mp_float val("+2.90634717696073484110291540071593168467673838691755129360254894001708915156302009607579314550754490979941932585979532362609329479760129536206622244743895266703131541072488397502825504504125096700302164981563491767272351215204631732981320437073122067583998534799549602620384654559505624578854698733575026020835828454629114747329325251579113972247313188408636049674932065755112783978528908261023662539783841799404414005206E+000000000000000939");
+ return val;
+ }
+
+ static const mp_float& A000142_428(void)
+ {
+ static const mp_float val("+1.24391659173919451199204779150641876104164402960071195366189094632731415686897260112043946627722922139415147146799239851196793017337335441496434320750387174148940299579025034131209315927765541387729326612109174476392566320107582381716005147067296244925951372894207229921524632151468407319749811057970111136917734578581261111856951207675860780121850044638896229260870924143188271542810372735718127567027484290145089194228E+000000000000000942");
+ return val;
+ }
+
+ static const mp_float& A000142_429(void)
+ {
+ static const mp_float val("+5.33640217856114445644588502556253648486865288698705428120951215974417773296789245880668531032931335978090981259768738961634242044377169044019703236019160977098953885194017396422887965330114172553358811165948358503724109513261528417561662080918700890732331389716149016363340671929799467401726689438691776777377081342113610169866320680929442746722736691500864823529136264574277684918656499036230767262547907604722432643240E+000000000000000944");
+ return val;
+ }
+
+ static const mp_float& A000142_430(void)
+ {
+ static const mp_float val("+2.29465293678129211627173056099189068849352074140443334092009022868999642517619375728687468344160474470579121941700557753502724079082182688928472391488239220152550170633427480461841825091949094197944288801357794156601367090702457219551514694795041383014902497577944077036236488929813770982742476458637464014272144977108852373042517892799660381090776777345371874117528593766939404515022294585579229922895600270030646036593E+000000000000000947");
+ return val;
+ }
+
+ static const mp_float& A000142_431(void)
+ {
+ static const mp_float val("+9.88995415752736902113115871787504886740707439545310769936558888565388459250939509390642988563331644968196015568729403917596740780844207389281716007314311038857491235430072440790538266146300595993139884733852092814951892160927590616267028334566628360794229764560938972026179267287497352935620073536727469901512944851339153727813252117966536242501247910358552777446548239135508833459746089663846480967680037163832084417716E+000000000000000949");
+ return val;
+ }
+
+ static const mp_float& A000142_432(void)
+ {
+ static const mp_float val("+4.27246019605182341712866056612202111071985613883574252612593439860247814396405868056757771059359270626260678725691102492401792017324697592169701315159782368786436213705791294421512530975201857469036430205024104096059217413520719146227356240532783451863107258290325635915309443468198856468187871767866266997453592175778514410415324914961543656760539097274894799856908839306539816054610310734781679778037776054775460468453E+000000000000000952");
+ return val;
+ }
+
+ static const mp_float& A000142_433(void)
+ {
+ static const mp_float val("+1.84997526489043953961671002513083514094169770811587651381252959459487303633643740868576114868702564181170873888224247379209975943501594057409480669464185765684526880534607630484514925912262404284092774278775437073593641140054471390316445252150695234656725442839711000351328989021730104850725348475486093609897405412112096739709835688178348403377313429120029448338041527419731740351646264548160467343890357031717774382840E+000000000000000955");
+ return val;
+ }
+
+ static const mp_float& A000142_434(void)
+ {
+ static const mp_float val("+8.02889264962450760193652150906782451168696805322290406994637844054174897770013835369620338530169128546281592674893233625771295594796918209157146105474566223070846661520197116302794778459218834592962640369885396899396402547836405833973372394334017318410188421924345741524767812354308655052148012383609646266954739488566499850340686886694032070657540282380927805787100229001635753126144788139016428272484149517655140821527E+000000000000000957");
+ return val;
+ }
+
+ static const mp_float& A000142_435(void)
+ {
+ static const mp_float val("+3.49256830258666080684238685644450366258383110315196327042667462163566080529956018385784847260623570917632492813578556627210513583736659420983358555881436307035818297761285745591715728629760193047938748560900147651237435108308836537778416991535297533508431963537090397563273998374124264947684385386870196126125311677526427434898198795711903950736030022835703595517388599615711552609872982840472146298530605040179986257364E+000000000000000960");
+ return val;
+ }
+
+ static const mp_float& A000142_436(void)
+ {
+ static const mp_float val("+1.52275977992778411178328066940980359688655036097425598590603013503314811111060824016202193405631876920087766866720250689463783922509183507548744330364306229867616777823920585077988057682575444168901294372552464375939521707222652730471389808309389724609676336102171413337587463291118179517190392028675405510990635891401522361615614674930390122520909089956366767645581429432450236937904620518445855786159343797518474008211E+000000000000000963");
+ return val;
+ }
+
+ static const mp_float& A000142_437(void)
+ {
+ static const mp_float val("+6.65446023828441656849293652532084171839422507745749865840935169009485724555335800950803585182611302140783541207567495512956735741365131927988012723692018224521485319090532956790807812072854691018098656408054269322855709860562992432159973462312033096544285588766489076285257214582186444490122013165311522083029078845424652720260236129445804835416372723109322774611190846619807535418643191665608389785516332395155731415881E+000000000000000965");
+ return val;
+ }
+
+ static const mp_float& A000142_438(void)
+ {
+ static const mp_float val("+2.91465358436857445699990619809052867265667058392638441238329604026154747355237080816451970309983750337663191048914563034675050254717927784458749572977103982340410569761653435074373821687910354665927211506727769963410800918926590685286068376492670496286397087879722215412942659986997662686673441766406446672366736534295997891473983424697262517912371252721883375279701590819475700513365717949536474726056153589078210360156E+000000000000000968");
+ return val;
+ }
+
+ static const mp_float& A000142_439(void)
+ {
+ static const mp_float val("+1.27953292353780418662295882096174208729627838634368275703626696167481934088949078478422414966082866398234140870473493172222347061821170297377391062536948648247440240125365857997650107720992645698342045851453491013937341603408773310840584017280282347869728321579198052566281827734291973919449640935452430089168997338555943074357078723442098245363530979944906801747788998369749832525367550179846512404738651425605334348108E+000000000000000971");
+ return val;
+ }
+
+ static const mp_float& A000142_440(void)
+ {
+ static const mp_float val("+5.62994486356633842114101881223166518410362489991220413095957463136920509991375945305058625850764612152230219830083369957778327072013149308460520675162574052288737056551609775189660473972367641072705001746395360461324303054998602567698569676033242330626804614948471431291640042030884685245578420115990692392343588289646149527171146383145232279599536311757589927690271592826899263111617220791324654580850066272663471131677E+000000000000000973");
+ return val;
+ }
+
+ static const mp_float& A000142_441(void)
+ {
+ static const mp_float val("+2.48280568483275524372318929619416434618969858086128202175317241243381944906196791879530854000187193959133526945066766151380242238757798845031089617746695157059333041939259910858640269021814129713062905770160353963444017647254383732355069227130659867806420835192275901199613258535620146193300083271151895345023522435733951941482475554967047435303395513485097158111409772436662575032223194368974172670154879226244590769070E+000000000000000976");
+ return val;
+ }
+
+ static const mp_float& A000142_442(void)
+ {
+ static const mp_float val("+1.09740011269607781772564966891782064101584677274068665361490220629574819648538982010752637468082739729937018909719510638910067069530947089503741611044039259420225204537152880599518998907641845333173804350410876451842255800086437609700940598391751661570438009154985948330229060272744104617438636805849137742500396916594406758135254195295434966404100816960412943885243119417004858164242651911086584320208456618000109119929E+000000000000000979");
+ return val;
+ }
+
+ static const mp_float& A000142_443(void)
+ {
+ static const mp_float val("+4.86148249924362473252462803330594543970020120324124187551401677389016451043027690307634183983606537003620993770057432130371597118022095606501575336925093919231597656099587261055869165160853374825959953272320182681661193194382918610975166850875459860757040380556587751102914737008256383455253161049911680199276758340513221938539176085158776901170166619134629341411627019017331521667594947966113568538523462817740483401285E+000000000000000981");
+ return val;
+ }
+
+ static const mp_float& A000142_444(void)
+ {
+ static const mp_float val("+2.15849822966416938124093484678783977522688933423911139272822344760723304263104294496589577688721302429607721233905499865884989120401810449286699449594741700138829359308216743908805909331418898422726219252910161110657569778306015863272974081788704178176125928967124961489694143231665834254132403506160786008478880703187870540711394181810496944119553978895775427586762396443695195620412156896954424431104417491076774630170E+000000000000000984");
+ return val;
+ }
+
+ static const mp_float& A000142_445(void)
+ {
+ static const mp_float val("+9.60531712200555374652216006820588699975965753736404569764059434185218703970814110509823620714809795811754359490879474403188201585788056499325812550696600565617790648921564510394186296524814097981131675675450216942426185513461770591564734663959733592883760383903706078629138937380912962430889195602415497737731019129186023906165704109056711401332015206086200652761092664174443620510834098191447188718414657835291647104258E+000000000000000986");
+ return val;
+ }
+
+ static const mp_float& A000142_446(void)
+ {
+ static const mp_float val("+4.28397143641447697094888339041982560189280726166436438114770507646607541970983093287381334838805168932042444332932245583821937907261473198699312397610683852265534629419017771635807088250067087699584727351250796756322078739003949683837871660126041182426157131221052911068595966071887181244176581238677311991028034531616966662149904032639293284994078781914445491131447328221801854747832007793385446168412937394540074608499E+000000000000000989");
+ return val;
+ }
+
+ static const mp_float& A000142_447(void)
+ {
+ static const mp_float val("+1.91493523207727120601415087551766204404608484596397087837302416918033571261029442699459456672945910512622972616820713775968406244545878519818592641731975681962693979350300943921205768447779988201714373126009106150075969196334765508675528632076340408544492237655810651247662396834133570016146931813688758459989531435632784097981007102589764098392353215515757134535756955715145429072280907483643294437280583015359413349999E+000000000000000992");
+ return val;
+ }
+
+ static const mp_float& A000142_448(void)
+ {
+ static const mp_float val("+8.57890983970617500294339592231912595732646010991858953511114827792790399249411903293578365894797679096550917323356797716338459975565535768787295034959251055192869027489348228767001842646054347143680391604520795552340341999579749478866368271702005030279325224698031717589527537816918393672338254525325637900753100831634872758954911819602143160797742405510591962720191161603851522243818465526721959079017011908810171807996E+000000000000000994");
+ return val;
+ }
+
+ static const mp_float& A000142_449(void)
+ {
+ static const mp_float val("+3.85193051802807257632158476912128755483958058935344670126490557678962889262985944578816686286764157914351361878187202174635968529028925560185495470696703723781598193342717354716383827348078401867512495830429837203000813557811307516010999353994200258595417025889416241197697864479796358758879876281871211417438142273404057868770755407001362279198186340074255791261365831560129333487474491021498159626478638347055767141790E+000000000000000997");
+ return val;
+ }
+
+ static const mp_float& A000142_450(void)
+ {
+ static const mp_float val("+1.73336873311263265934471314610457939967781126520905101556920750955533300168343675060467508829043871061458112845184240978586185838063016502083472961813516675701719187004222809622372722306635280840380623123693426741350366101015088382204949709297390116367937661650237308538964039015908361441495944326842045137847164023031826040946839933150613025639183853033415106067614624202058200069363520959674171831915387256175095213806E+000000000000001000");
+ return val;
+ }
+
+ static const mp_float& A000142_451(void)
+ {
+ static const mp_float val("+7.81749298633797329364465628893165309254692880609282008021712586809455183759229974522708464818987858487176088931780926813423698129664204424396463057778960207414753533389044871396900977602925116590116610287857354603490151115578048603744323188931229424819398854042570261510727815961746710101146708914057623571690709743873535444670248098509264745632719177180702128364941955151282482312829479528130514961938396525349679414263E+000000000000001002");
+ return val;
+ }
+
+ static const mp_float& A000142_452(void)
+ {
+ static const mp_float val("+3.53350682982476392872738464259710719783121182035395467625814089237873743059171948484264226098182512036203592197164978919667511554608220399827201302116090013751468597091848281871399241876522152698732707850111524280777548304241277968892434081396915700018368282027241758202848972814709512965718312429154045854404200804230838020990952140526187665025989068085677362020953763728379682005398924746714992762796155229458055095247E+000000000000001005");
+ return val;
+ }
+
+ static const mp_float& A000142_453(void)
+ {
+ static const mp_float val("+1.60067859391061805971350524309648956061753895462034146834493782424756805605804892663371694422476677952400227265315735450609382734237523841121722189858588776229415274482607271687743856570064535172525916656100520499192229381821298919908272638872802812108320831758340516465890584685063409373470395530406782772045102964316569623508901319658363012256773047842811844995492054968955995948445712910261891721546658318944498958147E+000000000000001008");
+ return val;
+ }
+
+ static const mp_float& A000142_454(void)
+ {
+ static const mp_float val("+7.26708081635420599109931380365806260520362685397635026628601772208395897450354212691707492678044117903897031784533438945766597613438358238692618741957993044081545346151037013462357108828092989683267661618696363066332721393468697096383557780482524766971776576182865944755143254470187878555555595708046793785084767457997226090730411991248968075645749637206365776279533929559060221605943536612588988415821828768008025269987E+000000000000001010");
+ return val;
+ }
+
+ static const mp_float& A000142_455(void)
+ {
+ static const mp_float val("+3.30652177144116372595018778066441848536765021855923937116013806354820133339911166774726909168510073646273149461962714720323801914114452998605141527590886835057103132498721841125372484516782310305886786036506845195181388234028257178854518790119548768972158342163204004863590180783935484742777796047161291172213569193388737871282337456018280474418816084928896428207187937949372400830704309158727989729198932089443651497844E+000000000000001013");
+ return val;
+ }
+
+ static const mp_float& A000142_456(void)
+ {
+ static const mp_float val("+1.50777392777717065903328562798297482932764849966301315324902295697797980802999492049275470580840593582700556154654997912467653672836190567363944536581444396786039028419417159553169852939652733499484374432647121409002713034716885273557660568294514238651304204026421026217797122437474581042706674997505548774529387552185264469304745879944335896334980134727576771262477699704913814778801164976379963316514713032786305083017E+000000000000001016");
+ return val;
+ }
+
+ static const mp_float& A000142_457(void)
+ {
+ static const mp_float val("+6.89052684994166991178211531988219497002735364345997011034803491338936772269707678665188900554441512672941541626773340459977177284861390892853226532177200893312198359876736419157986227934212992092643591157197344839142398568656165700158508797105930070636460212400744089815332849539258835365169504738600357899599301113486658624722688671345615046250859215705025844669523087651456133539121323942056432356472238559833414229387E+000000000000001018");
+ return val;
+ }
+
+ static const mp_float& A000142_458(void)
+ {
+ static const mp_float val("+3.15586129727328481959620881650604529627252796870466631053939999033233041699526116828656516453934212804207226065062189930669547196466517028926777751737158009136986848823545279974357692393869550378430764749996383936327218544444523890672597029074515972351498777279540793135422445088980546597247633170278963918016479909976889650122991411476291691182893520792901836858641574144366909160917566365461846019264285260403703717059E+000000000000001021");
+ return val;
+ }
+
+ static const mp_float& A000142_459(void)
+ {
+ static const mp_float val("+1.44854033544843773219465984677627479098909033763544183653758459556253966140082487624353341052355803677131116763863545178177322163178131316277390988047355526193876963610007283508230180808786123623699721020248340226774193311900036465818722036345202831309337938771309224049158902295842070888136663625158044438369564278679392349406453057867617886252948126043941943118116482532264411304861162961746987322842306934525300006130E+000000000000001024");
+ return val;
+ }
+
+ static const mp_float& A000142_460(void)
+ {
+ static const mp_float val("+6.66328554306281356809543529517086403854981555312303244807288913958768244244379443072025368840836696914803137113772307819615681950619404054875998545017835420491834032606033504137858831720416168669018716693142365043161289234740167742766121367187933024022954518348022430626130950560873526085428652675727004416499995681925204807269684066191042276763561379802132938343335819648416292002361349624036141685074611898816380028199E+000000000000001026");
+ return val;
+ }
+
+ static const mp_float& A000142_461(void)
+ {
+ static const mp_float val("+3.07177463535195705489199567107376832177146496998971795856160189334992160596658923256203695035625717277724246209449033904842829379235545269297835329253222128846735489031381445407552921423111853756417628395538630284897354337215217329415181950273637124074582032958438340518646368208562695525382608883510149036006498009367519416151324354514070489588001796088783284576277812857919910613088582176680661316819396085354351193000E+000000000000001029");
+ return val;
+ }
+
+ static const mp_float& A000142_462(void)
+ {
+ static const mp_float val("+1.41915988153260415936010200003608096465841681613524969685546007472766378195656422544366107106459081382308601748765453664037387173206821914415599922114988623527191795932498227778289449697477676435464944318738847191622577703793430406189814061026420351322456899226798513319614622112355965332726765304181688854635002080327793970261911851785500566189656829793017877474240349540358998703246924965626465528370560991433710251166E+000000000000001032");
+ return val;
+ }
+
+ static const mp_float& A000142_463(void)
+ {
+ static const mp_float val("+6.57071025149595725783727226016705486636846985870620609644078014598908331045889236380415075902905546800088826096784050464493102611947585463744227639392397326930898015167466794613480152099321641896202692195760862497212534768563582780658839102552326226622975443420077116669815700380208119490524923358361219396960059631917686082312651873766867621458111121941672772705732818371862163996033262590850535396355697390338078462898E+000000000000001034");
+ return val;
+ }
+
+ static const mp_float& A000142_464(void)
+ {
+ static const mp_float val("+3.04880955669412416763649432871751345799497001443967962874852198773893465605292605680512595218948173715241215308907799415524799611943679655177321624678072359695936679037704592700654790574085241839838049178833040198706616132613502410225701343584279369153060605746915782134794484976416567443603564438279605800189467669209806342193070469427826576356563560580936166535460027724544044094159433842154648423909043589116868406785E+000000000000001037");
+ return val;
+ }
+
+ static const mp_float& A000142_465(void)
+ {
+ static const mp_float val("+1.41769644386276773795096986285364375796766105671445102736806272429860461506461061641438356776810900777587165118642126728219031819553811039657454555475303647258610555752532635605804477616949637455524692868157363692398576501665278620754951124766689906656173181672315838692679435514033703861275657463800016697088102466182559949119777768283939358005802055670135317438988912891912980503784136736601911517117705268939343809155E+000000000000001040");
+ return val;
+ }
+
+ static const mp_float& A000142_466(void)
+ {
+ static const mp_float val("+6.60646542840049765885151956089797991212930052428934178753517229523149750620108547249102742579938797623556189452872310553500688279120759444803738228514914996225125189806802081923048865694985310542745068765613314806577366497760198372718072241412774965017767026592991808307886169495397059993544563781308077808430557492410729362898164400203157408307037579422830579265688334076314489147634077192564907669768506553257342150662E+000000000000001042");
+ return val;
+ }
+
+ static const mp_float& A000142_467(void)
+ {
+ static const mp_float val("+3.08521935506303240668365963493935661896438334484312261477892546187310933539590691565330980784831418490200740474491369028484821426349394660723345752716465303237133463639776572258063820279558140023461947113541418014671630154454012640059339736739765908663297201418927174479782841154350427016985311285870872336537070348955810612473442774894874509679386549590461880517076452013638866431945114048927811881781892560371178784359E+000000000000001045");
+ return val;
+ }
+
+ static const mp_float& A000142_468(void)
+ {
+ static const mp_float val("+1.44388265816949916632795270915161889767533140538658138371653711615661516896528443652574899007301103853413946542061960705330896427531516701218525812271305761914978460983415435816773867890833209530980191249137383630866322912284477915547770996794210445254423090264057917656538369660235999843949125681787568253499348923311319366637571218650801270529952905208336160081991779542382989490150313374898215960673925718253711671080E+000000000000001048");
+ return val;
+ }
+
+ static const mp_float& A000142_469(void)
+ {
+ static const mp_float val("+6.77180966681495109007809820592109263009730429126306668963055907477452514244718400730576276344242177072511409282270595708001904245122813328714886059552424023381248982012218393980669440408007752700297096958454329228763054458614201423919045974964846988243244293338431633809164953706506839268121399447583695108911946450330087829530209015472257958785479125427096590784541446053776220708804969728272632855560711618609907737365E+000000000000001050");
+ return val;
+ }
+
+ static const mp_float& A000142_470(void)
+ {
+ static const mp_float val("+3.18275054340302701233670615678291353614573301689364134412636276514402681695017648343370849881793823224080362362667179982760894995207722264495996447989639290989187021545742645170914636991763643769139635570473534737518635595548674669241951608233478084474324817869062867890307528242058214456017057740364336701188614831655141279879198237271961240629175188950735397668734479645274823733138335772288137442113534460746656636562E+000000000000001053");
+ return val;
+ }
+
+ static const mp_float& A000142_471(void)
+ {
+ static const mp_float val("+1.49907550594282572281058859984475227552464025095690507308351686238283663078353312369727670294324890738541850672816241771880381542742837186577614327003120106055907087148044785875500794023120676215264768353693034861371277365503425769212959207477968177787406989216328610776334845802009419008784034195711602586259837585709571542823102369755093744336341513995796372301973939912924441978308156148747712735235474731011675275821E+000000000000001056");
+ return val;
+ }
+
+ static const mp_float& A000142_472(void)
+ {
+ static const mp_float val("+7.07563638805013741166597819126723074047630198451659194495419959044698889729827634385114603789213484285917535175692661163275400881746191520646339623454726900583881451338771389332363747789129591736049706629431124545672429165176169630685167459296009799156560989101071042864300472185484457721460641403758764207146433404549177682125043185244042473267531946060158877265316996389003366137614497022089204110311440730375107301873E+000000000000001058");
+ return val;
+ }
+
+ static const mp_float& A000142_473(void)
+ {
+ static const mp_float val("+3.34677601154771499571800768446940014024529083867634798996333640628142574842208471064159207592297978067238994138102628730229264617065948589265718641894085823976175926483238867154208052704258296891151511235720921910103058995128328235314084208247012635001053347844806603274814123343734148502250883383977895469980263000351761043645145426620432089855542610486455148946494939291998592183091657091448193544177311465467425753786E+000000000000001061");
+ return val;
+ }
+
+ static const mp_float& A000142_474(void)
+ {
+ static const mp_float val("+1.58637182947361690797033564243849566647626785753258894724262145657739580475206815284411464398749241603871283221460646018128671428489259631311950636257796680564707389153055223031094616981818432726405816325731716985388849963690827583538875914709083988990499286878438329952261894464929986390066918724005522452770644662166734734687798932218084810591527197370579740600638601224407332694785445461346443739940045634631559807295E+000000000000001064");
+ return val;
+ }
+
+ static const mp_float& A000142_475(void)
+ {
+ static const mp_float val("+7.53526618999968031285909430158285441576227232327979749940245191874263007257232372600954455894058897618388595301938068586111189285323983248731765522224534232682360098477012309397699430663637555450427627547225655680597037327531431021809660594868148947704871612672582067273243998708417435352817863939026231650660562145291989989767044928035902850309754187510253767853033355815934830300230865941395607764715216764499909084649E+000000000000001066");
+ return val;
+ }
+
+ static const mp_float& A000142_476(void)
+ {
+ static const mp_float val("+3.58678670643984782892092888755343870190284162588118360971556711332149191454442609358054321005572035266352971363722520646988926099814216026396320388578878294756803406875057859273304928995891476394403550712479412103964189767904961166381398443157238899107518887632149064022064143385206699227941303234976486265714427581158987235129113385745089756747442993254880793498043877368384979222909892188104309296004443179901956724293E+000000000000001069");
+ return val;
+ }
+
+ static const mp_float& A000142_477(void)
+ {
+ static const mp_float val("+1.71089725897180741439528307936299026080765545554532458183432551305435164323769124663791911119657860822050367340495642348613717749611381044591044825352124946598995225079402598873366451131040234240130493689852679573590918519290666476363927057386002954874286509400535103538524596394743595531728001643083783948745781956212836911156587085000407813968530307782578138498566929504719635089328018573725755534194119396813233357488E+000000000000001072");
+ return val;
+ }
+
+ static const mp_float& A000142_478(void)
+ {
+ static const mp_float val("+8.17808889788523944080945311935509344666059307750665150116807595239980085467616415892925335151964574729400755887569170426373570843142401393145194265183157244743197175879544422614691636406372319667823759837495808361764590522209385757019571334305094124299089514934557794914147570766874386641659847853940487275004837750697360435328486266301949350769574871200723502023149923032559855726987928782409111453447890716767255448791E+000000000000001074");
+ return val;
+ }
+
+ static const mp_float& A000142_479(void)
+ {
+ static const mp_float val("+3.91730458208702969214772804417108976095042408412568606905950838119950460938988263212711235537791031295382962070145632634232940433865210267316548053022732320231991447246301778432437293838652341120887580962160492205285238860138295777612374669132140085539263877653653183763876686397332831201355067122037493404727317282584035648522344921558633739018626363305146557469088813132596170893227217886773964386201539653331515359971E+000000000000001077");
+ return val;
+ }
+
+ static const mp_float& A000142_480(void)
+ {
+ static const mp_float val("+1.88030619940177425223090946120212308525620356038032931314856402297576221250714366342101393058139695021783821793669903664431811408255300928311943065450911513711355894678224853647569901042553123738026038861837036258536914652866381973253939841183427241058846661273753528206660809470719758976650432218577996834269112295640337111290725562348144194728940654386470347585162630303646162028749064585651502905376739033599127372786E+000000000000001080");
+ return val;
+ }
+
+ static const mp_float& A000142_481(void)
+ {
+ static const mp_float val("+9.04427281912253415323067450838221204008233912542938399624459295051341624215936102105507700609651933054780182827552236625917012873707997465180446144818884380951621853402261546044811224014680525179905246925436144403562559480287297291351450636092285029493052440726754470674038493554162040677688578971360164772834430142030021505308389954894573576646204547598922371884632251760538039358283000656983728974862114751611802663101E+000000000000001082");
+ return val;
+ }
+
+ static const mp_float& A000142_482(void)
+ {
+ static const mp_float val("+4.35933949881706146185718511304022620331968745845696308618989380214746662872081201214854711693852231732404048122880178053692000205127254778216975041802702271618681733339890065193599009975076013136714329018060221602517153669498477294431399206596481384215651276430295654864886553893106103606645895064195599420506195328458470365558643958259184463943470591942680583248392745348579334970692406316666157365883539310276888883615E+000000000000001085");
+ return val;
+ }
+
+ static const mp_float& A000142_483(void)
+ {
+ static const mp_float val("+2.10556097792864068607702040959842925620340904243471317062971870643722638167215220186774825748130627926751155243351125999933236099076464057878798945190705197191823277203166901488508321817961714345033020915723087034015785222367764533210365816786100508576159566515832801299740205530370248042009967316006474520104492343645441186564825031839186096084696295908314721708973696003363818790844432250949754007721749486863737330786E+000000000000001088");
+ return val;
+ }
+
+ static const mp_float& A000142_484(void)
+ {
+ static const mp_float val("+1.01909151331746209206127787824563976000244997653840117458478385391561756872932166570399015662095223916547559137781944983967686271953008604013338689472301315440842466166332780320438027759893469742995982123209974124463640047625998034073817055324472646150861230193663075829074259476699200052332824180947133667730574294324393534297375315410166070504993007219624325307143268865628088294768705209459680939737326751642048868100E+000000000000001091");
+ return val;
+ }
+
+ static const mp_float& A000142_485(void)
+ {
+ static const mp_float val("+4.94259383958969114649719770949135283601188238621124569673620169149074520833721007866435225961161835995255661818242433172243278418972091729464692643940661379888085960906713984554124434635483328253530513297568374503648654230986090465258012718323692333831676966439265917771010158461991120253814197277593598288493285327473308641342270279739305441949216085015177977739644853998296228229628220265879452557726034745463937010287E+000000000000001093");
+ return val;
+ }
+
+ static const mp_float& A000142_486(void)
+ {
+ static const mp_float val("+2.40210060604058989719763808681279747830177483969866540861379402206450217125188409823087519817124652293694251643665822521710233311620436580519840624955161430625609777000662996493304475232844897531215829462618230008773245956259239966115394181105314474242195005689483236036710937012527684443353699876910488768207736669152027999692343355953302444787319017317376497181467399043171966919599315049217413943054852886295473386999E+000000000000001096");
+ return val;
+ }
+
+ static const mp_float& A000142_487(void)
+ {
+ static const mp_float val("+1.16982299514176727993524974827783237193296434693325005399491768874541255739966755583843622150939705667029100550465255568072883622759152614713162384353163616714671961399322879292239279438395465097702108948295078014272570780698249863498196966198288148955948967770778335949878226325100982323913251840055408030117167757877037635850171214349258290611424361433562354127374623334024747889844866428968880590267713355625895539469E+000000000000001099");
+ return val;
+ }
+
+ static const mp_float& A000142_488(void)
+ {
+ static const mp_float val("+5.70873621629182432608401877159582197503286601303426026349519832107761328011037767249156876096585763655102010686270447172195672079064664759800232435643438449567599171628695650946127683659369869676786291667679980709650145409807459333871201195047646166905030962721398279435405744466492793740696668979470391186971778658439943662948835526024380458183750883795784288141588161870040769702442948173368137280506441175454370232607E+000000000000001101");
+ return val;
+ }
+
+ static const mp_float& A000142_489(void)
+ {
+ static const mp_float val("+2.79157200976670209545508517931035694579107148037375326884915197900695289397397468184837712411230438427344883225586248667203683646662621067542313661029641401838555994926432173312656437309431866271948496625495510567018921105395847614263017384378298975616560140770763758643913409044114976139200671130961021290429199763977132451181980572225922044051854182176138516901236611154449936384494601656777019130167649734797187043745E+000000000000001104");
+ return val;
+ }
+
+ static const mp_float& A000142_490(void)
+ {
+ static const mp_float val("+1.36787028478568402677299173786207490343762502538313910173608446971340691804724759410570479081502914829398992780537261846929804986864684323095733693904524286900892437513951764923201654281621614473254763346492800177839271341643965330988878518345366498052114468977674241735517570431616338308208328854170900432310307884348794901079170480390701801585408549266307873281605939465680468828402354811820739373782148370050621651435E+000000000000001107");
+ return val;
+ }
+
+ static const mp_float& A000142_491(void)
+ {
+ static const mp_float val("+6.71624309829770857145538943290278777587873887463121298952417474629282796761198568705901052290179311812349054552437955668425342485505600026400052437071214248683381868193503165772920122522762127063680888031279648873190822287471869775155393525075749505435882042680380526921391270819236221093302894673979121122643611712152582964298727058718345845784355976897571657812685162776491101947455562126039830325270348496948552308546E+000000000000001109");
+ return val;
+ }
+
+ static const mp_float& A000142_492(void)
+ {
+ static const mp_float val("+3.30439160436247261715605160098817158573233952631855679084589397517607136006509695803303317726768221411675734839799474188865268502868755212988825799039037410352223879151203557560276700281198966515330996911389587245609884565436159929376453614337268756674453964998747219245324505243064220777905024179597727592340656962379070818434973712889426156125903140633605255643841100086033622158148136566011596520033011460498687735805E+000000000000001112");
+ return val;
+ }
+
+ static const mp_float& A000142_493(void)
+ {
+ static const mp_float val("+1.62906506095069900025793343928716859176604338647504849788702572976180318051209280031028535639296733155956137276021140775110577371914296320003491118926245443303646372421543353877216413238631090492058181477315066512085673090760026845182591631868273497040505804744382379087944981084830660843507176920541679703023943882452881913488442040454487094970070248332367391032413662342414575723967031327043717084376274650025853053752E+000000000000001115");
+ return val;
+ }
+
+ static const mp_float& A000142_494(void)
+ {
+ static const mp_float val("+8.04758140109645306127419119007861284332425432918673957956190710502330771172973843353280966058125861790423318143544435429046252217256623820817246127495652489920013079762424168153449081398837587030767416497936428569703225068354532615202002661429271075380098675437248952694448206559063464566925453987475897732938282779317236652632903679845166249152147026761894911700123491971528004076397134755595962396818796771127714085533E+000000000000001117");
+ return val;
+ }
+
+ static const mp_float& A000142_495(void)
+ {
+ static const mp_float val("+3.98355279354274426533072463908891335744550589294743609188314401698653731730622052459874078198772301586259542481054495537377894847542028791304536833110347982510406474482399963235957295292424605580229871166478532142003096408835493644524991317407489182313148844341438231583751862246736414960628099723800569377804449975762032143053287321523357293330312778247137981291561128525906362017816581704020001386425304401708218472339E+000000000000001120");
+ return val;
+ }
+
+ static const mp_float& A000142_496(void)
+ {
+ static const mp_float val("+1.97584218559720115560403942098810102529297092290192830157403943242532250938388538020097542786591061586784733070603029786539435844380846280487050269222732599325161611343270381765034818465042604367794016098573351942433535818782404847684395693434114634427321826793353362865540923674381261820471537463005082411391007187977967942954430511475585217491835138010580438720614319748849555560837024525193920687666950983247276362280E+000000000000001123");
+ return val;
+ }
+
+ static const mp_float& A000142_497(void)
+ {
+ static const mp_float val("+9.81993566241808974335207592231086209570606548682258365882297597915385287163791033959884787649357576086320123360897058039100996146572806014020639838036981018646053208376053797372223047771261743707936260009909559153894673019348552092991446596367549733103789479162966213441738390661674871247743541191135259584613305724250500676483519642033658530934420635912584780441453169151782291137360011890213785817704746386738963520532E+000000000000001125");
+ return val;
+ }
+
+ static const mp_float& A000142_498(void)
+ {
+ static const mp_float val("+4.89032795988420869218933380931080932366162061243764666209384203761861873007567934912022624249380072890987421433726734903472296080993257394982278639342416547285734497771274791091367077790088348366552257484934960458639547163635578942309740404991039767085687160623157174293985718549514085881376283513185359273137426250676749336888792781732761948405341476684467220659843678237587580986405285921326465337216963700596003833225E+000000000000001128");
+ return val;
+ }
+
+ static const mp_float& A000142_499(void)
+ {
+ static const mp_float val("+2.44027365198222013740247757084609385250714868560638568438482717677169074630776399521099289500440656372602723295429640716832675744415635440096157041031865857095581514387866120754592171817254085834909576484982545268861134034654153892212560462090528843775757893150955429972698873556207528854806765473079494277295575699087697919107507598084648212254265396865549143109261995440556202912216237674741906203271264886597405912779E+000000000000001131");
+ return val;
+ }
+
+ static const mp_float& A000142_500(void)
+ {
+ static const mp_float val("+1.22013682599111006870123878542304692625357434280319284219241358838584537315388199760549644750220328186301361647714820358416337872207817720048078520515932928547790757193933060377296085908627042917454788242491272634430567017327076946106280231045264421887878946575477714986349436778103764427403382736539747138647787849543848959553753799042324106127132698432774571554630997720278101456108118837370953101635632443298702956390E+000000000000001134");
+ return val;
+ }
+
+ static const mp_float& A000142_501(void)
+ {
+ static const mp_float val("+6.11288549821546144419320631496946510053040745744399613938399207781308531950094880800353720198603844213369821855051249995665852739761166777440873387784823972024431693541604632490253390402221485016448489094881275898497140756808655499992463957536774753658273522343143352081610678258299859781290947510064133164625417126214683287364306533202043771696934819148200603488701298578593288295101675375228475039194518540926501811512E+000000000000001136");
+ return val;
+ }
+
+ static const mp_float& A000142_502(void)
+ {
+ static const mp_float val("+3.06866852010416164498498957011467148046626454363688606197076402306216883038947630161777567539699129795111650571235727497824258075360105722275318440667981633956264710157885525510107201981915185478257141525630400501045564659917945060996216906683460926336453308216257962744968560485666529610208055650052194848641959397359771010256881879667425973391861279212396702951328051886453830724141041038364694469675648307545103909379E+000000000000001139");
+ return val;
+ }
+
+ static const mp_float& A000142_503(void)
+ {
+ static const mp_float val("+1.54354026561239330742744975376767975467453106544935368917129430360027092168590657971374116472468662286941160237331570931405601811906133178304485175655994761880001149209416419331583922596903338295563342187392091452025919023938726365681097104061780845947236014032777755260719185924290264393934651991976254008866905576871964818159211585472715264616106223443835541584518010098886276854242943642297441318246851098695187266418E+000000000000001142");
+ return val;
+ }
+
+ static const mp_float& A000142_504(void)
+ {
+ static const mp_float val("+7.77944293868646226943434675898910596355963656986474259342332329014536544529696916175725547021242057926183447596151117494284233132006911218654605285306213599875205792015458753431182969888392825009639244624456140918210631880651180883032729404471375463574069510725199886514024697058422932545430646039560320204689204107434702683522426390782484933665175366156931129585970770898386835345384435957179104243964129537423743822745E+000000000000001144");
+ return val;
+ }
+
+ static const mp_float& A000142_505(void)
+ {
+ static const mp_float val("+3.92861868403666344606434511328949851159761646778169500967877826152340954987496942668741401245727239252722641036056314334613537731663490165420575669079637867936978924967806670482747399793638376629867818535350351163696369099728846345931528349258044609104905102916225942689582472014503580935442476249977961703368048074254524855178825327345154891500913559909250220440915239303685351849419140158375447643201885416398990630486E+000000000000001147");
+ return val;
+ }
+
+ static const mp_float& A000142_506(void)
+ {
+ static const mp_float val("+1.98788105412255170370855862732448624686839393269753767489746180033084523223673452990383149030337983061877656364244495053314450092221726023702811288554296761176111336033710175264270184295581018574713116178887277688830362764462796251041353344724570572207081982075610327000928730839338811953333892982488848621904232325572789576720485615636648375099462261314080611543103111087664788035806084920137976507460154020697889259026E+000000000000001150");
+ return val;
+ }
+
+ static const mp_float& A000142_507(void)
+ {
+ static const mp_float val("+1.00785569444013371378023922405351452716227572387765160117301313276773853274402440666124256558381357412371971776671958992030426196756415094017325323297028457916288447369091058858984983437859576417379549902695849788236993921582637699277966145775357280108990564912334435789470866535544777660340283742121846251305445789065404315397286207127780726175427366486238870052353277321446047534153685054509954089282298088493829854326E+000000000000001153");
+ return val;
+ }
+
+ static const mp_float& A000142_508(void)
+ {
+ static const mp_float val("+5.11990692775587926600361525819185379798436067729847013395890671446011174633964398583911223316577295654849616625493551679514565079522588677608012642348904566214745312634982579003643715864326648200288113505694916924243929121639799512332068020538814982953672069754658933810512002000567470514528641409978978956631664608452253922218213932209126088971171021750093459865954648792945921473500720076910566773554074289548655659977E+000000000000001155");
+ return val;
+ }
+
+ static const mp_float& A000142_509(void)
+ {
+ static const mp_float val("+2.60603262622774254639584016641965358317403958474492129818508351766019687888687878879210812668137843488318454862376217804872913625476997636902478434955592424203305364131206132712854651374942263933946649774398712714440159922914657951777022622454256826323419083505121397309550609018288842491895078477679300288925517285702197246409070891494445179286326050070797571071770916235609474030011866519147478487739023813380265730928E+000000000000001158");
+ return val;
+ }
+
+ static const mp_float& A000142_510(void)
+ {
+ static const mp_float val("+1.32907663937614869866187848487402332741876018821990986207439259400670040823230818228397514460750300179042411979811871080485185948993268794820264001827352136343685735706915127683555872201220554606312791384943343484364481560686475555406281537451670981424943732587611912627870810599327309670866490023616443147352013815708120595668626154662167041436026285536106761246603167280160831755306051924765214028746902144823935522773E+000000000000001161");
+ return val;
+ }
+
+ static const mp_float& A000142_511(void)
+ {
+ static const mp_float val("+6.79158162721211985016219905770625920310986456180373939520014615537423908606709481147111298894434033914906725216838661221279300199355603541531549049337769416716234109462336302462970506948237034038258363977060485205102500775107890088126098656378038715081462473522696873528419842162562552418127764020680024482968790598268496243866679650323673581738094319089505549970142184801621850269613925335550243686896669960050310521373E+000000000000001163");
+ return val;
+ }
+
+ static const mp_float& A000142_512(void)
+ {
+ static const mp_float val("+3.47728979313260536328304591754560471199225065564351457034247483155161041206635254347320985033950225364432243311021394545295001702070069013264153113260937941358711864044716186861040899557497361427588282356254968425012480396855239725120562512065555822121708786443620799246550959187232026838081415178588172535280020786313470076859739980965720873849904291373826841584712798618430387338042329771801724767691095019545758986943E+000000000000001166");
+ return val;
+ }
+
+ static const mp_float& A000142_513(void)
+ {
+ static const mp_float val("+1.78384966387702655136420255570089521725202458634512297458568958858597614139003885480175665322416465611953740818553975401736335873161945403804510547102861163917019186254939403859713981472996146412352788848758798802031402443586737978986848568689630136748436607445577470013480642063050029767935765986615732510598650663378810149429046610235414808285000901474773169732957665691254788704415715172934284805825531745026974360302E+000000000000001169");
+ return val;
+ }
+
+ static const mp_float& A000142_514(void)
+ {
+ static const mp_float val("+9.16898727232791647401200113630260141667540637381393208937044448533191736674479971368102919757220633245442227807367433564924766388052399375555184212108706382533478617350388535838929864771200192559493334682620225842441408560035833211992401643064698902886964162270268195869290500204077153007189837171204865104477064409767084168065299576610032114584904633580334092427402401653049613940696775988882223901943233169438648211950E+000000000000001171");
+ return val;
+ }
+
+ static const mp_float& A000142_515(void)
+ {
+ static const mp_float val("+4.72202844524887698411618058519583972958783428251417502602577890994593744387357185254573003674968626121402747320794228285936254689846985678410919869235983787004741487935450095957048880357168099168139067361549416308857325408418454104176086846178319934986786543569188120872684607605099733798702766143170505528805688171030048346553629281954166539011225886293872057600112236851320551179458839634274345309500765082260903829154E+000000000000001174");
+ return val;
+ }
+
+ static const mp_float& A000142_516(void)
+ {
+ static const mp_float val("+2.43656667774842052380394918196105330046732248977731431342930191753210372103876307591359669896283811078643817617529821795543107419961044610060034652525767634094446607774692249513837222264298739170759758758559498815370379910743922317754860812628013086453181856481701070370305257524231462640130627329875980852863735096251504946821672709488349934129792557327637981721657914215281404408600761251285562179702394782446626375844E+000000000000001177");
+ return val;
+ }
+
+ static const mp_float& A000142_517(void)
+ {
+ static const mp_float val("+1.25970497239593341080664172707386455634160572721487150004294909136409762377704051024732949336378730327658853708262917868295786536119860063401037915355821866826828896219515892998653843910642448151282795278175260887546486413854607838279263040128682765696295019801039453381447818140027666184947534329545882100930551044762028057506804790805476915945102752138388836550097141649300486079246593566914635646906138102524905836311E+000000000000001180");
+ return val;
+ }
+
+ static const mp_float& A000142_518(void)
+ {
+ static const mp_float val("+6.52527175701093506797840414624261840184951766697303437022247629326602569116506984308116677562441823097272862208801914557772174257100875128417376401543157270162973682417092325733026911457127881423644879540947851397490799623766868602286582547866576726306808202569384368515899697965343310838028227827047669282820254411867305337885248816372370424595632256076854173329503193743376517890497354676617812650973795371079012232092E+000000000000001182");
+ return val;
+ }
+
+ static const mp_float& A000142_519(void)
+ {
+ static const mp_float val("+3.38661604188867530028079175189991895055989966915900483814546519620506733371467124855912555654907306187484615486368193655483758439435354191648618352400898623214583341174470917055440967046249370458871692481751934875297725004735004804586736342342753320953233457133510487259751943244013178324936650242237740357783712039759131470362444135697260250365133140903887315958012157552812412785168127077164644765855399797590007348456E+000000000000001185");
+ return val;
+ }
+
+ static const mp_float& A000142_520(void)
+ {
+ static const mp_float val("+1.76104034178211115614601171098795785429114782796268251583564190202663501353162904925074528940551799217492000052911460700851554388506384179657281543248467284071583337410724876868829302864049672638613280090511006135154817002462202498385102898018231726895681397709425453375071010486886852728967058125963624986047530260674748364588470950562575330189869233270021404298166321927462454648287426080125615278244807894746803821197E+000000000000001188");
+ return val;
+ }
+
+ static const mp_float& A000142_521(void)
+ {
+ static const mp_float val("+9.17502018068479912352072101424726042085688018368557590750369430955876842049978734659638295780274873923133320275668710251436598364118261576014436840324514550012949187909876608486600667921698794447175189271562341964156596582828075016586386098674987297126500082066106612084119964636680502717918372836270486177307632658115438979505933652431017470289218705336811516393446537242079388717577489877454455599655449131630847908436E+000000000000001190");
+ return val;
+ }
+
+ static const mp_float& A000142_522(void)
+ {
+ static const mp_float val("+4.78936053431746514247781636943706993968729145588387062371692842958967711550088899492331190397303484187875593183899066751249904346069732542679536030649396595106759476088955589630005548655126770701425448799755542505289743416236255158658093543508343369100033042838507651507910621540347222418753390620533193784554584247536259147302097366568991119490972164185815611557379092440365440910575449716031225823020144446711302608204E+000000000000001193");
+ return val;
+ }
+
+ static const mp_float& A000142_523(void)
+ {
+ static const mp_float val("+2.50483555944803426951589796121558757845645343142726433620395356867540113140696494434489212577789722230258935235179211910903699972994470119821397344029634419240835205994523773376492901946631301076845509722272148730266535806691561447978182923254863582039317281404539501738637255065601597325008023294538860349322047561461463534038996922715582355493778441869181564844509265346311125596230960201484331105439535545630011264091E+000000000000001196");
+ return val;
+ }
+
+ static const mp_float& A000142_524(void)
+ {
+ static const mp_float val("+1.31253383315076995722633053167696789111118159806788651217087166998591019285724963083672347390761814448655682063233907041313538785849102342786412208271528435682197647941130457249282280620034801764267047094470605934659664762706378198740567851785548516988602255455978698911045921654375236998304204206338362823044752922205806891836434387502965154278739903539451139978522855041467029812425023145577789499250316625910125902383E+000000000000001199");
+ return val;
+ }
+
+ static const mp_float& A000142_525(void)
+ {
+ static const mp_float val("+6.89080262404154227543823529130408142833370338985640418889707626742602851250056056189279823801499525855442330831978011966896078625707787299628664093425524287331537651690934900558731973255182709262401997245970681156963240004208485543387981221874129714190161841143888169282991088685469994241097072083276404820984952841580486182141280534390567059963384493582118484887244988967701906515231371514283394871064162286028160987513E+000000000000001201");
+ return val;
+ }
+
+ static const mp_float& A000142_526(void)
+ {
+ static const mp_float val("+3.62456218024585123688051176322594683130352798306446860335986211666609099757529485555561187319588750599962666017620434294587337357122296119604677313141825775136388804789431757693893017932226105072023450551380578288562664242213663395822078122705792229664025128441685177042853312648557216970817059915803388935838085194671335731806313561089438273540740243624194323050690864197011202827011701416513065702179749362450812679432E+000000000000001204");
+ return val;
+ }
+
+ static const mp_float& A000142_527(void)
+ {
+ static const mp_float val("+1.91014426898956360183602969922007398009695924707497495397064733548302995572218038887780745717423271566180324991285968873247526787203450055031664944025742183496876900124030536304681620450283157372956358440577564758072524055646600609598235170665952505032941242688768088301583695765789653343620590575628385969186670897591793930661927246694133970155970108389950408247714085431824903889835166646502385625048727914011578282061E+000000000000001207");
+ return val;
+ }
+
+ static const mp_float& A000142_528(void)
+ {
+ static const mp_float val("+1.00855617402648958176942368118819906149119448245558677569650179313503981662131124532748233738799487386943211595398991565074694143643421629056719090445591872886351003265488123168871895597749507092920957256624954192262292701381405121867868170111622922657392976139669550623236191364336936965431671823931787791730562233928467195389497586254502736242352217229893815554793037108003549253832967989353259610025728338598113332928E+000000000000001210");
+ return val;
+ }
+
+ static const mp_float& A000142_529(void)
+ {
+ static const mp_float val("+5.33526216060012988756025127348557303528841881219005404343449448568436062992673648778238156478249288276929589339660665379245132019873700417710043988457181007568796807274432171563332327712094892521551863887546007677067528390307633094681022619890485260857608843778851922796919452317342396547133543948599157418254674217481591463610442231286319474722043229146138284284855166301338775552776400663678743337036102911184019531189E+000000000000001212");
+ return val;
+ }
+
+ static const mp_float& A000142_530(void)
+ {
+ static const mp_float val("+2.82768894511806884040693317494735370870286197046072864302028207741271113386117033852466222933472122786772682350020152650999919970533061221386323313882305934011462307855449050928566133687410293036422487860399384068845790046863045540180941988541957188254532687202791519082367309728191470169980778292757553431674977335265243475713534382581749321602682911447453290670973238139709551042971492351749733968629134542927530351530E+000000000000001215");
+ return val;
+ }
+
+ static const mp_float& A000142_531(void)
+ {
+ static const mp_float val("+1.50150282985769455425608151589704481932121970631464690944376978310614961208028144975659564377673697199776294327860701057680957504353055508556137679671504450960086485471243446043068616988014865602340341053872072940557114514884277181836080195915779266963156856904682296632737041465669670660259793273454260872219412965025844285603886757150908889771024625978597697346286789452185771603817862438779108737342070442294518616663E+000000000000001218");
+ return val;
+ }
+
+ static const mp_float& A000142_532(void)
+ {
+ static const mp_float val("+7.98799505484293502864235366457227843878888883759392155824085524612471593626709731270508882489224069102809885824218929626862693923158255305518652455852403679107660102707015132949125042376239085004450614406599428043763849219184354607367946642271945700243994478732909818086161060597362647912582100214776667840207276973937491599412677548042835293581851010206139749882245719885628304932311028174304858482659814753006839040645E+000000000000001220");
+ return val;
+ }
+
+ static const mp_float& A000142_533(void)
+ {
+ static const mp_float val("+4.25760136423128437026637450321702440787447775043756019054237584618447359403036286767181234366756428831797669144308689491117815861043350077841441758969331160964382834742839065861883647586535432307372177478717495147326131633825261005727115560330947058230049057164640933039923845298394291337406259414475963958830478627108683022486957133106831211479126588439872486687236968699039886528921778016904489571257681263352645208664E+000000000000001223");
+ return val;
+ }
+
+ static const mp_float& A000142_534(void)
+ {
+ static const mp_float val("+2.27355912849950585372224398471789103380497111873365714174962870186250889921221377133674779151847932996179955323060840188256913669797148941567329899289622839954980433752676061170245867811209920852136742773635142408672154292462689377058279709216725729094846196525918258243319333389342551574174942527330164754015475586876036734008035109079047866929853598226891907890984541285287299406444229461026997431051601794630312541426E+000000000000001226");
+ return val;
+ }
+
+ static const mp_float& A000142_535(void)
+ {
+ static const mp_float val("+1.21635413374723563174140053182407170308565954852250657083605135549644226107853436766516006846238644152956276097837549500717448813341474683738521496119948219375914532057681692726081539278997307655893157383894801188639602546467538816726179644430948265065742715141366268160175843363298265092183594252121638143398279438978679652694298783357290608807471675051387170721676729587628705182447662761649443625612606960127217209663E+000000000000001229");
+ return val;
+ }
+
+ static const mp_float& A000142_536(void)
+ {
+ static const mp_float val("+6.51965815688518298613390685057702432853913518008063521968123526546093051938094421068525796695839132659845639884409265323845525639510304304838475219202922455854901891829173873011797050535425569035587323577676134371108269649066008057652322894149882700752380953157723197338542520427278700894104065191371980448614777792925722938441441478795077663208048178275435235068187270589689859777919472402441017833283573306281884243794E+000000000000001231");
+ return val;
+ }
+
+ static const mp_float& A000142_537(void)
+ {
+ static const mp_float val("+3.50105643024734326355390797875986206442551559170330111296882333755251968890756704113798352825665614238337108617927775478905047268417033411698261192711969358794082315912266369807335016137523530572110392761212084157285140801548446326959297394158487010304028571845697356970797333469448662380133883007766753500906135674801113217943054074112956705142721871733908721231616564306663454700742756680110826576473278865473371838918E+000000000000001234");
+ return val;
+ }
+
+ static const mp_float& A000142_538(void)
+ {
+ static const mp_float val("+1.88356835947307067579200249257280579066092738833637599877722695560325559263227106813223513820208100460225364436445143207650915430408363975493664521679039515031216285960799306956346238681987659447795391305532101276619405751233064123904101998057266011543567371652985178050288965406563380360512029058178513383487500993042998911253363091872770707366784366992842892022609711596984938628999603093899624698142624029624674049338E+000000000000001237");
+ return val;
+ }
+
+ static const mp_float& A000142_539(void)
+ {
+ static const mp_float val("+1.01524334575598509425188934349674232116623986231330666334092532907015476442879410572327473949092166148061471431243932188923843416990108182791085177185002298601825578132870826449470622649591348442361715913681802588097859699914621562784310976952866380221982813320959010969105752354137662014315983662358218713699763035250176413165562706519423411270696773809142318800186634550774881921030786067611897712298874351967699312593E+000000000000001240");
+ return val;
+ }
+
+ static const mp_float& A000142_540(void)
+ {
+ static const mp_float val("+5.48231406708231950896020245488240853429769525649185598204099677697883572791548817090568359325097697199531945728717233820188754451746584187071859956799012412449858121917502462827141362307793281588753265933881733975728442379538956439035279275545478453198707191933178659233171062712343374877306311776734381053978720390350952631094038615204886420861762578569368521521007826574184362373566244765104247646413921500625576288002E+000000000000001242");
+ return val;
+ }
+
+ static const mp_float& A000142_541(void)
+ {
+ static const mp_float val("+2.96593191029153485434746952809138301705505313376209408628417925634555012880227910045997482394877854184946782639236023496722116158394902045205876236628265715135373243957368832389483477008516165339515516870230018080869087327330575433518086088070103843180500590835849654645145544927377765808622714671213300150202487731179865373421874890825843553686213555006028370142865234176633740044099338417921397976709931531838436771809E+000000000000001245");
+ return val;
+ }
+
+ static const mp_float& A000142_542(void)
+ {
+ static const mp_float val("+1.60753509537801189105632848422552959524383879849905499476602515693928816981083527244930635458023796968241156190465924735223386957850036908501584920252520017603372298224893907155100044538615761614017410143664669799831045331413171884966802659733996283003831320233030512817668885350638749068273511351797608681409748350299487032394656190827607206097927746813267376617432956923735487103901841422513397703376782890256432730321E+000000000000001248");
+ return val;
+ }
+
+ static const mp_float& A000142_543(void)
+ {
+ static const mp_float val("+8.72891556790260456843586366934462570217404467584986862157951660218033476207283552939973350537069217537549478114229971312262991181125700413163606116971183695586311579361173915852193241844683585564114537080099157013082576149573523335369738442355599816710804068865355684599942047453968407440725166640261015140054933542126214585902983116193907129111747665196041855032660956095883694974186998924247749529335931094092429725641E+000000000000001250");
+ return val;
+ }
+
+ static const mp_float& A000142_544(void)
+ {
+ static const mp_float val("+4.74853006893901688522910983612347638198268030366232853013925703158610211056762252799345502692165654340426916094141104393871067202532381024761001727632323930398953499172478610223593123563507870546878308171573941415116921425367996694441137712641446300290677413462753492422368473814958813647754490652301992236189883846916660734731222815209485478236790729866646769137767560116160730065957727414790775743958746515186281770749E+000000000000001253");
+ return val;
+ }
+
+ static const mp_float& A000142_545(void)
+ {
+ static const mp_float val("+2.58794888757176420244986486068729462818056076549596904892589508221442565025935427775643298967230281615532669271306901894659731625380147658494745941559616542067429657049000842571858252342111789448048677953507798071238722176825558198470420053389588233658419190337200653370190818229152553438026197405504585768723486696569580100428516434289169585639050947777322489180083320263307597885946961441060972780457516850776523565058E+000000000000001256");
+ return val;
+ }
+
+ static const mp_float& A000142_546(void)
+ {
+ static const mp_float val("+1.41302009261418325453762621393526286698658617796079910071353871488907640504160743565501241236107733762080837422133568434484213467457560621538131284091550631968816592748754460044234605778793037038634578162615257746896342308546754776364849349150715175577496877924111556740124186753117294177162303783405503829723023736326990734833969973121886593758921817486418079092325492863765948445727040946819291138129804200523981866522E+000000000000001259");
+ return val;
+ }
+
+ static const mp_float& A000142_547(void)
+ {
+ static const mp_float val("+7.72921990659958240232081539022588788241662639344557108090305677044324793557759267303291789561509303678582180699070619336628647666992856599813578123980781956869426762335686896441963293609997912601331142549505459875522992427750748626715725939854412010408907922244890215368479301539551599149077801695228105948584939837708639319541815752976719667861302341650706892635020445964799737998126913979101522525570028976866180809873E+000000000000001261");
+ return val;
+ }
+
+ static const mp_float& A000142_548(void)
+ {
+ static const mp_float val("+4.23561250881657115647180683384378655956431126360817295233487511020289986869652078482203900679707098415863035023090699396472498921512085416697840811941468512364445865759956419250195884898278856105529466117128992011786599850407410247440217815040217781704081541390199838021926657243674276333694635328985002059824547031064334347108915032631242377987993683224587377163991204388710256422973548860547634344012375879322667083811E+000000000000001264");
+ return val;
+ }
+
+ static const mp_float& A000142_549(void)
+ {
+ static const mp_float val("+2.32535126734029756490302195178023882120080688372088695083184643550139202791438991086729941473159197030308806227676793968663401907910134893767114605755866213288080780302216074168357540809155092001935676898303816614470843317873668225844679580457079562155540766223219711074037734826777177707198354795612766130843676320054319556562794352914552065515408532090298470063031171209401930776212478324440651254862794357748144229012E+000000000000001267");
+ return val;
+ }
+
+ static const mp_float& A000142_550(void)
+ {
+ static const mp_float val("+1.27894319703716366069666207347913135166044378604648782295751553952576561535291445097701467810237558366669843425222236682764871049350574191571913033165726417308444429166218840792596647445035300601064622294067099137958963824830517524214573769251393759185547421422770841090720754154727447738959095137587021371964021976029875756109536894103003636033474692649664158534667144165171061926916863078442358190174536896761479325957E+000000000000001270");
+ return val;
+ }
+
+ static const mp_float& A000142_551(void)
+ {
+ static const mp_float val("+7.04697701567477177043860802487001374764904526111614790449591062278696854059455862488335087634408946600350837272974524122034439481921663795561240812743152559369528804705865812767207527422144506311866068840309716250153890674816151558422301468575179613112366292039467334409871355392548237041664614208104487759521761087924615416163548286507550034544445556499649513526015964350092551217311915562217393627861698301155751086021E+000000000000001272");
+ return val;
+ }
+
+ static const mp_float& A000142_552(void)
+ {
+ static const mp_float val("+3.88993131265247401728211162972824758870227298413611364328174266377840663440819636093560968374193738523393662174681937315363010594020758415149804928634220212771979900197637928647498555137023767484150069999850963370084947652498515660249110410653499146438026193205785968594248988176686626846998867042873677243256012120534387709722278654152167619068533947187806531466360812321251088271956177390344001282579657462237974599484E+000000000000001275");
+ return val;
+ }
+
+ static const mp_float& A000142_553(void)
+ {
+ static const mp_float val("+2.15113201589681813155700773123972091655235696022727084473480369306945886882773258759739215510929137403436695182599111335395744858493479403577842125534723777662904884809293774542066700990774143418734988709917582743656976051831679160117758057091385027980228484842799640632619690461707704646390373474709143515520574702655516403476420095746148693344899272794857011900897529213651851814391766096860232709266550576617599953514E+000000000000001278");
+ return val;
+ }
+
+ static const mp_float& A000142_554(void)
+ {
+ static const mp_float val("+1.19172713680683724488258228310680538777000575596590804798308124596048021333056385352895525393054742121503929131159907679809242651605387589582124537546236972825249306184348751096304952348888875453979183745294340839985964732714750254705237963628627305501046580602911000910471308515786068374100266904988865507598398385271156087525936733043366376113074197128350784593097231184363125905173038417660568920933669019446150374247E+000000000000001281");
+ return val;
+ }
+
+ static const mp_float& A000142_555(void)
+ {
+ static const mp_float val("+6.61408560927794670909833167124276990212353194561078966630610091508066518398462938708570165931453818774346806677937487622941296716409901122180791183381615199180133649323135568584492485536333258769584469786383591661922104266566863913614070698138881545530808522346156055053115762262612679476256481322688203567171111038254916285768948868390683387427561794062346854491689633073215348773710363218016157511181863057926134577071E+000000000000001283");
+ return val;
+ }
+
+ static const mp_float& A000142_556(void)
+ {
+ static const mp_float val("+3.67743159875853837025867240921098006558068376175959905446619210878484984229545393921965012257888323238536824512933243118355360974323905023932519897960178050744154309023663376132977821958201291875888965201229276964028689972211176335969423308165218139315129538424462766609532363818012649788798603615414641183347137737269733454887535570825219963409724357498664851097379435988707733918182961949216983576217115860206930824851E+000000000000001286");
+ return val;
+ }
+
+ static const mp_float& A000142_557(void)
+ {
+ static const mp_float val("+2.04832940050850587223408053193051589652844085530009667333766900459316136215856784414534511827643796043865011253703816416923936062698415098330413583163819174264493950126180500506068646830718119574870153617084707268963980314521625219134968782648026503598527152902425761001509526646633045932360822213785955139124355719659241534372357312949647519619216467126756322061240345845710207792427909805713859851952933534135260469442E+000000000000001289");
+ return val;
+ }
+
+ static const mp_float& A000142_558(void)
+ {
+ static const mp_float val("+1.14296780548374627670661693681722787026286999725745394372241930456298404008448085703310257599825238192476676279566729560643556322985715624868370779405411099239587624170408719282386304931540710722777545718333266656081901015503066872277312580717598789007978151319553574638842315868821239630257338795292562967631390491569856776179775380625903315947522788656730027710172112981906295948174773671588333797389736912047475341949E+000000000000001292");
+ return val;
+ }
+
+ static const mp_float& A000142_559(void)
+ {
+ static const mp_float val("+6.38919003265414168678998867680830379476944328466916754540832391250708078407224799081504339983023081495944620402778018243997479845490150343014192656876248044749294819112584740788539444567312572940326480565482960607497826676662143816030177326211377230554597865876304482231128545706710729533138523865685426989059472847875499378844944377698799536146652388591120854899862111568856194350296984824178785927408629338345387161493E+000000000000001294");
+ return val;
+ }
+
+ static const mp_float& A000142_560(void)
+ {
+ static const mp_float val("+3.57794641828631934460239365901265012507088823941473382542866139100396523908045887485642430390492925637728987425555690216638588713474484192087947887850698905059605098703047454841582088957695040846582829116670457940198782938930800536976899302678371249110574804890730510049431985595758008538557573364783839113873304794810279652153168851511327740242125337611027678743922782478559468836166311501540120119348832429473416810436E+000000000000001297");
+ return val;
+ }
+
+ static const mp_float& A000142_561(void)
+ {
+ static const mp_float val("+2.00722794065862515232194284270609672016476830231166567606547904035322449912413742879445403449066531282765961945736742211534248268259185631761338765084242085738438460372409622166127551905266917914932967134452126904451517228740179101244040508802566270751032465543699816137731343919220242790130798657643733742882923989888566884857927725697854862275832314399786527775340680970471862017089300752364007386954694992934586830655E+000000000000001300");
+ return val;
+ }
+
+ static const mp_float& A000142_562(void)
+ {
+ static const mp_float val("+1.12806210265014733560493187760082635673259978589915610994879922067851216850776523498248316738375390580914470613504049122882247526761662325049872385977344052185002414729294207657363684170760007868192327529562095320301752682551980654899150765947042244162080245635559296669405015282601776448053508845595778363500203282317374589290155381842194432599017760692680028609741462705405186453604187022828572151468538586029237798828E+000000000000001303");
+ return val;
+ }
+
+ static const mp_float& A000142_563(void)
+ {
+ static const mp_float val("+6.35098963792032949945576647089265238840453679461224889901173961242002350869871827295138023237053448970548469554027796561827053575668158890030781533052447013801563594925926389110957541881378844297922803991434596653298867602767651087082218812281847834632511782928198840248750236041048001402541254800704232186506144479446818937703574799771554655532469992699788561072844435031431199733791572938524861212767872239344608807402E+000000000000001305");
+ return val;
+ }
+
+ static const mp_float& A000142_564(void)
+ {
+ static const mp_float val("+3.58195815578706583769305228958345594706015875216130837904262114140489325890607710594457845105698145219389336828471677260870458216676841613977360784641580115784081867538222483458580053621097668184028461451169112512460561327960955213114371410126962178732736645571504145900295133127151072791033267707597186953189465486408005880864816187071156825720313075882680748445084261357727196649858447137328021724001079942990359367374E+000000000000001308");
+ return val;
+ }
+
+ static const mp_float& A000142_565(void)
+ {
+ static const mp_float val("+2.02380635801969219829657454361465261008898969497113923415908094489376469128193356485868682484719452048954975308086497652391808892422415511897208843322492765418006255159095703154097730295920182523976080719910548569540217150297939695409619846721733630983996204747899842433666750216840356126933796254792410628552047999820523322688621145695203606531976887873714622871472607667115866107170022632590332274060610167789553042567E+000000000000001311");
+ return val;
+ }
+
+ static const mp_float& A000142_566(void)
+ {
+ static const mp_float val("+1.14547439863914578423586119168589337731036816735366480653403981480987081526557439771001674286351209859708516024376957671253763833111087179733820205320530905226591540420048167985219315347490823308570461687469370490359762907068633867601844833244501235136941851887311310817455380622731641567844528680212504415760459167898416200641759568463485241297098918536522476545253495939587580216658232810046128067118305354968887022093E+000000000000001314");
+ return val;
+ }
+
+ static const mp_float& A000142_567(void)
+ {
+ static const mp_float val("+6.49483984028395659661733295685901544934978750889527945304800574997196752255580683501579493203611359904547285858217349996008840933739864309090760564167410232634774034181673112476193518020272968159594517767951330680339855683079154029302460204496322003226460300201055132334972008130888407689678477616804900037361803481984019857638776753187961318154550868102082442011587321977461579828452180032961546140560791362673589415266E+000000000000001316");
+ return val;
+ }
+
+ static const mp_float& A000142_568(void)
+ {
+ static const mp_float val("+3.68906902928128734687864511949592077523067930505251872933126726598407755281169828228897152139651252425782858367467454797733021650364242927563552000447089012136551651415190327886477918235515045914649686092196355826433038027988959488643797396153910897832629450514199315166264100618344615567737375286345183221221504377766923279138825195810762028711784893081982827062581598883198177342560838258722158207838529493998598787871E+000000000000001319");
+ return val;
+ }
+
+ static const mp_float& A000142_569(void)
+ {
+ static const mp_float val("+2.09908027766105250037394907299317892110625652457488315698949107434494012754985632262242479567461562630270446411088981779910089319057254225783661088254393647905697889655243296567405935476008061125435671386459726465240398637925717949038320718411575300866766157342579410329604273251838086258042566537930409252875035990949379345829991536416323594337005604163648228598608929764539762907917116969212908020260123282085202710299E+000000000000001322");
+ return val;
+ }
+
+ static const mp_float& A000142_570(void)
+ {
+ static const mp_float val("+1.19647575826679992521315097160611198503056621900768339948400991237661587270341810389478213353453090699254154454320719614548750911862634908696686820305004379306247797103488679043421383221324594841498332690282044085187027223617659230951842809494597921494056709685270263887874435753547709167084262926620333274138770514841146227123095175757304448772093194373279490301207089965787664857512756672451357571548270270788565544870E+000000000000001325");
+ return val;
+ }
+
+ static const mp_float& A000142_571(void)
+ {
+ static const mp_float val("+6.83187657970342757296709204787089943452453311053387221105369659967047663313651737323920598248217147892741221934171308999073367706735645328658081743941575005838674921460920357337936098193763436544955479661510471726417925446856834208735022442214154131731063812302893206799763028152757419344051141311002102995332379639742944956872873453574208402488652139871425889619892483704647566336397840599697251733540623246202709261209E+000000000000001327");
+ return val;
+ }
+
+ static const mp_float& A000142_572(void)
+ {
+ static const mp_float val("+3.90783340359036057173717665138215447654803293922537490472271445501151263415408793749282582197980208594647978946345988747469966328252789127992422757534580903339722055075646444397299448166832685703714534366383989827511053355602109167396432836946496163350168500637254914289464452103377243864797252829893202913330121153932964515331283615444447206223509024006455608862578500679058407944419564823026827991585236496827949697411E+000000000000001330");
+ return val;
+ }
+
+ static const mp_float& A000142_573(void)
+ {
+ static const mp_float val("+2.23918854025727660760540222124197451506202287417613982040611538272159673937029238818338919599442659524733291936256251552300290706088848170339658240067314857613660737558345412639652583799595128908228428191938026171163833572760008552918156015570342301599646550865147065887863131055235160734528825871528805269338159421203588667284825511649668249166070670755699063878257480889100467752152410643594372439178340512682415176617E+000000000000001333");
+ return val;
+ }
+
+ static const mp_float& A000142_574(void)
+ {
+ static const mp_float val("+1.28529422210767677276550087499289337164560112977710425691311022968219652839854783081726539850080086567196909571411088391020366865294998849774963829798638728270241263358490266855160583100967603993323117782172427022248040470764244909375021552937376481118197120196594415819633437225704982261619546050257534224600103507770859895021489843686909575021324565013771262666119794030343668489735483709423169780088367454279706311378E+000000000000001336");
+ return val;
+ }
+
+ static const mp_float& A000142_575(void)
+ {
+ static const mp_float val("+7.39044177711914144340163003120913688696220649621834947725038382067263003829165002719927604137960497761382230035613758248367109475446243386206042021342172687553887264311319034417173352830563722961607927247491455377926232706894408228906373929389914766429633441130417890962892264047803648004312389788980821791450595169682444396373566601199730056372616248829184760330188815674476093815979031329183226235508112862108311290423E+000000000000001338");
+ return val;
+ }
+
+ static const mp_float& A000142_576(void)
+ {
+ static const mp_float val("+4.25689446362062547139933889797646284689023094182176929889622108070743490205599041566678299983465246710556164500513524751059455057857036190454680204293091468031039064243319763824291851230404704425886166094555078297685510039171179139850071383328590905463468862091120705194625944091534901250483936518452953351875542817737087972311174362291044512470626959325610421950188757828498230038003922045609538311652673008574387303284E+000000000000001341");
+ return val;
+ }
+
+ static const mp_float& A000142_577(void)
+ {
+ static const mp_float val("+2.45622810550910089699741854413241906265566325343116088546311956356818993848630646983973379090459447351990906916796303781361305568383509881892350477877113777053909540068395503726616398159943514453736317836558280177764539292601770363693491188180596952452421533426576646897299169740815638021529231371147354084032188205834299760023547607041932683695551755530877213465258913267043478731928263020316703605823592325947421473995E+000000000000001344");
+ return val;
+ }
+
+ static const mp_float& A000142_578(void)
+ {
+ static const mp_float val("+1.41969984498426031846450791850853821821497336048321099179768310774241378444508513956736613114285560569450744197908263585626834618525668711733778576212971763137159714159532601153984278136447351354259591709530685942747903711123823270214837906768385038517499646320561301906638920110191438776443895732523170660570604782972225261293610516870237091176028914696847029382919651868351130707054536025743054684166036364397609611969E+000000000000001347");
+ return val;
+ }
+
+ static const mp_float& A000142_579(void)
+ {
+ static const mp_float val("+8.22006210245886724390950084816443628346469575719779164250858519382857581193704295809504989931713395697119808905888846160779372441263621840938577956273106508564154744983693760681568970410030164341163035998182671608510362487406936734543911480188949373016322952196049938039439347438008430515610156291309158124703801693409184262890004892678672757909207416094744300127104784317753046793845763589052286621321350549862159653300E+000000000000001349");
+ return val;
+ }
+
+ static const mp_float& A000142_580(void)
+ {
+ static const mp_float val("+4.76763601942614300146751049193537304440952353917471915265497941242057397092348491569512894160393769504329489165415530773252036015932900667744375214638401774967209752090542381195310002837817495317874560878945949532936010242696023306035468658509590636349467312273708964062874821514044889699053890648959311712328204982177326872476202837753630199587340301334951694073720774904296767140430542881650326240366383318920052598914E+000000000000001352");
+ return val;
+ }
+
+ static const mp_float& A000142_581(void)
+ {
+ static const mp_float val("+2.76999652728658908385262359581445173880193317626051182769254303861635347710654473601886991507188780082015433205106423379259432925257015287959481999704911431255948865964605123474475111648771964779685119870667596678635821951006389540806607290594072159719040508431024908120530271299660080915150310467045360104862687094645026912908673848734859145960244715075606934256831770219396421708590145414238839545652868708292550559969E+000000000000001355");
+ return val;
+ }
+
+ static const mp_float& A000142_582(void)
+ {
+ static const mp_float val("+1.61213797888079484680222693276401091198272510858361788371706004847471772367600903636298229057183870007732982125371938406728989962499582897592418523828258452990962239991400181862144514979585283501776739764728541266966048375485718712749445443125749996956481575906856496526148617896402167092617480691820399581030083889083405663312848179963688022948862424174003235737476090267688717434399464631087004615569969588226264425902E+000000000000001358");
+ return val;
+ }
+
+ static const mp_float& A000142_583(void)
+ {
+ static const mp_float val("+9.39876441687503395685698301801418361685928738304249226207046008260760432903113268199618675403381962145083285790918400911230011481372568292963799993918746780937309859149863060256302522330982202815358392828367395586412062029081740095329266933423122482256287587536973374747446442336024634149959912433312929557405389073356255017113904889188301173791867932934438864349485606260625222642548878799237236908772922699359121603009E+000000000000001360");
+ return val;
+ }
+
+ static const mp_float& A000142_584(void)
+ {
+ static const mp_float val("+5.48887841945501983080447808252028323224582383169681548104914868824284092815418148628577306435575065892728638901896346132158326705121579883090859196448548120067388957743520027189680673041293606444169301411766559022464644224983736215672291889119103529637671951121592450852508722324238386343576588861054750861524747218840052929994520455285967885494450872833712296780099594056205130023248545218754546354723386856425727016157E+000000000000001363");
+ return val;
+ }
+
+ static const mp_float& A000142_585(void)
+ {
+ static const mp_float val("+3.21099387538118660102061967827436569086380694154263705641375198262206194297019616947717724264811413547246253757609362487312621122496124231608152629922400650239422540279959215905963193729156759769839041325883437028141816871615485686168290755134675564838038091406131583748717602559679456010992304483717029253991977123021430964046794466342291213014253760607721693616358262522880001063600398952971409617513181311009050304452E+000000000000001366");
+ return val;
+ }
+
+ static const mp_float& A000142_586(void)
+ {
+ static const mp_float val("+1.88164241097337534819808313146877829484619086774398531505845866181652829858053495531362586419179488338686304701959086417565195977782728799722377441134526781040301608604056100520894431525285861225125678216967694098491104686766674612094618382508919880995090321563993108076748515099972161222441490427458179142839298594090558544931421557276582650826352703716124912459185941838407680623269833786441246035862724248251303478409E+000000000000001369");
+ return val;
+ }
+
+ static const mp_float& A000142_587(void)
+ {
+ static const mp_float val("+1.10452409524137132939227479817217285907471403936571937993931523448630211126677401876909838228058359654808860860049983727110770038958461805437035557945967220470657044250580931005765031305342800539148773113360036435814278451132037997299540990532735970144118018758063954441051378363683658637573154880917951156846668274731157865874744454121354016035069037081365323613542147859145308525859392432641011423051419133723515141826E+000000000000001372");
+ return val;
+ }
+
+ static const mp_float& A000142_588(void)
+ {
+ static const mp_float val("+6.49460168001926341682657581325237641135931855147042995404317357877945641424863123036229848780983154770276101857093904315411327829075755415969769080722287256367463420193415874313898384075415667170194785906557014242587957292656383424121301024332487504447413950297416052113382104778459912788930150699797552802258409455419208251343497390233561614286205938038428102847627829411774414132053227503929147167542344506294269033937E+000000000000001374");
+ return val;
+ }
+
+ static const mp_float& A000142_589(void)
+ {
+ static const mp_float val("+3.82532038953134615251085315400564970629063862681608324293142923790109982799244379468339380931999078159692623993828309641777272091325619940006193988545427194000435954493921949970886148220419827963244728898962081388884306845374609836807446303331835140119526816725178054694782059714512888632679858762180758600530203169241913660041319962847567790814575297504634152577252791523535129923779350999814267681682440914207324460989E+000000000000001377");
+ return val;
+ }
+
+ static const mp_float& A000142_590(void)
+ {
+ static const mp_float val("+2.25693902982349422998140336086333332671147678982148911332954325036164889851554183886320234749879456114218648156358702688648590533882115764603654453241802044460257213151413950482822827450047698498314390050387628019441741038771019803716393318965782732670520821867855052269921415231562604293281116669686647574312819869852729059424378778080064996580599425527734150020579146998885726655029817089890417932192640139382321431983E+000000000000001380");
+ return val;
+ }
+
+ static const mp_float& A000142_591(void)
+ {
+ static const mp_float val("+1.33385096662568508991900938627022999608648278278450006597776006096373449902268522676815258737178758563503221060407993288991317005524330416880759781865905008276012012972485644735348291022978189812503804519779088159490068953913672703996388451508777595008277805723902335891523556401853499137329139951784808716418876543082962874119807857845318412979134260486890882662162275876341464453122621900125236997925850322374951966302E+000000000000001383");
+ return val;
+ }
+
+ static const mp_float& A000142_592(void)
+ {
+ static const mp_float val("+7.89639772242405573232053556671976157683197807408424039058833956090530823421429654246746331724098250695939068677615320270828596672704036067934097908646157648993991116797115016833261882856030883690022522757092201904181208207168942407658619632931963362449004609885501828477819453898972714892988508514566067601199749135051140214789262518444285004836474822082394025360000673187941469562485921648741403027721033908459715640509E+000000000000001385");
+ return val;
+ }
+
+ static const mp_float& A000142_593(void)
+ {
+ static const mp_float val("+4.68256384939746504926607759106481861506136299793195455161888535961684778288907784968320574712390262662691867725825884920601357826913493388284920059827171485853436732260689204982124296533626314028183355994955675729179456466851182847741561442328654273932259733662102584287346936162090819931542185549137678087511451237085326147370032673437461007868029569494859657038480399200449291450554151537703651995438573107716611374822E+000000000000001388");
+ return val;
+ }
+
+ static const mp_float& A000142_594(void)
+ {
+ static const mp_float val("+2.78144292654209423926405008909250225734644962077158100366161790361240758303611224271182421379159816021638969429140575642837206549186615072641242515537339862596941418962849387759381832140974030532740913461003671383132597141309602611558487496743220638715762281795288935066684080080281947039336058216187780783981802034828683731537799408021851838673609564279946636280857357125066879121629166013395969285290512425983667156644E+000000000000001391");
+ return val;
+ }
+
+ static const mp_float& A000142_595(void)
+ {
+ static const mp_float val("+1.65495854129254607236210980301003884312113752435909069717866265264938251190648678441353540720600090532875186810338642507488137896766035968221539296744717218245180144282895385716832190123879548166980843509297184472963895299079213553877300060562216280035878557668196916364677027647767758488404954638631729566469172210723066820264990647773001844010797690746568248587110127489414793077369353777970601724747854893460281958203E+000000000000001394");
+ return val;
+ }
+
+ static const mp_float& A000142_596(void)
+ {
+ static const mp_float val("+9.86355290610357459127817442593983150500197964518018055518482940979031977096266123510467102694776539575936113389618309344629301864725574370600374208598514620741273659926056498872319853138322107075205827315411219458864815982512112781108708360950809029013836203702453621533475084780695840590893529646245108216156266375909478248779344260727090990304354236849546761579176359836912166741121348516704786279497215165023280470892E+000000000000001396");
+ return val;
+ }
+
+ static const mp_float& A000142_597(void)
+ {
+ static const mp_float val("+5.88854108494383403099307013228607940848618184817256779144534315764482090326470875735748860308781594126833859693602130678743693213241167899248423402533313228582540374975855729826774952323578297923897878907300498016942295141559731330321898891487632990321260213610364812055484625614075416832763437198808329605045291026417958514521268523654073321211699479399179416662768286822636563544449445064472757408859837453518898441122E+000000000000001399");
+ return val;
+ }
+
+ static const mp_float& A000142_598(void)
+ {
+ static const mp_float val("+3.52134756879641275053385593910707548627473674520719553928431520827160290015229583689977818464651393287846648096774074145888728541518218403750557194714921310692359144235561726436411421489499822158490931586565697814131492494652719335532495537109604528212113607738998157609179806117217099265992535444887381103817084033797939191683718577145135846084596288680709291164335435519936664999580768148554708930498182797204301267791E+000000000000001402");
+ return val;
+ }
+
+ static const mp_float& A000142_599(void)
+ {
+ static const mp_float val("+2.10928719370905123756977970752513821627856731037911012803130480975469013719122520630296713260326184579420142209967670413387348396369412823846583759634237865104723127397101474135410441472210393472936068020352852990664764004296978881983964826728653112399056051035659896407898703864213042460329528731487541281186433336244965575818547427709936371804673176919744865407436925876442062334748880120984270649368411495525376459407E+000000000000001405");
+ return val;
+ }
+
+ static const mp_float& A000142_600(void)
+ {
+ static const mp_float val("+1.26557231622543074254186782451508292976714038622746607681878288585281408231473512378178027956195710747652085325980602248032409037821647694307950255780542719062833876438260884481246264883326236083761640812211711794398858402578187329190378896037191867439433630621395937844739222318527825476197717238892524768711860001746979345491128456625961823082803906151846919244462155525865237400849328072590562389621046897315225875644E+000000000000001408");
+ return val;
+ }
+
+ static const mp_float& A000142_601(void)
+ {
+ static const mp_float val("+7.60608962051483876267662562533564840790051372122707112168088514397541263471155809392849948016736221593389032809143419510674778317308102642790781037241061741567631597393947915732290051948790678863407461281392387884337138999494905848434177165183523123310996120034589586446882726134352231111948280605744073859958278610499345866401682024322030556727651475972599984659217554710450076779104461716269279961622491852864507512621E+000000000000001410");
+ return val;
+ }
+
+ static const mp_float& A000142_602(void)
+ {
+ static const mp_float val("+4.57886595154993293513132862645206034155610926017869681525189285667319840609635797254495668706075205399220197751104338545426216547019477790960050184419119168423714221631156645270838611273171988675771291691398217506370957677695933320757374653440480920233219664260822931041023401132880043129392864924657932463694883723520606211573812578641862395150046188535505190764848967935690946221020885953194106536896740095424433522598E+000000000000001413");
+ return val;
+ }
+
+ static const mp_float& A000142_603(void)
+ {
+ static const mp_float val("+2.76105616878460955988419116175059238595833388388775417959689139257393863887610385744460888229763348855729779243915916142892008577852745107948910261204728858559499675643587457098315682597722709171490088889913125156341687479650647792416696916024609994900631457549276227417737110883126666007023897549568733275608014885282925545579008984921043024275477851686909630031203927665221640571275594229776046241748734277540933414127E+000000000000001416");
+ return val;
+ }
+
+ static const mp_float& A000142_604(void)
+ {
+ static const mp_float val("+1.66767792594590417417005146169735780111883366586820352447652240111465893788116672989654376490777062708860786663325213350306773181023058045201141797767656230569937804088726824087382672289024516339580013689507527594430379237708991266619684937278864436919981400359762841360313214973408506268242434119939514898467240990710887029529721426892309986662388622418893416538847172309793870905050458914784731930016235503634723782132E+000000000000001419");
+ return val;
+ }
+
+ static const mp_float& A000142_605(void)
+ {
+ static const mp_float val("+1.00894514519727202537288113432690146967689436785026313230829605267436865741810587158740897776920122938860775931311754076935597774518950117346690787649432019494812371473679728572866516734859832385445908282152054194630379438813939716304909387053712984336588747217656519022989495058912146292286672642563406513572680799380086652865481463269847541930745116563430517006002539247425291897555527643444762817659822479699007888190E+000000000000001422");
+ return val;
+ }
+
+ static const mp_float& A000142_606(void)
+ {
+ static const mp_float val("+6.11420757989546847375965967402102290624197986917259458178827407920667406395372158181969840528135945009496302143749229706229722513584837711120946173155558038138562971130499155151571091413250584255802204189841448419460099399212474680807750885545500685079727808138998505279316340057007606531257236213934243472250445644243325116364817667415276104100315406374388933056375387839397268899186497519275262675018524226975987802432E+000000000000001424");
+ return val;
+ }
+
+ static const mp_float& A000142_607(void)
+ {
+ static const mp_float val("+3.71132400099654936357211342213076090408888178058776491114548236607845115681990900016455693200578518620764255401255782431681441565745996490650414327105423729150107723476212987177003652487843104643271937943233759190612280335321972131250304787526118915843394779540372092704545018414603617164473142381858085787656020506055698345633444324121072595188891451669254082365219860418514142221806203994200084443736244205774424596076E+000000000000001427");
+ return val;
+ }
+
+ static const mp_float& A000142_608(void)
+ {
+ static const mp_float val("+2.25648499260590201305184496065550262968604012259736106597645327857569830334650467210005061465951739321424667283963515718462316471973565866315451910880097627323265495873537496203618220712608607623109338269486125587892266443875759055800185310815880300832784025960546232364363371196078999235999670568169716158894860467681864594145134149065612137874846002614906482078053675134456598470858172028473651341791636477110850154414E+000000000000001430");
+ return val;
+ }
+
+ static const mp_float& A000142_609(void)
+ {
+ static const mp_float val("+1.37419936049699432594857358103920110147879843466179288917966004665260026673802134530893082432764609246747622375933781072543550731431901612586110213725979455039868686986984335188003496413978642042473587006117050483026390264320337264982312854286871103207165471809972655509897293058412110534723799376015357140766970024818255537834386696780957791965781215592478047585534688156884068468752626765340453667151106614560507744038E+000000000000001433");
+ return val;
+ }
+
+ static const mp_float& A000142_610(void)
+ {
+ static const mp_float val("+8.38261609903166538828629884433912671902067045143693662399592628458086162710193020638447802839864116405160496493196064542515659461734599836775272303728474675743198990620604444646821328125269716459088880737314007946460980612354057316392108411149913729563709378040833198610373487656313874261815176193693678558678517151391358780789758850363842530991265415114116090271761597756992817659391023268576767369621750348819097238634E+000000000000001435");
+ return val;
+ }
+
+ static const mp_float& A000142_611(void)
+ {
+ static const mp_float val("+5.12177843650834755224292859389120642532162964582796827726151095987890645415927935610091607535156975123553063357342795435477067931119840500269691377578098026879094583269189315679207831484539796756503306130498858855287659154148329020315578239212597288763426429982949084350938200958007777173969072654346837599352573979500120215062542657572307786435663168634724931156046336229522611589887915217100404862838889463128468412805E+000000000000001438");
+ return val;
+ }
+
+ static const mp_float& A000142_612(void)
+ {
+ static const mp_float val("+3.13452840314310870197267229946141833229683734324671658568404470744589074994547896593376063811516068775614474774693790806511965573845342386165051123077795992450005884960743861195675192868538355614980023351865301619436047402338777360433133882398109540723216975149564839622774178986300759630469072464460264610803775275454073571618276106434252365298625859204451657867500357772467838293011404112865447776057400351434622668637E+000000000000001441");
+ return val;
+ }
+
+ static const mp_float& A000142_613(void)
+ {
+ static const mp_float val("+1.92146591112672563430924811956984943769796129141023726702431940566433102971657860611739527116459350159451673036887293764391834896767194882719176338446688943371853607480935986912948893228414011991982754314693429892714297057633670521945511069910041148463332005766683246688760571718602365653477541420714142206422714243853347099402003253244196699928057651692328866272777719314522784873615990721186519486723186415429423695874E+000000000000001444");
+ return val;
+ }
+
+ static const mp_float& A000142_614(void)
+ {
+ static const mp_float val("+1.17978006943180953946587834541588755474654823292588568195293211507789925224597926415608069649506040997903327244648798371336586626615057657989574271806267011230318114993294695964550620442246203363077411149221765954126578393387073700474543796924765265156485851540743513466898991035221852511235210432318483314743546545725955119032829997491936773755827398139089923891485519659116989912400218302808522964848036459073666149267E+000000000000001447");
+ return val;
+ }
+
+ static const mp_float& A000142_615(void)
+ {
+ static const mp_float val("+7.25564742700562866771515182430770846169127163249419694401053250772908040131277247455989628344462152137105462554590109983720007753682604596635881771608542119066456407208762380181986315719814150682926078567713860617878457119330503257918444351087306380712387986975572607821428794866614392944096544158758672385672811256214623982051904484575411158598338498555403031932635945903569487961261342562272416233815424223303046817991E+000000000000001449");
+ return val;
+ }
+
+ static const mp_float& A000142_616(void)
+ {
+ static const mp_float val("+4.46947881503546725931253352377354841240182332561642531751048802476111352720866784432889611060188685716456964933627507749971524776268484431527703171310861945344937146840597626192103570483405516820682464397711738140613129585507590006877761720269780730518830999976952726418000137637834466053563471201795342189574451733828208372943973162498453273696576515110128267670503742676598804584136987018359808400030301321554676839883E+000000000000001452");
+ return val;
+ }
+
+ static const mp_float& A000142_617(void)
+ {
+ static const mp_float val("+2.75766842887688329899583318416827937045192499190533442090397111127760704628774805995092890024136419087053947364048172281732430786957654894252592856698801820277826219600648735360527902988261203878361080533388142432758300954258183034243578981406454710730118726985779832199906084922543865555048661731507726130967436719772004566106431441261545669870787709822949141152700809231461462428412520990328001782818695915399235610208E+000000000000001455");
+ return val;
+ }
+
+ static const mp_float& A000142_618(void)
+ {
+ static const mp_float val("+1.70423908904591387877942490781599665093928964499749667211865414676956115460582830104967406034916306995799339470981770470110642226339830724648102385439859524931696603713200918452806244046745423996827147769633872023444629989731557115162531810509189011231213373277211936299541960482132108913020072950071774748937875892819098821853774630699635223980146804670582569232369100105043183780758937972022705101781954075716727607108E+000000000000001458");
+ return val;
+ }
+
+ static const mp_float& A000142_619(void)
+ {
+ static const mp_float val("+1.05492399611942069096446401793810192693142029025345044004144691685035835470100771834974824335613194030399791132537715920998487538104355218557175376587273045932720197698471368522287065064935417454036004469403366782512225963643833854285607190705187997952121078058594188569416473538439775417159425156094428569592545177655022170727486496403074203643710872091090610354836472965021730760289782604682054458003029572868654388800E+000000000000001461");
+ return val;
+ }
+
+ static const mp_float& A000142_620(void)
+ {
+ static const mp_float val("+6.54052877594040828397967691121623194697480579957139272825697088447222179914624785376843910880801802988478705021733838710190622736247002355054487334841092884782865225730522484838179803402599588215023227710300874051575800974591769896570764582372165587303150683963283969130382135938326607586388435967785457131473780101461137458510416277699060062591007406964761784199986132383134730713796652149028737639618783351785657210560E+000000000000001463");
+ return val;
+ }
+
+ static const mp_float& A000142_621(void)
+ {
+ static const mp_float val("+4.06166836985899354435137936186528003907135440153383488424757891925724973726981991719020068656977919655845275818496713839028376719209388462488836634936318681450159305178654463084509657913014344281529424408096842786028572405221489105770444805653114829715256574741199344829967306417700823311147218735994768878645217443007366361734968508451116298869015599725117067988191388209926667773267720984546846074203264461458893127758E+000000000000001466");
+ return val;
+ }
+
+ static const mp_float& A000142_622(void)
+ {
+ static const mp_float val("+2.52635772605229398458655796308020418430238243775404529800199408777800933658182798849230482704640266025935761559104956007875650319348239623668056386930390219861999087821123076038565007221894922143111301981836236212909772036047766223789216669116237424082889589489025992484239664591809912099533570053788746242517325249550581876999150412256594337896527703029022816288655043466574387354972522452388138258154430495027431525465E+000000000000001469");
+ return val;
+ }
+
+ static const mp_float& A000142_623(void)
+ {
+ static const mp_float val("+1.57392086333057915239742561099896720682038425872077022065524231668569981669047883683070590724990885734157979451322387592906530148953953285545199129057633106974025431712559676372025999499240536495158341134683975160642787978457758357420681984859415915203640214251663193317681311040697575238009414143510388909088293630470012509370470706835858272509536758987081214547832092079675843322147881487837810134830210198402089840365E+000000000000001472");
+ return val;
+ }
+
+ static const mp_float& A000142_624(void)
+ {
+ static const mp_float val("+9.82126618718281391095993581263355537055919777441760617688871205611876685614858794182360486123943126981145791776251698579736748129472668501802042565319630587517918693886372380561442236875260947729788048680428005002410996985576412150305055585522755310870714936930378326302331380893952869485178744255504826792710952254132878058471737210655755620459509376079386778778472254577177262330202780484107935241340511638029040603877E+000000000000001474");
+ return val;
+ }
+
+ static const mp_float& A000142_625(void)
+ {
+ static const mp_float val("+6.13829136698925869434995988289597210659949860901100386055544503507422928509286746363975303827464454363216119860157311612335467580920417813626276603324769117198699183678982737850901398047038092331117530425267503126506873115985257593940659740951722069294196835581486453938957113058720543428236715159690516745444345158833048786544835756659847262787193360049616736736545159110735788956376737802567459525837819773768150377423E+000000000000001477");
+ return val;
+ }
+
+ static const mp_float& A000142_626(void)
+ {
+ static const mp_float val("+3.84257039573527594266307488669287853873128612924088841670770859195646753246813503223848540195992748431373291032458477069322002705656181551330049153681305467366385688983043193894664275177445845799279574046217456957193302570606771253806852997835778015378167219074010520165787152774759060186076183689966263482648160069429488540377067183669064386504783043391060077197077269603320603886691837864407229663174475178378862136267E+000000000000001480");
+ return val;
+ }
+
+ static const mp_float& A000142_627(void)
+ {
+ static const mp_float val("+2.40929163812601801604974795395643484378451640303403703727573328715670514285752066521353034702887453266471053477351465122464895696446425832683940819358178528038723826992368082571954500536258545316148292926978345512160200711770445576136896829643032815642110846359404596143948544789773930736669767173608847203620396363532289314816421124160503370338498968206194668402567448041282018636955782340983332998810395936843546559439E+000000000000001483");
+ return val;
+ }
+
+ static const mp_float& A000142_628(void)
+ {
+ static const mp_float val("+1.51303514874313931407924171508464108189667630110537525940916050433441082971452297775409705793413320651343821583776720096907954497368355422925514834556936115608318563351207155855187426336770366458541127958142400981636606046991839821813971209015824608223245611513706086378399686127978028502628613785026356043873608916298277689704712465972796116572577352033490251756812357369925107704008231310137533123252928648337747239328E+000000000000001486");
+ return val;
+ }
+
+ static const mp_float& A000142_629(void)
+ {
+ static const mp_float val("+9.51699108559434628555843038788239240513009393395281038168361957226344411890434953007327049440569786896952637761955569409551033788446955610201488309363128167176323763479093010329128911658285605024223694856715702174494252035578672479209878904709536785724214896421211283320134025744981799281533980707815779515965000083516166668242641410968887573241511544290653683550349727856828927458211774940765083345260921198044430135373E+000000000000001488");
+ return val;
+ }
+
+ static const mp_float& A000142_630(void)
+ {
+ static const mp_float val("+5.99570438392443815990181114436590721523195917839027054046068033052596979490974020394616041147558965745080161790032008728017151286721582034426937634898770745321083970991828596507351214344719931165260927759730892369931378782414563661902223709967008175006255384745363108491684436219338533547366407845923941095057950052615185000992864088910399171142152272903111820636720328549802224298673418212682002507514380354767990985285E+000000000000001491");
+ return val;
+ }
+
+ static const mp_float& A000142_631(void)
+ {
+ static const mp_float val("+3.78328946625632047889804283209488745281136624156426071103068928856188694058804606869002721964109707385145582089510197507378822461921318263723397647621124340297603985695843844396138616251518276565279645416390193085426700011703589670660303160989182158428947147774324121458252879254402614668388203350778006830981566483200181735626497240102461876990698084201863558821770527314925203532462926892202343582241574003858602311715E+000000000000001494");
+ return val;
+ }
+
+ static const mp_float& A000142_632(void)
+ {
+ static const mp_float val("+2.39103894267399454266356306988396887017678346466861276937139563037111254645164511541209720281317335067412007880570444824663415795934273142673187313296550583068085718959773309658359605470959550789256735903158602029989674407396668671857311597745163124127094597393372844761615819688782452470421344517691700317180350017382514856915946255744755906258121189215577769175358973263032728632516569795871881143976674770438636661004E+000000000000001497");
+ return val;
+ }
+
+ static const mp_float& A000142_633(void)
+ {
+ static const mp_float val("+1.51352765071263854550603542323655229482190393313523188301209343402491424190389135805585752938073873097671800988401091574011942198826394899312127569316716519082098260101536505013741630263117395649599513826699395084983463899882091269285678241372688257572450880150005010734102813862999292413776711079698846300775161561003131904427793979886430488661390712773460727888002230075499717224382988680786900764137235129687657006415E+000000000000001500");
+ return val;
+ }
+
+ static const mp_float& A000142_634(void)
+ {
+ static const mp_float val("+9.59576530551812837850826458331974154917087093607737013829667237171795629367067121007413673627388355439239218266462920579235713540559343661638888789467982730980502969043741441787121935868164288418460917661274164838795161125252458647271200050302843553009338580151031768054211839891415513903344348245290685546914524296759856274072213832479969298113217118983741014809934138678668207202588148236188950844630070722219745420673E+000000000000001502");
+ return val;
+ }
+
+ static const mp_float& A000142_635(void)
+ {
+ static const mp_float val("+6.09331096900401152035274801040803588372350304440913003781838695604090224648087621839707682753391605703916903599203954567814678098255183225140694381312169034172619385342775815534822429276284323145722682714909094672634927314535311241017212031942305656160929998395905172714424518331048851328623661135759585322290722928442508734035855783624780504301892870554675544404308178060954311573643474129979983786340094908609538342128E+000000000000001505");
+ return val;
+ }
+
+ static const mp_float& A000142_636(void)
+ {
+ static const mp_float val("+3.87534577628655132694434773461951082204814793624420670405249410404201382876183727490054086231157061227691150689093715105130135270490296531189481626514539505733785929078005418680147065019716829520679626206682184211795813772044457949286946852315306397318351478979795689846373993658547069445004648482343096264976899782489435554846804278385360400736003865672773646241140001246766942160837249546667269688112300361875666385593E+000000000000001508");
+ return val;
+ }
+
+ static const mp_float& A000142_637(void)
+ {
+ static const mp_float val("+2.46859525949453319526354950695262839364467023538755967048143874427476280892129034411164452929247048002039262988952696521967896167302318890367699796089761665152421636822689451699253680417559620404672921893656551342913933372792319713695785144924850175091789892110129854432140233960494483236467961083252552320790285161445770448437414325331474575268834462433556812655606180794190542156453327961227050791327535330514799487623E+000000000000001511");
+ return val;
+ }
+
+ static const mp_float& A000142_638(void)
+ {
+ static const mp_float val("+1.57496377555751217857814458543577691514529961017726306976715791884729867209178323954322920968859616625301049786951820381015517754738879452054592469905267942367245004292875870184123848106403037818181324168152879756779089491841499977337910922462054411708561951166262847127705469266795480304866559171115128380664201933002401546103070339561480779021516387032609246474276743346693565895817223239262858404866967540868442073103E+000000000000001514");
+ return val;
+ }
+
+ static const mp_float& A000142_639(void)
+ {
+ static const mp_float val("+1.00640185258125028211143439009346144877784645090327110158121391014342385146664949006812346499101295023567370813862213223468915845278143969862884588269466215172669557743147681047655138939991541165817866143449690164581838185286718485518925079453252769081771086795241959314603794861482311914809731310342567035244425035188534587959861946979786217794748971313837308497062838998537188607427205649888966520709992258614934484713E+000000000000001517");
+ return val;
+ }
+
+ static const mp_float& A000142_640(void)
+ {
+ static const mp_float val("+6.44097185652000180551318009659815327217821728578093505011976902491791264938655673643599017594248288150831173208718164630201061409780121407122461364924583777105085169556145158704992889215945863461234343318078017053323764385834998307321120508500817722123334955489548539613464287113486796254782280386192429025564320225206621362943116460670631793886393416408558774381202169590638007087534116159289385732543950455135580702164E+000000000000001519");
+ return val;
+ }
+
+ static const mp_float& A000142_641(void)
+ {
+ static const mp_float val("+4.12866296002932115733394844191941624746623728018557936712677194497238200825678286805546970277913152704682782026788343527958880363669057821965497734916658201124359593685489046729900441987421298478651214066888008931180532971320233914992838245949024159881057706468800613892230608039745036399315441727549347005386729264357444293646537651289874979881178179917886174378350590707598962543109368458104496254560672241741907230087E+000000000000001522");
+ return val;
+ }
+
+ static const mp_float& A000142_642(void)
+ {
+ static const mp_float val("+2.65060162033882418300839489971226523087332433387914195369538758867226924930085460129161154918420244036406346061198116544949601193475535121701849545816494565121838859146083968000596083755924473623294079430942101733817902167587590173425402153899273510643639047552969994118812050361516313368360513589086680777458280187717479236521077172128099737083716391507282923950901079234278533952676214550103086595427951579198304441716E+000000000000001525");
+ return val;
+ }
+
+ static const mp_float& A000142_643(void)
+ {
+ static const mp_float val("+1.70433684187786394967439792051498654345154754668428827622613421951626912730044950863050622612544216915409280517350388938402593567404769083254289257960006005373342386430931991424383281855059436539778093074095771414844911093758820481512533584957232867343859907576559706218396148382454989495855810237782735739905674160702339149083052621678368130944829639739182920100429393947641097331570805955716284680860172865424509756023E+000000000000001528");
+ return val;
+ }
+
+ static const mp_float& A000142_644(void)
+ {
+ static const mp_float val("+1.09759292616934438359031226081165133398279662006468164988963043736847731798148948355804600962478475693523576653173650476331270257408671289615762282126243867460432496861520202477302833514658277131617091939717676791160122744380680390094071628712457966569445780479304450804647119558301013235331141793132081816499254159492306412009485888360869076328470287992033800544676529702280866681531599035481287334473951325333384282879E+000000000000001531");
+ return val;
+ }
+
+ static const mp_float& A000142_645(void)
+ {
+ static const mp_float val("+7.07947437379227127415751408223515110418903819941719664178811632102667870098060716894939676207986168223227069412970045572336693160285929818021666719714272945119789604756805305978603276169545887498930243011179015302982791701255388516106762005195353884372925284091513707689973921151041535367885864565701927716420189328725376357461183979927605542318633357548618013513163616579711590095878813778854303307356986048400328624569E+000000000000001533");
+ return val;
+ }
+
+ static const mp_float& A000142_646(void)
+ {
+ static const mp_float val("+4.57334044546980724310575409712390761330611867682350903059512314338323444083347223114131030830359064672204686840778649439729503781544710662441996700935420322547384084672896227662177716405526643324308936985221643885726883439010980981404968255356198609304909733523117855167723153063572831847654268509443445304807442306356593126919924851033233180337837148976407236729503696310493687201937713701139879936552612987266612291472E+000000000000001536");
+ return val;
+ }
+
+ static const mp_float& A000142_647(void)
+ {
+ static const mp_float val("+2.95895126821896528628942290083916822580905878390481034279504467376895268321925653354842776947242314842916432385983786187504988946659427798599971865505216948688157502783363859297428982514375738230827882229438403594065293585040104694969014461215460500220276597589457252293516880032131622205432311725609909112210415172212715753117191378618501867678580635387735482163988891512889415619653700764637502318949540602761498152582E+000000000000001539");
+ return val;
+ }
+
+ static const mp_float& A000142_648(void)
+ {
+ static const mp_float val("+1.91740042180588950551554603974378101032427009197031710213118894860228133872607823373938119461813020018209848186117493449503232837435309213492781768847380582749926061803619780824733980669315478373576467684676085528954310243105987842339921370867618404142739235237968299486198938260821291189120137998195221104712349031593839808019940013344789210255720251731252592442264801700352341321535598095485101502679302310589450802873E+000000000000001542");
+ return val;
+ }
+
+ static const mp_float& A000142_649(void)
+ {
+ static const mp_float val("+1.24439287375202228907958937979371387570045128968873579928314162764288058883322477369685839530716649991818191472790253248727598111495515679556815367981949998204702014110549237755252353454385745464451127527354779508291347347775786109678608969693084344288637763669441426366543110931273017981738969560828698496958314521504402035404941068660768197455962443373582932495029856303528669517676603163969830875238867199572553571065E+000000000000001545");
+ return val;
+ }
+
+ static const mp_float& A000142_650(void)
+ {
+ static const mp_float val("+8.08855367938814487901733096865914019205293338297678269534042057967872382741596102902957956949658224946818244573136646116729387724720851917119299891882674988330563091718570045409140297453507345518932328927806066803893757760542609712910958303005048237876145463851369271382530221053274616881303302145386540230229044389778613230132116946294993283463755881928289061217694065972936351864897920565803900689052636797221598211921E+000000000000001547");
+ return val;
+ }
+
+ static const mp_float& A000142_651(void)
+ {
+ static const mp_float val("+5.26564844528168231624028246059710026502645963231788553466661379737084921164779062989825629974227504440378677217111956621990831408793274598044664229615621417403196572708789099561350333642233281932824946132001749489334836302113238923105033855256286402857370696967241395670027173905681775589728449696646637689879107897745877212816008132038040627534905079135316178852718836948381565064048546288338339348573266554991260435961E+000000000000001550");
+ return val;
+ }
+
+ static const mp_float& A000142_652(void)
+ {
+ static const mp_float val("+3.43320278632365687018866416430930937279725168027126136860263219588579368599435949069366310743196332895126897545556995717538022078533215037925121077709385164146884165406130492914000417534736099820201864878065140667046313268977831777864482073627098734663005694422641389976857717386504517684502949202213607773801178349330311942756037302088802489152758111596226148611972681690344780421759652179996597255269769793854301804246E+000000000000001553");
+ return val;
+ }
+
+ static const mp_float& A000142_653(void)
+ {
+ static const mp_float val("+2.24188141946934793623319769929397902043660534721713367369751882391342327695431674742296200915307205380517864097248718203552328417282189419765104063744228512187915360010203211872842272650182673182591817765376536855581242564642524150945506794078495473734942718457984827654888089453387450047980425829045485876292169462112693698619692358263988025416751046872335675043618161143795141615409052873537778007691159675386859078173E+000000000000001556");
+ return val;
+ }
+
+ static const mp_float& A000142_654(void)
+ {
+ static const mp_float val("+1.46619044833295355029651129533826227936553989708000542259817731083937882312812315281461715398610912318858683119600661705123222784902551880526378057688725446970896645446672900564838846313219468261415048818556255103550132637276210794718361443327336039822652537871522077286296810502515392331379198492195747763095078828221701678897278802304648168622555184654507531478526277388042022616477520579293706817030018427703005837125E+000000000000001559");
+ return val;
+ }
+
+ static const mp_float& A000142_655(void)
+ {
+ static const mp_float val("+9.60354743658084575444214898446561792984428632587403551801806138599793129148920665093574235860901475688524374433384334168557109241111714817447776277861151677659373027675707498699694443351587517112268569761543470928253368774159180705405267453794051060838374123058469606225244108791475819770533750123882147848272766324852145996777176155095445504477736459487024331184347116891675248137927759794373779651546620701454688233169E+000000000000001561");
+ return val;
+ }
+
+ static const mp_float& A000142_656(void)
+ {
+ static const mp_float val("+6.29992711839703481491404973380944536197785182977336729981984826921464292721691956301384698724751368051671989628300123214573463662169284920245741238276915500544548706155264119146999554838641411225648181763572516928934209915848422542745855449688897495909973424726356061683760135367208137769470140081266688988466934709103007773885827557742612250937395117423487961256931708680938962778480610425109199451414583180154275480959E+000000000000001564");
+ return val;
+ }
+
+ static const mp_float& A000142_657(void)
+ {
+ static const mp_float val("+4.13905211678685187339853067511280560281944865216110231598164031287402040318151615290009747062161648809948497185793180951974765626045220192601451993547933483857768499944008526279578707528987407175250855418667143622309775914712413610584027030445605654812852540045215932526230408936255746514541882033392214665422776103880676107442988705436896248865868592147231590545804132603376898545461761049296744039579381149361358990990E+000000000000001567");
+ return val;
+ }
+
+ static const mp_float& A000142_658(void)
+ {
+ static const mp_float val("+2.72349629284574853269623318422422608665519721312200532391591932587110542529343762860826413566902364916946111148251913066399395781937754886731755411754540232378411672963157610291962789554073713921315062865482980503479832551880768155764289786033208520866856971349752083602259609080056281206568558377972077249848186676353484878697486568177477731753741533632878386579139119253021999242913838770437257578043232796279774216071E+000000000000001570");
+ return val;
+ }
+
+ static const mp_float& A000142_659(void)
+ {
+ static const mp_float val("+1.79478405698534828304681766840376499110577496344740150846059083574905847526837539725284606540588658480267487246698010710757201820296980470356226816346242013137373292482720865182403478316134577474146626428353284151793209651689426214648666968995884415251258744119486623093889082383757089315128679971083598907649955019716946535061643648428957825225715670664066856755652679587741497501080219749718152743930490412748371208391E+000000000000001573");
+ return val;
+ }
+
+ static const mp_float& A000142_660(void)
+ {
+ static const mp_float val("+1.18455747761032986681089966114648489412981147587528499558398995159437859367712776218687840316788514596976541582820687069099753201396007110435109698788519728670666373038595771020386295688648821132936773442713167540183518370115021301668120199537283714065830771118861171241966794373279678947984928780915175279048970313013184713140684807963112164648972342638284125458730768527909388350712945034813980810994123672413924997538E+000000000000001576");
+ return val;
+ }
+
+ static const mp_float& A000142_661(void)
+ {
+ static const mp_float val("+7.82992492700428041962004676017826515019805385553563382081017358003884250420581450805526624493972081486014939862444741526749368661227606999976075108992115406513104725785118046444753414501968707688712072456334037440613056426460290804026274518941445349975141397095672341909400510807378677846180379241849308594513693769017150953859926580636171408329707184839058069282210379969481056998212566680120413160671157474656044233727E+000000000000001578");
+ return val;
+ }
+
+ static const mp_float& A000142_662(void)
+ {
+ static const mp_float val("+5.18341030167683363778847095523801152943111165236458958937633490998571373778424920433258625415009517943741890188938418890708082053732675833984161722152780399111675328469748146746426760400303284489927391966093132785685843354316712512265393731539236821683543604877335090344023138154484684734171411058104242289568065275089353931455271396381145472314266156363456441864823271539796459732816719142239713512364306248222301282727E+000000000000001581");
+ return val;
+ }
+
+ static const mp_float& A000142_663(void)
+ {
+ static const mp_float val("+3.43660103001174070185375624332280164401282702551772289775651004532052820815095722247250468650151310396700873195266171724539458401624764077931499221787293404611040742775443021292880942145401077616821860873519747036909714143911980395631956044010514012776189410033673164898087340596423345978755645531523112637983627277384241656554844935800699448144358461668971620956377829030885052802857484791304930058697535042571385750448E+000000000000001584");
+ return val;
+ }
+
+ static const mp_float& A000142_664(void)
+ {
+ static const mp_float val("+2.28190308392779582603089414556634029162451714494376800411032267009283073021223559572174311183700470103409379801656738025094200378678843347746515483266762820661731053202894166138472945584546315537569715620017112032508050191557554982699618813222981304483389768262358981492329994156025101729893748632931346791621128512183136459952417037371664433567854018548197156315034878476507675061097369901426473558975163268267400138298E+000000000000001587");
+ return val;
+ }
+
+ static const mp_float& A000142_665(void)
+ {
+ static const mp_float val("+1.51746555081198422431054460680161629393030390138760572273336457561173243559113667115495916937160812618767237568101730786687643251821430826251432796372397275740051150379924620482084508813723299832483860887311379501617853377385774063495246510793282567481454195894468722692399446113756692650379342840899345616428050460601785745868357329852156848322622922334551108949498194186877603915629750984448604916718483573397821091968E+000000000000001590");
+ return val;
+ }
+
+ static const mp_float& A000142_666(void)
+ {
+ static const mp_float val("+1.01063205684078149339082270812987645175758239832414541134042080735741380210369702298920280680149101204098980220355752703933970405713072930283454242384016585642874066153029797241068282869939717688434251350949378748077490349338925526287834176188326189942648494465716169313138031111761957305152642332038964180541081606760789306748325981681536460982866866274811038560365797328460484207809414155642770874534510059882948847251E+000000000000001593");
+ return val;
+ }
+
+ static const mp_float& A000142_667(void)
+ {
+ static const mp_float val("+6.74091581912801256091678746322627593322307459682204989364060678507395006003165914333798272136594505031340198069772870535239582606106196444990639796701390626237970021240708747597925446742497916981856456510832356249676860630090633260339853955176135686917465458086326849318630667515452255225368124354699891084209014317094464676011334297815848194755721998052989627197639868180831429666088792418137281733145182099419268811161E+000000000000001595");
+ return val;
+ }
+
+ static const mp_float& A000142_668(void)
+ {
+ static const mp_float val("+4.50293176717751239069241402543515232339301383067712932895192533242939864010114830774977245787245129360935252310608277517540041180878939225253747384196528938326963974188793443395414198423988608543880112949236013974784142900900543017907022442057658638860866926001666335344845285900322106490545907068939527244251621563819102403575571310940986594096822294699397070968023431944795395016947313335315704197740981642412071565856E+000000000000001598");
+ return val;
+ }
+
+ static const mp_float& A000142_669(void)
+ {
+ static const mp_float val("+3.01246135224175578937322498301611690434992625272299952106883804739526769022766821788459777431666991542465683795796937659234287550008010341694757000027477859740738898732302813631532098745648379115855795563038893349130591600702463278979798013736573629397919973495114778345701496267315489242175211829120543726404334826194979507992057207019520031450774115153896640477607675971068119266337752621326206108288716718773675877558E+000000000000001601");
+ return val;
+ }
+
+ static const mp_float& A000142_670(void)
+ {
+ static const mp_float val("+2.01834910600197637888006073862079832591445058932440967911612149175482935245253770598268050879216884333452008143183948231686972658505366928935487190018410166026295062150642885133126506159584414007623383027236058543917496372470650396916464669203504331696606382241726901491620002499101377792257391925510764296690904333550636270354678328703078421072018657153110749119997142900615639908446294256288558092553440201578362837964E+000000000000001604");
+ return val;
+ }
+
+ static const mp_float& A000142_671(void)
+ {
+ static const mp_float val("+1.35431225012732615022852075561455567668859634543667889468691752096749049549565280071437862139954529387746297464076429263461958653857101209315711904502353221403643986703081375924327885633081141799115290011275395282968640065927806416330947793035551406568422882484198750900877021676897024498604709982017722843079596807812476937407989158559765620539324518949737312659518082886313094378567463445969622480103358375259081464274E+000000000000001607");
+ return val;
+ }
+
+ static const mp_float& A000142_672(void)
+ {
+ static const mp_float val("+9.10097832085563172953565947772981414734736744133448217229608574090153612973078682080062433580494437485655118958593604650464362153919720126601583998255813647832487590644706846211483391454305272890054748875770656301549261243034859117743969169198905452139801770293815606053893585668748004630623651079159097505494890548499845019381687145521624970024260767342234741071961516996023994223973354356915863066294568281741027439918E+000000000000001609");
+ return val;
+ }
+
+ static const mp_float& A000142_673(void)
+ {
+ static const mp_float val("+6.12495840993584015397749882851216492116477828801810650195526570362673381530881953039882017799672756427845895059133495929762515729587971645202866030826162584991264148503887707500328322448747448655006845993393651690942652816562460186241691250870863369290086591407737902874270383155067407116409717176274072621198061339140395698043875448936053604826327496421323980741430100938324148112734067482204375843616244453611711467065E+000000000000001612");
+ return val;
+ }
+
+ static const mp_float& A000142_674(void)
+ {
+ static const mp_float val("+4.12822196829675626378083421041719915686506056612420378231784908424441859151814436348880479996979437832368133269855976256659935601742292888866731704776833582284112036091620314855221289330455780393474614199547321239695347998363098165526899903086961910901518362608815346537258238246515432396460149376808724946687493342580626700481572052582900129652944732587972363019723888032430475827982761483005749318597348761734293528802E+000000000000001615");
+ return val;
+ }
+
+ static const mp_float& A000142_675(void)
+ {
+ static const mp_float val("+2.78654982860031047805206309203160943088391588213383755306454813186498254927474744535494323997961120536848489957152783973245456531176047699985043900724362668041775624361843712527274370298057651765595364584694441836794359898895091261730657434583699289858524894760950358912649310816397916867610600829345889339014058006241923022825061135493457587515737694496881345038313624421890571183888364001028880790053210414170648131941E+000000000000001618");
+ return val;
+ }
+
+ static const mp_float& A000142_676(void)
+ {
+ static const mp_float val("+1.88370768413380988316319465021336797527752713632247418587163453714072820330972927305994163022621717482909579211035281965913928615075008245189889676889669163596240322068606349668437474321486972593542466459253442681672987291653081692929924425778580719944362828858402442624950934111884991802504766160637821193173503212219539963429741327593577329160638681479891789245900010109198026120308534064695523414075970239979358137192E+000000000000001621");
+ return val;
+ }
+
+ static const mp_float& A000142_677(void)
+ {
+ static const mp_float val("+1.27527010215858929090148277819445011926288587129031502383509658164427299364068671786158048366314902735929785125870885890923729672405780581993555311254306023754654698040446498725532170115646680445828249792914580695492612396449136306113558836252099147402333635137138453657091782393746139450295726690751804947778461674672628555241934878780851851841752387361886741319474306843927063683448877561798869351329431852466025458879E+000000000000001624");
+ return val;
+ }
+
+ static const mp_float& A000142_678(void)
+ {
+ static const mp_float val("+8.64633129263523539231205323615837180860236620734833586160195482354817089688385594710151567923615040549603943153404606340462887178911192345916305010304194841056558852714227261359108113384084493422715533595960857115439912047925144155449928909789232219387822046229798715795082284629598825473005026963297237545937970154280421604540318478134175555487081186313592106146035800401825491773783389868996334202013547959719652611201E+000000000000001626");
+ return val;
+ }
+
+ static const mp_float& A000142_679(void)
+ {
+ static const mp_float val("+5.87085894769932483137988414735153445804100665478952005002772732518920803898413818808192914620134612533181077401161727705174300394480699602877171101996548297077403460992960310462834408987793371034023847311657421981383700280541172881550501729746888676964331169390033328024860871263497602496170413308078824293691881734756406269482876246653105202175728125506929040073158308472839508914398921721048510923167199064649644123005E+000000000000001629");
+ return val;
+ }
+
+ static const mp_float& A000142_680(void)
+ {
+ static const mp_float val("+3.99218408443554088533832122019904343146788452525687363401885458112866146650921396789571181941691536522563132632789974839518524268246875729956476349357652842012634353475213011114727398111699492303136216171927046947340916190767997559454341176227884300335745195185222663056905392459178369697395881049493600519710479579634356263248355847724111537479495125344711747249747649761530866061791266770312987427753695363961758003644E+000000000000001632");
+ return val;
+ }
+
+ static const mp_float& A000142_681(void)
+ {
+ static const mp_float val("+2.71867736150060334291539675095554857682962936169993094476683996974861845869277471213697974902291936371865493322929972865712115026676122372100360393912561585410603994716620060569129358114067354258435763213082318971139163925913006337988406341011189208528642477921136633541752572264700469763926594994705141953922836593730996615272130332300119957023536180359748699877078149487602519788079852670583144438300266542857957200481E+000000000000001635");
+ return val;
+ }
+
+ static const mp_float& A000142_682(void)
+ {
+ static const mp_float val("+1.85413796054341147986830058415168412939780722467935290433098485936855778882847235367742018883363100605612266446238241494415662448193115457772445788648367001250031924396734881308146222233793935604253190511322141538316909797472670322508093124569631040216534169942215184075475254284525720378997937786388906812575374556924539691615592886628681810690051675005348613316167297950544918495470459521337704506920781782229126810728E+000000000000001638");
+ return val;
+ }
+
+ static const mp_float& A000142_683(void)
+ {
+ static const mp_float val("+1.26637622705115004075004929897560026037870233445599803365806265894872496976984661756167798897336997713633177982780718940685897452115897857658580473646834661853771804362969923933463869785681258017704929119233022670670449391673833830273027604081058000467892838070532970723549598676331067018855591508103623352988980822379460609373449941567389676701305294028653102894942264500222179332406323853073652178226893957262493611727E+000000000000001641");
+ return val;
+ }
+
+ static const mp_float& A000142_684(void)
+ {
+ static const mp_float val("+8.66201339302986627873033720499310578099032396767902655022114858720927879322575086412187744457785064361250937402220117554291538572472741346384690439744349087079799141842714279704892869334059804841101715175553875067385873839049023399067508811914436723200387012402445519749079254946104498408972245915428783734444628825075510568114397600320945388636928211155987223801405089181519706633659255155023780899071954667675456304215E+000000000000001643");
+ return val;
+ }
+
+ static const mp_float& A000142_685(void)
+ {
+ static const mp_float val("+5.93347917422545840093028098542027745997837191786013318690148678223835597335963934192348604953582769087456892120520780524689703922143827822273512951224879124649662412162259281597851615493830966316154674895254404421159323579748581028361243536161389155392265103495675181028119289638081581410145988452068716858094570745176724739158362356219847591216295824641851248303962486089340999044056589781191289915864288947357687568388E+000000000000001646");
+ return val;
+ }
+
+ static const mp_float& A000142_686(void)
+ {
+ static const mp_float val("+4.07036671351866446303817275599831033754516313565205136621441993261551219772471258855951142998157779593995427994677255439937136890590665886079629884540267079509668414743309867176126208228768042892882106978144521432915295975707526585455813065806712960599093860998033174185289832691723964847360148078119139764652875531191233171062636576366815447574378935704309956336518265457287925344222820589897224882282902217887373671914E+000000000000001649");
+ return val;
+ }
+
+ static const mp_float& A000142_687(void)
+ {
+ static const mp_float val("+2.79634193218732248610722468337083920189352707419295928858930649370685687983687754834038435239734394581074859032343274487236813043835787463736705730679163483623142200928653878749998705053163645467410007493985286224412808335311070764208143576209211803931577482505648790665294115059214363850136421729667849018316525489928377188520031327964002212483598328828860940003188048369156804711481077745259393494128353823688625712605E+000000000000001652");
+ return val;
+ }
+
+ static const mp_float& A000142_688(void)
+ {
+ static const mp_float val("+1.92388324934487787044177058215913737090274662704475599054944286767031753332777175325818443444937263471779503014252172847218927374159021775050853542707264476732721834238913868579999109076576588081578085155861876922396012134694016685775202780431937721104925307963886367977722351160739482328893858150011480124601769537070723505701781553639233522188715650234256326722193377277979881641498981488738462723960307430697774490272E+000000000000001655");
+ return val;
+ }
+
+ static const mp_float& A000142_689(void)
+ {
+ static const mp_float val("+1.32555555879862085273437993110764564855199242603383687748856613582484878046283473799488907533561774532056077576819747091733840960795566003010038090925305224468845343790611655451619386153761269188207300672388833199530852360804177496499114715717605089841293537187117707536650699949749503324607868265357909805850619211041728495428527490457431896788025083011402609111591236944528138450992798245740800816808651819750766623797E+000000000000001658");
+ return val;
+ }
+
+ static const mp_float& A000142_690(void)
+ {
+ static const mp_float val("+9.14633335571048388386722152464275497500874773963347445467110633719145658519355969216473461981576244271186935280056254932963502629489405420769262827384606048835032872155220422616173764460952757398630374639482949076762881289548824725843891538451475119904925406591112182002889829653271572939794291030969577660369272556187926618456839684156280087837373072778678002869979534917244155311850307895611525635979697556280289704203E+000000000000001660");
+ return val;
+ }
+
+ static const mp_float& A000142_691(void)
+ {
+ static const mp_float val("+6.32011634879594436375225007352814368773104468808673084817773447899929650036874974728583162229269184791390172278518872158677780316977179145751560613722762779745007714659257312027776071242518355362453588875882717812043150971078237885558129053069969307854303455954458517763996872290410656901397855102399978163315167336325857293353676221751989540695624793290066499983155858627815711320488562755867564214461971011389680185604E+000000000000001663");
+ return val;
+ }
+
+ static const mp_float& A000142_692(void)
+ {
+ static const mp_float val("+4.37352051336679349971655705088147543190988292415601774693899225946751317825517482512179548262654275875641999216735059533805023979348207968860079944696151843583545338544206059923221041299822701910817883502110840725933860471986140616806225304724418761035177991520485294292685835624964174575767315730860784889014095796737493247000743945452376762161372356956726017988343854170448472233778085427060354436407683939881658688438E+000000000000001666");
+ return val;
+ }
+
+ static const mp_float& A000142_693(void)
+ {
+ static const mp_float val("+3.03084971576318789530357403626086247431354886644012029862872163581098663253083615380940426946019413181819905457197396256926881617688308122420035401674433227603396919611134799526792181620777132424196793266962812623072165307086395447446714136174022201397378348123696308944831284088100172981006749801486523928086768387139082820171515554198497096177831043371011130465922290940120791258008213200952825624430524970337989471088E+000000000000001669");
+ return val;
+ }
+
+ static const mp_float& A000142_694(void)
+ {
+ static const mp_float val("+2.10340970273965239934068038116503855717360291330944348724833281525282472297640029074372656300537472748183014387294993002307255842675685836959504568762056659956757462210127550871593774044819329902392574527272191960412082723117958440528019610504771407769780573597845238407712911157141520048818684362231647606092217260674523477199031794613756984747414744099481724543350069912443829133057699961461260983354784329414564692935E+000000000000001672");
+ return val;
+ }
+
+ static const mp_float& A000142_695(void)
+ {
+ static const mp_float val("+1.46186974340405841754177286490970179723565402475006322363759130660071318246859820206688996128873543559987194999170020136603542810659601656686855675289629378669946436236038647855757672961149434282162839296454173412486397492566981116166973629300816128399997498650502440693360473254213356433928985631750995086234090996168793816653327097256561104399453247149139798557628298589148461247475101473215576383431575108943122461590E+000000000000001675");
+ return val;
+ }
+
+ static const mp_float& A000142_696(void)
+ {
+ static const mp_float val("+1.01746134140922465860907391397715245087601520122604400365176354939409637499814434863855541305695986317751087719422334015076065796219082753054051550001582047554282719620282898907607340380960006260385336150332104695090532654826618856852213645993368025366398259060749698722578889384932496078014573999698692580018927333333480496390715659690566528662019460015801299796109295818047329028242670625358041162868376275824413233266E+000000000000001678");
+ return val;
+ }
+
+ static const mp_float& A000142_697(void)
+ {
+ static const mp_float val("+7.09170554962229587050524518042075258260582595254552670545279193927685173373706611001073122900701024634725081404373668085080178599647006788786739303511026871453350555753371805386023162455291243634885792967814769724781012604141533432259929112573775136803795865653425400096374859012979497663761580777899887282731923513334359059843288148043248704774275636310135059578881791851789883326851414258745546905192582642496160235867E+000000000000001680");
+ return val;
+ }
+
+ static const mp_float& A000142_698(void)
+ {
+ static const mp_float val("+4.95001047363636251761266113593368530265886651487677764040604877361524251014847214478749039784689315195038106820252820323385964662553610738573144033850696756274438687915853520159444167393793288057150283491534709267897146797690790335717430520576495045489049514226090929267269651591059689369305583382974121323346882612307382623770615127334187595932444394144474271586059490712549338562142287152604391739824422684462319844635E+000000000000001683");
+ return val;
+ }
+
+ static const mp_float& A000142_699(void)
+ {
+ static const mp_float val("+3.46005732107181739981125013401764602655854769389886757064382809275705451459378202920645578809497831321331636667356721406046789299124973906262627679661637032635832642853181610591451473008261508351948048160582761778260105611585862444666483933882970036796845610444037559557821486462150722869144602784698910805019470946002860454015659974006597129556778631506987515838655584008071987654937458719670469826137271456439161571400E+000000000000001686");
+ return val;
+ }
+
+ static const mp_float& A000142_700(void)
+ {
+ static const mp_float val("+2.42204012475027217986787509381235221859098338572920729945067966492993816021564742044451905166648481924932145667149704984232752509387481734383839375763145922845082849997227127414016031105783055846363633712407933244782073928110103711266538753718079025757791927310826291690475040523505506008401221949289237563513629662202002317810961981804617990689745042054891261087058908805650391358456221103769328878296090019507413099980E+000000000000001689");
+ return val;
+ }
+
+ static const mp_float& A000142_701(void)
+ {
+ static const mp_float val("+1.69785012744994079808738044076245890523227935339617431691492644511588665031116884173160785521820585829377434112671943193947159509080624695803071402409965291914403077848056216317225237805153922148300907232397961204592233823605182701597843666356373397056212141044889230475023003406977359711889256586451755532023054393203603624785484349245037211473511274480478774022028295072760924342277810993742299543685559103674696583086E+000000000000001692");
+ return val;
+ }
+
+ static const mp_float& A000142_702(void)
+ {
+ static const mp_float val("+1.19189078946985844025734106941524615147306010608411437047427836447135242851844052689558871436318051252222958747095704122150905975374598536453756124491795634923910960649335463854692116939218053348107236877143368765623748144170838256521686253782174124733460923013512239793466148391698106517746258123689132383480184184028929744599410013170016122454404914685296099363463863141078168888279023317607094279667262490779637001326E+000000000000001695");
+ return val;
+ }
+
+ static const mp_float& A000142_703(void)
+ {
+ static const mp_float val("+8.37899224997310483500910771798918044485561254577132402443417690223360757248463690407598866197315900303127399992082799978720869006883427711269905555177323313515094053364828310898485582082702915037193875246317882422334949453520992943347454364088684096876230288784991045748067023193637688819756194609534600655865694813723376104533852392585213340854466550237631578525150957881779527284601533922777872786060855310180848119324E+000000000000001697");
+ return val;
+ }
+
+ static const mp_float& A000142_704(void)
+ {
+ static const mp_float val("+5.89881054398106580384641183346438303317835123222301211320166053917245973102918438046949601802910393813401689594426291185019491780845933108734013510844835612714626213568839130872533849786222852186184488173407789225323804415278779032116607872318433604200866123304633696206639184328320932929108361005112358861729449148861256777591832084379990191961544451367292631281706274348772787208359479881635622441386842138367317076004E+000000000000001700");
+ return val;
+ }
+
+ static const mp_float& A000142_705(void)
+ {
+ static const mp_float val("+4.15866143350665139171172034259239003839073761871722353980717068011658411037557498823099469271051827638448191164070535285438741705496382841657479525145609106963811480566031587265136364099287110791260064162252491403853282112771539217642208549984495690961610616929766755825680624951466257715021394508604212997519261649947186028202241619487893085332888838213941305053602923415884814981893433316553113821177723707548958538583E+000000000000001703");
+ return val;
+ }
+
+ static const mp_float& A000142_706(void)
+ {
+ static const mp_float val("+2.93601497205569588254847456187022736710386075881435981910386250016230838192515594169108225305362590312744422961833797911519751644080446286210180544752800029516450905279618300609186273054096700218629605298550258931120417171616706687655399236289053957818897095552415329612930521215735177946805104523074574376248598724862713335910782583358452518245019519779042561367843663931614679377216763921486498357751472937529564728240E+000000000000001706");
+ return val;
+ }
+
+ static const mp_float& A000142_707(void)
+ {
+ static const mp_float val("+2.07576258524337698896177151524225074854242955648175239210643078761475202602108525077559515290891351351110307034016495123444464412364875524350597645140229620868130790032690138530694695049246367054571130946075033064302134940333011628172367260056361148177960246555557638036341878499524770808391208897813724084007759298477938328488923286434425930399228800483783090887065470399651578319692252092490954338930291366833402262865E+000000000000001709");
+ return val;
+ }
+
+ static const mp_float& A000142_708(void)
+ {
+ static const mp_float val("+1.46963991035231090818493423279151352996804012598908069361135299763124443442292835754912136825951076756586097380083678547398680803954331871240223132759282571574636599343144618079731844094866427874636360709821123409525911537755772232746036020119903692909995854561334807729730049977663537732340975899652116651477493583322380336570157686795573558722653990742518428348042353042953317450342114481483595671962646287718048802109E+000000000000001712");
+ return val;
+ }
+
+ static const mp_float& A000142_709(void)
+ {
+ static const mp_float val("+1.04197469643978843390311837104918309274734044932625821177044927532055230400585620550232705009599313420419543042479328090105664690003621296709318201126331343246417348934289534218529877463260297363117179743263176497353871280268842513016939538265011718273187060883986378680378605434163448252229751912853350705897542950575567658628241799938061653134361679436445565698762028307453902072292559167371869331421516217992096600695E+000000000000001715");
+ return val;
+ }
+
+ static const mp_float& A000142_710(void)
+ {
+ static const mp_float val("+7.39802034472249788071214043444919995850611719021643330357018985477592135844157905906652205568155125284978755601603229439750219299025711206636159227996952537049563177433455692951562129989148111278131976177168553131212486089908781842420270721681583199739628132276303288630688098582560482590831238581258790011872554949086530376260516779560237737253967923998763516461210400982922704713277170088340272253092765147743885864935E+000000000000001717");
+ return val;
+ }
+
+ static const mp_float& A000142_711(void)
+ {
+ static const mp_float val("+5.25999246509769599318633184889338117049784932224388407883840498674568008585196271099629718158958294077619895232739896131662405921607280667918309211105833253842239419155186997688560674422284307118751835061966841276292077609925143889960812483115605655014875602048451638216419238092200503122081010631274999698441386568800523097521227430267329031187571193963120860203920595098858043051140067932809933571948956020045902849969E+000000000000001720");
+ return val;
+ }
+
+ static const mp_float& A000142_712(void)
+ {
+ static const mp_float val("+3.74511463514955954714866827641208739339446871743764546413294435056292422112659745022936359329178305383265365405710806045743633016184383835557836158307353276735674466438493142354255200188666426668551306564120390988719959258266702449652098487978311226370591428658497566410090497521646758222921679569467799785290267236985972445435113930350338270205550690101742052465191463710386926652411728368160672703227656686272682829178E+000000000000001723");
+ return val;
+ }
+
+ static const mp_float& A000142_713(void)
+ {
+ static const mp_float val("+2.67026673486163595711700048108181831149025619553304121592678932195136496966326398201353624201704131738268205534271804710615210340539465674752737180873142886312535894570645610498583957734519162214677081580217838774957330951144158846601946221928535904402231688633508764850394524732934138612943157533030541246911960539970998353595236232339791186656557642042542083407681513625505878703169562326498559637401319217312422857204E+000000000000001726");
+ return val;
+ }
+
+ static const mp_float& A000142_714(void)
+ {
+ static const mp_float val("+1.90657044869120807338153834349241827440404292361059142817172757587327458833957048315766487680016750061123498751470068563379260183145178491773454347143424020827150628723440965895988945822446681821279436248275536885319534299116929416473789602456974635743193425684325258103181690659314974969641414478583806450295139825539292824466998669890610907272782156418375047553084600728611197394063067501119971581104541921161069920043E+000000000000001729");
+ return val;
+ }
+
+ static const mp_float& A000142_715(void)
+ {
+ static const mp_float val("+1.36319787081421377246779991559707906619889069038157287114278521674939133066279289545773038691211976293703301607301099022816171030948802621618019858207548174891412699537260290615632096263049377502214796917517008873003467023868604532778759565756736864556383299364292559543774908821410207103293611352187421611961024975260594369493904048971786798700039241839138159000455489520957006136755093263300779680489747473630164992831E+000000000000001732");
+ return val;
+ }
+
+ static const mp_float& A000142_716(void)
+ {
+ static const mp_float val("+9.76049675502977061086944739567508611398405734313206175738234215192564192754559713147734957029077750262915639508275869003363784581593426770785022184766044932222514928686783680807925809243433542915857945929421783530704823890899208454695918490818235950223704423448334726333428347161297082859582257281661938741640938822865855685576352990637993478692280971568229218443261304970052163939166467765233582512306591911191981348670E+000000000000001734");
+ return val;
+ }
+
+ static const mp_float& A000142_717(void)
+ {
+ static const mp_float val("+6.99827617335634552799339378269903674372656911502568828004313932293068526205019314326925964189848746938510513527433798075411833545002486994652860906477254216403543203868423899139282805227541850270670147231395418791515358729774732462016973557916675176310396071612455998781068124914650008410320478470951610077756553135994818526558245094287441324222365456614420349623818355663527401544382357387672478661323826400324650626997E+000000000000001737");
+ return val;
+ }
+
+ static const mp_float& A000142_718(void)
+ {
+ static const mp_float val("+5.02476229246985608909925673597790838199567662458844418507097403386423201815203867686732842288311400301850548712697467018145696485311785662160754130850668527377744020377528359582005054153375048494341165712141910692308027567978257907728187014584172776590864379417743407124806913688718706038610103542143256035829205151644279702068819977698382870791658397849153811029901579366412674308866532604348839678830507355433099150184E+000000000000001740");
+ return val;
+ }
+
+ static const mp_float& A000142_719(void)
+ {
+ static const mp_float val("+3.61280408828582652806236559316811612665489149307909136906603033034838282105131580866760913605295896817030544524429478786046755772939173891093582220081630671184597950651442890539461633936276659867431298147030033787769471821376367435656566463486020226368831488801357509722736170942188749641760664446801001089761198504032237105787481563965137284099202388053541590130499235564450712828075036942526815729079134788556398288982E+000000000000001743");
+ return val;
+ }
+
+ static const mp_float& A000142_720(void)
+ {
+ static const mp_float val("+2.60121894356579510020490322708104361119152187501694578572754183785083563115694738224067857795813045708261992057589224725953664156516205201587379198458774083252910524469038881188412376434119195104550534665861624327194019711390984553672727853709934562985558671936977407000370043078375899742067678401696720784628062922903210716166986726054898844551425719398549944893959449606404513236214026598619307324936977047760606768067E+000000000000001746");
+ return val;
+ }
+
+ static const mp_float& A000142_721(void)
+ {
+ static const mp_float val("+1.87547885831093826724773522672543244366908727188721791150955766509045249006415906259552925470781205955656896273521831027412591856848183950344500402088776114025348488142177033336845323408999939670380935494086231139906888211912899863198036782524862819912587802466560710447266801059509023714030796127623335685716833367413214926356397429485582066921577943686354510268544763166217654043310313177604520581279560451435397479776E+000000000000001749");
+ return val;
+ }
+
+ static const mp_float& A000142_722(void)
+ {
+ static const mp_float val("+1.35409573570049742895286483369576222432908101030257133210990063419530669782632284319397212189904030699984279109482762001791891320644388812148729290308096354326301608438651818069202323501297956442015035426730258883012773289001113701228982556982950955976888393380856832942926630364965515121530234804144048365087553691272341176829318944088590252317379275341547956413889319006009146219270046114230463859683842645936356980399E+000000000000001752");
+ return val;
+ }
+
+ static const mp_float& A000142_723(void)
+ {
+ static const mp_float val("+9.79011216911459641132921274762036088189925570448759073115458158523206742528431415629241844133006141960886337961560369272955374248258931111835312768927536641779160629011452644640332798914384225075768706135259771724182350879478052059885543886986735411712903084143594902177359537538700674328663597633961469679583013187899026708475975965760507524254652160719391724872419776413446127165322433405886253705514182330119860968281E+000000000000001754");
+ return val;
+ }
+
+ static const mp_float& A000142_724(void)
+ {
+ static const mp_float val("+7.08804121043896780180235002927714127849506113004901568935591706770801681590584344915571095152296446779681708684169707353619690955739466124968766444703536528648112295404291714719600946414014178954856543241928074728308022036742109691357133774178396438080141832919962709176408305178019288213952444686988104048018101548038895336936606599210607447560368164360839608807631918123334996067693441785861647682792268007006779341036E+000000000000001757");
+ return val;
+ }
+
+ static const mp_float& A000142_725(void)
+ {
+ static const mp_float val("+5.13882987756825165630670377122592742690891931928553637478303987408831219153173650063789043985414923915269238796023037831374275942911112940602355672410063983269881414168111493171710686150160279742270993850397854178023315976638029526233921986279337417608102828866972964152896021254063983955115522398066375434813123622328199119279039784427690399481266919161608716385533140639417872149077745294749694570024394305079915022251E+000000000000001760");
+ return val;
+ }
+
+ static const mp_float& A000142_726(void)
+ {
+ static const mp_float val("+3.73079049111455070247866693791002331193587542580129940809248694858811465105204069946310845933411234762485467365912725465577724334553467994877310218169706451853933906686048944042661958145016363092888741535388842133244927399039209436045827362038798965183482653757422371975002511430450452351413869260996188565674327749810272560596582883494503230023399783311327928095897060104217375180230443083988278257837710265488018306154E+000000000000001763");
+ return val;
+ }
+
+ static const mp_float& A000142_727(void)
+ {
+ static const mp_float val("+2.71228468704027836070199086386058694777738143455754466968323801162355935131483358850967984993589967672326934775018551413475005591220371232275804528609376590497809950160757582319015243571426895968530115096227688230869062219101505260005316492202206847688391889281646064425826825809937478859477882952744229087245236274112068151553715756300503848227011642467335403725717162695766031756027532122059478293448015363009789308574E+000000000000001766");
+ return val;
+ }
+
+ static const mp_float& A000142_728(void)
+ {
+ static const mp_float val("+1.97454325216532264659104934889050729798193368435789251952939727246195120775719885243504693075333496465454008516213505429009804070408430257096785696827626157882405643717031519928243097319998780265089923790053757032072677295505895829283870406323206585117149295397038334902001929189634484609699898789597798775514532007553585614331105070586766801509264475716220173912322094442517671118388043384859300197630155184271126616642E+000000000000001769");
+ return val;
+ }
+
+ static const mp_float& A000142_729(void)
+ {
+ static const mp_float val("+1.43944203082852020936487497534117982022882965589690364673693061162476243045499796342514921251918118923315972208319645457748147167327745657423556772987339469096273714269715978027689217946279110813250554442949188876380981748423798059547941526209617600550401836344440946143559406379243539280471226217616795307350093833506563912847375596457752998300253802797124506782082806848595382245304883627562429844072383129333651303532E+000000000000001772");
+ return val;
+ }
+
+ static const mp_float& A000142_730(void)
+ {
+ static const mp_float val("+1.05079268250481975283635873199906126876704564880473966211795934648607657423214851330035892513900226814020659712073341184156147432149254329919196444280757812440279811416892663960213129100783750893672904743352907879758116676349372583469997314133020848401793340531441890684798366656847783674743995138860260574365568498459791656378584185414159688759185276041900889950920448999474629039072565048120573786172839684413565451578E+000000000000001775");
+ return val;
+ }
+
+ static const mp_float& A000142_731(void)
+ {
+ static const mp_float val("+7.68129450911023239323378233091313787468710369276264693008228282281321975763700563222562374276610658010491022495256124056181437729011049151709326007692339608938445421457485373549157973726729219032748933673909756601031832904113913585165680366312382401817109319284840220905876060261557298662378604465068504798612305723741077008127450395377507324829644367866295505541228482186159538275620450501761394376923458093063163451037E+000000000000001777");
+ return val;
+ }
+
+ static const mp_float& A000142_732(void)
+ {
+ static const mp_float val("+5.62270758066869011184712866622841692427095990310225755282023102629927686259028812278915657970479001663679428466527482809124812417636087979051226637630792593742942048506879293437983636767965788331972219449301941831955301685811384744341278028140663918130124021716503041703101276111459942620861138468430145512584207789778468369949293689416335361775299677278128310056179248960268782017754169767289340683907971324122235646159E+000000000000001780");
+ return val;
+ }
+
+ static const mp_float& A000142_733(void)
+ {
+ static const mp_float val("+4.12144465663014985198394531234542960549061360897395478621722934227736994027868119400445177292361108219477021065964644899088487502127252488644549125383370971213576521555542522090042005750918922847335636856338323362823236135699745017602156794627106651989380907918196729568373235389700137941091214497359296660724224309907617315172832274342173820181294663444868051271179389487877017219013806439423086721304542980581598728635E+000000000000001783");
+ return val;
+ }
+
+ static const mp_float& A000142_734(void)
+ {
+ static const mp_float val("+3.02514037796652999135621585926154533043011038898688281308344633723158953616455199639926760132593053433096133462418049355930949826561403326665099058031394292870765166821768211214090832221174489369944357452552329348312255323603612842919983087256296282560205586411956399503185954776039901248760951441061723748971580643472191109336858889367155584013070282968533149633045671884101730638756133926536545653437534547746893466818E+000000000000001786");
+ return val;
+ }
+
+ static const mp_float& A000142_735(void)
+ {
+ static const mp_float val("+2.22347817780539954364681865655723581786613113590535886761633305786521830908094571735346168697455894273325658094877266276609248122522631445098847807653074805260012397613999635242356761682563249686909102727625962071009507662848655439546187569133377767681751106012787953634841676760389327417839299309180366955494111772952060465362591283684859354249606657981871864980288568834814772019485758436004361055276587892593966698111E+000000000000001789");
+ return val;
+ }
+
+ static const mp_float& A000142_736(void)
+ {
+ static const mp_float val("+1.63647993886477406412405853122612556194947251602634412656562113058880067548357604797214780161327538185167684357829667979584406618176656743592751986432663056671369124643903731538374576598366551769565099607532708084262997639856610403505994050882166037013768814025411933875243474095646544979529724291556750079243666264892716502506867184792056484727710500274657692625492386662423672206341518208899209736683568688949159489810E+000000000000001792");
+ return val;
+ }
+
+ static const mp_float& A000142_737(void)
+ {
+ static const mp_float val("+1.20608571494333848525943113751365453915676124431141562127886277324394609783139554735547292978898395642468583371720465300953707677596196020027858214000872672766799044862557050143782062952996148654169478410751605858101829260574321867383917615500156369279147615936728595266054440408491503649913406802877324808402582037225932062347561115191745629244322638702422719464987888970206246416073698919958717575935790123755530543990E+000000000000001795");
+ return val;
+ }
+
+ static const mp_float& A000142_738(void)
+ {
+ static const mp_float val("+8.90091257628183802121460179485077049897689798301824728503800726654032220199569913948339022184270159841418145283297033921038362660659926627805593619326440325018976951085671030061111624593111577067770750671346851232791499943038495381293312002391154005280109405613057033063481770214667296936360942205234657086011055434727378620125001030115082743823101073623879669651610620600122098550623898029295335710406131113315815414645E+000000000000001797");
+ return val;
+ }
+
+ static const mp_float& A000142_739(void)
+ {
+ static const mp_float val("+6.57777439387227829767759072639471939874392760945048474364308736997329810727482166407822537394175648122808009364356508067647350006227685777948333684682239400189023966852310891215161490574309455453082584746125323061032918457905448086775757569767062809902000850748049147433913028188639132435970736289668411586562169966263532800272375761255046147685271693408047075872540248623490230828911060643649253089990130892740387591423E+000000000000001800");
+ return val;
+ }
+
+ static const mp_float& A000142_740(void)
+ {
+ static const mp_float val("+4.86755305146548594028141713753209235507050643099335871029588465378024059938336803141788677671689979610877926929623815970059039004608487475681766926664857156139877735470710059499219503024988997035281112712132739065164359658850031584214060601627626479327480629553556369101095640859592958002618344854354624574056005775035014272201558063328734149287101053121954836145679783981382770813394184876300447286592696860627886817653E+000000000000001803");
+ return val;
+ }
+
+ static const mp_float& A000142_741(void)
+ {
+ static const mp_float val("+3.60685681113592508174853009891128043510724526536607880432925052845115828414307571128065410154722274891660543854851247633813747902414889219480189292658659152699649401983796154088921651741516846803143304519690359647286790507207873403902618905806071221181663146499185269503911869876958381879940193537076776809375500279300945575701354524926592004621741880363368533583948719930204633172725090993338631439365188373725264131881E+000000000000001806");
+ return val;
+ }
+
+ static const mp_float& A000142_742(void)
+ {
+ static const mp_float val("+2.67628775386285641065740933339217008284957598690163047281230389211075944683416217777024534334803927969612123540299625744289800943591847800854300455152725091303139856271976746333979865592205500327932331953610246858286798556348242065695743228108104846116794054702395469971902607448703119354915623604510968392556621207241301617170405057495531267429332475229619451919289950188211837814162017517057264528008969773304145985856E+000000000000001809");
+ return val;
+ }
+
+ static const mp_float& A000142_743(void)
+ {
+ static const mp_float val("+1.98848180112010231311845513471038237155723495826791144129954179183829426899778249808329229010759318481421807790442621928007322101088742916034745238178474742838232913210078722526147040135008686743653722641532413415707091327366743854811937218484321900664777982643879834189123637334386417680702308338151649515669569556980287101557610957719179731699994029095607252776032432989841395495922379015173547544310664541564980467491E+000000000000001812");
+ return val;
+ }
+
+ static const mp_float& A000142_744(void)
+ {
+ static const mp_float val("+1.47943046003335612096013062022452448443858280895132611232685909312769093613435017857396946384004932950177824996089310714437447643210024729529850457204785208671645287428298569559453397860446462937278369645300115581286075947560857427980081290552335494094594819087046596636707986176783494754442517403584827239658159750393333603558862552543069720384795557647131796065368130144441998248966249987289119372967134418924345467813E+000000000000001815");
+ return val;
+ }
+
+ static const mp_float& A000142_745(void)
+ {
+ static const mp_float val("+1.10217569272485031011529731206727074090674419266873795368351002438012974742009088303760725056083675047882479622086536482255898494191468423499738590617564980460375739134082434321792781406032614888272385385748586108058126580932838783845160561461489943100473140219849714494347449701703703592059675465670696293545329014043033534651352601644586941686672690447113188068699256957609288695479856240530393932860515142098637373521E+000000000000001818");
+ return val;
+ }
+
+ static const mp_float& A000142_746(void)
+ {
+ static const mp_float val("+8.22223066772738331346011794802183972716431167730878513447898478187576791575387798746055008918384215857203297980765562157629002766668354439308049886007034754234403013940254960040574149289003307066511994977684452366113624293758977327484897788502714975529529626040078870127831974774709628796765178973903394349848154444761030168499090408268618584982578270735464382992496456903765293668279727554356738739139442960055834806465E+000000000000001820");
+ return val;
+ }
+
+ static const mp_float& A000142_747(void)
+ {
+ static const mp_float val("+6.14200630879235533515470810717231427619174082294966249545580163206119863306814685663303091662033009245330863591631874931748865066701260766163113264847254961413099051413370455150308889518885470378684460248330285917486877347437956063631218648011528086720558630651938915985490485156708092711183588693505835579336571370236489535868820534976658082981985968239391894095394853307112674370204956483104483838137163891161708600429E+000000000000001823");
+ return val;
+ }
+
+ static const mp_float& A000142_748(void)
+ {
+ static const mp_float val("+4.59422071897668179069572166416489107859142213556634754660093962078177657753497384876150712563200690915507485966540642448948151069892543053090008722105746711136998090457201100452431049360126331843255976265751053866280184255883591135596151548712623008866977855727650309157146882897217653347965324342742365013343755384936894172829877760162540246070525504243065136783355350273720280428913307449362153910926598590588958033121E+000000000000001826");
+ return val;
+ }
+
+ static const mp_float& A000142_749(void)
+ {
+ static const mp_float val("+3.44107131851353466123109552645950341786497517953919431240410377596555065657369541272236883709837317495715106988938941194262165151349514746764416532857204286641611569752443624238870855970734622550598726223047539345843858007656809760561517509985754633641366413940010081558703015290016022357626027932714031394994472783317733735449578442361742644306823602678055787450733157355016490041256067279572253279284022344351129566808E+000000000000001829");
+ return val;
+ }
+
+ static const mp_float& A000142_750(void)
+ {
+ static const mp_float val("+2.58080348888515099592332164484462756339873138465439573430307783197416299243027155954177662782377988121786330241704205895696623863512136060073312399642903214981208677314332718179153141978050966912949044667285654509382893505742607320421138132489315975231024810455007561169027261467512016768219520949535523546245854587488300301587183831771306983230117702008541840588049868016262367530942050459679189959463016758263347175106E+000000000000001832");
+ return val;
+ }
+
+ static const mp_float& A000142_751(void)
+ {
+ static const mp_float val("+1.93818342015274839793841455527831530011244726987545119646161145181259640731513394121587424749565869079461534011519858627668164521497614181115057612131820314450887716663063871352544009625516276151624732545131526536546553022812698097636274737499476297398499632651710678437939473362101524592932860233101178183230636795203713526491975057660251544405818394208414922281625450880213038015737479895219071659556725585455773728504E+000000000000001835");
+ return val;
+ }
+
+ static const mp_float& A000142_752(void)
+ {
+ static const mp_float val("+1.45751393195486679524968774556929310568456034694633929973913181176307249830098072379433743411673533547755073576662933688006459720166205864198523324323128876467067562930624031257113095238388239666021798873938907955483007873155148969422478602599606175643671723754086430185330483968300346493885510895292085993789438869993192571921965243360509161393175432444728021555782339061920204587834584881204741887986657640262741843835E+000000000000001838");
+ return val;
+ }
+
+ static const mp_float& A000142_753(void)
+ {
+ static const mp_float val("+1.09750799076201469682301487241367770858047394125059349270356625425759359122063848501713608788990170761459570403227189067068864169285153015741488063215316043979701874886759895536606160714506344468514414552075997690478704928485827173975126387757503450259684807986827081929553854428130160909895789704154940753323447469104874006657239828250463398529061100630880200231504101313625914054639442415547170641653953203117844608408E+000000000000001841");
+ return val;
+ }
+
+ static const mp_float& A000142_754(void)
+ {
+ static const mp_float val("+8.27521025034559081404553213799912992269677351702947493498488955710225567780361417702920610268985887541405160840333005565699235836410053738690819996643482971606952136646169612346010451787377837292598685722653022586209435160783136891772452963691576014958023452220676197748836062388101413260614254369328253280058793917050750010195588305008494024909120698756836709745540923904739391971981395813225666638070807151508548347396E+000000000000001843");
+ return val;
+ }
+
+ static const mp_float& A000142_755(void)
+ {
+ static const mp_float val("+6.24778373901092106460437676418934309163606400535725357591359161561220303674172870365705060753084345093760896434451419202102923056489590572711569097465829643563248863167858057321237891099470267155912007720603032052588123546391268353288201987587139891293307706426610529300371227103016567011763762048842831226444389407373316257697669170281412988806386127561411715857883397548078240938845953838985378311743459399388954002284E+000000000000001846");
+ return val;
+ }
+
+ static const mp_float& A000142_756(void)
+ {
+ static const mp_float val("+4.72332450669225632484090883372714337727686438805008370339067526140282549577674689996473025929331764890883237704445272916789809830706130472969946237684167210533816140554900691334855845671199521969869477836775892231756621401071798875085880702615877757817740626058517560151080647689880524660893404108925180407191958391974227090819437892732748219537627912436427257188559848546347150149767541102272946003678055305938049225727E+000000000000001849");
+ return val;
+ }
+
+ static const mp_float& A000142_757(void)
+ {
+ static const mp_float val("+3.57555665156603803790456798713144753659858634175391336346674117288193890030299740327330080628504146022398610942265071598009886041844540768038249301926914578374098818400059823340485875173098038131191194722439350419439762400611351748440011691880219462668029653926297793034368050301239557168296306910456361568244312502724489907750314484798690402189984329714375433691739805349584792663374028614420620124784287866595103263875E+000000000000001852");
+ return val;
+ }
+
+ static const mp_float& A000142_758(void)
+ {
+ static const mp_float val("+2.71027194188705683273166253424563723274172844704946632950778980904450968642967203168116201116406142684978147094236924271291493619718161902172992970860601250407566904347245346092088293381208312903442925599609027617935339899663404625317528862445206352702366477676133727120050982128339584333568600638125922068729188877065163350074738379477407324860008121923496578738338772454985272838837513689730830054586490202879088274017E+000000000000001855");
+ return val;
+ }
+
+ static const mp_float& A000142_759(void)
+ {
+ static const mp_float val("+2.05709640389227613604333186349243865965097189131054494409641246506478285200012107204600196647352262297898413644525825521910243657366084883749301664883196349059343280399559217683895014676337109493713180530103251962012922983844524110616004406595911621701096156556185498884118695435409744509178567884337574850165454357692458982706726430023352159568746164539933903262399128293333822084677672890505700011431146063985227999979E+000000000000001858");
+ return val;
+ }
+
+ static const mp_float& A000142_760(void)
+ {
+ static const mp_float val("+1.56339326695812986339293221625425338133473863739601415751327347344923496752009201475496149451987719346402794369839627396651785179598224511649469265311229225285100893103665005439760211154016203215222017202878471491129821467721838324068163349012892832492833078982700979151930208530911405826975711592096556886125745311846268826857112086817747641272247085050349766479423337502933704784355031396784332008687671008628773279984E+000000000000001861");
+ return val;
+ }
+
+ static const mp_float& A000142_761(void)
+ {
+ static const mp_float val("+1.18974227615513682604202141656948682319573610305836677386760111329486781028279002322852569732962654422612526515447956448852008521674248853365246110901845440441961779651889069139657520688206330646783955091390516804749794136936318964615872308598811445527045973105835445134618888692023579834328516521585479790341692182315010577238262298068305955008180031723316172290841159839732549340894178892952876658611317637566496466068E+000000000000001864");
+ return val;
+ }
+
+ static const mp_float& A000142_762(void)
+ {
+ static const mp_float val("+9.06583614430214261444020319425948959275150910530475481687112048330689271435485997700136581365175426700307452047713428140252304935157776262643175365072062256167748760947394706844190307644132239528493737796395738052193431323454750510372946991522943214916090315066466091925795931833219678337583295894481356002403694429240380598555558711280491377162331841731669232856209637978762025977613643164300920138618240398256703071438E+000000000000001866");
+ return val;
+ }
+
+ static const mp_float& A000142_763(void)
+ {
+ static const mp_float val("+6.91723297810253481481787503721999055926940144734752792527266492876315914105275816245204211581628850572334585912405345671012508665525383288396742803549983501455992304602862161322117204732472898760240721938649948133823588099795974639414558554532005672980976910395713628139382295988746614571576054767489274629834018849510410396697891296707014920774859195241263624669287953777795425820919209734361602065765717423869864443507E+000000000000001869");
+ return val;
+ }
+
+ static const mp_float& A000142_764(void)
+ {
+ static const mp_float val("+5.28476599527033659852085652843607278728182270577351133490831600557505358376430723611336017648364441837263623637077684092653556620461392832335111501912187395112378120716586691250097544415609294652823911561128560374241221308244124624512722735662452334157466359542325211898488074135402413532684105842361805817193190401025953543077188950684159399471992425164325409247335996686235705327182276237052263978245008111836576434839E+000000000000001872");
+ return val;
+ }
+
+ static const mp_float& A000142_765(void)
+ {
+ static const mp_float val("+4.04284598638180749786845524425359568227059436991673617120486174426491599157969503562672053500998798005506672082364428330879970814652965516736360298962823357260969262348188818806324621477941110409410292344263348686294534300806755337752232892781776035630461765049878787102343376713582846352503340969406781450152790656784854460454049547273381940596074205250708938074212037464970314575294441321344981943357431205554980972652E+000000000000001875");
+ return val;
+ }
+
+ static const mp_float& A000142_766(void)
+ {
+ static const mp_float val("+3.09682002556846454336723671709825429261927528735621990714292409610692564955004639729006792981765079272218110815091152101454057644024171585820051989005522691661902454958712635205644660052102890573608283935705725093701613274417974588718210395870840443292933712028207150920395026562604460306017559182565594590817037643097198516707801953211410566496592841222043046564846420698167260964675542052150256168611792303455115425052E+000000000000001878");
+ return val;
+ }
+
+ static const mp_float& A000142_767(void)
+ {
+ static const mp_float val("+2.37526095961101230476267056201436104243898414540222066877862278171401197320488558672148210217013815801791290995174913661815262212966539606323979875567235904504679182953332591202729454259962917069957553778686291146869137381478586509546867373632934620005680157125634884755942985373517621054715467893027811051156667872255551262314884098113151904502886709217307016715237204675494289159906140753999246481325244696750073531015E+000000000000001881");
+ return val;
+ }
+
+ static const mp_float& A000142_768(void)
+ {
+ static const mp_float val("+1.82420041698125745005773099162702928059313982366890547362198229635636119542135213060209825446666610535775711484294333692274121379558302417656816544435637174659593612508159430043696220871651520309727401302031071600795497508975554439331994142950093788164362360672487591492564212766861532970021479341845358887288320925892263369457830987350900662658216992678891788837302173190779614074807916099071421297657787927104056471819E+000000000000001884");
+ return val;
+ }
+
+ static const mp_float& A000142_769(void)
+ {
+ static const mp_float val("+1.40281012065858697909439513256118551677612452440138830921530438589804175927901978843301355768486623502011522131422342609358799340880334559178091922671004987313227488018774601703602393850300019118180371601261894061011737584402201363846303495928622123098394655357142957857781879617716518853946517613879080984324718792011150531113072029272842609584168867370067785615885371183709523223527287480185922977898838915943019426829E+000000000000001887");
+ return val;
+ }
+
+ static const mp_float& A000142_770(void)
+ {
+ static const mp_float val("+1.08016379290711197390268425207211284791761588378906899809578437714149215464484523709342043941734700096548872041195203809206275492477857610567130780456673840231185165774456443311773843264731014720998886132971658426979037939989695050161653691865039034785763884625000077550492047305641719517538818562686892357930033469848585908957065462540088809379810027874952194924231735811456332882116011359743160692982105965276124958658E+000000000000001890");
+ return val;
+ }
+
+ static const mp_float& A000142_771(void)
+ {
+ static const mp_float val("+8.32806284331383331878969558347599005744481846401372197531849754776090451231175677799027158790774537744391803437615021368980384047004282177472578317320955308182437628121059177933776331571076123498901412085211486472008382517320548836746349964279450958198239550458750597914293684726497657480224291118315940079640558052532597358058974716184084720318335314915881422865826683106328326521114447583619768942892036992278923431255E+000000000000001892");
+ return val;
+ }
+
+ static const mp_float& A000142_772(void)
+ {
+ static const mp_float val("+6.42926451503827932210564499044346432434739985421859336494588010687141828350467623260848966586477943138670472253838796496852856484287305841008830460971777497916841848909457685364875327972870767341151890129783267556390471303371463701968182172423736139729040932954155461589834724608856191574733152743339905741482510816555165160421528480894113404085754863115060458452418199358085468074300353534554461623912652558039328888929E+000000000000001895");
+ return val;
+ }
+
+ static const mp_float& A000142_773(void)
+ {
+ static const mp_float val("+4.96982147012458991598766357761279792272054008731097267110316532261160633314911472780636251171347450046192275052217389692067258062354087415099825946331184005889718749207010790787048628523029103154710411070322465821089834317506141441621404819283548036010548641173562171808942242122645836087268727070601747138165980861197142669005841515731149661358288509187941734383719268103800066821434173282210598835284480427364401231142E+000000000000001898");
+ return val;
+ }
+
+ static const mp_float& A000142_774(void)
+ {
+ static const mp_float val("+3.84664181787643259497445160907230559218569802757869284743384995970138330185741479932212458406622926335752820890416259621660057740262063659287265282460336420558642311886226352069175638476824525841745858168429588545523531761749753475814967330125466179872164648268337120980121295402927877131545994752645752284940469186566588425810521333175909837891315306111466902412998713512341251719790050120431003498510187850780046552904E+000000000000001901");
+ return val;
+ }
+
+ static const mp_float& A000142_775(void)
+ {
+ static const mp_float val("+2.98114740885423526110519999703103683394391597137348695676123371876857205893949646947464655265132767910208436190072601206786544748703099335947630593906760725932947791711825422853611119819539007527353040080532931122780737115356058943756599680847236289400927602407961268759594003937269104776948145933300458020828863619589106030003154033211330124365769362236386849370074002972064470082837288843334027711345395584354536078501E+000000000000001904");
+ return val;
+ }
+
+ static const mp_float& A000142_776(void)
+ {
+ static const mp_float val("+2.31337038927088656261763519769608458314047879378582587844671736576441191773704926031232572485743027898321746483496338536466358724993605084695361340871646323323967486368376528134402228979962269841225959102493554551277852001516301740355121352337455360575119819468577944557444947055320825306911761244241155424163198168801146279282447529771992176507837025095436195111177426306322028784281736142427205504004026973459119996917E+000000000000001907");
+ return val;
+ }
+
+ static const mp_float& A000142_777(void)
+ {
+ static const mp_float val("+1.79748879246347885915390254860985772110015202277158670755309939319894806008168727526267708821422332676995997017676655042834360729320031150808295761857269193222722736908228562360430531917430683666632570222637491886342891005178166452255929290766202815166868099727085062921134723861984281263470438486775377764574804977158490659002461730632837921146589368499153923601384860240012216365386908982665938676611128958377736237604E+000000000000001910");
+ return val;
+ }
+
+ static const mp_float& A000142_778(void)
+ {
+ static const mp_float val("+1.39844628053658655242173618281846930701591827371629445847631132790878159074355270015436277463066574822702885679752437623325132647410984235328854102724955432327278289314601821516414953831761071892640139633211968687574769202028613499855112988216105790199823381587672178952642815164623770822980001142711243900839198272229305732703915226432347902652046528692341752561877421266729504332271015188514100290403458329617878792856E+000000000000001913");
+ return val;
+ }
+
+ static const mp_float& A000142_779(void)
+ {
+ static const mp_float val("+1.08938965253800092433653248641558759016540033522499338315304652444094085918922755342024860143728861786885547944527148908570278332333156719321177346022740281782949787376074818961287249034941875004366668774272123607620745208380289916387133017820346410565662414256796627404108753013241917471101420890172058998753735454066629165776349961390799016165944245851334225245702511166782283874839120831852484126224294038772327579635E+000000000000001916");
+ return val;
+ }
+
+ static const mp_float& A000142_780(void)
+ {
+ static const mp_float val("+8.49723928979640720982495339404158320329012261475494838859376289063933870167597491667793909121085121937707273967311761486848170992198622410705183298977374197907008341533383587898040542472546625034060016439322564139441812625366261347819637538998702002412166831203013693752048273503286956274591082943342060190279136541719707493055529698848232326094365117640406956916479587100901814223745142488449376184549493502424155121152E+000000000000001918");
+ return val;
+ }
+
+ static const mp_float& A000142_781(void)
+ {
+ static const mp_float val("+6.63634388533099403087328860074647648176958576212361469149172881758932352600893640992547043023567480233349380968470485721228421544907124102760748156501329248565373514737572582148369663671058914151600872839110922592904055660411050112647136917957986263883902295169553694820349701606067112850455635778750149008608005639083091552076368694800469446679699156877157833351770557525804316908744956283478962800133154425393265149619E+000000000000001921");
+ return val;
+ }
+
+ static const mp_float& A000142_782(void)
+ {
+ static const mp_float val("+5.18962091832883733214291168578374460874381606598066668874653193535485099733898827256171787644429769542479215917343919834000625648117371048358905058384039472378122088524781759240025076990768070866551882560184741467650971526441441188090061069843145258357211594822590989349513466655944482249056307178982616524731460409762977593723720319333967107303524740677937425681084575985178975822638555813680548909704126760657533347002E+000000000000001924");
+ return val;
+ }
+
+ static const mp_float& A000142_783(void)
+ {
+ static const mp_float val("+4.06347317905147963106789984996867202864640797966286201728853450538284833091642781741582509725588509551761226063280289230022489882475901530865022660714702906872069595314904117484939635283771399488510124044624652569170710705203648450274517817687182737293696678746088744660669044391604529601011088521143388738864733500844411455885673010038496245018659871950825004308289222996395138069125989202111869796298331253594848610703E+000000000000001927");
+ return val;
+ }
+
+ static const mp_float& A000142_784(void)
+ {
+ static const mp_float val("+3.18576297237636003075723348237543887045878385605568382155421105222015309143847940885400687624861391488580801233611746756337632067861106800198177766000327078987702562726884828108192674062476777198991937250985727614229837192879660385015221969066751266038258196136933575813964530803017951207192693400576416771269951064662018581414367639870181056094629339609446803377698750829173788246194775534455705920297891702818361310791E+000000000000001930");
+ return val;
+ }
+
+ static const mp_float& A000142_785(void)
+ {
+ static const mp_float val("+2.50082393331544262414442828366471951331014532700371179992005567599282017677920633595039539785516192318535928968385221203725041173270968838155569546310256757005346511740604590064931249139044270101208670742023796177170422196410533402236949245717399743840032683967492857013962156680369091697646264319452487165446911585759684586410278597298092129034284031593415740651493519400901423773262898794547729147433844986712413628971E+000000000000001933");
+ return val;
+ }
+
+ static const mp_float& A000142_786(void)
+ {
+ static const mp_float val("+1.96564761158593790257752063096046953746177422702491747473716376133035665894845618005701078271415727162369240169150783866127882362190981506790277663399861811006202358228115207791035961823288796299550015203230703795255951846378679254158242107133876198658265689598449385612974255150770106074349963755089654912041272506407112084918478977476300413420947248832424772152073906249108519085784638452514515109883002159555957112371E+000000000000001936");
+ return val;
+ }
+
+ static const mp_float& A000142_787(void)
+ {
+ static const mp_float val("+1.54696467031813312932850873656588952598241631666861005261814788016699069059243501370486748599604177276784592013121666902642643419044302445843948521095691245261881255925526668531545301954928282687745861964942563886866434103100020573022536538314360568344055097713979666477410738803656073480513421475255558415776481462542397210830842955273848425362285484831118295683682164218048404520512510462128923391477922699570538247436E+000000000000001939");
+ return val;
+ }
+
+ static const mp_float& A000142_788(void)
+ {
+ static const mp_float val("+1.21900816021068890591086488441392094647414405753486472146310052957158866418683879079943557896488091694106258506339873519282403014206910327325031434623404701266362429669315014802857697940483486757943739228374740342850750073242816211541758792191716127855115416998615977184199662177280985902644576122501380031631867392483409002134704248755792559185480962046921216998741545403822142762163858244157591632484603087261584138980E+000000000000001942");
+ return val;
+ }
+
+ static const mp_float& A000142_789(void)
+ {
+ static const mp_float val("+9.61797438406233546763672393802583626768099661395008265234386317831983456043415805940754671803291043466498379615021602067138159782092522482594498019178663092991599570090895466794547236750414710520176102511876701305092418077885819909064476870392640248776860640119080059983335334578746978771865705606535888449575433726694097026842816522683203291973444790550208402120070793236156706393472841546403397980303518358493898856550E+000000000000001944");
+ return val;
+ }
+
+ static const mp_float& A000142_790(void)
+ {
+ static const mp_float val("+7.59819976340924501943301191104041065146798732502056529535165191087266930274298486693196190724599924338533719895867065633039146227853092761249653435151143843463363660371807418767692317032827621310939120984382594031023010281529797728160936727610185796533719905694073247386834914317210113229773907429163351875164592644088336651205825052919730600659021384534664637674855926656563798050843544821658684404439779503210180096674E+000000000000001947");
+ return val;
+ }
+
+ static const mp_float& A000142_791(void)
+ {
+ static const mp_float val("+6.01017601285671281037151242163296482531117797409126714862315666150028141846970102974318186863158540151780172437630848915733964666231796374148475867204554780179520655354099668245244622772966648456952844698646631878539201132690070002975300951539656965058172445404011938682986417224913199564751160776468211333255192781473874291103807616859506905121285915166919728400811037985341964258217243953932019363911865587039252456469E+000000000000001950");
+ return val;
+ }
+
+ static const mp_float& A000142_792(void)
+ {
+ static const mp_float val("+4.76005940218251654581423783793330814164645295548028358170954007590822288342800321555660003995621563800209896570603632341261300015655582728325592886826007385902180359040446937250233741236189585577906653001328132447803047297090535442356438353619408316326072576759977455436925242442131254055282919334962823375938112682927308438554215632552729468856058444812200424893442342084390835692508057211514159336218197544935087945524E+000000000000001953");
+ return val;
+ }
+
+ static const mp_float& A000142_793(void)
+ {
+ static const mp_float val("+3.77472710593073562083069060548111335632563719369586488029566528019522074655840654993638383168527900093566447980488680446620210912414877103562195159253023857020429024719074421239435356800298341363279975830053209031107816506592794605788655614420190794846575553370662122161481717256610084465839355032625518937118923357561355591773492996614314468802854346736074936940499777272921932704158889368730728353621030653133524740800E+000000000000001956");
+ return val;
+ }
+
+ static const mp_float& A000142_794(void)
+ {
+ static const mp_float val("+2.99713332210900408293956834075200400492255593179451671495475823247500527276737480064948876235811152674291759696508012274616447464457412420228382956446900942474220645626945090464111673299436883042444300809062247970699606306234678916996192557849631491108180989376305724996216483501748407065876447895904662036072425145903716339868153439311765688229466351308443499930756823154700014567102158158772198312775098338588018644195E+000000000000001959");
+ return val;
+ }
+
+ static const mp_float& A000142_795(void)
+ {
+ static const mp_float val("+2.38272099107665824593695683089784318391343196577664078838903279481762919185006296651634356607469866376061948958723869758320075734243642874081564450375286249267005413273421346918968780273052322018743219143204487136706187013456569739011973083490457035431003886554163051371992104383889983617371776077244206318677577990993454490195181984252853722142425749290212582444951674407986511580846215736223897658656203179177474822135E+000000000000001962");
+ return val;
+ }
+
+ static const mp_float& A000142_796(void)
+ {
+ static const mp_float val("+1.89664590889701996376581763739468317439509184475820606755767010467483283671265012134700947859546013635345311371144200327622780284457939727768925302498727854416536308965643392147499149097349648326919602437990771760818124862711429512253530574458403800203079093697113788892105715089576426959427933757486388229667352080830789774195364859465271562825370896435009215626181532828757263218353587726034222536290337730625269958420E+000000000000001965");
+ return val;
+ }
+
+ static const mp_float& A000142_797(void)
+ {
+ static const mp_float val("+1.51162678939092491112135665700356248999288820027229023584346307342584177085998214671356655444058172867370213162801927661115355886712977963031833466091486099969979438245617783541556821830587669716554923143078645093372045515581009321266063867843347828761854037676599689747008254926392412286664063204716651419044879608422139450033705792993821435571820604458702344854066681664519538785027809417649275361423399171308340156861E+000000000000001968");
+ return val;
+ }
+
+ static const mp_float& A000142_798(void)
+ {
+ static const mp_float val("+1.20627817793395807907484261228884286701432478381728760820308353259382173314626575307742611044358421948161430103915938273570053997596956414499403105941005907776043591720002991266162343820808960433810828668176758784510892321433645438370318966538991567351959522065926552418112587431261145004757922437363887832397813927520867281126897222809069505586312842358044471193545211968286591950452191915284121738415872538704055445175E+000000000000001971");
+ return val;
+ }
+
+ static const mp_float& A000142_799(void)
+ {
+ static const mp_float val("+9.63816264169232505180799247218785450744445502270012798954263742542463564783866336708863462244423791365809826530288346805824731440799681751850230816468637203130588297842823900216637127128263593866148521058732302688242029648254827052578848542646542623142156581306753153820719573575776548588015800274537463780858533280891729576203908810244465349634639610440775324836426243626609869684113013403120132689942821584245403006946E+000000000000001973");
+ return val;
+ }
+
+ static const mp_float& A000142_800(void)
+ {
+ static const mp_float val("+7.71053011335386004144639397775028360595556401816010239163410994033970851827093069367090769795539033092647861224230677444659785152639745401480184653174909762504470638274259120173309701702610875092918816846985842150593623718603861642063078834117234098513725265045402523056575658860621238870412640219629971024686826624713383660963127048195572279707711688352620259869140994901287895747290410722496106151954257267396322405557E+000000000000001976");
+ return val;
+ }
+
+ static const mp_float& A000142_801(void)
+ {
+ static const mp_float val("+6.17613462079644189319856157617797716837040677854624201569892206221210652313501548563039706606226765507210936840608772633172487907264436066585627907193102719766080981257681555258821071063791310949427972294435659562625492598601693175292526146127904512909493937301367420968317102747357612335200524815923606790774148126395420312431464765604653396045877062370448828155181936915931604493579618988719381027715360071184454246851E+000000000000001979");
+ return val;
+ }
+
+ static const mp_float& A000142_802(void)
+ {
+ static const mp_float val("+4.95325996587874639834524638409473768903306623639408609659053549389410943155428241947557844698193865936783171346168235651804335301626077725401673581568868381252396946968660607317574498993160631381441233780137398969225645064078557926584605969194579419353414137715696671616590316403380805092830820902370732646200866797369127090570034742014932023628793404021099960180455913406577146803850854428952943584227718777089932305974E+000000000000001982");
+ return val;
+ }
+
+ static const mp_float& A000142_803(void)
+ {
+ static const mp_float val("+3.97746775260063335787123284642807436429355218782445113556220000159696987353808878283888949292649674347236886590973093228398881247205740413497543885999801310145674748415834467676012322691507986999297310725450331372288192986455082015047438593263247273740791552585704427308122024071914786489543149184603698314899296038287409053727737897837990414973921103428943268024906098465481448883492236106449213698134858178003215641697E+000000000000001985");
+ return val;
+ }
+
+ static const mp_float& A000142_804(void)
+ {
+ static const mp_float val("+3.19788407309090921972847120852817178889201595901085871299200880128396377832462338140246715231290338175178456819142366955632700522753415292452025284343840253357122497726330912011513907443972421547435037823262066423319707161109885940098140628983650808087596408278906359555730107353819488337592691944421373445179034014783076879197101269861744293639032567156870387492024503166247084902327757829585167813300425975114585375925E+000000000000001988");
+ return val;
+ }
+
+ static const mp_float& A000142_805(void)
+ {
+ static const mp_float val("+2.57429667883818192188141932286517829005807284700374126395856708503359084155132182202898605761188722231018657739409605399284323920816499310423880353896791403952483610669696384169268695492397799345685205447725963470772364264693458181779003206331838900510515108664519619442362736419824688111762117015259205623369122381900376887753666522238704156379421216561280661931079725048828903346373845052816060089706842909967241227619E+000000000000001991");
+ return val;
+ }
+
+ static const mp_float& A000142_806(void)
+ {
+ static const mp_float val("+2.07488312314357462903642397422933370178680671468501545875060507053707421829036538855536276243518110118201038137964141951823165080178098444201647565240813871585701790199775285640430568566872626272622275590867126557442525597342927294513876584303462153811475177583602813270544365554378698618080266314298919732435512639811703771529455216924395550041813500548392213516450258389356096097177319112569744432303715385433596429461E+000000000000001994");
+ return val;
+ }
+
+ static const mp_float& A000142_807(void)
+ {
+ static const mp_float val("+1.67443068037686472563239414720307229734195301875080747521173829192341889416032486856417774928519114865388237777337062555121294219703725444470729585149336794369661344691218655511827468833466209402006176401829771131856118157055742326672698403532893958125860468309967470309329303002383609784790774915639228224075458700328044943624270360057987208883743494942552516307775358520210369550422096523843783756869098316044912318575E+000000000000001997");
+ return val;
+ }
+
+ static const mp_float& A000142_808(void)
+ {
+ static const mp_float val("+1.35293998974450669831097447094008241625229803915065243997108453987412246648154249379985562142243444811233696124088346544538005729520610159132349504800664129850686366510504673653556594817440697196820990532678455074539743470901039799951540310054578318165695258394453716009938076825925956706110946131836496405052970629865060314448410450926853664778064743913582433176682489684329978596741053991265777275550231439364289153409E+000000000000002000");
+ return val;
+ }
+
+ static const mp_float& A000142_809(void)
+ {
+ static const mp_float val("+1.09452845170330591893357834699052667474810911367287782393660739275816507538356787748408319773074946852288060164387472354531246635182173618738070749383737281049205270506998280985727285207309524032228181340936870155302652467958941198160796110834153859396047464041113056252039904152174098975243755420655725591687853239560833794388764054799824614805454377826088188439936134154622952684763512678934013815920137234445709925108E+000000000000002003");
+ return val;
+ }
+
+ static const mp_float& A000142_810(void)
+ {
+ static const mp_float val("+8.86568045879677794336198461062326606545968382075031037388651988134113711060689980762107390161907069503533287331538526071703097744975606311778373070008271976498562691106686075984391010179207144661048268861588648257951484990467423705102448497756646261107984458733015755641523223632610201699474418907311377292671611240442753734548988843878579379924180460391314326363482686652445916746584452699365511908953111599010250393373E+000000000000002005");
+ return val;
+ }
+
+ static const mp_float& A000142_811(void)
+ {
+ static const mp_float val("+7.19006685208418691206656951921546877908780357862850171322196762376766219670219574398069093421306633367365496025877744644151212271175216718852260559776708572940334342487522407623341109255336994320110146046748393737198654327269080624838085731680640117758575396032475777825275334366046873578273753733829526984356676715999073278719229952385527877118510353377355918680784458875133638481479991139185430158160973506797313069025E+000000000000002008");
+ return val;
+ }
+
+ static const mp_float& A000142_812(void)
+ {
+ static const mp_float val("+5.83833428389235977259805444960296064861929650584634339113623771049934170372218294411232103858100986294300782773012728651050784364194275975708035574538687361227551486099868194990152980715333639387929438589959695714605307313742493467368525614124679775619963221578370331594123571505230061345558288031869575911297621493391247502320014721337048636220230406942413005968796980606608514446961752805018569288426710487519418212048E+000000000000002011");
+ return val;
+ }
+
+ static const mp_float& A000142_813(void)
+ {
+ static const mp_float val("+4.74656577280448849512221826752720700732748805925307717699376125863596480512613473356331700436636101857266536394459348393304287688089946368250632922099952824677999358199192842526994373321566248822386633573637232615974114846072647188970611324283364657579030099143215079586022463633752039873938888169909965215884966274127084219386171968447020541247047320844181773852631945233172722245379905030480096831490915626353287006395E+000000000000002014");
+ return val;
+ }
+
+ static const mp_float& A000142_814(void)
+ {
+ static const mp_float val("+3.86370453906285363502948566976714650396457528023200482207292166452967535137267367312054004155421786911814960625089909592149690178105216343756015198589361599287891477574142973816973419883754926541422719728940707349402929484703134811822077617966658831269330500702577074783022285397874160457386254970306711685730362547139446554580343982315874720575096519167163963916042403419802595907739242694810798820833605319851575623206E+000000000000002017");
+ return val;
+ }
+
+ static const mp_float& A000142_815(void)
+ {
+ static const mp_float val("+3.14891919933622571254903082086022440073112885338908392998943115659168541136872904359324013386668756333129192909448276317601997495155751320161152386850329703419631554222926523660833337205260265131259516579086676489763387530033054871634993258642826947484504358072600315948163162599267440772769797800799970023870245475918648941982980345587437897268703663121238630591574558787139115664807482796270801038979388335679034132913E+000000000000002020");
+ return val;
+ }
+
+ static const mp_float& A000142_816(void)
+ {
+ static const mp_float val("+2.56951806665836018144000914982194311099660114436549248687137582377881529567688289957208394923521705167833421414109793475163229956047093077251500347669869037990419348245908043307240003159492376347107765528534728015646924224506972775254154499052546789147355556187241857813701140681002231670580155005452775539478120308349617536658111961999349324171262189106930722562724839970305518382482905961756973647807180881914091852457E+000000000000002023");
+ return val;
+ }
+
+ static const mp_float& A000142_817(void)
+ {
+ static const mp_float val("+2.09929626045988026823648747540452752168422313494660736177391404802729209656801332895039258652517233122119905295327701269208358874090475044114475784046283004038172607516906871382015082581305271475587044436812872788783537091422196757382644225725930726733389489404976597833793831936378823274863986639454917615753624291921637527449677472953468397847921208500362400333746194255739608518488534170755447470258466780523813043457E+000000000000002026");
+ return val;
+ }
+
+ static const mp_float& A000142_818(void)
+ {
+ static const mp_float val("+1.71722434105618205941744675488090351273769452438632482193106169128632493499263490308142113577759096693894082531578059638212437559006008586085641191349859497303225192948829820790488337551507712067030202349312929941224933340783356947539002976643811334467912602333270857028043354523957877438838741071074122609686464670791899497453836172875937149439599548553296443473004386901194999768123620951677956030671425826468479069548E+000000000000002029");
+ return val;
+ }
+
+ static const mp_float& A000142_819(void)
+ {
+ static const mp_float val("+1.40640673532501310666288889224745997693217181547240002916153952516350012175896798562368391020184700192299253593362430843695986360825921032004140135715534928291341433025091623227409948454684816182897735724087289621863220406101569340034443437871281482929220421310948831905967507355121501622408928937209706417333214565378565688414691825585392525391032030265149787204390592872078704810093245559424245989119897751877684357960E+000000000000002032");
+ return val;
+ }
+
+ static const mp_float& A000142_820(void)
+ {
+ static const mp_float val("+1.15325352296651074746356889164291718108438088868736802391246241063407009984235374821142080636551454157685387946557193291830708815877255246243394911286738641198899975080575131046476157732841549269976143293751577489927840733003286858828243619054450816001960745474978042162893356031199631330375321728511959262213235943610423864500047296980021870820646264817422825507600286155104537944276461358727881711078316156539701173527E+000000000000002035");
+ return val;
+ }
+
+ static const mp_float& A000142_821(void)
+ {
+ static const mp_float val("+9.46821142355505323667590060038835005670276709612329147632131639130571551970572427281576482026087438634597035041234556925930119378352265571658272221664124244242968795411521825891569254986629119506504136441700451192307572417956985110979880112437041199376097720349569726157354453016148973222381391391083185542770667097041579927545388308205979559437505834151041397417398349333408256522509747755155908847952975645190946634657E+000000000000002037");
+ return val;
+ }
+
+ static const mp_float& A000142_822(void)
+ {
+ static const mp_float val("+7.78286979016225376054759029351922374660967455301334559353612207365329815719810535225455868225443874557638762803894805793114558129005562299903099766207910128767720349828270940882869927599009136234346400155077770880076824527560641761225461452423247865887152326127346314901345360379274455988797503723470378516157488353768178700442309189345315197857629795672156028677101443152061586861503012654738157073017345980346958133688E+000000000000002040");
+ return val;
+ }
+
+ static const mp_float& A000142_823(void)
+ {
+ static const mp_float val("+6.40530183730353484493066681156632114345976215712998342348022846661666438337404070490550179549540308760936701787605425167733281340171577772820251107589110035975833847908666984346601950413984519120867087327629005434303226586182408169488554775344332993625126364402806017163807231592142877278780345564416121518797612915151211070464020462831194407836829321838184411601254487714146685987016979414849503271093275741825546544025E+000000000000002043");
+ return val;
+ }
+
+ static const mp_float& A000142_824(void)
+ {
+ static const mp_float val("+5.27796871393811271222286945273064862221084401747510634094770825649213145190020954084213347948821214419011842272986870338212223824301380084803886912653426669644087090676741595101600007141123243755594479957966300477865858707014304331658569134883730386747104124267912158142977158831925730877715004745078884131489233042084597922062352861372904192057547361194663955159433697876456869253301991037835990695380859211264250352277E+000000000000002046");
+ return val;
+ }
+
+ static const mp_float& A000142_825(void)
+ {
+ static const mp_float val("+4.35432418899894298758386729850278511332394631441696273128185931160600844781767287119476012057777501895684769875214168029025084655048638569963206702939077002456371849808311815958820005891426676098365445965322197894239333433286801073618319536279077569066360902521027530467956156036338727974114878914690079408478617259719793285701441110632645958447476572985597763006532800748076917133974142606214692323689208849293006540628E+000000000000002049");
+ return val;
+ }
+
+ static const mp_float& A000142_826(void)
+ {
+ static const mp_float val("+3.59667178011312690774427438856330050360557965570841121603881579138656297789739779160687185959724216565835619916926902791974719925070175458789608736627677604028963147941665559981985324866318434457249858367356135460641689415894897686808731936966518072048814105482368740166531784886015789306618889983534005591403337856528549253989390357382565561677615649286103752243396093417911533552662641792733335859367286509516023402559E+000000000000002052");
+ return val;
+ }
+
+ static const mp_float& A000142_827(void)
+ {
+ static const mp_float val("+2.97444756215355595270451491934184951648181437527085607566410065947668758272114797365888302788691927099946057671298548608963093378033035104419006425191089378531952523347757418105101863664445345296145632869803524025950677146945080386990821311871310445584369265233918948117721786100735057756573822016382622624090560407349110233049225825555381719507388141959607803105288569256612838248052004762590468755696745943369751353916E+000000000000002055");
+ return val;
+ }
+
+ static const mp_float& A000142_828(void)
+ {
+ static const mp_float val("+2.46284258146314432883933835321505139964694230272426883064987534604669731849311052218955514709036915638755335751835198248221441317011353066458937320058222005424456689331943142191024343114160745905208584016197317893487160677670526560428400046229445048943857751613684889041473638891408627822443124629564811532746984017285063272964758983559856063752117381542555260971178935344475430069387059943424908129716905641110154121043E+000000000000002058");
+ return val;
+ }
+
+ static const mp_float& A000142_829(void)
+ {
+ static const mp_float val("+2.04169650003294664860781149481527761030731516895841886060874666187271207703078862289514121693791603064528173338271379347775574851802411692094459038328266042496874595456180864876359180441639258355417916149427576533700856201788866518595143638324209945574458076087744773015381646640977752464805350317909228760647249750329317453287785197371120676850505309298778311345107337400570131527521872693099248839535314776480317766344E+000000000000002061");
+ return val;
+ }
+
+ static const mp_float& A000142_830(void)
+ {
+ static const mp_float val("+1.69460809502734571834448354069668041655507159023548765430525972935435102393555455700296721005847030543558383870765244858653727126996001704438401001812460815272405914228630117847378119766560584434996870404024888522971710647484759210433969219809094254826800203152828161602766766712011534545788440763864659871337217292773333486228861713818030161785919406717985998416439090042473209167843154335272376536814311264478663746066E+000000000000002064");
+ return val;
+ }
+
+ static const mp_float& A000142_831(void)
+ {
+ static const mp_float val("+1.40821932696772429194426582231894142615726449148569024072767083509346570089044583686946575155858882381697016996605918477541247242533677416388311232506154937491369314723991627931171217526011845665482399305744682362589491548059834903870628421661357325761070968820000202291899183137681585207550194274771532353081227570294640127056184084182783064444099026982646364684060883825295236818477661252611344902092692660781769572981E+000000000000002067");
+ return val;
+ }
+
+ static const mp_float& A000142_832(void)
+ {
+ static const mp_float val("+1.17163848003714661089762916416935926656284405691609428028542213479776346314085093627539550529674590141571918141176124173314317705788019610435074945445120907992819269850361034438734452981641855593681356222379575725674456967985782640020362846822249295033211046058240168306860120370551078892681761636609914917763581338485140585710745158040075509617490390449561775417138655342645637032973414162172638958541120293770432284720E+000000000000002070");
+ return val;
+ }
+
+ static const mp_float& A000142_833(void)
+ {
+ static const mp_float val("+9.75974853870943126877725093753076269046849099411106535477756638286536964796328829917404455912189335879294078115997114363708266489214203354924174295557857163580184517853507416874657993337076657095365697332421865794868226543321569391369622514029336627626648013665140601996144802686690487176039074432960591264970632549581221078970507166473828995113694952444849589224764999004238156484668539970898082524647532047107700931717E+000000000000002072");
+ return val;
+ }
+
+ static const mp_float& A000142_834(void)
+ {
+ static const mp_float val("+8.13963028128366567816022728190065608385072148908862850588449036330971828640138244151115316230765906123331261148741593379332694252004645598006761362495252874425873887889825185673464766443121932017534991575239836072920100937130188872402265176700466747440624443396727262064784765440699866304816588077089133114985507546350738379861402976839173381924821590339004557413454009169534622508213562335729000825556041727287822577052E+000000000000002075");
+ return val;
+ }
+
+ static const mp_float& A000142_835(void)
+ {
+ static const mp_float val("+6.79659128487186084126378978038704783001535244338900480241354945336361476914515433866181289052689531612981603059199230471742799700423879074335645737683536150145604696388004030037343079980006813234641717965325263120888284282503707708455891422544889734112921410236267263824095279142984388364521851044369426151012898801202866547184271485660709773907226027933068805440234097656561409794358324550333715689339294842285331851839E+000000000000002078");
+ return val;
+ }
+
+ static const mp_float& A000142_836(void)
+ {
+ static const mp_float val("+5.68195031415287566329652825640357198589283464267320801481772734301198194700534902712127557648048448428452620157490556674376980549554362906144599836703436221521725526180371369111218814863285695864160476219011919969062605660173099644269125229247527817718402298957519432556943653363534948672740267473092840262246783397805596433446050962012353370986440959352045521348035705640885338588083559324078986316287650488150537428137E+000000000000002081");
+ return val;
+ }
+
+ static const mp_float& A000142_837(void)
+ {
+ static const mp_float val("+4.75579241294595693017919415060978975219230259591747510840243778610102888964347713570050765751416551334614843071819595936453532719977001752443030063320776117413684265412970835946090148040570127438302318595312977014105400937564884402253257816880180783430302724227443765050161837865278752039083603874978707299500557703963284214794344655204339771515651082977662101368305885621421028398225939154254111546732763458581999827351E+000000000000002084");
+ return val;
+ }
+
+ static const mp_float& A000142_838(void)
+ {
+ static const mp_float val("+3.98535404204871190749016469821100381233714957537884414084124286475266220952123383971702541699687070018407238494184821394748060419340727468547259193062810386392667414416069560522823544057997766793297342982872274737820325985679373129088230050545591496514593682902597875112035620131103594208752060047232156716981467355921232171997660821061236728530115607535280840946640332150750821797713337011264945476162055778291715855320E+000000000000002087");
+ return val;
+ }
+
+ static const mp_float& A000142_839(void)
+ {
+ static const mp_float val("+3.34371204127886929038424818179903219855086849374285023416580276352748359378831519152258432486037451745443673096621065150193622691826870346111150462979697914183447960695082361278648953464660126339576470762629838505031253501984994055305025012407751265575744099955279617218997885289995915541142978379627779485547451111617913792306037428870377615236766994722100625554231238674479939488281489752451289254499964797986749602613E+000000000000002090");
+ return val;
+ }
+
+ static const mp_float& A000142_840(void)
+ {
+ static const mp_float val("+2.80871811467425020392276847271118704678272953474399419669927432136308621878218476087897083288271459466172685401161694726162643061134571090733366388902946247914096286983869183474065120910314506125244235440609064344226252941667395006456221010422511063083625043962434878463958223643596569054560101838887334767859858933759047585537071440251117196798884275566564525465554240486563149170156451392059082973779970430308869666195E+000000000000002093");
+ return val;
+ }
+
+ static const mp_float& A000142_841(void)
+ {
+ static const mp_float val("+2.36213193444104442149904828555010830634427553871969911942408970426635550999581738389921447045436297411051228422376985264702782814414174287306761133067377794495754977353433983301688766685574499651330402005552223113494278723942279200429681869765331804053328661972407732788188866084264714574885045646504248539770141363291359019436677081251189562507861675751480765916531116249199608452101575620721688780948955131889759389270E+000000000000002096");
+ return val;
+ }
+
+ static const mp_float& A000142_842(void)
+ {
+ static const mp_float val("+1.98891508879935940290219865643319119394188000360198665855508353099227133941647823724313858412257362420105134331641421592879743129736734749912292874042732102965425690931591413940021941549253728706420198488674971861562182685559399086761792134342409379012902733380767311007655025242950889672053208434356577270486459027891324294365682102413501611631619530982746804901719199881826070316669526672647661953559020221051177405766E+000000000000002099");
+ return val;
+ }
+
+ static const mp_float& A000142_843(void)
+ {
+ static const mp_float val("+1.67665541985785997664655346737318017649300484303647475316193541662648473912809115399596582641532956520148628241573718402797623458368067394176062892818023162799853857455331561951438496726020893299512227325953001279296920003926573430140190769250651106507877004239986843179453186279807599993540854710162594639020084960512386380150270012334581858605455264618455556532149285500379377276952410985041979026850254046346142553060E+000000000000002102");
+ return val;
+ }
+
+ static const mp_float& A000142_844(void)
+ {
+ static const mp_float val("+1.41509717436003382028969112646296406896009608752278469166867349163275311982410893397259515749453815303005442235888218331961194198862648880684597081538411549403076655692299838287014091236761633944788319863104333079726600483314027975038321009247549533892648191578548895643458489220157614394548481375377229875332951706672454104846827890410387088663004243337976489713133996962320194421747834871375430298661614415116144314783E+000000000000002105");
+ return val;
+ }
+
+ static const mp_float& A000142_845(void)
+ {
+ static const mp_float val("+1.19575711233422857814478900186120463827128119395675306446002910042967638625137204920684290808288473931039598689325544490507209098038938304178484533899957759245599774059993363352526907095063580683346130284323161452368977408400353638907381252814179356139287721883873816818722423391033184163393466762193759244656344192138223718595569567396777089920238585620590133807598227433160564286376920466312238602369064180773141945992E+000000000000002108");
+ return val;
+ }
+
+ static const mp_float& A000142_846(void)
+ {
+ static const mp_float val("+1.01161051703475737711049149557457912397750389008741309253318461896350622276866075362898910023812048945659500491169410638969098896940941805334997915679364264321777408854754385396237763402423789258110826220537394588704154887506699178515644539880795735293837412713757249028639170188814073802230872880815920320979267186548937265931851854017673418072521843435019253201228100408453837386274874714500153857604228296934078086309E+000000000000002111");
+ return val;
+ }
+
+ static const mp_float& A000142_847(void)
+ {
+ static const mp_float val("+8.56834107928439498412586296751668518008945794904038889375607372262089770685055658323753767901688054569735969160204908112068267657089777091187432345804215318805454652999769644306133856018529495016198698087951732166324191897181742042027509252790339877938802885685523899272573771499255205104895493300510845118694393070069498642442785203529693851074260013894613074614402010459604002661748188831816303173907813675031641391036E+000000000000002113");
+ return val;
+ }
+
+ static const mp_float& A000142_848(void)
+ {
+ static const mp_float val("+7.26595323523316694653873179645414903271586034078624978190515051678252125540927198258543195180631470275136101847853762079033890973212130973326942629241974590347025545743804658371601509903713011773736495978583068877042914728810117251639327846366208216492104847061324266583142558231368413928951378318833196660652845323418934848791481852593180385710972491782631887273012904869744194257162464129380225091473825996426831899599E+000000000000002116");
+ return val;
+ }
+
+ static const mp_float& A000142_849(void)
+ {
+ static const mp_float val("+6.16879429671295873761138329518957252877576542932752606483747278874836054584247191321503172708356118263590550468827844005099773436257099196354574292226436427204624688336490154957489681908252346995902285085817025476609434604759789546641789341564910775801797015155064302329088031938431783425679720192689383964894265679582675686623968092851610147468615645523454472294787956234412820924330932045843811102661278270966380282759E+000000000000002119");
+ return val;
+ }
+
+ static const mp_float& A000142_850(void)
+ {
+ static const mp_float val("+5.24347515220601492696967580091113664945940061492839715511185187043610646396610112623277696802102700524051967898503667404334807420818534316901388148392470963123930985086016631713866229622014494946516942322944471655118019414045821114645520940330174159431527462881804656979724827147667015911827762163785976370160125827645274333630372878923868625348323298694936301450569762799250897785681292238967239437262086530321423240345E+000000000000002122");
+ return val;
+ }
+
+ static const mp_float& A000142_851(void)
+ {
+ static const mp_float val("+4.46219735452731870285119410657537728868994992330406597900018594174112660083515205842409319978589398145968224681626620961088921115116572703683081314281992789618465268308200153588500161408334335199485917916825745378505434521352993768563338320220978209676229870912415763089745827902664630540965425601381865891006267079326128457919447319964212200171423127189390792534434868142162514015614779695361120761110035637303531177534E+000000000000002125");
+ return val;
+ }
+
+ static const mp_float& A000142_852(void)
+ {
+ static const mp_float val("+3.80179214605727553482921737880222144996383733465506421410815842236343986391154955377732740621758167220364927428745881058847760790079319943537985279768257856754932408598586530857402137519900853589962002065135535062486630212192750690815964248828273434644147850017378230152463445373070265220902542612377349739137339551585861446147369116609508794546052504365360955239338507657122461941303792300447674888465750362982608563259E+000000000000002128");
+ return val;
+ }
+
+ static const mp_float& A000142_853(void)
+ {
+ static const mp_float val("+3.24292870058685603120932242411829489681915324646076977463425913427601420391655176937206027750359716638971283096720236543197139953937659911837901443642323951811957344534594310821364023304475428112237587761560611408301095571000416339266017504250517239751458116064823630320051318903228936233429868848357879327484150637502739813563705856467911001747782786223652894819155747031525460035932134832281866679861285059624165104460E+000000000000002131");
+ return val;
+ }
+
+ static const mp_float& A000142_854(void)
+ {
+ static const mp_float val("+2.76946111030117505065276135019702384188355687247749738753765730067171613014473521104373947698807198009681475764599082007890357520662761564709567832870544654847411572232543541441444875902022015607850899948372762142689135617634355553733178948629941722747745231119359380293323826343357511543349107996497628945671464644427339800783404801423595995492606499434999572175559007964922742870686043146768714144601537440919036999209E+000000000000002134");
+ return val;
+ }
+
+ static const mp_float& A000142_855(void)
+ {
+ static const mp_float val("+2.36788924930750466830811095441845538481044112596826026634469699207431729127374860544239725282480154298277661778732215116746255680166661137826680497104315679894536894258824727932435368896228823344712519455858711631999210953077373998441868001078600172949322172607052270150791871523570672369563487337005472748549102270985375529669811105217174576146178557016924634210102951810008945154436566890487250593634314511985776634323E+000000000000002137");
+ return val;
+ }
+
+ static const mp_float& A000142_856(void)
+ {
+ static const mp_float val("+2.02691319740722399607174297698219780939773760382883078799106062521561560133032880625869204841803012079325678482594776139934794862222661933979638505521294221989723581485553967110164675775171872783073916654215057156991324575834232142666239008923281748044619779751636743249077842024176495548346345160476684672758031543963481453397358306065901437181128844806487486883848126749367657052197701258257086508150973222259824798981E+000000000000002140");
+ return val;
+ }
+
+ static const mp_float& A000142_857(void)
+ {
+ static const mp_float val("+1.73706461017799096463348373127374352265386112648130798530833895580978257034009178696369908549425181351982106459583723151924119196924821277420550199231749148245193109333119749813411127139322294975094346572662303983541565161489936946264966830647252458074239151247152688964459710614719256684932817802528518764553633033176703605561536068298477531664227419999159776259457844624208082093733429978326323137485384051476669852727E+000000000000002143");
+ return val;
+ }
+
+ static const mp_float& A000142_858(void)
+ {
+ static const mp_float val("+1.49040143553271624765552904143287194243701284652096225139455482408479344535179875321485381535406805600000647342322834464350894270961496656026832070940840769194375687807816745339906747085538529088630949359344256817878662908558365899895341540695342609027697191770057007131506431707429122235672357674569469099987017142465611693571797946600093722167907126359279088030614830687570534436423282921403985251962459516166982733639E+000000000000002146");
+ return val;
+ }
+
+ static const mp_float& A000142_859(void)
+ {
+ static const mp_float val("+1.28025483312260325673609944659083699855339403516150657394792259388883756955719512901155942738914446010400556067055314804877418178755925627527048748938182220737968715826914584246979895746477596487133985499676716606557771438451636308010098383457299301154791887730478969125964024836681616000442555242455173956888847725377960444778174436129480507342232221542620736618298139560623089080887600029486023331435752724387438168196E+000000000000002149");
+ return val;
+ }
+
+ static const mp_float& A000142_860(void)
+ {
+ static const mp_float val("+1.10101915648543880079304552406811981875591887023889565359521343074440030981918781094994110755466423568944478217667570732194579633730096039673261924086836709834653095611146542452402710341970732978935227529721976281639683437068407224888684609773277398993121023448211913448329061359546189760380597508511449602924409043825045982509230015071353236314319710526653833491736400022135856609563336025357980065034747342973196824649E+000000000000002152");
+ return val;
+ }
+
+ static const mp_float& A000142_861(void)
+ {
+ static const mp_float val("+9.47977493733962807482812196222651163948846147275689157745478763870928666754320705227899293604565906928611957454117784004195330646416126901586785166387664071676363153211971730515187336044368010948632309030906215784917674393158986206291574490147918405330772011889104574790113218305692693836876944548283581081179161867333645909404470429764351364666292707634489506363850404190589725408340323178332208359949174622999224660226E+000000000000002154");
+ return val;
+ }
+
+ static const mp_float& A000142_862(void)
+ {
+ static const mp_float val("+8.17156599598675940050184113143925303323905378951644053976602694456740510742224447906449191087135811772463507325449529811616375017210701389167808813426166429785025038068719631704091483670245225437721050384641158006599035326903046109823337210507505665395125474248408143469077594179507102087387926200620446891976437529641602773906653510456870876342344313980929954485639048412288343301989358579722363606276188525025331657115E+000000000000002157");
+ return val;
+ }
+
+ static const mp_float& A000142_863(void)
+ {
+ static const mp_float val("+7.05206145453657336263308889643207536768530342035268818581808125316167060770539698543265651908198205559636006821862944227424931639852835298851819005986781628904476607853305042160630950407421629552753266481945319359694967487117328792777540012667977389235993284276376227813813963776914629101415780311135445667775665588080703193881441979524279566283443142965542550721106498779804840269616816454300399792216350697096861220090E+000000000000002160");
+ return val;
+ }
+
+ static const mp_float& A000142_864(void)
+ {
+ static const mp_float val("+6.09298109671959938531498880651731311768010215518472259254682220273168340505746299541381523248683249603525509894089583812495140936832849698207971621172579327373467789185255556426785141152012287933578822240400755926776451908869372076959794570945132464299898197614789060831135264703254239543623234188821025056958175068101727559513565870308977545268894875522228763823036014945751381992948929416515545420474927002291688094158E+000000000000002163");
+ return val;
+ }
+
+ static const mp_float& A000142_865(void)
+ {
+ static const mp_float val("+5.27042864866245346829746531763747584679328836423478504255300120536290614537470549103295017610111010907049566058387489997808296910360414988949895452314281118178049637645246056309169147096490629062545681237946653876661630901172006846570222303867539581619411940936792537618932003968314917205234097573330186674268821433907994338979234477817265576657594067326727880706926152928074945423900823945285946788710811856982310201447E+000000000000002166");
+ return val;
+ }
+
+ static const mp_float& A000142_866(void)
+ {
+ static const mp_float val("+4.56419120974168470354560496507405408332298772342732384685089904384427672189449495523453485250356135445504924206563566338101985124372119380430609461704167448342190986200783084763740481385560884768164559952061802257188972360414957929129812515149289277682410740851262337577995115436560718299732728498503941659916799361764323097556017057789751989385476462304946344692198048435712902737098113536617629919023563068146680634453E+000000000000002169");
+ return val;
+ }
+
+ static const mp_float& A000142_867(void)
+ {
+ static const mp_float val("+3.95715377884604063797403950471920489024103035621148977521972947101298791788252712618834171712058769431252769287090612015134421102830627502833338403297513177712679585036078934490162997361281287093998673478437582556982839036479768524555547450634433803750650112318044446680121765083498142765868275608202917419147865046649668125581066789103714974797208092818388480848135707993763086673064064436247485139793429180083172110071E+000000000000002172");
+ return val;
+ }
+
+ static const mp_float& A000142_868(void)
+ {
+ static const mp_float val("+3.43480948003836327376146629009626984472921434919157312489072518083927351272203354553148061046067011866327403741194651229136677517256984672459337734062241438254605879811316515137461481709592157197590848579283821659461104283664439079314215187150688541655564297492062579718345692092476387920773663227920132319820346860491911933004365972942024598123976624566361201376181794538586359232219607930662817101340696528312193391541E+000000000000002175");
+ return val;
+ }
+
+ static const mp_float& A000142_869(void)
+ {
+ static const mp_float val("+2.98484943815333768489871420609365849506968726944747704553004018214932868255544715106685665049032233311838513851098151918119772762496319680367164490900087809843252509556034051654454027605635584604706447415397641022071699622504397559924052997633948342698685374520602381775242406428361981103152313345062594985923881421767471469780794030486619375769735686748167883995901979454031546172798839291745988061065065283103296057249E+000000000000002178");
+ return val;
+ }
+
+ static const mp_float& A000142_870(void)
+ {
+ static const mp_float val("+2.59681901119340378586188135930148289071062792441930502961113495846991595382323902142816528592658042981299507050455392168764202303371798121919433107083076394563629683313749624939375004016902958606094609251395947689202378671578825877133926107941535058147856275832924072144460893592674923559742512610204457637753776836937700178709290806523358856919670047470906059076434722125007445170334990183819009613126606796299867569807E+000000000000002181");
+ return val;
+ }
+
+ static const mp_float& A000142_871(void)
+ {
+ static const mp_float val("+2.26182935874945469748569866395159159780895692216921468079129854882729679578004118766393196404205155436711870640946646578993620206236836164191826236269359539664921454166275923322195628498722476945908404657965870437295271822945157338983649640017077035646782816250476866837825438319219858420535728483488082602483539624972736855655792292481845564377032611347159177455574642970881484743361776450106357373033274519577184653302E+000000000000002184");
+ return val;
+ }
+
+ static const mp_float& A000142_872(void)
+ {
+ static const mp_float val("+1.97231520082952449620752923496578787328941043613155520165001233457740280592019591564294867264466895540812751198905475816882436819838521135175272478026881518587811508032992605136954588050885999896832128861746239021321477029608177199593742486094891175083994615770415827882583782214359716542707155237601608029365646552976226538131850879044169332136772437094722802741261088670608654696211469064492743629285015381071305017679E+000000000000002187");
+ return val;
+ }
+
+ static const mp_float& A000142_873(void)
+ {
+ static const mp_float val("+1.72183117032417488518917302212513281338165531074284769104046076808607264956833103435629419121879599807129531796644480388138367343719028951008012873317467565727159446512802544284561355368423477909934448496304466665613649446847938695245337190360839995848327299567573017741495641873136032541783346522426203809636209440748245767789105817405559826955402337583693006793120930409441355549792612493302165188365818427675249280434E+000000000000002190");
+ return val;
+ }
+
+ static const mp_float& A000142_874(void)
+ {
+ static const mp_float val("+1.50488044286332884965533722133736607889556674158924888196936271130722749572272132402740112312522770231431210790267275859232933058410431303181003251279466652445537356252189423704706624592002119693282707985770103865746329616545098419644424704375374156371438059822058817506067190997120892441518644860600502129622047051213966801047678484412459288759021643048147687937187693177851744750518743319146092374631725305788167871099E+000000000000002193");
+ return val;
+ }
+
+ static const mp_float& A000142_875(void)
+ {
+ static const mp_float val("+1.31677038750541274344842006867019531903362089889059277172319237239382405875738115852397598273457423952502309441483866376828816426109127390283377844869533320889845186720665745741618296518001854731622369487548840882528038414476961117188871616328452386825008302344301465317808792122480780886328814253025439363419291169812220950916718673860901877664143937667129226945039231530620276656703900404252830827802759642564646887212E+000000000000002196");
+ return val;
+ }
+
+ static const mp_float& A000142_876(void)
+ {
+ static const mp_float val("+1.15349085945474156326081598015509109947345190742815926802951651821698987547146589486700296087548703382392023070739866946102043189271595593888238992105711189099504383567303193269657627749769624744901195671092784613094561651081817938657451535903724290858707272853608083618400501899293164056424041285650284882355299064755505553003045558302150044833790089396405202803854366820823362351272616754125479805155217446886630673198E+000000000000002199");
+ return val;
+ }
+
+ static const mp_float& A000142_877(void)
+ {
+ static const mp_float val("+1.01161148374180835097973561459601489423821732281449567806188598647630012078847558979836159668780212866357804233038863311731491876991189335839985596076708712840265344388524900497489739536547960901278348603548372105683930567998754332202584996987566203083086278292614289333337240165680104877483884207515299841825597279790578369983670954630985589319233908400647362858980279701862088782066084893368045789121125700919575100394E+000000000000002202");
+ return val;
+ }
+
+ static const mp_float& A000142_878(void)
+ {
+ static const mp_float val("+8.88194882725307732160207869615301077141154809431127205338335896126191506052281567842961481891890268966621521166081219877002498679982642368675073533553502498737529723731248626367959913130891096713223900739154707087904910387029063036738696273550831263069497523409153460346700968654671320824308503341984332611228744116561278088456630981660053474222873715757683845901846855782349139506540225363771442028483483654073869381462E+000000000000002204");
+ return val;
+ }
+
+ static const mp_float& A000142_879(void)
+ {
+ static const mp_float val("+7.80723301915545496568822717391849646807075077489960813492397252694922333819955498133963142582971546421660317104985392271885196339704742642065389635993528696390288627159767542577436763642053274010923808749716987530268416230198546409293314024451180680238088323076645891644750151447456091004567174437604228365270066078457363439753378632879187003841905996151004100547723386232684893626248858094755097543036982131930931186305E+000000000000002207");
+ return val;
+ }
+
+ static const mp_float& A000142_880(void)
+ {
+ static const mp_float val("+6.87036505685680036980563991304827689190226068191165515873309582371531653761560838357887565473014960851061079052387145199258972778940173525017542879674305252823453991900595437468144352005006881129612951699750949026636206282574720840178116341517038998609517724307448384647380133273761360084019113505091720961437658149042479826982973196933684563380877276612883608481996579884762706391098995123384485837872544276099219443948E+000000000000002210");
+ return val;
+ }
+
+ static const mp_float& A000142_881(void)
+ {
+ static const mp_float val("+6.05279161509084112579876876339553194176589166076416819484385742069319386963935098593298945181726180509784810645153074920547155018246292875540455276993062927737462966864424580409435174116411062275189010447480586092466497734948329060196920496876511357774985115114862026874341897414183758234020838997985806167026576829306424727571999386498576100338552880695950459072638986878475944330558214703701732023165711507243412330118E+000000000000002213");
+ return val;
+ }
+
+ static const mp_float& A000142_882(void)
+ {
+ static const mp_float val("+5.33856220451012187295451404931485917263751644479399634785228224505139699302190756959289669650282491209630202989025012079922590726093230316226681554307881502264442336774422479921121823570674556926716707214677876933555451002224426231093683878245083017557536871531308307703169553519310074762406379996223481039317440763448266609718503458891744120498603640773828304902067586426815782899552345368664927644432157549388689675164E+000000000000002216");
+ return val;
+ }
+
+ static const mp_float& A000142_883(void)
+ {
+ static const mp_float val("+4.71395042658243761381883590554502064943892702075309877515356522238038354483834438395052778301199439738103469239309085666571647611140322369228159812453859366499502583371815049770350570212905633766290852470560565332329463234964168362055722864490408304503305057562145235701898715757550796015204833536665333757717300194124819416381438554201410058400267014803290393228525678814878336300304720960531131110033595116110212983170E+000000000000002219");
+ return val;
+ }
+
+ static const mp_float& A000142_884(void)
+ {
+ static const mp_float val("+4.16713217709887485061585094050179825410401148634573931723575165658425905363709643541226656018260304728483466807549231729249336488248044974397693274209211679985560283700684503996989904068208580249401113583975539753779245499708324832057259012209520941180921670884936388360478464729674903677441072846412155041822093371606340364081191681914046491625836041086108707614016700072352449289469373329109519901269698082641428277122E+000000000000002222");
+ return val;
+ }
+
+ static const mp_float& A000142_885(void)
+ {
+ static const mp_float val("+3.68791197673250424279502808234409145488205016541597929575364021607706926246883034533985590576160369684707868124681070080385662792099519802341958547675152336787220851075105786037336065100364593520719985521818352682094632267241867476370674225805426032945115678733168703699023441285762289754535349469074757212012552633871611222211854638493931145088864896361206206238404779564031917621180395396261925112623682803137664025253E+000000000000002225");
+ return val;
+ }
+
+ static const mp_float& A000142_886(void)
+ {
+ static const mp_float val("+3.26749001138499875911639488095686502902549644655855765603772523144428336654738368597111233250478087540651171158467428091221697233800174544874975273240184970393477674052543726429079753678923029859357907172331060476335844188776294584064417364063607465189372491357587471477334768979185388722518319629600234889843121633610247542879703209705622994548734298176028698727226634693732279012365830321088065649784582963579970326374E+000000000000002228");
+ return val;
+ }
+
+ static const mp_float& A000142_887(void)
+ {
+ static const mp_float val("+2.89826364009849389933624225940873928074561534809744064090546228029107934612752932945637663893174063648557588817560608716913645446380754821304103067364044068739014696884606285342593741513204727485250463661857650642509893795444573296065138201924419821622973399834180087200395940084537439796873749511455408347290848889012289570534296747008887596164727322482137455771050024973340531483968491494805114231358925088695433679494E+000000000000002231");
+ return val;
+ }
+
+ static const mp_float& A000142_888(void)
+ {
+ static const mp_float val("+2.57365811240746258261058312635496048130210642911052728912405050489847845936124604455726245537138568519919138869993820540619317156386110281318043523819271133040245050833530381384223242463725798006902411731729593770548785690354781086905842723308884801601200379052751917433951594795069246539623889566172402612394273813442913138634455511343892185394277862364138060724692422176326391957764020447386941437446725478761545107391E+000000000000002234");
+ return val;
+ }
+
+ static const mp_float& A000142_889(void)
+ {
+ static const mp_float val("+2.28798206193023423594080839932955986787757261547925876003128089885474735037214773361140632282516187414208114455424506460610572952027252040091740692675332037272777850191008509050574462550252234428136244029507608862017870478725400386259294181021598588623467136977896454598782967772816560173725637824327265922418509420150749780246030949584720152815513019641718735984251563314754162450452214177726990937890138950619013600470E+000000000000002237");
+ return val;
+ }
+
+ static const mp_float& A000142_890(void)
+ {
+ static const mp_float val("+2.03630403511790846998731947540330828241103962777654029642783999998072514183121148291415162731439406798645221865327810749943409927304254315681649216481045513172772286669997573055011271669724488641041257186261771887195904726065606343770771821109222743874885751910327844592916841317806738554615817663651266670952473383934167304418967545130400936005806587481129675025983891350131204580902470618177021934722223666050922104419E+000000000000002240");
+ return val;
+ }
+
+ static const mp_float& A000142_891(void)
+ {
+ static const mp_float val("+1.81434689529005644675870165258434767962823630834889740411720543998282610137160943127650909993712511457592892682007079378199578245228090595272349451884611552236940107422967837592015043057724519379167760152959238751491551110924455252299757692608317464792523204952102109532288905614165804052162693538313278603818653785085343068237300082711187233981173669445686540448151647192966903281584101320795726543837501286451371595037E+000000000000002243");
+ return val;
+ }
+
+ static const mp_float& A000142_892(void)
+ {
+ static const mp_float val("+1.61839743059873035050876187410523813022838678704721648447254725246468088242347561269864611714391560220172860272350314805354023794743456810982935711081073504595350575821287311132077418407490271286217642056439640966330463590944614085051383861806619178594930698817275081702801703807835897214529122636175444514606239176296126016867671673778379012711206913145552394079751269296126477727173018378149788077103051147514623462773E+000000000000002246");
+ return val;
+ }
+
+ static const mp_float& A000142_893(void)
+ {
+ static const mp_float val("+1.44522890552466620300432435357597765029394940083316432063398469645096002800416372213989098260951663276614364223208831121181143248705906932207761589995398639603648064208409568840945134637888812258592354356400599382933103986713540377950885788593310926485273114043826647960601921500397456212574506514104671951543371584432440533062830804684092458351107773438978287913217883481440944610365505411687760752853024674730558752256E+000000000000002249");
+ return val;
+ }
+
+ static const mp_float& A000142_894(void)
+ {
+ static const mp_float val("+1.29203464153905158548586597209692401936279076434484890264678231862715826503572236759306253845290786969293241615548695022335942064343080797393738861455886383805661369402318154543804950366272598159181564794622135848342194964121905097888091895002419968277834163955181023276778117821355325854041608823609576724679774196482601836558170739387578657765890349454446589394416787832408204481666761838048858113050604059209119524517E+000000000000002252");
+ return val;
+ }
+
+ static const mp_float& A000142_895(void)
+ {
+ static const mp_float val("+1.15637100417745116900985004502674699732969773408863976786887017517130664720697151899579097191535254337517451245916082044990668147587057313667396281003018313506066925615074748316705430577813975352467500491186811584266264492889105062609842246027165871608661576739887015832716415450113016639367239897130571168588397905851928643719562811751882898700471862761729697508003025110005343011091751845053728011180290632992161974443E+000000000000002255");
+ return val;
+ }
+
+ static const mp_float& A000142_896(void)
+ {
+ static const mp_float val("+1.03610841974299624743282564034396530960740916974342123201050767695349075589744648102022871083615587886415636316340809512311638660238003353045987067778704408901435965351106974491768065797721321915810880440103383179502572985628638136098418652440340620961360772758938766186113908243301262908873046947828991767055204523643328064772728279329687077235622789034509808967170710498564787337938209653168140298017540407160977129101E+000000000000002258");
+ return val;
+ }
+
+ static const mp_float& A000142_897(void)
+ {
+ static const mp_float val("+9.29389252509467633947244599388536882717846025259848845113425386227281208040009493475145153620031823341148257757577061325435398782334890076822503997974978547845880609199429561191159550205560257584823597547727347120138079681088884080802815312389855370023406131647680732689441756942412328292591231122026056150485184577080652741011372665587293082803536417639552986435521273172126142421305740588918218473217337452233964848034E+000000000000002260");
+ return val;
+ }
+
+ static const mp_float& A000142_898(void)
+ {
+ static const mp_float val("+8.34591548753501935284625650250906120680625730683344262911855996832098524819928525140680347950788577360351135466304201070240988106536731288986608590181530735965600787061087745949661276084593111311171590597859157713883995553617817904560928150526090122281018706219617297955118697734286270806746925547579398423135695750218426161428212653697389188357575703040318581819098103308569275894332555048848560188949169032106100433535E+000000000000002263");
+ return val;
+ }
+
+ static const mp_float& A000142_899(void)
+ {
+ static const mp_float val("+7.50297802329398239820878459575564602491882531884326492357758541152056573813115744101471632807758931046955670784207476762146648307776521428798961122573196131633075107567917883608745487200049207068743259947475382784781712002702418296200274407322955019930635816891435950861651709263123357455265486067273879182398990479446365119123963175673952880333460557033246405055369194874403779029004966988914855609865302959863384289748E+000000000000002266");
+ return val;
+ }
+
+ static const mp_float& A000142_900(void)
+ {
+ static const mp_float val("+6.75268022096458415838790613618008142242694278695893843121982687036850916431804169691324469526983037942260103705786729085931983476998869285919065010315876518469767596811126095247870938480044286361868933952727844506303540802432176466580246966590659517937572235202292355775486538336811021709738937460546491264159091431501728607211566858106557592300114501329921764549832275386963401126104470290023370048878772663877045860773E+000000000000002269");
+ return val;
+ }
+
+ static const mp_float& A000142_901(void)
+ {
+ static const mp_float val("+6.08416487908909032670750342869825336160667545105000352652906401020202675705055556891883347043811717185976353438913842906424717112775981226613077574294604743141260604726824611818331715570519902012043909491407787900179490262991390996388802516898184225661752583917265412553713371041466730560474782651952388629007341379783057475097621739154008390662403165698259509859398880123654024414620127731311056414039774170153218320556E+000000000000002272");
+ return val;
+ }
+
+ static const mp_float& A000142_902(void)
+ {
+ static const mp_float val("+5.48791672093835947469016809268582453216922125684710318092921573720222813485960112316478779033518168901750670801900286301595094835723935066404995972013733478313417065463595799860135207444608951614863606361249824685961900217218234678742699870242162171546900830693373402123449460679402990965548253952061054543364621924564317842538054808716915568377487655459830077893177789871535930021987355213642572885463876301478202925142E+000000000000002275");
+ return val;
+ }
+
+ static const mp_float& A000142_903(void)
+ {
+ static const mp_float val("+4.95558879900733860564522178769529955254880679493293417237908181069361200577821981421780337467266906518280855734115958530340370636658713364963711362728401330917015610113627007273702092322481883308221836544208591691423595896148065914904657982828672440906851450116116182117474862993500900841890073318711132252658253597881579011811863492271374758244871352880226560337539544253996944809854581757919243315573880300234817241403E+000000000000002278");
+ return val;
+ }
+
+ static const mp_float& A000142_904(void)
+ {
+ static const mp_float val("+4.47985227430263409950328049607655079550412134261937249183068995686702525322351071205289425070409283492525893583640826511427695055539476881927195071906474803148982111542718814575426691459523622510632540235964566889046930690117851587073810816477119886579793710904969028634197276146124814361068626280114863556403061252484947426677924597013322781453363703003724810545135748005613238108108541909158995957278787791412274786228E+000000000000002281");
+ return val;
+ }
+
+ static const mp_float& A000142_905(void)
+ {
+ static const mp_float val("+4.05426630824388386005046884894927846993122981507053210510677441096465785416727719440786929688720401560735933693194947992842064025263226578144111540075359696849828810946160527190761155770868878372122448913547933034587472274556655686301798788911793497354713308368996970913948534912242956996767106783503951518544770433498877421143521760297057117215294151218370953543347851945079980487838230427788891341337302951228108681537E+000000000000002284");
+ return val;
+ }
+
+ static const mp_float& A000142_906(void)
+ {
+ static const mp_float val("+3.67316527526895877720572477714804629375769421245390208722673761633398001587555313813352958297980683814026755926034622881514910006888483279798565055308275885345944902717221437634829607128407203805142938715674427329336249880748330051789429702754084908603370257382311255648037372630492119039070998745854580075801562012749982943556030714829133748197056501003844083910273153862242462321981436767576735555251596473812666465472E+000000000000002287");
+ return val;
+ }
+
+ static const mp_float& A000142_907(void)
+ {
+ static const mp_float val("+3.33156090466894561092559237287327798843822865069568919311465101801491987439912669628711133176268480219322267624913402953534023376247854334777298505164606228008772026764519843934790453665465333851264645415116705587707978641838735356973012740397955012103256823445756308872769896975856351968437395862490104128752016745564234529805319858350024309614730246410486584106617750553053913326037163148192099148613198001748088484183E+000000000000002290");
+ return val;
+ }
+
+ static const mp_float& A000142_908(void)
+ {
+ static const mp_float val("+3.02505730143940261472043787456893641350191161483168578734810312435754724595440704022869708924051780039144619003421369881808893225633051735977787042689462455031965000302184018292789731928242523136948298036925968673638844606789571704131495568281343150989757195688746728456475066454077567587341155443141014548906831204972324953063230431381822073130175063740721818368808917502172953300041744138558426026940783785587264343638E+000000000000002293");
+ return val;
+ }
+
+ static const mp_float& A000142_909(void)
+ {
+ static const mp_float val("+2.74977708700841697678087802798316319987323765788200238069942574004101044657255599956788565411963068055582458674110025222564283942100444028003808421804721371624056185274685272628145866322772453531486002915565705524337709747571720679055529471567740924249689290881070776166935835406756508936893110297815182224956309565319843382334476462126076264475329132940316132897247306009475214549737945421949609258489172461098823288367E+000000000000002296");
+ return val;
+ }
+
+ static const mp_float& A000142_910(void)
+ {
+ static const mp_float val("+2.50229714917765944887059900546467851188464626867262216643647742343731950638102595960677594524886391930580037393440122952533498387311404065483465663842296448177891128599963598091612738353722932713652262653164792027147315870290265817940531819126644241067217254701774406311911610220148423132572730371011815824710241704441057477924373580534729400672549510975687680936495048468622445240261530333974144425225146939599929192414E+000000000000002299");
+ return val;
+ }
+
+ static const mp_float& A000142_911(void)
+ {
+ static const mp_float val("+2.27959270290084775792111569397832212432691275076075879362363093275139807031311464920177288612171503048758414065423952009758017030840689103655437219760332064290058818154566837861459204640241591702137211277033125536731204757834432160143824487224372903612234919033316484150151476910555213473773757367991764216311030192745803362389104331867138484012692604498851477333146989154915047613878254134250445571380108861975535494289E+000000000000002302");
+ return val;
+ }
+
+ static const mp_float& A000142_912(void)
+ {
+ static const mp_float val("+2.07898854504557315522405751290822977738614442869381201978475141066927504012556056007201687214300410780467673627666644232899311532126708462533758744421422842632533642156964956129650794631900331632349136684654210489498858739145002130051167932348628088094358246158384633544938146942426354688081666719608488965275659535784172666498863150662830297419575655302952547327830054109282523423856967770436406361098659282121688370792E+000000000000002305");
+ return val;
+ }
+
+ static const mp_float& A000142_913(void)
+ {
+ static const mp_float val("+1.89811654162660829071956450928521378675354986339745037406347803794104811163463679134575140426656275042566986022059646184637071428831684826293321733656759055323503215289309004946371175498925002780334761793089294176912458028839386944736716322234297444430149078742605170426528528158435261830218561715002550425296677156170949644513462056555164061544072573291595675710308839401774943885981411574408439007683075924577101482533E+000000000000002308");
+ return val;
+ }
+
+ static const mp_float& A000142_914(void)
+ {
+ static const mp_float val("+1.73487851904671997771768196148668540109274457514526964189401892667811797403405802729001678349963835388906225224162516612758283285952159931232096064562277776565681938774428430520983254406017452541225972278883614877697986638359199667489358718522147864209156257970741125769847074736809829312819765407512331088721162920740247975085304319691419952251282331988518447599222279213222298711787010179009313253022331395063470755035E+000000000000002311");
+ return val;
+ }
+
+ static const mp_float& A000142_915(void)
+ {
+ static const mp_float val("+1.58741384492774877961167899476031714199986128625792172233302731791047794624116309497036535690216909380849196080108702700673829206646226337077367899074484165557598973978602013926699677781505969075221764635178507613093657774098667695752763227447765295751377976043228130079410073384180993821230085347873782946179864072477326897203053452517649256309923333769494379553288385480098403321285114313793521626515433226483075740857E+000000000000002314");
+ return val;
+ }
+
+ static const mp_float& A000142_916(void)
+ {
+ static const mp_float val("+1.45407108195381788212429795920045050207187293821225629765705302320599779875690539499285466692238688992857863609379571673817227553287943324762868995552227495650760660164399444756856904847859467672903136405823512973593790521074379609309531116342153010908262226055596967152739627219909790340246758178652385178700755490389231437837996962506166718779889773732856851670812161099770137442297164711434865809888136835458497378625E+000000000000002317");
+ return val;
+ }
+
+ static const mp_float& A000142_917(void)
+ {
+ static const mp_float val("+1.33338318215165099790798122858681311039990748434063902495151762227989998146008224720844772956782877806450660929801067224890397666365044028807550868921392613511747525370754290842037781745487131856052176084140161396785505907825206101736840033685754311002876461292982418879062238160657277742006277249824237208868592784686925228497443214618154881121158922513029732982134751728489216034586500040385771947667421478115442096199E+000000000000002320");
+ return val;
+ }
+
+ static const mp_float& A000142_918(void)
+ {
+ static const mp_float val("+1.22404576121521561607952676784269443534711507062470662490549317725294818298035550293735501574326681826321706733557379712449385057723110418445331697669838419203784228290352438992990683642357187043855897645240668162249094423383539201394419150923522457500640591466957860530979134631483380967161762515338649757741368176342597359760652871019466180869223890866961294877599702086753100319750407037074138647958692916909975844311E+000000000000002323");
+ return val;
+ }
+
+ static const mp_float& A000142_919(void)
+ {
+ static const mp_float val("+1.12489805455678315117708509964743618608399874990410538828814822989545938015894670719942925946806220598389648488139231955740984868047538474551259830158581507248277705798833891434558438267326254893303569935976174041106917775089472526081471199698717138443088703558134273827969824726333227108821659751596219127364317354058846973620039988466889420218816755706737429992514126217726099193850624067071133417474038790640267800922E+000000000000002326");
+ return val;
+ }
+
+ static const mp_float& A000142_920(void)
+ {
+ static const mp_float val("+1.03490621019224049908291829167564129119727884991177695722509637150382262974623097062347491871061722950518476609088093399281706078603735396587159043745894986668415489334927180119793763205940154501839284341098080117818364353082314723994953503722819767367641607273483531921732238748226568940115926971468521597175171965734139215730436789389538266601311415250198435593112996120308011258342574141705442744076115687389046376848E+000000000000002329");
+ return val;
+ }
+
+ static const mp_float& A000142_921(void)
+ {
+ static const mp_float val("+9.53148619587053499655367746633265629192693820768746577604313758155020641996278723944220400132478468374275169569701340207384512983940403002567734792899692827216106656774679328903300559126708822961939808781513317885107135691888118607993521769287170057455979202988783328999153918871166699938467687407225083909983333804411422176877322830277647435398078134454327591812570694268036783689335107845107127672941025480853117130771E+000000000000002331");
+ return val;
+ }
+
+ static const mp_float& A000142_922(void)
+ {
+ static const mp_float val("+8.78803027259263326682249062395870910115663702748784344551177285018929031920568983476571208922145147841081706343264635671208520971193051568367451479053516786693250337546254341248843115514825534770908503696555279090068779107920845356570027071282770792974412825155658229337219913199215697343267207789461527365004633767667331247080891649515990935437028039966890039651190180115129914561566969433188771714451625493346573994570E+000000000000002334");
+ return val;
+ }
+
+ static const mp_float& A000142_923(void)
+ {
+ static const mp_float val("+8.11135194160300050527715884591388850036757597637127950020736634072471496462685171748875225835139971457318414954833258724525464856411186597603157715166395994117870061555192756972682195620183968593548548911920522600133483116610940264114134986793997441915383037618672545678253979882876088647835632789672989757899276967556946741055662992503259633408376880889439506598048536246264911140326312786833236292438850330358887796989E+000000000000002337");
+ return val;
+ }
+
+ static const mp_float& A000142_924(void)
+ {
+ static const mp_float val("+7.49488919404117246687609477362443297433964020216706225819160649882963662731521098695960708671669333626562215418265931061461529527323936416185317728813749898564911936876998107442758348753049986980438859194614562882523338399748508804041460727797653636329813926759653432206706677411777505910600124697657842536298931918022618788735432605073011901269340237941842104096596847491548777893661513015033910334213497705251612324417E+000000000000002340");
+ return val;
+ }
+
+ static const mp_float& A000142_925(void)
+ {
+ static const mp_float val("+6.93277250448808453186038766560260050126416718700453258882723601141741388026657016293763655521294133604570049261895986231851914812774641184971418899152718656172543541611223249384551472596571237956905944755018470666334088019767370643738351173212829613605077882252679424791203676605894192967305115345333504346076512024170922379580275159692536008674139720096203946289352083929682619551636899538906367059147485377357741400086E+000000000000002343");
+ return val;
+ }
+
+ static const mp_float& A000142_926(void)
+ {
+ static const mp_float val("+6.41974733915596627650271897834800806417061881516619717725402054657252525312684397088025145012718367717831865616515683250694873116629317737283533900615417475615775319531992728930094663624424966348094904843147103837025365506304585216101713186395080222198302118965981147356654604537058022687724536809778825024466850134382274123491334797875288344032253380809084854263940029718886105704815768973027295896770571459433268536480E+000000000000002346");
+ return val;
+ }
+
+ static const mp_float& A000142_927(void)
+ {
+ static const mp_float val("+5.95110578339758073831802049292860347548616364165906478331447704667273090964858436100599309426789926874430139426510038373394147379115377542461835925870491999895823721206157259718197753179841943804683976789597365256922513824344350495326288123788239365977826064281464523599618818405852787031520645622664970797680770074572368112476467357630392294917898884010021659902672407549407419988364217837996303296306319742894639933317E+000000000000002349");
+ return val;
+ }
+
+ static const mp_float& A000142_928(void)
+ {
+ static const mp_float val("+5.52262616699295492515912301743774402525115985945961211891583469931229428415388628701356159148061052139471169387801315610509768767819070359404583739207816575903324413279313937018487514950893323850746730460746354958424092828991557259662795378875486131627422587653199077900446263480631386365251159137833092900247754629203157608378161707881004049683810164361300100389679994205850085749201994153660569458972264721406225858118E+000000000000002352");
+ return val;
+ }
+
+ static const mp_float& A000142_929(void)
+ {
+ static const mp_float val("+5.13051970913645512547282528319966419945832750943797965847281043566112138997896036063559871848548717437568716361267422202163575185303916363886858293724061599014188379936482647490174901389379897857343712598033363756375982238133156694226736906975326616281875583929821943369514578773506557933318326839046943304330164050529733418183312226621452762156259642691647793262012714617234729661008652568750669027385233926186383822192E+000000000000002355");
+ return val;
+ }
+
+ static const mp_float& A000142_930(void)
+ {
+ static const mp_float val("+4.77138332949690326668972751337568770549624458377732108237971370516484289268043313539110680819150307216938906215978702648012124922332642218414778213163377287083195193340928862165862658292123305007329652716171028293429663481463835725630865323487053753142144293054734407333648558259361098877986043960313657273027052566992652078910480370757951068805321467703232447733671824594028298584738046888938122195468267551353336954638E+000000000000002358");
+ return val;
+ }
+
+ static const mp_float& A000142_931(void)
+ {
+ static const mp_float val("+4.44215787976161694128813631495276525381700370749668592769551345950846873308548324904912043842628936018970121687076172165299288302691689905344158516455104254274454725000404770676418134869966796961823906678755227341183016701242831060562335616166447044175336336833957733227626807739465183055405006927052014921188185939870159085465657225175652445057754286431709408840048468697040345982391121653601391763980957090309956704768E+000000000000002361");
+ return val;
+ }
+
+ static const mp_float& A000142_932(void)
+ {
+ static const mp_float val("+4.14009114393782698928054304553597721655744745538691128461221854426189285923567038811378024861330168369680153412354992458058936698108654991780755737336157164983791803700377246270421701698809054768419881024599871881982571565558318548444096794267128645171413465929248607368148184813181550607637466456012477906547389295958988267653992533863708078793826994954353169038925172825641602455588525381156497124030252008168879648844E+000000000000002364");
+ return val;
+ }
+
+ static const mp_float& A000142_933(void)
+ {
+ static const mp_float val("+3.86270503729399258099874666148506674304809847587598822854319990179634603766688047211015697195621047088911583133727207963368987939335375107331445102934634634929877752852451970770303447684988848098935748995951680465889739270665911205698342309051231025944928763711988950674482256430698386716925756203459641886808714213129736053721175034094839637514640586292411506713317186246323615091064094180619011816720225123621564712371E+000000000000002367");
+ return val;
+ }
+
+ static const mp_float& A000142_934(void)
+ {
+ static const mp_float val("+3.60776650483258907065282938182705233800692397646817300545934870827778719918086636095088661180710057981043418646901212237786634735339240350247569726140948749024505821164190140699463420137779584124405989562218869555141016478801961066122251716653849778232563465306997679929966427506272293193608656294031305522279339075063173474175577481844580221438674307597112347270238251954066256495053863964698157036816690265462541441355E+000000000000002370");
+ return val;
+ }
+
+ static const mp_float& A000142_935(void)
+ {
+ static const mp_float val("+3.37326168201847078106039547200829393603647391799774176010449104223973103123411004748907898203963904212275596434852633442330503477542189727481477693941787080337912942788517781553998297828823911156319600240674643034056850407679833596824305355071349542647446840062042830734518609718364594136024093634919270663331182035184067198354164945524682507045160477603300044697672765577051949822875362806992776829423605398207476247667E+000000000000002373");
+ return val;
+ }
+
+ static const mp_float& A000142_936(void)
+ {
+ static const mp_float val("+3.15737293436928865107253016179976312413013958724588628745780361553638824523512700444977792718910214342689958263022064902021351254979489584922663121529512707196286514450052643534542406767779180842315145825271465879877211981588324246627549812346783171918010242298072089567509418696389260111318551642284437340877986384932286897659498389011102826594270207036688841837021708580120625034211339587345239112340494652722197767816E+000000000000002376");
+ return val;
+ }
+
+ static const mp_float& A000142_937(void)
+ {
+ static const mp_float val("+2.95845843950402346605496076160637804730994079324939545134796198775759578578531400316944191777618870839100490892451674813194006125915781741072535344873153406642920464039699326991866235141409092449249291638279363529444947626748259819090014174168935832087175597033293547924756325318516736724305482888820517788402673242681552823106949990503403348518831183993377444801289340939573025657056025193342489048263043489600699308444E+000000000000002379");
+ return val;
+ }
+
+ static const mp_float& A000142_938(void)
+ {
+ static const mp_float val("+2.77503401625477401115955319438678260837672446406793293336438834451662484706662453497293651887406500847076260457119670974775977746109003273126038153491017895431059395269237968718370528562641728717395835556706042990619360873889867710306433295370461810497770710017229347953421433148768699047398542949713645685521707501635296548074319091092192340910663650585788043223609401801319498066318551631355254727270734793245455951320E+000000000000002382");
+ return val;
+ }
+
+ static const mp_float& A000142_939(void)
+ {
+ static const mp_float val("+2.60575694126323279647882044952918886926574427175978902442916065550111073139556043833958739122274704295404608569235371045314643103596354073465349826128065803809764772157814452626549926320320583265634689587746974368191579860582585779977740864352863640057406696706178357728262725726693808405507231829781113298704883344035543458641785626535568608115113167900054972586969228291439008684273119981842584188907219970857483138290E+000000000000002385");
+ return val;
+ }
+
+ static const mp_float& A000142_940(void)
+ {
+ static const mp_float val("+2.44941152478743882869009122255743753710979961545420168296341101617104408751182681203921214774938222037680332055081248782595764517380572829057428836560381855581178885828345585468956930741101348269696608212482155906100085068947630633179076412491691821653962294903807656264566962183092179901176797919994246500782590343393410851123278488943434491628206377826051674231751074593952668163216732782932029137572786772606034149992E+000000000000002388");
+ return val;
+ }
+
+ static const mp_float& A000142_941(void)
+ {
+ static const mp_float val("+2.30489624482497993779737584042654872242032143814240378366856976621695248634862903012889863103216866937457192463831455104422614410855119032143040535203319326101889331564473195926288471827376368721784508327945708707640180049879720425821510904154682004176378519504483004544957511414289741287007366842714585957236417513133199610907005058095771856622142201534314625452077761192909460741586945548739039418455992353022278135143E+000000000000002391");
+ return val;
+ }
+
+ static const mp_float& A000142_942(void)
+ {
+ static const mp_float val("+2.17121226262513110140512804168180889651994279473014436421579271977636924214040854638142251043230288655084675300929230708366102775025522128278744184161526805187979750333733750562563740461388539335921006844924857602597049606986696641123863271713710447934148565373222990281349975752260936292360939565837139971716705297371474033474398764726217088938057953845324377175857251043720712018574902706912175132185544796546986003304E+000000000000002394");
+ return val;
+ }
+
+ static const mp_float& A000142_943(void)
+ {
+ static const mp_float val("+2.04745316365549862862503574330594578941830605543052613545549253474911619533840525923768142733766162201744848808776264557989234916849067366966855765664319777292264904564710926780497607255089392593773509454764140719249017779388454932579803065226028952401902097146949279835313027134382062923696366010584422993328853095421300013566358035136822714868588650476140887676833387734228631433516133252618181149650968743143807801116E+000000000000002397");
+ return val;
+ }
+
+ static const mp_float& A000142_944(void)
+ {
+ static const mp_float val("+1.93279578649079070542203374168081282521088091632641667186998495280316568839945456472037126740675257118447137275484793742741837761505519594416711842787117869763898069909087114880789741248804386608522192925297348838971072783742701456355334093573371331067395579706720120164535497614856667399969369513991695305702437322077707212806641985169160642835947686049476997966930718021111828073239229790471563005270514493527754564254E+000000000000002400");
+ return val;
+ }
+
+ static const mp_float& A000142_945(void)
+ {
+ static const mp_float val("+1.82649201823379721662382188588836811982428246592846375491713578039899157553748456366075084769938117976932544725333130086891036684622716016723792691433826386926883676064087323562346305480120145345053472314405994652827663780636852876255790718426835907858688822822850513555486045246039550692971054190722152063888803269363433316102276675984856807479970563316755763078749528529950677529211072151995627039980636196383728063220E+000000000000002403");
+ return val;
+ }
+
+ static const mp_float& A000142_946(void)
+ {
+ static const mp_float val("+1.72786144924917216692613550405039624135377121276832671215161044825744603045846039722307030192361459606178187310165141062198920703653089351820707886096399762032831957556626608089979604984193657496420584809428070941574969936482462820937978019631786768834319626390416585823489798802753414955550617264423155852438807892817807917032753735481674539876052152897650951872497053989333340942633674255787863179821681841779006747806E+000000000000002406");
+ return val;
+ }
+
+ static const mp_float& A000142_947(void)
+ {
+ static const mp_float val("+1.63628479243896604207905032233572524056202133849160539640757509449980139084416199617024757592166302247050743382726388585902377906359475616174210368133290574645091863806125397861210685920031393649110293814528383181671496529848892291428265184591302070086100686191724506774844839466207483962906434549408728592259551074498464097430017787501145789262621388794075451423254710127898673872674089520231106431291132704164719390172E+000000000000002409");
+ return val;
+ }
+
+ static const mp_float& A000142_948(void)
+ {
+ static const mp_float val("+1.55119798323213980789093970557426752805279622889004191579438118958581171852026557236939470197373654530204104726824616379435454255228782884133151428990359464763547086888206877172427730252189761179356558536172907256224578710296749892273995394992554362441623450509754832422552907813964694796835299952839474705462054418624543964363656862551086208220965076576783527949245465201247942831295036865179088896863993803548153981883E+000000000000002412");
+ return val;
+ }
+
+ static const mp_float& A000142_949(void)
+ {
+ static const mp_float val("+1.47208688608730067768850178058997988412210362121664977808886774891693532087573202817855557217307598149163695385756560944084246088212114957042360706111851132060606185456908326436633916009328083359209374050828088986157125196071615647768021629847934089957100654533757335969002709515452495362196699655244661495483489643274692222181110362560980811601695857671367568023833946475984297746898989985054955363123930119567198128807E+000000000000002415");
+ return val;
+ }
+
+ static const mp_float& A000142_950(void)
+ {
+ static const mp_float val("+1.39848254178293564380407669156048088991599844015581728918442436147108855483194542676962779356442218241705510616468732896880033783801509209190242670806258575457575876184062910114802220208861679191248905348286684536849268936268034865379620548355537385459245621807069469170552574039679870594086864672482428420709315161110957611072054844432931771021611064787799189622642249152185082859554040485802207594967733613588838222367E+000000000000002418");
+ return val;
+ }
+
+ static const mp_float& A000142_951(void)
+ {
+ static const mp_float val("+1.32995689723557179725767693367401732631011451658818224201438756775900521564518010085791603167976549547861940596261764984932912128395235257939920779936751905260154658251043827519176911418627456910877708986220636994543654758390901156976019141486116053571742586338523065181195497911735556934976608303530789428094558718216520688129524157055718114241552122613197029331132778943728013799435892501997899422814314666522985149471E+000000000000002421");
+ return val;
+ }
+
+ static const mp_float& A000142_952(void)
+ {
+ static const mp_float val("+1.26611896616826435098930844085766449464722901979194949439769696450657296529421145601673606215913675169564567447641200265656132346232263965558804582499787813807667234654993723798256419670533338979155578954882046418805559329988137901441170222694782483000298942194273958052498114011972250202097731104961311535546019899742127695099306997517043644757957620727763571923238405554429069137062969661902000250519227562529881862296E+000000000000002424");
+ return val;
+ }
+
+ static const mp_float& A000142_953(void)
+ {
+ static const mp_float val("+1.20661137475835592649281094413735426339880925586172786816100520717476403592538351758394946723765732436595032777602063853170294125959347559177540767122297786558706874626209018779738367946018272047135266744002590237121698041478695420073435222228127706299284891911143082024030702653409554442599137743028129893375356964454247693429639568633742593454333612553558684042846200493370902887621010087792606238744823867090977414768E+000000000000002427");
+ return val;
+ }
+
+ static const mp_float& A000142_954(void)
+ {
+ static const mp_float val("+1.15110725151947155387414164070703596728246403009208838622559896764472489027281587577508779174472508744511661269832368915924460596165217571455373891834672088377006358393403403915870403020501431532967044473778471086214099931570675430750057202005633831809517786883230500250925290331352714938239577406848835918280090544089352299531876148476590434155434266376094984576875275270675841354790443623754146351762561969204792453689E+000000000000002430");
+ return val;
+ }
+
+ static const mp_float& A000142_955(void)
+ {
+ static const mp_float val("+1.09930742520109533394980526687521934875475314873794440884544701410071227021053916136520884111621245851008636512689912314707859869337782780739882066702111844400041072265700250739656234884578867113983527472458439887334465434649995036366304627915380309378089486473485127739633652266441842766018796423540638301957486469605331446052941721795143864618439724389170710270915887883495428493824873660685209765933246680590576793273E+000000000000002433");
+ return val;
+ }
+
+ static const mp_float& A000142_956(void)
+ {
+ static const mp_float val("+1.05093789849224713925601383513270969740954401019347485485624734548028093032127543826513965210709911033564256506131556172860714035086920338387327255767218923246439265086009439707111360549657396960968252263670268532291748955525395254766187224287103575765453549068651782119089771566718401684313969380904850216671357064942696862426612286036157534575228376516047199018995588816621629640096579219615060536232183826644591414369E+000000000000002436");
+ return val;
+ }
+
+ static const mp_float& A000142_957(void)
+ {
+ static const mp_float val("+1.00574756885708051226800524022200318042093361775515543609742870962462885031746059441973864706649384859120993476367899257427703331578182763836672183769228509546842376687311033799705572046022128891646617416332446985403203750437803258811241173642758122007539046458699755487968911389349510411888468697525941657354488711150160897342267957736602760588493556325857169461178778497506899565572426313171612933174199922098873983551E+000000000000002439");
+ return val;
+ }
+
+ static const mp_float& A000142_958(void)
+ {
+ static const mp_float val("+9.63506170965083130752749020132679046843254405809438907781336703820394438604127249454109623889701106950379117503604474886157397916518990877555319520509209121458749968664439703801179380200891994781974594848464842120162691929194155219411690443497622808832224065074343657574742171109968309745891530122298521077456001852818541396538927035116654446437768269601711683438092698006116097838183844080184051899808835253707212762419E+000000000000002441");
+ return val;
+ }
+
+ static const mp_float& A000142_959(void)
+ {
+ static const mp_float val("+9.24002417955514722391886310307239205922680975171251912562301898963758266621358032226491129310223361565413573685956691415824944601941712251575551420168331547478941219949197675945331025612655422995913636459677783593236021560097194855415811135314220273670102878406295567614177742094459609046309977387284281713280305776852981199280831026676871614133819770548041504417130897387865337826818306472896505771916673008305217039160E+000000000000002444");
+ return val;
+ }
+
+ static const mp_float& A000142_960(void)
+ {
+ static const mp_float val("+8.87042321237294133496210857894949637685773736164401836059809823005207935956503710937431484137814427102797030738518423759191946817864043761512529363361598285579783571151229768907517784588149206076077091001290672249506580697693307061199178689901651462723298763270043744909610632410681224684457578291792910444749093545778861951309597785609796749568466979726119844240445661492350724313745574213980645541040006087973008357593E+000000000000002447");
+ return val;
+ }
+
+ static const mp_float& A000142_961(void)
+ {
+ static const mp_float val("+8.52447670709039662289858634437046601816028560453990164453477239908004826454200066210871656256439664445787946539716205232583460891967346054813540718190495952442172011876331807920124590989211387039110084452240336031775824050483268085812410720995487055677090111502512038858135817746664656921763732738412986937403878897493486335208523471971014676335296767516801170315068280694149046065509496819635400364939445850542061031647E+000000000000002450");
+ return val;
+ }
+
+ static const mp_float& A000142_962(void)
+ {
+ static const mp_float val("+8.20054659222096155122844006328438830947019475156738538204245104791500643048940463694858533318694957196848004571206989433745289378072586904730626170899257106249369475425031199219159856531621354331623901243055203262568342736564903898551539113597658547561360687265416581381526656672291399958736710894353293433782531499388733854470599580036116118634555490351162725843095686027771382315020135940489255151071746908221462712445E+000000000000002453");
+ return val;
+ }
+
+ static const mp_float& A000142_963(void)
+ {
+ static const mp_float val("+7.89712636830878597383298778094286594201979754575939212290688035914215119256129666538148767585903243780564628402072330824696713671083901189255593002575984593318142804834305044848050941839951364221353816897062160741853314055312002454305132166394545181301590341836596167870410170375416618160263452591262221576732577833911350701855187395574779822245076937208169704986901145644743841169364390910691152710482092272617268592084E+000000000000002456");
+ return val;
+ }
+
+ static const mp_float& A000142_964(void)
+ {
+ static const mp_float val("+7.61282981904966967877500022082892276810708483411205400648223266621303374962908998542775411952810727004464301779597726915007631978924880746442391654483249147958689663860270063233521107933713115109385079488767922955146594749320770365950147408404341554774733089530478705827075404241901619906493968297976781599970205031890542076588400649334087748644254167468675595607372704401533062887267272837906271212904736950803046922769E+000000000000002459");
+ return val;
+ }
+
+ static const mp_float& A000142_965(void)
+ {
+ static const mp_float val("+7.34638077538293124001787521309991047122333686491813211625535452289557756839207183593778272534462351559308051217311806472982364859662509920316907946576335427780135525625160611020347869156033156080556601706661045651716463933094543403141892249110189600357617431396911951123127765093435063209766679407547594243971247855774373103907806626607394677441705271607271949761114659747479405686212918288579551720453071157524940280472E+000000000000002462");
+ return val;
+ }
+
+ static const mp_float& A000142_966(void)
+ {
+ static const mp_float val("+7.09660382901991157785726745585451351520174341151091562430267246911712793106674139351589811268290631606291577475923205052900964454433984583026133076392740023235610917753905150245656041604728028773817677248634570099558104159369328927435067912640443153945458438729416944784941421080258271060634612307690976039676225428678044418374941201302743258408687292372624703469236761316065105892881679066767846961957666738169092310936E+000000000000002465");
+ return val;
+ }
+
+ static const mp_float& A000142_967(void)
+ {
+ static const mp_float val("+6.86241590266225449578797762981131456920008587893105540870068427763626270934153892752987347496437040763283955419217739286155232627437663091786270684871779602468835757468026280287549392231772003824281693899429629286272686722110141072829710671523308529865258310251346185607038354184609748115633670101537173830366909989531668952568568141659752730881200611724328088254751948192634957398416583657564508012213063735809512264675E+000000000000002468");
+ return val;
+ }
+
+ static const mp_float& A000142_968(void)
+ {
+ static const mp_float val("+6.64281859377706235192276234565735250298568313080526163562226238075190230264260968184891752376551055458858868845802771628998265183359657872849110022955882655189833013229049439318347811680355299701904679694647881149111960747002616558499159930034562656909570044323303107667613126850702236175933392658287984267795168869866655546086373961126640643493002192149149589430599885850470638761667252980522443755822245696263607872206E+000000000000002471");
+ return val;
+ }
+
+ static const mp_float& A000142_969(void)
+ {
+ static const mp_float val("+6.43689121736997341901315671294197457539312695375029852491797224694859333126068878171160108052877972739634243911582885708499318962675508478790787612244250292878948189818948906699479029518264285411145634624113796833489489963845535445185685972203491214545373372949280711329917119918330466854479457485881056755493518634900789224157696368331714783544719124192525952158251289389106048960055568138126247999391756079679436028167E+000000000000002474");
+ return val;
+ }
+
+ static const mp_float& A000142_970(void)
+ {
+ static const mp_float val("+6.24378448084887421644276201155371533813133314513778956917043307954013553132286811826025304811291633557445216594235399137244339393795243224427063983876922784092579744124380439498494658632716356848811265585390382928484805264930169381830115393037386478109012171760802289990019606320780552848845073761304625052828713075853765547432965477281763340038377550466750173593503750707432867491253901093982460559410003397289052947322E+000000000000002477");
+ return val;
+ }
+
+ static const mp_float& A000142_971(void)
+ {
+ static const mp_float val("+6.06271473090425686416592191321865759332552448392879367166449052023347160091450494283070570971764176184279305313002572562264253551375181170918679128344492023353894931544773406753038313532367582500195738883414061823558745912247194469757042046639302270243850818779739023580309037737477916816228566622226790926296680396654006346557409478440592203177264601503214418559292141936917314334007537962256969203187113298767670411850E+000000000000002480");
+ return val;
+ }
+
+ static const mp_float& A000142_972(void)
+ {
+ static const mp_float val("+5.89295871843893767196927609964853518071240979837878744885788478566693439608889880443144594984554779251119484764238500530520854451936676098132956112750846246699985873461519751363953240753461290190190258194678468092499101026704273024603844869333401806677022995853906330920060384680828535145374166756804440780360373345547694168853802013044255621488301192661124414839631961962683629532655326899313774065497874126402175640318E+000000000000002483");
+ return val;
+ }
+
+ static const mp_float& A000142_973(void)
+ {
+ static const mp_float val("+5.73384883304108635482610564495802473083317473382256018773872189645392716739449853671179690919971800211339258675604061016196791381734385843483366297706573398039086254878058718077126503253117835355055121223422149454001625298983257652939541057861399957896743374965850859985218754294446164696449064254370720879290643265217906426294749358692060719708117060459274055638961898989691171535273633073032302165729431524989316898030E+000000000000002486");
+ return val;
+ }
+
+ static const mp_float& A000142_974(void)
+ {
+ static const mp_float val("+5.58476876338201810960062689818911608783151219074317362285751512714612506104224157475729018956052533405844437950038355429775674805809291811552798773966202489690070012251229191407121214168536771635823688071613173568197583041209692953963112990357003558991428047216738737625603066682790564414341388583757082136429086540322240859211085875366067140995706016887332930192348889615959201075356518613133462309420466305339594658681E+000000000000002489");
+ return val;
+ }
+
+ static const mp_float& A000142_975(void)
+ {
+ static const mp_float val("+5.44514954429746765686061122573438818563572438597459428228607724896747193451618553538835793482151220070698327001287396544031282935664059516263978804617047427447818261944948461621943183814323352344928095869822844228992643465179450630114035165598078470016642346036320269184962990015720800303982853869163155083018359376814184837730808728481915462470813366465149606937540167375560221048472605647805125751684954647706104792214E+000000000000002492");
+ return val;
+ }
+
+ static const mp_float& A000142_976(void)
+ {
+ static const mp_float val("+5.31446595523432843309595655631676286918046700071120401951121139499225260808779708253903734438579590789001567153256499026974532145208122087873643313306238289189070623658269698543016547402779591888649821568947095967496820022015143814991298321623724586736242929731448582724523878255343501096687265376303239361025918751770644401625269318998349491371513845669986016371039203358546775743309263112257802733644515736161158277201E+000000000000002495");
+ return val;
+ }
+
+ static const mp_float& A000142_977(void)
+ {
+ static const mp_float val("+5.19223323826393887913474955552147732318931625969484632706245353290743079810177774964063948546492260200854531108731599549354117905868335279852549517100194808537721999314129495476527166812515661275210875672861312760244393161508795507246498460226378921241309342347625265321859829055470600571463458272648264855722322620479919580387888124661387453069969027219576337994505301681300199901213150060675873270770691874229451636825E+000000000000002498");
+ return val;
+ }
+
+ static const mp_float& A000142_978(void)
+ {
+ static const mp_float val("+5.07800410702213222379378506530000482207915130198155970786707955518346732054353863914854541678469430476435731424339504359268327311939231903695793427723990522749892115329218646576043569142640316727156236408058363879519016511955602006087075494101398584974000536815977509484778912816250247358891262190650003028896431522829361349619354585918836929102429708620745658558626185044311595503386460759341004058813736652996403700815E+000000000000002501");
+ return val;
+ }
+
+ static const mp_float& A000142_979(void)
+ {
+ static const mp_float val("+4.97136602077466744709411557892870472081548912463994695400187088452461450681212432772642596303221572436430581064428374767723692438388508033718181765741786721772144380907305054997946654190644870075885955443489138238049117165204534363959246908725269214689546525542841981785598555647108992164354545684646352965289606460849944761277348139614541353591278684739709999728895035158381051997815345083394842973578648183283479223098E+000000000000002504");
+ return val;
+ }
+
+ static const mp_float& A000142_980(void)
+ {
+ static const mp_float val("+4.87193870035917409815223326735013062639917934214714801492183346683412221667588184117189744377157140987701969443139807272369218589620737873043818130426950987336701493289158953897987721106831972674368236334619355473288134821900443676680061970550763830395755595031985142149886584534166812321067454770953425905983814331632945866051801176822250526519453111044915799734317134455213430957859038181726946114107075219617809638636E+000000000000002507");
+ return val;
+ }
+
+ static const mp_float& A000142_981(void)
+ {
+ static const mp_float val("+4.77937186505234979028734083527047814449759493464635220263831863096427389455904008618963139233991155308935632023720150934194203436417943853455985585948838918577304164916664933773925954405802165193555239844261587719295660260284335246823140793110299317618236238726377424449038739428017642886967173130305310813770121859331919894596816954462627766515583501935062399539365108900564375769659716456274134137939040790445071255502E+000000000000002510");
+ return val;
+ }
+
+ static const mp_float& A000142_982(void)
+ {
+ static const mp_float val("+4.69334317148140749406216870023560953789663822582271786299082889560691696445697736463821802727779314513374790647293188217378707774562420864093777845401759818042912689948164964965995287226497726220071245527064879140348338375599217212380324258834313929901107986429302630808956042118313325315001764013959815219122259665863945336494074249282300466718302998900231276347656536940354217005805841560061199723456138056217059972903E+000000000000002513");
+ return val;
+ }
+
+ static const mp_float& A000142_983(void)
+ {
+ static const mp_float val("+4.61355633756622356666311183233160417575239537598373165931998480438159937606120874943936832081407066166647419206289204017683269742394859709404183622029929901136183174219046160561573367343647264874330034353104776194962416623214030519769858746434130593092789150660004486085203789402301998784646734025722498360397181251544258265773674987044501358784091847918927344649746375812368195316707142253540159328157383709261369953363E+000000000000002516");
+ return val;
+ }
+
+ static const mp_float& A000142_984(void)
+ {
+ static const mp_float val("+4.53973943616516398959650204301429850894035704996799195277086504751149378604422940944833842768104553107981060498988576753400337426516541954053716684077451022718004243431541421992588193466148908636340753803455099775843017957242606031453541006491184503603304524249444414307840528771865166804092386281310938386630826351519550133521296187251789337043546378352224507135350433799370304191639827977483516778906865569913188034109E+000000000000002519");
+ return val;
+ }
+
+ static const mp_float& A000142_985(void)
+ {
+ static const mp_float val("+4.47164334462268652975255451236908403130625169421847207347930207179882137925356596830661335126582984811361344591503748102099332365118793824742910933816289257377234179780068300662699370564156675006795642496403273279205372687883966940981737891393816736049254956385702748093222920840287189302031000487091274310831363956246756881518476744443012496987893182676941139528320177292379749628765230557821264027223262586364490213598E+000000000000002522");
+ return val;
+ }
+
+ static const mp_float& A000142_986(void)
+ {
+ static const mp_float val("+4.40904033779796891833601874919591685486796417049941346445059184279363787994401604475032076434810823024002285767222695628669941712007130711196510180742861207773952901263147344453421579376258481556700503501453627453296497470253591403807993560914303301744565386996302909619917799948523168651802566480271996470479724860859302285177218070020810322030062678119463963574923694810286433133962517330011766330842136910155387350607E+000000000000002525");
+ return val;
+ }
+
+ static const mp_float& A000142_987(void)
+ {
+ static const mp_float val("+4.35172281340659532239765050545636993575468063628292108941273414883732058750474383616856659441158282324690256052248800585497232469751038011950955548393204012072891513546726428975527098844367121296463396955934730296403643003140294715558489644622417358821886036965350971794858868549192367459329133116028460516363488437668131355469914235110539787843671863303910932048449686777752709503221004604721613368541189130323367315050E+000000000000002528");
+ return val;
+ }
+
+ static const mp_float& A000142_988(void)
+ {
+ static const mp_float val("+4.29950213964571617852887869939089349652562446864752603633978133905127274045468691013454379527864382936793972979621814978471265680114025555807544081812485563928016815384165711827820773658234715840905836192463513532846799287102611178971787768886948350516023404521766760133320562126602059049817183518636118990167126576416113779204275264289213310389547800944264000863868290536419676989182352549464954008118694860759486907269E+000000000000002531");
+ return val;
+ }
+
+ static const mp_float& A000142_989(void)
+ {
+ static const mp_float val("+4.25220761610961330056506103369759366806384259949240324994004374432170874030968535412306381353057874724489239276845975013708081757632771274693661096912548222724808630414939888997714745147994133966655871994346414883985484494944482456003098103429191918660347147072027325771854035943209436400269194499931121681275288184075536527633028236382031963975262775133877096854365739340519060542301346671420839514029389217291132551289E+000000000000002534");
+ return val;
+ }
+
+ static const mp_float& A000142_990(void)
+ {
+ static const mp_float val("+4.20968553994851716755941042336061773138320417349747921744064330687849165290658850058183317539527295977244346884077515263571000940056443561946724485943422740497560544110790490107737597696514192626989313274402950735145629649995037631443067122394899999473743675601307052514135495583777342036266502554931810464462535302234781162356697954018211644335510147382538325885822081947113869936878333204706631118889095325118221225776E+000000000000002537");
+ return val;
+ }
+
+ static const mp_float& A000142_991(void)
+ {
+ static const mp_float val("+4.17179837008898051305137572955037217180075533593600190448367751711658522803042920407659667681671550313449147762120817626198861931595935569889203965569931935833082499213793375696767959317245564893346409454933324178529318983145082292760079518293345899478479982520895289041508276123523345957940104031937424170282372484514668131895487672432047739536490556056095480952849683209589845107446428205864271438819093467192157234744E+000000000000002540");
+ return val;
+ }
+
+ static const mp_float& A000142_992(void)
+ {
+ static const mp_float val("+4.13842398312826866894696472371396919442634929324851388924780809697965254620618577044398390340218177910941554580023851085189271036143168085330090333845372480346417839220083028691193815642707600374199638179293857585101084431279921634417998882146999132282652142660728126729176209914535159190276583199681924776920113504638550786840323771052591357620198631607646717105226885743913126346586856780217357267308540719454619976866E+000000000000002543");
+ return val;
+ }
+
+ static const mp_float& A000142_993(void)
+ {
+ static const mp_float val("+4.10945501524637078826433597064797141006536484819577429202307344030079497838274247005087601607836650665564963697963684127592946138890165908732779701508454872983992914345542447490355458933208647171580240712038800582005376840260962182977072889971970138356673577662103029842071976445133413075944647117284151303481672710106080931332441504655223218116857241186393190085490297543705734462160748782755835766437380934418437637028E+000000000000002546");
+ return val;
+ }
+
+ static const mp_float& A000142_994(void)
+ {
+ static const mp_float val("+4.08479828515489256353474995482408358160497265910659964627093499965899020851244601523057075998189630761571573915775902022827388462056824913280383023299404143746088956859469192805413326179609395288550759267766567778513344579219396409879210452632138317526533536196130411663019544586462612597488979234580446395660782673845444445744446855627291878808156097739274830944977355758443500055387784290059300751838756648811927011206E+000000000000002549");
+ return val;
+ }
+
+ static const mp_float& A000142_995(void)
+ {
+ static const mp_float val("+4.06437429372911810071707620504996316369694779581106664803958032466069525746988378515441790618198682607763716046197022512713251519746540788713981108182907123027358512075171846841386259548711348312108005471427734939620777856323299427829814400368977625938900868515149759604704446863530299534501534338407544163682478760476217223515724621349155419414115317250578456790252468979651282555110845368609004248079562865567867376150E+000000000000002552");
+ return val;
+ }
+
+ static const mp_float& A000142_996(void)
+ {
+ static const mp_float val("+4.04811679655420162831420790022976331104216000462782238144742200336205247644000425001380023455725887877332661182012234422662398513667554625559125183750175494535249078026871159454020714510516502918859573449542023999862294744898006230118495142767501715435145265041089160566285629076076178336363528201053913987027748845434312354621661722863758797736458855981576142963091459103732677424890401987134568231087244614105595906645E+000000000000002555");
+ return val;
+ }
+
+ static const mp_float& A000142_997(void)
+ {
+ static const mp_float val("+4.03597244616453902342926527652907402110903352461393891430307973735196631901068423726375883385358710213700663198466197719394411318126551961682447808198924968051643330792790545975658652366984953410102994729193397927862707860663312211428139657339199210288839829245965893084586772188847949801354437616450752245066665598898009417557796737695167521343249479413631414534202184726421479392615730781173164526393982880263279118925E+000000000000002558");
+ return val;
+ }
+
+ static const mp_float& A000142_998(void)
+ {
+ static const mp_float val("+4.02790050127220994538240674597601587306681545756471103647447357787726238637266286878923131618587992793273261872069265323955622495490298857759082912582527118115540044131204964883707335062250983503282788739735011132006982444941985587005283378024520811868262149587473961298417598644470253901751728741217850740576532267700213398722681144219777186300562980454804151705133780356968636433830499319610818197341194914502752560688E+000000000000002561");
+ return val;
+ }
+
+ static const mp_float& A000142_999(void)
+ {
+ static const mp_float val("+4.02387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808127E+000000000000002564");
+ return val;
+ }
+
+ static const mp_float& A000142_1000(void)
+ {
+ static const mp_float val("+4.02387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901323829669944590997424504087073759918823627727188732519779505950995276120874975462497043601418278094646496291056393887437886487337119181045825783647849977012476632889835955735432513185323958463075557409114262417474349347553428646576611667797396668820291207379143853719588249808127E+000000000000002567");
+ return val;
+ }
+
+}
+
+namespace Tables
+{
+ const std::vector<pfn_efloat>& A000142(void)
+ {
+ static const boost::array<pfn_efloat, 1001u> A000142_data =
+ {{
+ A000142_Table::A000142_0,
+ A000142_Table::A000142_1,
+ A000142_Table::A000142_2,
+ A000142_Table::A000142_3,
+ A000142_Table::A000142_4,
+ A000142_Table::A000142_5,
+ A000142_Table::A000142_6,
+ A000142_Table::A000142_7,
+ A000142_Table::A000142_8,
+ A000142_Table::A000142_9,
+ A000142_Table::A000142_10,
+ A000142_Table::A000142_11,
+ A000142_Table::A000142_12,
+ A000142_Table::A000142_13,
+ A000142_Table::A000142_14,
+ A000142_Table::A000142_15,
+ A000142_Table::A000142_16,
+ A000142_Table::A000142_17,
+ A000142_Table::A000142_18,
+ A000142_Table::A000142_19,
+ A000142_Table::A000142_20,
+ A000142_Table::A000142_21,
+ A000142_Table::A000142_22,
+ A000142_Table::A000142_23,
+ A000142_Table::A000142_24,
+ A000142_Table::A000142_25,
+ A000142_Table::A000142_26,
+ A000142_Table::A000142_27,
+ A000142_Table::A000142_28,
+ A000142_Table::A000142_29,
+ A000142_Table::A000142_30,
+ A000142_Table::A000142_31,
+ A000142_Table::A000142_32,
+ A000142_Table::A000142_33,
+ A000142_Table::A000142_34,
+ A000142_Table::A000142_35,
+ A000142_Table::A000142_36,
+ A000142_Table::A000142_37,
+ A000142_Table::A000142_38,
+ A000142_Table::A000142_39,
+ A000142_Table::A000142_40,
+ A000142_Table::A000142_41,
+ A000142_Table::A000142_42,
+ A000142_Table::A000142_43,
+ A000142_Table::A000142_44,
+ A000142_Table::A000142_45,
+ A000142_Table::A000142_46,
+ A000142_Table::A000142_47,
+ A000142_Table::A000142_48,
+ A000142_Table::A000142_49,
+ A000142_Table::A000142_50,
+ A000142_Table::A000142_51,
+ A000142_Table::A000142_52,
+ A000142_Table::A000142_53,
+ A000142_Table::A000142_54,
+ A000142_Table::A000142_55,
+ A000142_Table::A000142_56,
+ A000142_Table::A000142_57,
+ A000142_Table::A000142_58,
+ A000142_Table::A000142_59,
+ A000142_Table::A000142_60,
+ A000142_Table::A000142_61,
+ A000142_Table::A000142_62,
+ A000142_Table::A000142_63,
+ A000142_Table::A000142_64,
+ A000142_Table::A000142_65,
+ A000142_Table::A000142_66,
+ A000142_Table::A000142_67,
+ A000142_Table::A000142_68,
+ A000142_Table::A000142_69,
+ A000142_Table::A000142_70,
+ A000142_Table::A000142_71,
+ A000142_Table::A000142_72,
+ A000142_Table::A000142_73,
+ A000142_Table::A000142_74,
+ A000142_Table::A000142_75,
+ A000142_Table::A000142_76,
+ A000142_Table::A000142_77,
+ A000142_Table::A000142_78,
+ A000142_Table::A000142_79,
+ A000142_Table::A000142_80,
+ A000142_Table::A000142_81,
+ A000142_Table::A000142_82,
+ A000142_Table::A000142_83,
+ A000142_Table::A000142_84,
+ A000142_Table::A000142_85,
+ A000142_Table::A000142_86,
+ A000142_Table::A000142_87,
+ A000142_Table::A000142_88,
+ A000142_Table::A000142_89,
+ A000142_Table::A000142_90,
+ A000142_Table::A000142_91,
+ A000142_Table::A000142_92,
+ A000142_Table::A000142_93,
+ A000142_Table::A000142_94,
+ A000142_Table::A000142_95,
+ A000142_Table::A000142_96,
+ A000142_Table::A000142_97,
+ A000142_Table::A000142_98,
+ A000142_Table::A000142_99,
+ A000142_Table::A000142_100,
+ A000142_Table::A000142_101,
+ A000142_Table::A000142_102,
+ A000142_Table::A000142_103,
+ A000142_Table::A000142_104,
+ A000142_Table::A000142_105,
+ A000142_Table::A000142_106,
+ A000142_Table::A000142_107,
+ A000142_Table::A000142_108,
+ A000142_Table::A000142_109,
+ A000142_Table::A000142_110,
+ A000142_Table::A000142_111,
+ A000142_Table::A000142_112,
+ A000142_Table::A000142_113,
+ A000142_Table::A000142_114,
+ A000142_Table::A000142_115,
+ A000142_Table::A000142_116,
+ A000142_Table::A000142_117,
+ A000142_Table::A000142_118,
+ A000142_Table::A000142_119,
+ A000142_Table::A000142_120,
+ A000142_Table::A000142_121,
+ A000142_Table::A000142_122,
+ A000142_Table::A000142_123,
+ A000142_Table::A000142_124,
+ A000142_Table::A000142_125,
+ A000142_Table::A000142_126,
+ A000142_Table::A000142_127,
+ A000142_Table::A000142_128,
+ A000142_Table::A000142_129,
+ A000142_Table::A000142_130,
+ A000142_Table::A000142_131,
+ A000142_Table::A000142_132,
+ A000142_Table::A000142_133,
+ A000142_Table::A000142_134,
+ A000142_Table::A000142_135,
+ A000142_Table::A000142_136,
+ A000142_Table::A000142_137,
+ A000142_Table::A000142_138,
+ A000142_Table::A000142_139,
+ A000142_Table::A000142_140,
+ A000142_Table::A000142_141,
+ A000142_Table::A000142_142,
+ A000142_Table::A000142_143,
+ A000142_Table::A000142_144,
+ A000142_Table::A000142_145,
+ A000142_Table::A000142_146,
+ A000142_Table::A000142_147,
+ A000142_Table::A000142_148,
+ A000142_Table::A000142_149,
+ A000142_Table::A000142_150,
+ A000142_Table::A000142_151,
+ A000142_Table::A000142_152,
+ A000142_Table::A000142_153,
+ A000142_Table::A000142_154,
+ A000142_Table::A000142_155,
+ A000142_Table::A000142_156,
+ A000142_Table::A000142_157,
+ A000142_Table::A000142_158,
+ A000142_Table::A000142_159,
+ A000142_Table::A000142_160,
+ A000142_Table::A000142_161,
+ A000142_Table::A000142_162,
+ A000142_Table::A000142_163,
+ A000142_Table::A000142_164,
+ A000142_Table::A000142_165,
+ A000142_Table::A000142_166,
+ A000142_Table::A000142_167,
+ A000142_Table::A000142_168,
+ A000142_Table::A000142_169,
+ A000142_Table::A000142_170,
+ A000142_Table::A000142_171,
+ A000142_Table::A000142_172,
+ A000142_Table::A000142_173,
+ A000142_Table::A000142_174,
+ A000142_Table::A000142_175,
+ A000142_Table::A000142_176,
+ A000142_Table::A000142_177,
+ A000142_Table::A000142_178,
+ A000142_Table::A000142_179,
+ A000142_Table::A000142_180,
+ A000142_Table::A000142_181,
+ A000142_Table::A000142_182,
+ A000142_Table::A000142_183,
+ A000142_Table::A000142_184,
+ A000142_Table::A000142_185,
+ A000142_Table::A000142_186,
+ A000142_Table::A000142_187,
+ A000142_Table::A000142_188,
+ A000142_Table::A000142_189,
+ A000142_Table::A000142_190,
+ A000142_Table::A000142_191,
+ A000142_Table::A000142_192,
+ A000142_Table::A000142_193,
+ A000142_Table::A000142_194,
+ A000142_Table::A000142_195,
+ A000142_Table::A000142_196,
+ A000142_Table::A000142_197,
+ A000142_Table::A000142_198,
+ A000142_Table::A000142_199,
+ A000142_Table::A000142_200,
+ A000142_Table::A000142_201,
+ A000142_Table::A000142_202,
+ A000142_Table::A000142_203,
+ A000142_Table::A000142_204,
+ A000142_Table::A000142_205,
+ A000142_Table::A000142_206,
+ A000142_Table::A000142_207,
+ A000142_Table::A000142_208,
+ A000142_Table::A000142_209,
+ A000142_Table::A000142_210,
+ A000142_Table::A000142_211,
+ A000142_Table::A000142_212,
+ A000142_Table::A000142_213,
+ A000142_Table::A000142_214,
+ A000142_Table::A000142_215,
+ A000142_Table::A000142_216,
+ A000142_Table::A000142_217,
+ A000142_Table::A000142_218,
+ A000142_Table::A000142_219,
+ A000142_Table::A000142_220,
+ A000142_Table::A000142_221,
+ A000142_Table::A000142_222,
+ A000142_Table::A000142_223,
+ A000142_Table::A000142_224,
+ A000142_Table::A000142_225,
+ A000142_Table::A000142_226,
+ A000142_Table::A000142_227,
+ A000142_Table::A000142_228,
+ A000142_Table::A000142_229,
+ A000142_Table::A000142_230,
+ A000142_Table::A000142_231,
+ A000142_Table::A000142_232,
+ A000142_Table::A000142_233,
+ A000142_Table::A000142_234,
+ A000142_Table::A000142_235,
+ A000142_Table::A000142_236,
+ A000142_Table::A000142_237,
+ A000142_Table::A000142_238,
+ A000142_Table::A000142_239,
+ A000142_Table::A000142_240,
+ A000142_Table::A000142_241,
+ A000142_Table::A000142_242,
+ A000142_Table::A000142_243,
+ A000142_Table::A000142_244,
+ A000142_Table::A000142_245,
+ A000142_Table::A000142_246,
+ A000142_Table::A000142_247,
+ A000142_Table::A000142_248,
+ A000142_Table::A000142_249,
+ A000142_Table::A000142_250,
+ A000142_Table::A000142_251,
+ A000142_Table::A000142_252,
+ A000142_Table::A000142_253,
+ A000142_Table::A000142_254,
+ A000142_Table::A000142_255,
+ A000142_Table::A000142_256,
+ A000142_Table::A000142_257,
+ A000142_Table::A000142_258,
+ A000142_Table::A000142_259,
+ A000142_Table::A000142_260,
+ A000142_Table::A000142_261,
+ A000142_Table::A000142_262,
+ A000142_Table::A000142_263,
+ A000142_Table::A000142_264,
+ A000142_Table::A000142_265,
+ A000142_Table::A000142_266,
+ A000142_Table::A000142_267,
+ A000142_Table::A000142_268,
+ A000142_Table::A000142_269,
+ A000142_Table::A000142_270,
+ A000142_Table::A000142_271,
+ A000142_Table::A000142_272,
+ A000142_Table::A000142_273,
+ A000142_Table::A000142_274,
+ A000142_Table::A000142_275,
+ A000142_Table::A000142_276,
+ A000142_Table::A000142_277,
+ A000142_Table::A000142_278,
+ A000142_Table::A000142_279,
+ A000142_Table::A000142_280,
+ A000142_Table::A000142_281,
+ A000142_Table::A000142_282,
+ A000142_Table::A000142_283,
+ A000142_Table::A000142_284,
+ A000142_Table::A000142_285,
+ A000142_Table::A000142_286,
+ A000142_Table::A000142_287,
+ A000142_Table::A000142_288,
+ A000142_Table::A000142_289,
+ A000142_Table::A000142_290,
+ A000142_Table::A000142_291,
+ A000142_Table::A000142_292,
+ A000142_Table::A000142_293,
+ A000142_Table::A000142_294,
+ A000142_Table::A000142_295,
+ A000142_Table::A000142_296,
+ A000142_Table::A000142_297,
+ A000142_Table::A000142_298,
+ A000142_Table::A000142_299,
+ A000142_Table::A000142_300,
+ A000142_Table::A000142_301,
+ A000142_Table::A000142_302,
+ A000142_Table::A000142_303,
+ A000142_Table::A000142_304,
+ A000142_Table::A000142_305,
+ A000142_Table::A000142_306,
+ A000142_Table::A000142_307,
+ A000142_Table::A000142_308,
+ A000142_Table::A000142_309,
+ A000142_Table::A000142_310,
+ A000142_Table::A000142_311,
+ A000142_Table::A000142_312,
+ A000142_Table::A000142_313,
+ A000142_Table::A000142_314,
+ A000142_Table::A000142_315,
+ A000142_Table::A000142_316,
+ A000142_Table::A000142_317,
+ A000142_Table::A000142_318,
+ A000142_Table::A000142_319,
+ A000142_Table::A000142_320,
+ A000142_Table::A000142_321,
+ A000142_Table::A000142_322,
+ A000142_Table::A000142_323,
+ A000142_Table::A000142_324,
+ A000142_Table::A000142_325,
+ A000142_Table::A000142_326,
+ A000142_Table::A000142_327,
+ A000142_Table::A000142_328,
+ A000142_Table::A000142_329,
+ A000142_Table::A000142_330,
+ A000142_Table::A000142_331,
+ A000142_Table::A000142_332,
+ A000142_Table::A000142_333,
+ A000142_Table::A000142_334,
+ A000142_Table::A000142_335,
+ A000142_Table::A000142_336,
+ A000142_Table::A000142_337,
+ A000142_Table::A000142_338,
+ A000142_Table::A000142_339,
+ A000142_Table::A000142_340,
+ A000142_Table::A000142_341,
+ A000142_Table::A000142_342,
+ A000142_Table::A000142_343,
+ A000142_Table::A000142_344,
+ A000142_Table::A000142_345,
+ A000142_Table::A000142_346,
+ A000142_Table::A000142_347,
+ A000142_Table::A000142_348,
+ A000142_Table::A000142_349,
+ A000142_Table::A000142_350,
+ A000142_Table::A000142_351,
+ A000142_Table::A000142_352,
+ A000142_Table::A000142_353,
+ A000142_Table::A000142_354,
+ A000142_Table::A000142_355,
+ A000142_Table::A000142_356,
+ A000142_Table::A000142_357,
+ A000142_Table::A000142_358,
+ A000142_Table::A000142_359,
+ A000142_Table::A000142_360,
+ A000142_Table::A000142_361,
+ A000142_Table::A000142_362,
+ A000142_Table::A000142_363,
+ A000142_Table::A000142_364,
+ A000142_Table::A000142_365,
+ A000142_Table::A000142_366,
+ A000142_Table::A000142_367,
+ A000142_Table::A000142_368,
+ A000142_Table::A000142_369,
+ A000142_Table::A000142_370,
+ A000142_Table::A000142_371,
+ A000142_Table::A000142_372,
+ A000142_Table::A000142_373,
+ A000142_Table::A000142_374,
+ A000142_Table::A000142_375,
+ A000142_Table::A000142_376,
+ A000142_Table::A000142_377,
+ A000142_Table::A000142_378,
+ A000142_Table::A000142_379,
+ A000142_Table::A000142_380,
+ A000142_Table::A000142_381,
+ A000142_Table::A000142_382,
+ A000142_Table::A000142_383,
+ A000142_Table::A000142_384,
+ A000142_Table::A000142_385,
+ A000142_Table::A000142_386,
+ A000142_Table::A000142_387,
+ A000142_Table::A000142_388,
+ A000142_Table::A000142_389,
+ A000142_Table::A000142_390,
+ A000142_Table::A000142_391,
+ A000142_Table::A000142_392,
+ A000142_Table::A000142_393,
+ A000142_Table::A000142_394,
+ A000142_Table::A000142_395,
+ A000142_Table::A000142_396,
+ A000142_Table::A000142_397,
+ A000142_Table::A000142_398,
+ A000142_Table::A000142_399,
+ A000142_Table::A000142_400,
+ A000142_Table::A000142_401,
+ A000142_Table::A000142_402,
+ A000142_Table::A000142_403,
+ A000142_Table::A000142_404,
+ A000142_Table::A000142_405,
+ A000142_Table::A000142_406,
+ A000142_Table::A000142_407,
+ A000142_Table::A000142_408,
+ A000142_Table::A000142_409,
+ A000142_Table::A000142_410,
+ A000142_Table::A000142_411,
+ A000142_Table::A000142_412,
+ A000142_Table::A000142_413,
+ A000142_Table::A000142_414,
+ A000142_Table::A000142_415,
+ A000142_Table::A000142_416,
+ A000142_Table::A000142_417,
+ A000142_Table::A000142_418,
+ A000142_Table::A000142_419,
+ A000142_Table::A000142_420,
+ A000142_Table::A000142_421,
+ A000142_Table::A000142_422,
+ A000142_Table::A000142_423,
+ A000142_Table::A000142_424,
+ A000142_Table::A000142_425,
+ A000142_Table::A000142_426,
+ A000142_Table::A000142_427,
+ A000142_Table::A000142_428,
+ A000142_Table::A000142_429,
+ A000142_Table::A000142_430,
+ A000142_Table::A000142_431,
+ A000142_Table::A000142_432,
+ A000142_Table::A000142_433,
+ A000142_Table::A000142_434,
+ A000142_Table::A000142_435,
+ A000142_Table::A000142_436,
+ A000142_Table::A000142_437,
+ A000142_Table::A000142_438,
+ A000142_Table::A000142_439,
+ A000142_Table::A000142_440,
+ A000142_Table::A000142_441,
+ A000142_Table::A000142_442,
+ A000142_Table::A000142_443,
+ A000142_Table::A000142_444,
+ A000142_Table::A000142_445,
+ A000142_Table::A000142_446,
+ A000142_Table::A000142_447,
+ A000142_Table::A000142_448,
+ A000142_Table::A000142_449,
+ A000142_Table::A000142_450,
+ A000142_Table::A000142_451,
+ A000142_Table::A000142_452,
+ A000142_Table::A000142_453,
+ A000142_Table::A000142_454,
+ A000142_Table::A000142_455,
+ A000142_Table::A000142_456,
+ A000142_Table::A000142_457,
+ A000142_Table::A000142_458,
+ A000142_Table::A000142_459,
+ A000142_Table::A000142_460,
+ A000142_Table::A000142_461,
+ A000142_Table::A000142_462,
+ A000142_Table::A000142_463,
+ A000142_Table::A000142_464,
+ A000142_Table::A000142_465,
+ A000142_Table::A000142_466,
+ A000142_Table::A000142_467,
+ A000142_Table::A000142_468,
+ A000142_Table::A000142_469,
+ A000142_Table::A000142_470,
+ A000142_Table::A000142_471,
+ A000142_Table::A000142_472,
+ A000142_Table::A000142_473,
+ A000142_Table::A000142_474,
+ A000142_Table::A000142_475,
+ A000142_Table::A000142_476,
+ A000142_Table::A000142_477,
+ A000142_Table::A000142_478,
+ A000142_Table::A000142_479,
+ A000142_Table::A000142_480,
+ A000142_Table::A000142_481,
+ A000142_Table::A000142_482,
+ A000142_Table::A000142_483,
+ A000142_Table::A000142_484,
+ A000142_Table::A000142_485,
+ A000142_Table::A000142_486,
+ A000142_Table::A000142_487,
+ A000142_Table::A000142_488,
+ A000142_Table::A000142_489,
+ A000142_Table::A000142_490,
+ A000142_Table::A000142_491,
+ A000142_Table::A000142_492,
+ A000142_Table::A000142_493,
+ A000142_Table::A000142_494,
+ A000142_Table::A000142_495,
+ A000142_Table::A000142_496,
+ A000142_Table::A000142_497,
+ A000142_Table::A000142_498,
+ A000142_Table::A000142_499,
+ A000142_Table::A000142_500,
+ A000142_Table::A000142_501,
+ A000142_Table::A000142_502,
+ A000142_Table::A000142_503,
+ A000142_Table::A000142_504,
+ A000142_Table::A000142_505,
+ A000142_Table::A000142_506,
+ A000142_Table::A000142_507,
+ A000142_Table::A000142_508,
+ A000142_Table::A000142_509,
+ A000142_Table::A000142_510,
+ A000142_Table::A000142_511,
+ A000142_Table::A000142_512,
+ A000142_Table::A000142_513,
+ A000142_Table::A000142_514,
+ A000142_Table::A000142_515,
+ A000142_Table::A000142_516,
+ A000142_Table::A000142_517,
+ A000142_Table::A000142_518,
+ A000142_Table::A000142_519,
+ A000142_Table::A000142_520,
+ A000142_Table::A000142_521,
+ A000142_Table::A000142_522,
+ A000142_Table::A000142_523,
+ A000142_Table::A000142_524,
+ A000142_Table::A000142_525,
+ A000142_Table::A000142_526,
+ A000142_Table::A000142_527,
+ A000142_Table::A000142_528,
+ A000142_Table::A000142_529,
+ A000142_Table::A000142_530,
+ A000142_Table::A000142_531,
+ A000142_Table::A000142_532,
+ A000142_Table::A000142_533,
+ A000142_Table::A000142_534,
+ A000142_Table::A000142_535,
+ A000142_Table::A000142_536,
+ A000142_Table::A000142_537,
+ A000142_Table::A000142_538,
+ A000142_Table::A000142_539,
+ A000142_Table::A000142_540,
+ A000142_Table::A000142_541,
+ A000142_Table::A000142_542,
+ A000142_Table::A000142_543,
+ A000142_Table::A000142_544,
+ A000142_Table::A000142_545,
+ A000142_Table::A000142_546,
+ A000142_Table::A000142_547,
+ A000142_Table::A000142_548,
+ A000142_Table::A000142_549,
+ A000142_Table::A000142_550,
+ A000142_Table::A000142_551,
+ A000142_Table::A000142_552,
+ A000142_Table::A000142_553,
+ A000142_Table::A000142_554,
+ A000142_Table::A000142_555,
+ A000142_Table::A000142_556,
+ A000142_Table::A000142_557,
+ A000142_Table::A000142_558,
+ A000142_Table::A000142_559,
+ A000142_Table::A000142_560,
+ A000142_Table::A000142_561,
+ A000142_Table::A000142_562,
+ A000142_Table::A000142_563,
+ A000142_Table::A000142_564,
+ A000142_Table::A000142_565,
+ A000142_Table::A000142_566,
+ A000142_Table::A000142_567,
+ A000142_Table::A000142_568,
+ A000142_Table::A000142_569,
+ A000142_Table::A000142_570,
+ A000142_Table::A000142_571,
+ A000142_Table::A000142_572,
+ A000142_Table::A000142_573,
+ A000142_Table::A000142_574,
+ A000142_Table::A000142_575,
+ A000142_Table::A000142_576,
+ A000142_Table::A000142_577,
+ A000142_Table::A000142_578,
+ A000142_Table::A000142_579,
+ A000142_Table::A000142_580,
+ A000142_Table::A000142_581,
+ A000142_Table::A000142_582,
+ A000142_Table::A000142_583,
+ A000142_Table::A000142_584,
+ A000142_Table::A000142_585,
+ A000142_Table::A000142_586,
+ A000142_Table::A000142_587,
+ A000142_Table::A000142_588,
+ A000142_Table::A000142_589,
+ A000142_Table::A000142_590,
+ A000142_Table::A000142_591,
+ A000142_Table::A000142_592,
+ A000142_Table::A000142_593,
+ A000142_Table::A000142_594,
+ A000142_Table::A000142_595,
+ A000142_Table::A000142_596,
+ A000142_Table::A000142_597,
+ A000142_Table::A000142_598,
+ A000142_Table::A000142_599,
+ A000142_Table::A000142_600,
+ A000142_Table::A000142_601,
+ A000142_Table::A000142_602,
+ A000142_Table::A000142_603,
+ A000142_Table::A000142_604,
+ A000142_Table::A000142_605,
+ A000142_Table::A000142_606,
+ A000142_Table::A000142_607,
+ A000142_Table::A000142_608,
+ A000142_Table::A000142_609,
+ A000142_Table::A000142_610,
+ A000142_Table::A000142_611,
+ A000142_Table::A000142_612,
+ A000142_Table::A000142_613,
+ A000142_Table::A000142_614,
+ A000142_Table::A000142_615,
+ A000142_Table::A000142_616,
+ A000142_Table::A000142_617,
+ A000142_Table::A000142_618,
+ A000142_Table::A000142_619,
+ A000142_Table::A000142_620,
+ A000142_Table::A000142_621,
+ A000142_Table::A000142_622,
+ A000142_Table::A000142_623,
+ A000142_Table::A000142_624,
+ A000142_Table::A000142_625,
+ A000142_Table::A000142_626,
+ A000142_Table::A000142_627,
+ A000142_Table::A000142_628,
+ A000142_Table::A000142_629,
+ A000142_Table::A000142_630,
+ A000142_Table::A000142_631,
+ A000142_Table::A000142_632,
+ A000142_Table::A000142_633,
+ A000142_Table::A000142_634,
+ A000142_Table::A000142_635,
+ A000142_Table::A000142_636,
+ A000142_Table::A000142_637,
+ A000142_Table::A000142_638,
+ A000142_Table::A000142_639,
+ A000142_Table::A000142_640,
+ A000142_Table::A000142_641,
+ A000142_Table::A000142_642,
+ A000142_Table::A000142_643,
+ A000142_Table::A000142_644,
+ A000142_Table::A000142_645,
+ A000142_Table::A000142_646,
+ A000142_Table::A000142_647,
+ A000142_Table::A000142_648,
+ A000142_Table::A000142_649,
+ A000142_Table::A000142_650,
+ A000142_Table::A000142_651,
+ A000142_Table::A000142_652,
+ A000142_Table::A000142_653,
+ A000142_Table::A000142_654,
+ A000142_Table::A000142_655,
+ A000142_Table::A000142_656,
+ A000142_Table::A000142_657,
+ A000142_Table::A000142_658,
+ A000142_Table::A000142_659,
+ A000142_Table::A000142_660,
+ A000142_Table::A000142_661,
+ A000142_Table::A000142_662,
+ A000142_Table::A000142_663,
+ A000142_Table::A000142_664,
+ A000142_Table::A000142_665,
+ A000142_Table::A000142_666,
+ A000142_Table::A000142_667,
+ A000142_Table::A000142_668,
+ A000142_Table::A000142_669,
+ A000142_Table::A000142_670,
+ A000142_Table::A000142_671,
+ A000142_Table::A000142_672,
+ A000142_Table::A000142_673,
+ A000142_Table::A000142_674,
+ A000142_Table::A000142_675,
+ A000142_Table::A000142_676,
+ A000142_Table::A000142_677,
+ A000142_Table::A000142_678,
+ A000142_Table::A000142_679,
+ A000142_Table::A000142_680,
+ A000142_Table::A000142_681,
+ A000142_Table::A000142_682,
+ A000142_Table::A000142_683,
+ A000142_Table::A000142_684,
+ A000142_Table::A000142_685,
+ A000142_Table::A000142_686,
+ A000142_Table::A000142_687,
+ A000142_Table::A000142_688,
+ A000142_Table::A000142_689,
+ A000142_Table::A000142_690,
+ A000142_Table::A000142_691,
+ A000142_Table::A000142_692,
+ A000142_Table::A000142_693,
+ A000142_Table::A000142_694,
+ A000142_Table::A000142_695,
+ A000142_Table::A000142_696,
+ A000142_Table::A000142_697,
+ A000142_Table::A000142_698,
+ A000142_Table::A000142_699,
+ A000142_Table::A000142_700,
+ A000142_Table::A000142_701,
+ A000142_Table::A000142_702,
+ A000142_Table::A000142_703,
+ A000142_Table::A000142_704,
+ A000142_Table::A000142_705,
+ A000142_Table::A000142_706,
+ A000142_Table::A000142_707,
+ A000142_Table::A000142_708,
+ A000142_Table::A000142_709,
+ A000142_Table::A000142_710,
+ A000142_Table::A000142_711,
+ A000142_Table::A000142_712,
+ A000142_Table::A000142_713,
+ A000142_Table::A000142_714,
+ A000142_Table::A000142_715,
+ A000142_Table::A000142_716,
+ A000142_Table::A000142_717,
+ A000142_Table::A000142_718,
+ A000142_Table::A000142_719,
+ A000142_Table::A000142_720,
+ A000142_Table::A000142_721,
+ A000142_Table::A000142_722,
+ A000142_Table::A000142_723,
+ A000142_Table::A000142_724,
+ A000142_Table::A000142_725,
+ A000142_Table::A000142_726,
+ A000142_Table::A000142_727,
+ A000142_Table::A000142_728,
+ A000142_Table::A000142_729,
+ A000142_Table::A000142_730,
+ A000142_Table::A000142_731,
+ A000142_Table::A000142_732,
+ A000142_Table::A000142_733,
+ A000142_Table::A000142_734,
+ A000142_Table::A000142_735,
+ A000142_Table::A000142_736,
+ A000142_Table::A000142_737,
+ A000142_Table::A000142_738,
+ A000142_Table::A000142_739,
+ A000142_Table::A000142_740,
+ A000142_Table::A000142_741,
+ A000142_Table::A000142_742,
+ A000142_Table::A000142_743,
+ A000142_Table::A000142_744,
+ A000142_Table::A000142_745,
+ A000142_Table::A000142_746,
+ A000142_Table::A000142_747,
+ A000142_Table::A000142_748,
+ A000142_Table::A000142_749,
+ A000142_Table::A000142_750,
+ A000142_Table::A000142_751,
+ A000142_Table::A000142_752,
+ A000142_Table::A000142_753,
+ A000142_Table::A000142_754,
+ A000142_Table::A000142_755,
+ A000142_Table::A000142_756,
+ A000142_Table::A000142_757,
+ A000142_Table::A000142_758,
+ A000142_Table::A000142_759,
+ A000142_Table::A000142_760,
+ A000142_Table::A000142_761,
+ A000142_Table::A000142_762,
+ A000142_Table::A000142_763,
+ A000142_Table::A000142_764,
+ A000142_Table::A000142_765,
+ A000142_Table::A000142_766,
+ A000142_Table::A000142_767,
+ A000142_Table::A000142_768,
+ A000142_Table::A000142_769,
+ A000142_Table::A000142_770,
+ A000142_Table::A000142_771,
+ A000142_Table::A000142_772,
+ A000142_Table::A000142_773,
+ A000142_Table::A000142_774,
+ A000142_Table::A000142_775,
+ A000142_Table::A000142_776,
+ A000142_Table::A000142_777,
+ A000142_Table::A000142_778,
+ A000142_Table::A000142_779,
+ A000142_Table::A000142_780,
+ A000142_Table::A000142_781,
+ A000142_Table::A000142_782,
+ A000142_Table::A000142_783,
+ A000142_Table::A000142_784,
+ A000142_Table::A000142_785,
+ A000142_Table::A000142_786,
+ A000142_Table::A000142_787,
+ A000142_Table::A000142_788,
+ A000142_Table::A000142_789,
+ A000142_Table::A000142_790,
+ A000142_Table::A000142_791,
+ A000142_Table::A000142_792,
+ A000142_Table::A000142_793,
+ A000142_Table::A000142_794,
+ A000142_Table::A000142_795,
+ A000142_Table::A000142_796,
+ A000142_Table::A000142_797,
+ A000142_Table::A000142_798,
+ A000142_Table::A000142_799,
+ A000142_Table::A000142_800,
+ A000142_Table::A000142_801,
+ A000142_Table::A000142_802,
+ A000142_Table::A000142_803,
+ A000142_Table::A000142_804,
+ A000142_Table::A000142_805,
+ A000142_Table::A000142_806,
+ A000142_Table::A000142_807,
+ A000142_Table::A000142_808,
+ A000142_Table::A000142_809,
+ A000142_Table::A000142_810,
+ A000142_Table::A000142_811,
+ A000142_Table::A000142_812,
+ A000142_Table::A000142_813,
+ A000142_Table::A000142_814,
+ A000142_Table::A000142_815,
+ A000142_Table::A000142_816,
+ A000142_Table::A000142_817,
+ A000142_Table::A000142_818,
+ A000142_Table::A000142_819,
+ A000142_Table::A000142_820,
+ A000142_Table::A000142_821,
+ A000142_Table::A000142_822,
+ A000142_Table::A000142_823,
+ A000142_Table::A000142_824,
+ A000142_Table::A000142_825,
+ A000142_Table::A000142_826,
+ A000142_Table::A000142_827,
+ A000142_Table::A000142_828,
+ A000142_Table::A000142_829,
+ A000142_Table::A000142_830,
+ A000142_Table::A000142_831,
+ A000142_Table::A000142_832,
+ A000142_Table::A000142_833,
+ A000142_Table::A000142_834,
+ A000142_Table::A000142_835,
+ A000142_Table::A000142_836,
+ A000142_Table::A000142_837,
+ A000142_Table::A000142_838,
+ A000142_Table::A000142_839,
+ A000142_Table::A000142_840,
+ A000142_Table::A000142_841,
+ A000142_Table::A000142_842,
+ A000142_Table::A000142_843,
+ A000142_Table::A000142_844,
+ A000142_Table::A000142_845,
+ A000142_Table::A000142_846,
+ A000142_Table::A000142_847,
+ A000142_Table::A000142_848,
+ A000142_Table::A000142_849,
+ A000142_Table::A000142_850,
+ A000142_Table::A000142_851,
+ A000142_Table::A000142_852,
+ A000142_Table::A000142_853,
+ A000142_Table::A000142_854,
+ A000142_Table::A000142_855,
+ A000142_Table::A000142_856,
+ A000142_Table::A000142_857,
+ A000142_Table::A000142_858,
+ A000142_Table::A000142_859,
+ A000142_Table::A000142_860,
+ A000142_Table::A000142_861,
+ A000142_Table::A000142_862,
+ A000142_Table::A000142_863,
+ A000142_Table::A000142_864,
+ A000142_Table::A000142_865,
+ A000142_Table::A000142_866,
+ A000142_Table::A000142_867,
+ A000142_Table::A000142_868,
+ A000142_Table::A000142_869,
+ A000142_Table::A000142_870,
+ A000142_Table::A000142_871,
+ A000142_Table::A000142_872,
+ A000142_Table::A000142_873,
+ A000142_Table::A000142_874,
+ A000142_Table::A000142_875,
+ A000142_Table::A000142_876,
+ A000142_Table::A000142_877,
+ A000142_Table::A000142_878,
+ A000142_Table::A000142_879,
+ A000142_Table::A000142_880,
+ A000142_Table::A000142_881,
+ A000142_Table::A000142_882,
+ A000142_Table::A000142_883,
+ A000142_Table::A000142_884,
+ A000142_Table::A000142_885,
+ A000142_Table::A000142_886,
+ A000142_Table::A000142_887,
+ A000142_Table::A000142_888,
+ A000142_Table::A000142_889,
+ A000142_Table::A000142_890,
+ A000142_Table::A000142_891,
+ A000142_Table::A000142_892,
+ A000142_Table::A000142_893,
+ A000142_Table::A000142_894,
+ A000142_Table::A000142_895,
+ A000142_Table::A000142_896,
+ A000142_Table::A000142_897,
+ A000142_Table::A000142_898,
+ A000142_Table::A000142_899,
+ A000142_Table::A000142_900,
+ A000142_Table::A000142_901,
+ A000142_Table::A000142_902,
+ A000142_Table::A000142_903,
+ A000142_Table::A000142_904,
+ A000142_Table::A000142_905,
+ A000142_Table::A000142_906,
+ A000142_Table::A000142_907,
+ A000142_Table::A000142_908,
+ A000142_Table::A000142_909,
+ A000142_Table::A000142_910,
+ A000142_Table::A000142_911,
+ A000142_Table::A000142_912,
+ A000142_Table::A000142_913,
+ A000142_Table::A000142_914,
+ A000142_Table::A000142_915,
+ A000142_Table::A000142_916,
+ A000142_Table::A000142_917,
+ A000142_Table::A000142_918,
+ A000142_Table::A000142_919,
+ A000142_Table::A000142_920,
+ A000142_Table::A000142_921,
+ A000142_Table::A000142_922,
+ A000142_Table::A000142_923,
+ A000142_Table::A000142_924,
+ A000142_Table::A000142_925,
+ A000142_Table::A000142_926,
+ A000142_Table::A000142_927,
+ A000142_Table::A000142_928,
+ A000142_Table::A000142_929,
+ A000142_Table::A000142_930,
+ A000142_Table::A000142_931,
+ A000142_Table::A000142_932,
+ A000142_Table::A000142_933,
+ A000142_Table::A000142_934,
+ A000142_Table::A000142_935,
+ A000142_Table::A000142_936,
+ A000142_Table::A000142_937,
+ A000142_Table::A000142_938,
+ A000142_Table::A000142_939,
+ A000142_Table::A000142_940,
+ A000142_Table::A000142_941,
+ A000142_Table::A000142_942,
+ A000142_Table::A000142_943,
+ A000142_Table::A000142_944,
+ A000142_Table::A000142_945,
+ A000142_Table::A000142_946,
+ A000142_Table::A000142_947,
+ A000142_Table::A000142_948,
+ A000142_Table::A000142_949,
+ A000142_Table::A000142_950,
+ A000142_Table::A000142_951,
+ A000142_Table::A000142_952,
+ A000142_Table::A000142_953,
+ A000142_Table::A000142_954,
+ A000142_Table::A000142_955,
+ A000142_Table::A000142_956,
+ A000142_Table::A000142_957,
+ A000142_Table::A000142_958,
+ A000142_Table::A000142_959,
+ A000142_Table::A000142_960,
+ A000142_Table::A000142_961,
+ A000142_Table::A000142_962,
+ A000142_Table::A000142_963,
+ A000142_Table::A000142_964,
+ A000142_Table::A000142_965,
+ A000142_Table::A000142_966,
+ A000142_Table::A000142_967,
+ A000142_Table::A000142_968,
+ A000142_Table::A000142_969,
+ A000142_Table::A000142_970,
+ A000142_Table::A000142_971,
+ A000142_Table::A000142_972,
+ A000142_Table::A000142_973,
+ A000142_Table::A000142_974,
+ A000142_Table::A000142_975,
+ A000142_Table::A000142_976,
+ A000142_Table::A000142_977,
+ A000142_Table::A000142_978,
+ A000142_Table::A000142_979,
+ A000142_Table::A000142_980,
+ A000142_Table::A000142_981,
+ A000142_Table::A000142_982,
+ A000142_Table::A000142_983,
+ A000142_Table::A000142_984,
+ A000142_Table::A000142_985,
+ A000142_Table::A000142_986,
+ A000142_Table::A000142_987,
+ A000142_Table::A000142_988,
+ A000142_Table::A000142_989,
+ A000142_Table::A000142_990,
+ A000142_Table::A000142_991,
+ A000142_Table::A000142_992,
+ A000142_Table::A000142_993,
+ A000142_Table::A000142_994,
+ A000142_Table::A000142_995,
+ A000142_Table::A000142_996,
+ A000142_Table::A000142_997,
+ A000142_Table::A000142_998,
+ A000142_Table::A000142_999,
+ A000142_Table::A000142_1000,
+ }};
+
+ static const std::vector<pfn_efloat> A000142_vect(A000142_data.begin(), A000142_data.end());
+
+ return A000142_vect;
+ }
+}

Added: sandbox/multiprecision/src/functions/tables/A000367.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/tables/A000367.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,7041 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <vector>
+#include <boost/array.hpp>
+#include "tables.h"
+
+using boost::multiprecision::mp_float;
+
+namespace A000367_Table
+{
+ static const mp_float& A000367_0(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A000367_1(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A000367_2(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(-1L));
+ return val;
+ }
+
+ static const mp_float& A000367_3(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A000367_4(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(-1L));
+ return val;
+ }
+
+ static const mp_float& A000367_5(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5L));
+ return val;
+ }
+
+ static const mp_float& A000367_6(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(-691L));
+ return val;
+ }
+
+ static const mp_float& A000367_7(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7L));
+ return val;
+ }
+
+ static const mp_float& A000367_8(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(-3617L));
+ return val;
+ }
+
+ static const mp_float& A000367_9(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(43867L));
+ return val;
+ }
+
+ static const mp_float& A000367_10(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(-174611L));
+ return val;
+ }
+
+ static const mp_float& A000367_11(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(854513L));
+ return val;
+ }
+
+ static const mp_float& A000367_12(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(-236364091L));
+ return val;
+ }
+
+ static const mp_float& A000367_13(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8553103L));
+ return val;
+ }
+
+ static const mp_float& A000367_14(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(-23749461029LL));
+ return val;
+ }
+
+ static const mp_float& A000367_15(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(8615841276005LL));
+ return val;
+ }
+
+ static const mp_float& A000367_16(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(-7709321041217LL));
+ return val;
+ }
+
+ static const mp_float& A000367_17(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2577687858367LL));
+ return val;
+ }
+
+ static const mp_float& A000367_18(void)
+ {
+ static const mp_float val("-26315271553053477373");
+ return val;
+ }
+
+ static const mp_float& A000367_19(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2929993913841559LL));
+ return val;
+ }
+
+ static const mp_float& A000367_20(void)
+ {
+ static const mp_float val("-261082718496449122051");
+ return val;
+ }
+
+ static const mp_float& A000367_21(void)
+ {
+ static const mp_float val("1520097643918070802691");
+ return val;
+ }
+
+ static const mp_float& A000367_22(void)
+ {
+ static const mp_float val("-27833269579301024235023");
+ return val;
+ }
+
+ static const mp_float& A000367_23(void)
+ {
+ static const mp_float val("596451111593912163277961");
+ return val;
+ }
+
+ static const mp_float& A000367_24(void)
+ {
+ static const mp_float val("-5609403368997817686249127547");
+ return val;
+ }
+
+ static const mp_float& A000367_25(void)
+ {
+ static const mp_float val("495057205241079648212477525");
+ return val;
+ }
+
+ static const mp_float& A000367_26(void)
+ {
+ static const mp_float val("-801165718135489957347924991853");
+ return val;
+ }
+
+ static const mp_float& A000367_27(void)
+ {
+ static const mp_float val("29149963634884862421418123812691");
+ return val;
+ }
+
+ static const mp_float& A000367_28(void)
+ {
+ static const mp_float val("-2479392929313226753685415739663229");
+ return val;
+ }
+
+ static const mp_float& A000367_29(void)
+ {
+ static const mp_float val("84483613348880041862046775994036021");
+ return val;
+ }
+
+ static const mp_float& A000367_30(void)
+ {
+ static const mp_float val("-1215233140483755572040304994079820246041491");
+ return val;
+ }
+
+ static const mp_float& A000367_31(void)
+ {
+ static const mp_float val("12300585434086858541953039857403386151");
+ return val;
+ }
+
+ static const mp_float& A000367_32(void)
+ {
+ static const mp_float val("-106783830147866529886385444979142647942017");
+ return val;
+ }
+
+ static const mp_float& A000367_33(void)
+ {
+ static const mp_float val("1472600022126335654051619428551932342241899101");
+ return val;
+ }
+
+ static const mp_float& A000367_34(void)
+ {
+ static const mp_float val("-78773130858718728141909149208474606244347001");
+ return val;
+ }
+
+ static const mp_float& A000367_35(void)
+ {
+ static const mp_float val("1505381347333367003803076567377857208511438160235");
+ return val;
+ }
+
+ static const mp_float& A000367_36(void)
+ {
+ static const mp_float val("-5827954961669944110438277244641067365282488301844260429");
+ return val;
+ }
+
+ static const mp_float& A000367_37(void)
+ {
+ static const mp_float val("34152417289221168014330073731472635186688307783087");
+ return val;
+ }
+
+ static const mp_float& A000367_38(void)
+ {
+ static const mp_float val("-24655088825935372707687196040585199904365267828865801");
+ return val;
+ }
+
+ static const mp_float& A000367_39(void)
+ {
+ static const mp_float val("414846365575400828295179035549542073492199375372400483487");
+ return val;
+ }
+
+ static const mp_float& A000367_40(void)
+ {
+ static const mp_float val("-4603784299479457646935574969019046849794257872751288919656867");
+ return val;
+ }
+
+ static const mp_float& A000367_41(void)
+ {
+ static const mp_float val("1677014149185145836823154509786269900207736027570253414881613");
+ return val;
+ }
+
+ static const mp_float& A000367_42(void)
+ {
+ static const mp_float val("-2024576195935290360231131160111731009989917391198090877281083932477");
+ return val;
+ }
+
+ static const mp_float& A000367_43(void)
+ {
+ static const mp_float val("660714619417678653573847847426261496277830686653388931761996983");
+ return val;
+ }
+
+ static const mp_float& A000367_44(void)
+ {
+ static const mp_float val("-1311426488674017507995511424019311843345750275572028644296919890574047");
+ return val;
+ }
+
+ static const mp_float& A000367_45(void)
+ {
+ static const mp_float val("1179057279021082799884123351249215083775254949669647116231545215727922535");
+ return val;
+ }
+
+ static const mp_float& A000367_46(void)
+ {
+ static const mp_float val("-1295585948207537527989427828538576749659341483719435143023316326829946247");
+ return val;
+ }
+
+ static const mp_float& A000367_47(void)
+ {
+ static const mp_float val("1220813806579744469607301679413201203958508415202696621436215105284649447");
+ return val;
+ }
+
+ static const mp_float& A000367_48(void)
+ {
+ static const mp_float val("-211600449597266513097597728109824233673043954389060234150638733420050668349987259");
+ return val;
+ }
+
+ static const mp_float& A000367_49(void)
+ {
+ static const mp_float val("67908260672905495624051117546403605607342195728504487509073961249992947058239");
+ return val;
+ }
+
+ static const mp_float& A000367_50(void)
+ {
+ static const mp_float val("-94598037819122125295227433069493721872702841533066936133385696204311395415197247711");
+ return val;
+ }
+
+ static const mp_float& A000367_51(void)
+ {
+ static const mp_float val("3204019410860907078243020782116241775491817197152717450679002501086861530836678158791");
+ return val;
+ }
+
+ static const mp_float& A000367_52(void)
+ {
+ static const mp_float val("-319533631363830011287103352796174274671189606078272738327103470162849568365549721224053");
+ return val;
+ }
+
+ static const mp_float& A000367_53(void)
+ {
+ static const mp_float val("36373903172617414408151820151593427169231298640581690038930816378281879873386202346572901");
+ return val;
+ }
+
+ static const mp_float& A000367_54(void)
+ {
+ static const mp_float val("-3469342247847828789552088659323852541399766785760491146870005891371501266319724897592306597338057");
+ return val;
+ }
+
+ static const mp_float& A000367_55(void)
+ {
+ static const mp_float val("7645992940484742892248134246724347500528752413412307906683593870759797606269585779977930217515");
+ return val;
+ }
+
+ static const mp_float& A000367_56(void)
+ {
+ static const mp_float val("-2650879602155099713352597214685162014443151499192509896451788427680966756514875515366781203552600109");
+ return val;
+ }
+
+ static const mp_float& A000367_57(void)
+ {
+ static const mp_float val("21737832319369163333310761086652991475721156679090831360806110114933605484234593650904188618562649");
+ return val;
+ }
+
+ static const mp_float& A000367_58(void)
+ {
+ static const mp_float val("-309553916571842976912513458033841416869004128064329844245504045721008957524571968271388199595754752259");
+ return val;
+ }
+
+ static const mp_float& A000367_59(void)
+ {
+ static const mp_float val("366963119969713111534947151585585006684606361080699204301059440676414485045806461889371776354517095799");
+ return val;
+ }
+
+ static const mp_float& A000367_60(void)
+ {
+ static const mp_float val("-51507486535079109061843996857849983274095170353262675213092869167199297474922985358811329367077682677803282070131");
+ return val;
+ }
+
+ static const mp_float& A000367_61(void)
+ {
+ static const mp_float val("49633666079262581912532637475990757438722790311060139770309311793150683214100431329033113678098037968564431");
+ return val;
+ }
+
+ static const mp_float& A000367_62(void)
+ {
+ static const mp_float val("-95876775334247128750774903107542444620578830013297336819553512729358593354435944413631943610268472689094609001");
+ return val;
+ }
+
+ static const mp_float& A000367_63(void)
+ {
+ static const mp_float val("5556330281949274850616324408918951380525567307126747246796782304333594286400508981287241419934529638692081513802696639");
+ return val;
+ }
+
+ static const mp_float& A000367_64(void)
+ {
+ static const mp_float val("-267754707742548082886954405585282394779291459592551740629978686063357792734863530145362663093519862048495908453718017");
+ return val;
+ }
+
+ static const mp_float& A000367_65(void)
+ {
+ static const mp_float val("1928215175136130915645299522271596435307611010164728458783733020528548622403504078595174411693893882739334735142562418015");
+ return val;
+ }
+
+ static const mp_float& A000367_66(void)
+ {
+ static const mp_float val("-410951945846993378209020486523571938123258077870477502433469747962650070754704863812646392801863686694106805747335370312946831");
+ return val;
+ }
+
+ static const mp_float& A000367_67(void)
+ {
+ static const mp_float val("264590171870717725633635737248879015151254525593168688411918554840667765591690540727987316391252434348664694639349484190167");
+ return val;
+ }
+
+ static const mp_float& A000367_68(void)
+ {
+ static const mp_float val("-84290226343367405131287578060366193649336612397547435767189206912230442242628212786558235455817749737691517685781164837036649737");
+ return val;
+ }
+
+ static const mp_float& A000367_69(void)
+ {
+ static const mp_float val("2694866548990880936043851683724113040849078494664282483862150893060478501559546243423633375693325757795709438325907154973590288136429");
+ return val;
+ }
+
+ static const mp_float& A000367_70(void)
+ {
+ static const mp_float val("-3289490986435898803930699548851884006880537476931130981307467085162504802973618096693859598125274741604181467826651144393874696601946049");
+ return val;
+ }
+
+ static const mp_float& A000367_71(void)
+ {
+ static const mp_float val("14731853280888589565870080442453214239804217023990642676194878997407546061581643106569966189211748270209483494554402556608073385149191");
+ return val;
+ }
+
+ static const mp_float& A000367_72(void)
+ {
+ static const mp_float val("-3050244698373607565035155836901726357405007104256566761884191852434851033744761276392695669329626855965183503295793517411526056244431024612640493");
+ return val;
+ }
+
+ static const mp_float& A000367_73(void)
+ {
+ static const mp_float val("4120570026280114871526113315907864026165545608808541153973817680034790262683524284855810008621905238290240143481403022987037271683989824863");
+ return val;
+ }
+
+ static const mp_float& A000367_74(void)
+ {
+ static const mp_float val("-1691737145614018979865561095112166189607682852147301400816480675916957871178648433284821493606361235973346584667336181793937950344828557898347149");
+ return val;
+ }
+
+ static const mp_float& A000367_75(void)
+ {
+ static const mp_float val("463365579389162741443284425811806264982233725425295799852299807325379315501572305760030594769688296308375193913787703707693010224101613904227979066275");
+ return val;
+ }
+
+ static const mp_float& A000367_76(void)
+ {
+ static const mp_float val("-3737018141155108502105892888491282165837489531488932951768507127182409731328472084456653639812530140212355374618917309552824925858430886313795805601");
+ return val;
+ }
+
+ static const mp_float& A000367_77(void)
+ {
+ static const mp_float val("10259718682038021051027794238379184461025738652460569233992776489750881337506863808448685054322627708245455888249006715516690124228801409697850408284121");
+ return val;
+ }
+
+ static const mp_float& A000367_78(void)
+ {
+ static const mp_float val("-81718086083262628510756459753673452313595710396116467582152090596092548699138346942995509488284650803976836337164670494733866559829768848363506624334818961419869");
+ return val;
+ }
+
+ static const mp_float& A000367_79(void)
+ {
+ static const mp_float val("171672676901153210072183083506103395137513922274029564150500135265308148197358551999205867870374013289728260984269623579880772408522396975250682773558018919");
+ return val;
+ }
+
+ static const mp_float& A000367_80(void)
+ {
+ static const mp_float val("-4240860794203310376065563492361156949989398087086373214710625778458441940477839981850928830420029285687066701804645453159767402961229305942765784122421197736180867");
+ return val;
+ }
+
+ static const mp_float& A000367_81(void)
+ {
+ static const mp_float val("1584451495144416428390934243279426140836596476080786316960222380784239380974799880364363647978168634590418215854419793716549388865905348534375629928732008786233507729");
+ return val;
+ }
+
+ static const mp_float& A000367_82(void)
+ {
+ static const mp_float val("-20538064609143216265571979586692646837805331023148645068133372383930344948316600591203926388540940814833173322793804325084945094828524860626092013547281335356200073083");
+ return val;
+ }
+
+ static const mp_float& A000367_83(void)
+ {
+ static const mp_float val("5734032969370860921631095311392645731505222358555208498573088911303001784652122964703205752709194193095246308611264121678834250704468082648313788124754168671815815821441");
+ return val;
+ }
+
+ static const mp_float& A000367_84(void)
+ {
+ static const mp_float val("-13844828515176396081238346585063517228531109156984345249260453934317772754836791258987516540324983611569758649525983347408589045734176589270143058509026392246407576578281097477");
+ return val;
+ }
+
+ static const mp_float& A000367_85(void)
+ {
+ static const mp_float val("195334207626637530414976779238462234481410337350988427215139995707346979124686918267688171536352650572535330369818176979951931477427594872783018749894699157917782460035894085");
+ return val;
+ }
+
+ static const mp_float& A000367_86(void)
+ {
+ static const mp_float val("-11443702211333328447187179942991846613008046506032421731755258148665287832264931024781365962633301701773088470841621804328201008020129996955549467573217659587609679405537739509973");
+ return val;
+ }
+
+ static const mp_float& A000367_87(void)
+ {
+ static const mp_float val("4166161554662042831884959593250717297395614318182561412048180684077407803317591270831194619293832107482426945655143357909807251852859279483176373435697607639883085093246499347128331");
+ return val;
+ }
+
+ static const mp_float& A000367_88(void)
+ {
+ static const mp_float val("-1369347910486705707645621362512824332220360774476594348356938715366608044588614657557436131706543948464159947970464346070253278291989696390096800799614617317655510118710460076077638883999");
+ return val;
+ }
+
+ static const mp_float& A000367_89(void)
+ {
+ static const mp_float val("1124251816617941290026484851206299982774720467712867275292043701618829826708395745459654170718363182143418314514085426692857018428614935412736063946853033094328968069656979232446257101741");
+ return val;
+ }
+
+ static const mp_float& A000367_90(void)
+ {
+ static const mp_float val("-6173136454016248924640522272263470960199559328290655337530202055853397791747341312347030141906500993752700612233695954532816018207721731818225290076670213481102834647254685911917265818955932383093313");
+ return val;
+ }
+
+ static const mp_float& A000367_91(void)
+ {
+ static const mp_float val("4277269279349192541137304400628629348327468135828402291661683018622451659989595510712915810436238721139546963558655260384328988773219688091443529626531335687951612545946030357929306651006711");
+ return val;
+ }
+
+ static const mp_float& A000367_92(void)
+ {
+ static const mp_float val("-857321333523056180131194437347933216431403305730705359015465649285681432317514010686029079324479659634642384809061711319481020030715989009140595170556956196762318625529645723516532076273012244047");
+ return val;
+ }
+
+ static const mp_float& A000367_93(void)
+ {
+ static const mp_float val("22258646098436968050639602221816385181596567918515338169946670500599612225742487595012775838387331550474751212260636163500086787417640903770807353228157478339547041472679880890292167353534100797481");
+ return val;
+ }
+
+ static const mp_float& A000367_94(void)
+ {
+ static const mp_float val("-14158277750623758793309386870401397333112823632717478051426522029712001260747920789473711562165031101665618225654329210473605281619696918061316240634857984019071572591940586875558943580878119388321001");
+ return val;
+ }
+
+ static const mp_float& A000367_95(void)
+ {
+ static const mp_float val("5411555842544259796131885546196787277987837486638756184149141588783989774511509608733429067517383750706299486822702171672522203106730993581242777825864203487238429479957280273093904025319950569633979493395");
+ return val;
+ }
+
+ static const mp_float& A000367_96(void)
+ {
+ static const mp_float val("-346465752997582699690191405750952366871923192340955593486485715370392154894102000406980162521728492501917598012711402163530166516991115122131398542029056286959857727373568402417020319761912636411646719477318166587");
+ return val;
+ }
+
+ static const mp_float& A000367_97(void)
+ {
+ static const mp_float val("2269186825161532962833665086968359967389321429297588337232986752409765414223476696863199759981611817660735753831323900456495253961837175924312108872915089534970310604331636484174526399721365966337809334021247");
+ return val;
+ }
+
+ static const mp_float& A000367_98(void)
+ {
+ static const mp_float val("-62753135110461193672553106699893713603153054153311895305590639107017824640241378480484625554578576142115835788960865534532214560982925549798683762705231316611716668749347221458005671217067357943416524984438771831113");
+ return val;
+ }
+
+ static const mp_float& A000367_99(void)
+ {
+ static const mp_float val("88527914861348004968400581010530565220544526400339548429439843908721196349579494069282285662653465989920237253162555666526385826449862863083834096823053048072002986184254693991336699593468906111158296442729034119206322233");
+ return val;
+ }
+
+ static const mp_float& A000367_100(void)
+ {
+ static const mp_float val("-498384049428333414764928632140399662108495887457206674968055822617263669621523687568865802302210999132601412697613279391058654527145340515840099290478026350382802884371712359337984274122861159800280019110197888555893671151");
+ return val;
+ }
+
+ static const mp_float& A000367_101(void)
+ {
+ static const mp_float val("2250525326187264545900714460628885135841050444551247116222631411681549780530233516069957534394574922579290608180427520318235621123686109474343887857944611842438698399885295153935574958275021715116120056995036417537079471");
+ return val;
+ }
+
+ static const mp_float& A000367_102(void)
+ {
+ static const mp_float val("-110636644250856903590976481422794879200517231299540994715372334521128669716264196333811025709747746193210786820114369025849897345722531098042760530922656878891556664782168465095563132092311332073097630676251482491663634626858373");
+ return val;
+ }
+
+ static const mp_float& A000367_103(void)
+ {
+ static const mp_float val("2525292668891404920279427026668969389456388249389889339455604316691573384284678293620100066924361693666444722338743839198221347931651916807651198800935942493038194104759967208073711284671045255047521429204396148980705984836743");
+ return val;
+ }
+
+ static const mp_float& A000367_104(void)
+ {
+ static const mp_float val("-12407390668433023412711473483696990726334795896412761472587854072142800403373577087021298541061094633377354326966623278849423631924808044397822651135905640812063181221280972334965193338438214107578486417026806166184210160001817890901");
+ return val;
+ }
+
+ static const mp_float& A000367_105(void)
+ {
+ static const mp_float val("4708181368529492614110644197951837317202610608341257204206693195241245204360822875910613010433572133227831741097261618833206537519198885812254347219150482005543422997225440204041473518187636442241332621804718967775203938403965710395632762155");
+ return val;
+ }
+
+ static const mp_float& A000367_106(void)
+ {
+ static const mp_float val("-1856110669947388268389361040689764027464160460436671923253131176853224087741924378432403442710398247642246902212818749685974336641529240178398124235555437625251481044526024910356131819016670047949661636539964662370375622630863327168696307");
+ return val;
+ }
+
+ static const mp_float& A000367_107(void)
+ {
+ static const mp_float val("4005748930070152861935826766476856180706477227448622268042052745245798242539770546339789899546160341590069109467023517085578618986055969187202731878271685432460708841118506310943865592568791360294244451765746911808994482063783730693703607");
+ return val;
+ }
+
+ static const mp_float& A000367_108(void)
+ {
+ static const mp_float val("-11993122770108617858536443322964878003618156069559794803117809279608039120818829088000103355036592864877954563564831932363414886811786054601318517206937549605059298307895591515771731031691422489377098686236263367916404512751010916862894129855138281961");
+ return val;
+ }
+
+ static const mp_float& A000367_109(void)
+ {
+ static const mp_float val("5646413644023523531472659729552574911763686780871700375627426663366507837122353997075891736706811337698248660838754243486778190331522785903661556458651175061469825204821206611273990250663647381261360659950519735730925202117606150672170127523599");
+ return val;
+ }
+
+ static const mp_float& A000367_110(void)
+ {
+ static const mp_float val("-8717064809960074651332043679796544474420053189621803209941154764877242575579617540185166306094852502223738126111951612525627910517501081576202264770178546608710937474005742969950212404955732473198451623024108934373488641161751158901712323446768306053");
+ return val;
+ }
+
+ static const mp_float& A000367_111(void)
+ {
+ static const mp_float val("13368053158552172665210852539359893340369870651951497976111882891296650008003955172160792457229376320993686817755409436399268291095350295968657381088168219133490277914269064723832062615431730061224649980566693258603099340996988542301914519271322675688591");
+ return val;
+ }
+
+ static const mp_float& A000367_112(void)
+ {
+ static const mp_float val("-3018240015081392087620978688311925380399983229633120268872695911807562982111154053235820050168829922189401964755775948260724401542319799566237745986245598102255191922935742610508280966462644022540839619861091049093129359799053781543195492373882916779852781709");
+ return val;
+ }
+
+ static const mp_float& A000367_113(void)
+ {
+ static const mp_float val("3168221108903401670436878558215734893322849540781208738796672473984272484396317849596978630272031342024194689871467916186898192771267438982228710525079886956295106197431401217357893460897221381410667385636049264583380749631776691121592016493432807733153743581");
+ return val;
+ }
+
+ static const mp_float& A000367_114(void)
+ {
+ static const mp_float val("-1906502909997888166123201923177385833567729039151413143876271870599057704445939156075718972624235764657102074902610737729027517674632609562387841658709266014329005407533521950744449109807215808770201247724932231495252981632908042371307965561986133763291349835081839");
+ return val;
+ }
+
+ static const mp_float& A000367_115(void)
+ {
+ static const mp_float val("12620737044909818561832856090355555624016887319605261762997689571062646649745107532482632213152948299491122977690702642386377706799989565320538433072623252159464115918057294711396625436506736041542403370025258477205101808063594056759977272469883621048184279331863155");
+ return val;
+ }
+
+ static const mp_float& A000367_116(void)
+ {
+ static const mp_float val("-2277782962749544647786193093844710000584561145527861043594866852071596440076587235747852022645695523676561694856919437156369375152041285055935622032497285897151359345040171955786899011718891877065760345722163063921177723102631428767500963315657655779698470644544064472947");
+ return val;
+ }
+
+ static const mp_float& A000367_117(void)
+ {
+ static const mp_float val("480867224771001697116513683699011649496855159878152931805742068517626950204279499281932407966997815888727039144001177194783700618900740782637516562256421883686495287564849123342843286211825800198337962453448529082007644439295666002669973893196613894216505936316966183107269");
+ return val;
+ }
+
+ static const mp_float& A000367_118(void)
+ {
+ static const mp_float val("-321467133590936589398380572003196190798000628347443663674019204361034039315014370869884972981404460888272855773233080186485230316544246541168364468343631969225480324799028067015621769939718443419712110857965409179947456994970687005134042835903494172569465751671057323145801");
+ return val;
+ }
+
+ static const mp_float& A000367_119(void)
+ {
+ static const mp_float val("21954828084819816230623427376391154946628510524415478471365831649487269438565442138452375719697629394886161086199009071745032148355699097673730377547354631757000924688032674454208386076360699273002129330161098228962653466112032300056534380609136268347425707537340996253935261001");
+ return val;
+ }
+
+ static const mp_float& A000367_120(void)
+ {
+ static const mp_float val("-212191008579182060478563837945461872287372869333130175188325135660897759482730035448146388858205966593247205572842356279587190846758925659038643395344396334821348861518596112373605365460921821915409949436456394757252173113308288776951844012432992719925522001911419529928297005743854184672707");
+ return val;
+ }
+
+ static const mp_float& A000367_121(void)
+ {
+ static const mp_float val("4535049728315239205021018362829154800039522502549714840841943960634084990270225535043892135549408608572877513963384530325758104248133124392959997485849004663162061065909846598215984547677506961593292880902830325868627515047168286738527241360778218692535254144583771935549805772798793");
+ return val;
+ }
+
+ static const mp_float& A000367_122(void)
+ {
+ static const mp_float val("-1480677868678810347062135814574727890490996459903153909612611791768134015908900253197632543925157559965099005581639883558125985134242978146873558628010545299879178299856929100217178891524159543673803785481607540954533057560554704283718320006046424881681934129216249889269701182688055001");
+ return val;
+ }
+
+ static const mp_float& A000367_123(void)
+ {
+ static const mp_float val("262668605206102118430195944953058387315319589613263079853189811674338644589939356676047394737425651989092115424635212785341601958591806782599345416064945113338168378810138043832891536358769753916174695061208903056552776976154338169779827414504134808495078925108569042616724875466536400029203");
+ return val;
+ }
+
+ static const mp_float& A000367_124(void)
+ {
+ static const mp_float val("-3507445546375253318342667741949651253516986113349672180095468758145505921133172244240023419466113277413785800736682458966212429373095894934752041434119711352215164597094886530278429206637066302031501412499166263642447542289785723225064437740655097573160922291075175522551466276032634749948001");
+ return val;
+ }
+
+ static const mp_float& A000367_125(void)
+ {
+ static const mp_float val("3053985414762198703102020975667535181880294373982570358384262712216099013630127381226064671248970168701164841859177635139561220373102316273710980757409295039231697360536736113380473515993580188204966808323201772081668695321316425977503713933894934399351348240918411922863059423248058823372368106375");
+ return val;
+ }
+
+ static const mp_float& A000367_126(void)
+ {
+ static const mp_float val("-89774288871630307843644520580598652632613559409413344033893019938898862113876440183943307724290509165539815764354254584162176909463971675189351699717189454959415964995262823025743004001915975128242680213612581748367743077774468104545056300803334120339537905702856877606246855867891786763741486735368783092237");
+ return val;
+ }
+
+ static const mp_float& A000367_127(void)
+ {
+ static const mp_float val("2884759276650094186013272224259584433367802183845217969121665253431996536437413850716488026971480747022580182931940812035472752343853999483816456012957551120812115224018480617695398681102870535795278832047330709610952952566962354787854087985127629191094880078635434933391568643930279007460403102076327");
+ return val;
+ }
+
+ static const mp_float& A000367_128(void)
+ {
+ static const mp_float val("-104203435297641800915507592803138769896333127491490532929531166632958450572751929026080533456531382568746630428805839898606131705503722712567379172835813497582706763790263297372586804372654090271412733654409742029405259156130663560412599913831518338400385290760913773448329773518728092595019422753511174189569");
+ return val;
+ }
+
+ static const mp_float& A000367_129(void)
+ {
+ static const mp_float val("56081693586889462275051589447484617682656486262465693822181172785524218338951641908717980184709547885060218908068568000776767834360070429300833879662707069272458173745883316346369196270761641325176838738153606175963665383216626724969370509650128327157862121275587666040290047452303859942885949047756404247033");
+ return val;
+ }
+
+ static const mp_float& A000367_130(void)
+ {
+ static const mp_float val("-5218507479961513801890596392421261361036935624312258325065379143295948300812040703848766095836974598734762472300638625802884257082786883956679824964010841565051175167717451747328911935282639583972372470105587187736495055501208701522099921363239317373617854217050435670713936357978555246779460902210809009009539232173");
+ return val;
+ }
+
+ static const mp_float& A000367_131(void)
+ {
+ static const mp_float val("6225500408881102797510043328034969466304425964851480796588968345345616249056035479080489691323529597769377127237910326626106353639640430862662758276037155818313797361926063056784629357346246050085674910484712331211955483400507386944492614175497512823803191508029088188458205305675244351279445756172428826335261196513");
+ return val;
+ }
+
+ static const mp_float& A000367_132(void)
+ {
+ static const mp_float val("-2597900408162896058710572658949818524468219266931291835479959418094890120803707468900281325124704535527442908101022615930505212028093980003061941163493997948367473301269937152541190254678821414979800759785215240308773060568770563333752614741579673909061322574414039421772773951907381124389083123642187877106727324831409104559");
+ return val;
+ }
+
+ static const mp_float& A000367_133(void)
+ {
+ static const mp_float val("74333782054653889423743469213152655799143173104421681719953140280099539295673341397636592724713785397334372991707306538931885461890982390991361955644690371434518008626267056713898856350449471518770634624568188698734199687848634136577815884007651660546155376602651878199847336975669075705029220024942988801596540479832623");
+ return val;
+ }
+
+ static const mp_float& A000367_134(void)
+ {
+ static const mp_float val("-181215287752963297591649028858266281596159320543301504003425598637697061538040522696126018237983659329700516696739148841351912957174525785315414144429136591554131215700560325949733256954674813149699783016318415338094395743152932542723256830883071638325957369194991055197776850603497527503600109515880553950890416293966947553269");
+ return val;
+ }
+
+ static const mp_float& A000367_135(void)
+ {
+ static const mp_float val("3046520935696995573515824242272701117754774305790084108344788704634810391537752246673386049133783821395486096239148415641722199623177956366799133314531041402021345562799254459886856571341036470447536143349353694309187363616222605848012490292828963830868021774140963898080446961958927794750526681977409210580806334902707423302910890705");
+ return val;
+ }
+
+ static const mp_float& A000367_136(void)
+ {
+ static const mp_float val("-5389479287019828859012200442343326192355509012382167997444221939499202340581932428533725140323939479047999949436682248001244967154707104896269136682582392582110484972339408510822230035412430172890925658230152084954903826143390588854318458185729506889417244891371385482660658834892925089584501833253476537744400283864408173645832802729");
+ return val;
+ }
+
+ static const mp_float& A000367_137(void)
+ {
+ static const mp_float val("876921640102601760383168273082801324788039055564836901409234298002253995782034121007322766508391364331313364222035613918206397636790569250311165509441010945170696883786500399759308075144882184008248023432975450281978336106603716700929424210717924897570827498252893067062775490058563356806930680935200945326351681714440032862515566687");
+ return val;
+ }
+
+ static const mp_float& A000367_138(void)
+ {
+ static const mp_float val("-1388182772753480224524259543538426023294781120119840766760993950456297256537536762358314128425435909635398077811882539199662711471185655335807263675649242817349083277475519035786895107126764049407549359856712249235123586468592541328115099760851178135792262280438168965402774928136789551166963401124472782522202058296880872854126156007513528607131");
+ return val;
+ }
+
+ static const mp_float& A000367_139(void)
+ {
+ static const mp_float val("3288574272791325983707258196648395370596305758341699742238893225440550539879910098002426164478935667759666907669638986616709137799200377160559516125812795457124992507785560266265469172399329113247421069765604730822849303184464007727659407021486798188927253139176046166778181472669994161900278671855691024038916704559966546186751742476372279");
+ return val;
+ }
+
+ static const mp_float& A000367_140(void)
+ {
+ static const mp_float val("-8490228242595311199119920565849009760217791023572798918266374350550246366225435144540895862924269878096526376888988896473279190955432566511173411205746712397692187887537779437718173050158951105924254322875775498449791436769311967741327489636985694874281460516082075289295724305512800386456299241907049270636679469815489106102786158831873003971980149529");
+ return val;
+ }
+
+ static const mp_float& A000367_141(void)
+ {
+ static const mp_float val("25875593499348128833220857256544133843109199942629172661571575831896009002717379314993110538912888759932261638883397790531299585084426973156913779915781848556311555818927755071422637872741239146696501724664788565419251002500248036396312656297993421996811407029386847063439782311617981818206546311041142991312322619717261878315979033851316268092742291");
+ return val;
+ }
+
+ static const mp_float& A000367_142(void)
+ {
+ static const mp_float val("-132959963583526612558423182997702578242047892089625754241387587021938995020766563989990185987109982064786136276402406795608981540644133005568845598733701027267134930895872207756078937107416605123323092749911180763524271940975157312568091937739185681066178901105822385739566191012805835839265694429000135104051173197039224461050364993416415448157657001");
+ return val;
+ }
+
+ static const mp_float& A000367_143(void)
+ {
+ static const mp_float val("1262786340764743836543650366374180273258073609841543441787781675688541881984249268360325012510167918286412665710785332495002470256724535451201518584261363284544626088778140281353574806840036456927404244048497506339393258324386379574048562781825209799628261527492591555049229691481538713081331723845462120745928641410668923052992096071568118182416749081409");
+ return val;
+ }
+
+ static const mp_float& A000367_144(void)
+ {
+ static const mp_float val("-4426158122015997656918081228667589801499808940970897924307086870252646875948841652238923933674489065786806672342321537012751674084821846458685429618183214525289276658012594349154796284960120596423811831259041410965661717709958659062147534583171671141655182016580199364485449629732438469542501153689517957906763036169880300563526920600913900347892060168169080524563821");
+ return val;
+ }
+
+ static const mp_float& A000367_145(void)
+ {
+ static const mp_float val("158378960459933745353732673983377704622086418682000111407542005580986544145352715435649528631197645211762019722767661122078958064217177336225880988737955740461066476486097551548991955116319546315427449493825430704787375985685635337262886136570504412827663590990198163434342208367501561777230870660164068668650416176368657029205310526817730948015526849382859712055");
+ return val;
+ }
+
+ static const mp_float& A000367_146(void)
+ {
+ static const mp_float val("-769496271232217048566454403451119653773906354892060893481293713784107951847019857310739767770463076516560575249619621659718985646126964039659981825577646225301189082287264198134787013538174178383958494473734277012586809351930781277345290942985827690026019144748986116319143448962997698665018791994064217597704711709748695678908604180272686662449493086793580970828093");
+ return val;
+ }
+
+ static const mp_float& A000367_147(void)
+ {
+ static const mp_float val("344977368185637380304333898730614153996525419281986770522385915720139215554847760949870834982202303432587625997234795118134923343663265548204594792841811439303451011251437993865656175552484850145014444202587617378736472160288579064961864004275382498994164923679644150818450558302750885234058860046684381556954878962153088786251490404112306387375170114820733240249707147");
+ return val;
+ }
+
+ static const mp_float& A000367_148(void)
+ {
+ static const mp_float val("-1888575590158495996440108433926788958859450449505827069108529221911737605491094242128180304966356165162290173103044092702582217959772178183606221416867140355106476799094653551123469827906281690228047604677838808485752658196964935031379587556530427680306537879720377479310817318584744711522453387072627648438830200285728320936098194745411999104991803838665658699650727659349");
+ return val;
+ }
+
+ static const mp_float& A000367_149(void)
+ {
+ static const mp_float val("5683175611528696607080062478072501820703250802520963611339740016328084145085898175251616359343168595858108624167762131679681416977895536025003761007598913177279789271071880600643885302907670572288368816385439218707793725555126269377090645484013184046265389329719449523663221529092764894703813815177897980268745011893371899061378940560801507189664711567121796987700152153839");
+ return val;
+ }
+
+ static const mp_float& A000367_150(void)
+ {
+ static const mp_float val("-1863878995204859011995045341848156066182191846635905937518715320655775958174360523134990756922303410810482600528769479642021001218415879006164302955370460829146434807964717737195356935144151583424833154250047747433575584999029126775186293388721514970183351129809976971603227633930434923843984829580311593372565398574762880028289167635570012415606941367995702212211519561707046505473575241");
+ return val;
+ }
+
+ static const mp_float& A000367_151(void)
+ {
+ static const mp_float val("29732914652005326308069038299046877228165947489285775398232775554326821654997284254954541436759755619186929818878962419179787160694148360451817997811323189321730570436847238527392204080083670713746104123180927363450365552833743396887002966884296848913481132785586683120732369858597153076261127975076406564459518695821788635361711463230165952857117226399909961673058570176834883271");
+ return val;
+ }
+
+ static const mp_float& A000367_152(void)
+ {
+ static const mp_float val("-5896752302971586952817880137553548037522952101385717862219869597959540714708235406233632122536677446426246295692119684486036889235399687553979484886254426933587637080451003789769961323298135257953657891721726854085498886402779031921701364180427128346719739542203363106920603436185256970882544947794042043194815113693600814746189709447821507079960920412101317160689806936226622681106017");
+ return val;
+ }
+
+ static const mp_float& A000367_153(void)
+ {
+ static const mp_float val("689735739192864790938869842200448522491622174065530181755219067505817267965189978776569968680399983089600630968341102178380777713630583306140103562669027424552384203113812510243331805627699809267240054344772443480095752572066698167737729190346148297831547431732607091731942172905658944645576233950351675859756367833238423434368779109181349635099892383418900862720397266277623080279813067604999");
+ return val;
+ }
+
+ static const mp_float& A000367_154(void)
+ {
+ static const mp_float val("-1310028313878567907114692495908315703121191755911131111984360268010339291958527789632281425987720420051304810543373657881574797353695997625625576992435250954115647419075544944736054854015711074248873686155373327776946348644567049129984144807198780234107278733859628145334731952115798551768101817753443736023659080348249001450368140437083583099127029870537678245450148711191680759214684176445667");
+ return val;
+ }
+
+ static const mp_float& A000367_155(void)
+ {
+ static const mp_float val("3260606235276851195099437047707916012280054709370077715052312896011476347066426313756906147929976324639617487079038182718315850586912998681890040154101217023601746358548442139356881761209491879344448144235471024519916730280314406401197057752850694124801781598205133338269426259564611182358074475139266646779460335469700559434884540406485299632013344690352700850048935613677493364152601347478976955");
+ return val;
+ }
+
+ static const mp_float& A000367_156(void)
+ {
+ static const mp_float val("-219310221923496085124921823808404575155215719519880743817262187359846676808720933963496193287320441312135479981243085410780329920552595746251706979452929554249409283208988310305531179583355242953344731240610852110199480347842183280905881606393786883347661578747110380713468900860626627458517735797820729101052113795399477516376330508889102106163067720003973339359314302749857453315620772706780505888813811597");
+ return val;
+ }
+
+ static const mp_float& A000367_157(void)
+ {
+ static const mp_float val("5831963211655227469096364047000879785191356939385161602680269994879257080042651495531334620369899431331189755049833242684170073167978643108706019166324688447112227778757784415956624614457808484212568132108937476630344240535741105415692911032767001030027558118855855057952089777910853586423077582781831060554157175555095233630076901455631073919888020711465283697536929732899568769525385745975473155407");
+ return val;
+ }
+
+ static const mp_float& A000367_158(void)
+ {
+ static const mp_float val("-23306762036180954707239902303733182709978468580325093149239040051634149745258544596562134540960231525935441270015799599621135682414015382311861534597843756730857227145200622246509066032795288017634942726754909458234645264430702930529842456653080378544365215066466596986953601385998432554535709196917229350478449221406496506432167664369239478872974247912601100426306339312275565475595669640092216631914518917");
+ return val;
+ }
+
+ static const mp_float& A000367_159(void)
+ {
+ static const mp_float val("28122967090195287981055019523746421026174611154606607881410834553821571195600077156388139504050817072318352135336014937133504488344591033637378875175488860842142200215544952457462251551728305545862703146471647483394138505742989863336231595764600339418866218322681285266901817977284569573044604541872422517736195703069383015638214571378546092320911382385141634160156861783095114673655212399723765743717305197851");
+ return val;
+ }
+
+ static const mp_float& A000367_160(void)
+ {
+ static const mp_float val("-3721822981147963543473628721718160389675395897437503779226807860482566691214705959016239951890193486758232537597591642279654459920857716018601998378015710967458002507660860624568924448328452560808376796224541899685756821793434321138838512925307216420554703983171171540795387100799809353390519107647717976213032752752815159815739322121041527686676774334782328158773314452206678687770745486976844581551304048486668867");
+ return val;
+ }
+
+ static const mp_float& A000367_161(void)
+ {
+ static const mp_float val("11947011202513683767723104489271471097868501873399758887514336934592822829976646702161909309680237660201998669294617552009638464244432709441651377979627696796385888263305915811924616794303093449550416640107641304231571552322204363229110497299236034396583681906657985198177302972578027688117382447661848083476283296893356637990999976607059658190271101386708876477455968880271181353449021120174672279118531405266405457");
+ return val;
+ }
+
+ static const mp_float& A000367_162(void)
+ {
+ static const mp_float val("-3.82939382669485144236796360534598641464412319414905512671323836952119988303258437755616398460277596589929462002816094820950422909819560424366194985971708755054074994120611502054649000917588470030719955157410740785540242420768677515572657924549702183455169967855380465117709578624959367223624074442219555371133295420494239988387932905159666464887105549892633441103312599531087315128477196230991623750781378887963394244733E+000000000000000426");
+ return val;
+ }
+
+ static const mp_float& A000367_163(void)
+ {
+ static const mp_float val("+1.80838307251539286213037013563537200013162679309314888077928764992882029376850859270752105562802770827616582970567083806403106857452761293079907898157867679112901521943879321373403686342611036062390075785581242602354115977490536551875669202650821380366878981957023415109458621164019663349961706394166147086047956000347487542767906175017384350968552835315182614668440553520650493613602679603036528823130179729566364761250E+000000000000000420");
+ return val;
+ }
+
+ static const mp_float& A000367_164(void)
+ {
+ static const mp_float val("-2.03892095573216670456354467587153929853466454883234459494041921103100468624488798012999072283348190699657499500627228377298955225171164533952982467467229572138744498976519709435662568627725875988752906388406344172946446669530481715487975393601336024481447017125531286042005245945659596667739616513230190662881830774445494493538883492510837067859273549449481241143880001310044222670488780473605710008450675716123843756117E+000000000000000426");
+ return val;
+ }
+
+ static const mp_float& A000367_165(void)
+ {
+ static const mp_float val("+1.64507402617612014882865140866663413858444125808139497240001550383088701887207196581198764512079310327480308111899113384034952018799178539400077783445223543411867488322718098218284092982079687391392270146095981067032374720432289322985638009843968659437557957583690829548884373028665004080971091630185556556976955941146881924211415993136891897784276903596652562839482572912454645567415562645581833303126806752992741294727E+000000000000000436");
+ return val;
+ }
+
+ static const mp_float& A000367_166(void)
+ {
+ static const mp_float val("-3.14047405731393870136073238990607884611297344032678777408390794685221172163370836250617251070663470292244709701778302907974571048210601705343631482766511605716990948810491808036604827336445912786362245344844818508147544202737098212011999082097604691915678402522477068760758560907812094567642327670866884913570874699009066923429233360649281797245463707911099569748007893039517095998922463865829612970953495017491550740260E+000000000000000433");
+ return val;
+ }
+
+ static const mp_float& A000367_167(void)
+ {
+ static const mp_float val("+1.05959450712139358561614326750678748291627849550191512662380413294068107407247886566713525350838198788534238121678429166419664041236233803606051817627731575939553790154021616196778501189528768078400811107009317850171384096998455082824610437919969197421385189475358775596537026092374519645052975059595487888618614275545703577191947383711761849232715855501325445057452043875112980841528855594013764288125280661970576229406E+000000000000000434");
+ return val;
+ }
+
+ static const mp_float& A000367_168(void)
+ {
+ static const mp_float val("-1.10968358518556750910569006059104612436322304793290197896476208195051113971187304256671882613201063543710887491006989203213468862095728086421327649757926706375373160032479060881414285316805050049998250096629298691714712337731033133063244894833650574221421335477496494331790029997128928883270452912343595756835759921082499027715633187483508227173954421007445739076452215234463953952029377612275096135644427285378787750547E+000000000000000449");
+ return val;
+ }
+
+ static const mp_float& A000367_169(void)
+ {
+ static const mp_float val("+8.71667613876289947152259213998641324359438367113245978510277002562210922288209180150151793852558736029189876363096736208315035600167649273464678134646229708161579214485318416128870291425640987624153304026736765522468963515580422620761261195314156252082303726799452238319359220112879725078451979791840912313059346932550771416018721541922207119333620480831014488368439858212426770461809324187079997350701358985200574078188E+000000000000000440");
+ return val;
+ }
+
+ static const mp_float& A000367_170(void)
+ {
+ static const mp_float val("-1.39969199374294532188729693702577000000465664934371179035889932037927222630615161871008568258760858093560212970955512057983700284904139662988796471588843837914664871339017278834524915750717069973487760152722966363103180527139199261072959205960570607504345672675033426810959288741490491658133099197637151741354653719448795255505120643394167214213806837785207626077991226383344774422283805854628774864645574223075309564130E+000000000000000446");
+ return val;
+ }
+
+ static const mp_float& A000367_171(void)
+ {
+ static const mp_float val("+9.99866869350557363722458479004395830847953169240152118030482972984856254139343285563059710426142001310818604300278555911104883557186325333153917124330048368249458087059040520529706556642732809436335612822769043297715578151918469336944179483860946506334004186007324467864842978559250174108263899703085692274142353761805113570952308838426945093917953996642662776561930695988488695006166233701104386823791719249365863288963E+000000000000000449");
+ return val;
+ }
+
+ static const mp_float& A000367_172(void)
+ {
+ static const mp_float val("-1.94356679464122366000063557526803181773780189986865586930470468471859228425694058504786433266248071070241357852997996746858465840302305980083294616549646400625576028335211891585990306706530443024292005212507923297176295319683924222692899007109181484350605033720455977537412753391449552230076184112225466977758107807474464786617907430190875882986119938092248435594124373282872567798564823377548279080286015910416480439899E+000000000000000454");
+ return val;
+ }
+
+ static const mp_float& A000367_173(void)
+ {
+ static const mp_float val("+2.35748150954047015750061383426778147376111170021891688845146255881245910883215587004762925614952663164217507306817544268998903832767678874032674806866276762686859664936770230725545347704885864836420622598430157374668204179638548021664582329680823828362162120638448973125051055526263788305040144520884339262399972582801116202897933606321412120878779459660750339386877371328290404824384630449131038276803863555856827022912E+000000000000000457");
+ return val;
+ }
+
+ static const mp_float& A000367_174(void)
+ {
+ static const mp_float val("-1.94695824492640851981992854003531231979402523115431228384694144553383388568488418593866335974929352892263135137988528832054474655855887008467102754354246526880124562963827309084649001469648129305817294522557324992018132173645306262902298168843323357732912745992876511360630017664883210987513988845498732688663688098846587841061988223759678115238048937072429525779210433250369658282537307704808652558394119817374908458732E+000000000000000465");
+ return val;
+ }
+
+ static const mp_float& A000367_175(void)
+ {
+ static const mp_float val("+5.02172089109637973079905157308517324166048351810351159422375337574332573514046742139861365117790762795398322755462389540876498686325519933386024542998456467504352201616875674226702066988781736776780983675270711591178536297327588046501114273115924942240089195877277170211145955479537604561876530663522061491492548171664129861255728492613537859772665546205365872403842851465588616941966018356565181922169705164734493393477E+000000000000000464");
+ return val;
+ }
+
+ static const mp_float& A000367_176(void)
+ {
+ static const mp_float val("-1.23595612458163473336102111542838674764831835495331502431774135351050074096606458390189947949855899933224956382090454659506523733852842909886351324966274684823091833542355636103776512914842749831251392589846063826895163366115470020631076054800071496634622909233303706997995125130120515859762839469193960001284685791277467069230539953616534532549898448827387071275667857164787765007253139087944551495091418632200084873394E+000000000000000473");
+ return val;
+ }
+
+ static const mp_float& A000367_177(void)
+ {
+ static const mp_float val("+4.45869588001267867904524148334517372764852692176040414939578321538477487766910195634438758738916857301912257921598085081444059552783094118393374017592783961746096241926858841239939685011047671843464779390679038465124395229271596498987619658165252867917288543464856867274202752925695113115455877050528889889691400313300031512006014327098936138027297016850729686810907035545615256137867617945870698810042470808115312986101E+000000000000000469");
+ return val;
+ }
+
+ static const mp_float& A000367_178(void)
+ {
+ static const mp_float val("-1.82495206046873904911888730195578392542742158189419165572201483058631713239993286310730007153547123494428248048774730112084356479245773939761215641940703917905251697491289828281320771469027807218413878501627758624421999344748799396051504258838307066367023610840523355688698436281986262212424940765387676142291868035163531302631798346492422887879603145311495645065447520976145138478990206297767011150982625525621516299935E+000000000000000475");
+ return val;
+ }
+
+ static const mp_float& A000367_179(void)
+ {
+ static const mp_float val("+2.36981464930893504322802139851626699592628411111024705468714562373236936184359114116421846576636459712777920335379063477621836359011586413752593417899197603105681460352445932378792454366478006099883273862981279429149811312127273076915557845317216232626859123747826538028989342009113243530964905487060439628524659079587516495492222868853393802686849471730531810057511214889218773379759921377350465287299000379375481876741E+000000000000000478");
+ return val;
+ }
+
+ static const mp_float& A000367_180(void)
+ {
+ static const mp_float val("-7.78920925563520089023277887716919839298513486135455047496265119151473505464734957690937635048394537294415972122421086877478533967411348994474171388256074145035237797802154822761617528172700015731068657547092679836095543042179681364991968425138238530710252585175316218097390905698054739393609117605669741881868029805237983772228322424502491583995084065878787104609542382045050185577023575049548616444750140539582676309391E+000000000000000494");
+ return val;
+ }
+
+ static const mp_float& A000367_181(void)
+ {
+ static const mp_float val("+7.15341102258098940319912343996707811685084551356244645540933308810413928160891724298276851619649551829973697033587181069271380692407132317161739109284011945227649892560360729074672778640720680874112214109997197387525352062913504682830983772725393570468326491083187300331970668449041594296073065276692887678729691114916079642579900288026881432235979137544823640729868705093774645241454622836223176904124630526882732099120E+000000000000000482");
+ return val;
+ }
+
+ static const mp_float& A000367_182(void)
+ {
+ static const mp_float val("-1.83994704284560509080143331178864945957306510140556362887227174299509178095001362725571174029770528390421056935974046932576176342016005988953597082133027382068622428496069759470765394837773410466578603762032969931215393008151616936600275278502730815274946735504403576344305962086433603582043712329571511656576075090172532431529161167197123508432861722744879905078401240307548330119307218087296592071881654022732677719089E+000000000000000490");
+ return val;
+ }
+
+ static const mp_float& A000367_183(void)
+ {
+ static const mp_float val("+2.08132436796701974026578645947003622483331056287355745054077487521943292103633640299040454986839202747859043917118863682964912263420747609368917895299528283537128619646155369384340380796319852058383198301591487844668907655774787107504112390867072793141133404235025281510895382567746572928950673725604338682612859326696437844619128850349843527450121343248512668807180114664932080245723088399660184314807010670380724658487E+000000000000000493");
+ return val;
+ }
+
+ static const mp_float& A000367_184(void)
+ {
+ static const mp_float val("-1.10725230879881321879568054811797526267115166186538309029826133137308115277324207270571040263441920262386242076342056949047866353534514266980024412370434220187359560062050493440457221035440089226046696014690219122751069156630764313360960761587856716000690131098571105908045239988081704908481660126863809763243757816063349431021332536632587298653399772920535661074013239670953426088742833252653499763654446938447050846790E+000000000000000497");
+ return val;
+ }
+
+ static const mp_float& A000367_185(void)
+ {
+ static const mp_float val("+1.05436468101926712183015966237342027981822548065378183914917892056155580681320203026900330529498978410421348989042633250982811992039971268918718464971168941583528038472099497987423279686033847352373713634524328902029631237087627685630315840422522565122391280523543475578415123567558920642396486080328677738780748081096335514622972327452414694848941788411853785238697682675444724646915348071662104156310859630089274744685E+000000000000000498");
+ return val;
+ }
+
+ static const mp_float& A000367_186(void)
+ {
+ static const mp_float val("-5.68689887479725062546595969356838834637165735244271465973763661719818022334876305372616004525159281805027852148201245862326874603338220561904516781074854464001778774464175567157110320552304558542405958683886544510802026750477442449914161921155240250848138122279301631232871455887057274294567790829683908770938979791609653239059931957062789854858964405956367751238476793459108450467141633013252245207107663259368956008194E+000000000000000505");
+ return val;
+ }
+
+ static const mp_float& A000367_187(void)
+ {
+ static const mp_float val("+2.72335219988441174665711644416817037788222316888226564189208490175239816964949116186510825827071430823770205468882164078844664808347805830968230876961416199262466469270666791566377066677591980435489655129480366457251098317170822303846655426605965362124131884076377822163533931299954525682197137509183234465716344628166664461061213432417726255707234519256021790376040458134340655641181955634260392208809071001560270930905E+000000000000000505");
+ return val;
+ }
+
+ static const mp_float& A000367_188(void)
+ {
+ static const mp_float val("-2.11448863259688474211368626409336057907308780651582311178948123307648749408172327096552874492037769749109885765035616618002492789913191133095823352815926474424950305532082585483413393187641974611474328489916863382427110986549311443047251485414372153709953470517135177735029061691740899442592315104849351444284380910672661312423942011226708882527720648564239583723740826159706855973869917371798443494955057001422391239030E+000000000000000508");
+ return val;
+ }
+
+ static const mp_float& A000367_189(void)
+ {
+ static const mp_float val("+4.20215232484149085158219849173415405489891098922983569241602779548148546741181251689236609534861967333749055028042598969140909285617702784689342787873864063319780937598384842703648747867883936235575961080852921211093650147700809742931981752992799377621501168553326143241007779172845839435134322891281282911736199769779343344890849053169766072589382951964445413996731875824713537702544435217008916655393980145141973517955E+000000000000000519");
+ return val;
+ }
+
+ static const mp_float& A000367_190(void)
+ {
+ static const mp_float val("-5.85016197049150516429606755440285431916223316191798033687181061470667150509536113671258201054717866226570169976401850360230659699699301963057743166370714339259000981058060988677132844370590538962044247092297537672905410985648312911796535010450651733583075122028847986584025427113069993778348629306554503407744980050377057969061170508810412927919930789637438916383763636475443274955653725558963454824998976936559504337388E+000000000000000518");
+ return val;
+ }
+
+ static const mp_float& A000367_191(void)
+ {
+ static const mp_float val("+7.86319796092893450554695011193950083791180965137235896345688770047999272024958639459862838236087144698807134862378170374149790360310062353830250324762620839643879732438980608407229360095903011655438122640893141975156888387279010186446870533894352899515156267403392087586823750614165971959517592904586972986027701098184536659472888737489727005807698646495449468172070719040780634549729545772084639275300568570302009860577E+000000000000000520");
+ return val;
+ }
+
+ static const mp_float& A000367_192(void)
+ {
+ static const mp_float val("-1.10754162756402172153014550168566972984876925083693264831143127544432717811904992984077240231351850620045442158975752476209437945003921292257289655906112174208294630503691959241009346814626779961417257948400146389011140929210993075671069409245612465372014808443841918963732454979635619634196765514065569765406021995951240364020270070411437377187081353045931837302854850452592893523482298799136698133585855070465304605235E+000000000000000530");
+ return val;
+ }
+
+ static const mp_float& A000367_193(void)
+ {
+ static const mp_float val("+2.87911488318660962082672353206827610413984544982589401994853067608661834988323324513908466341692945876059703666741371797853002147214826407059728607061685789318380725915877198087771183697336447022728991956882235888659007323457891007577518406036718857731183261488700561235440006367243962998446573535822653586553291070509424213270063526409629620505237062683825267741874980151807766428939026282896558562307089700264076891048E+000000000000000525");
+ return val;
+ }
+
+ static const mp_float& A000367_194(void)
+ {
+ static const mp_float val("-2.12991147880947573971537067247145364132920777752220091972964875702763685497676684837399056547596297942897220590885743914743943841163888423934721987798908457928357833682090724030701668183056449929356340959493890058920157975990605144754003513006656860950276684281585201054902456125782263083320640198748322382966038588499917419898854540922538896608927544367596359045207255197716227915678066256365685379089962109119824754092E+000000000000000532");
+ return val;
+ }
+
+ static const mp_float& A000367_195(void)
+ {
+ static const mp_float val("+1.03955441220430406099905047184293587166423823612952503105062119790467319025206181630607678300465219261613352777472349374939446154581613775167669116563736394493048382631903692742255314133010448329629034247650705334420681764871912900141730117973018290949463660679599557615656051706023584759269518272911302323897521884391299653877954374764999935825260459008934511892125710463944591323621114902453821635861655611589968733716E+000000000000000540");
+ return val;
+ }
+
+ static const mp_float& A000367_196(void)
+ {
+ static const mp_float val("-4.66695632025751781692648017848987870271938714890023252252791233979618871440977666385636214171998050287597080694576271293718014447588767799255817579948130158601920206002818530705631143268731979985413534024106223139525991962930549063535423989009021707255789079152868947926798749669926359814617149589320301348557522754717597013177160289456851649598661303715186366657739067076516593342256474616899699441312548496925107118941E+000000000000000540");
+ return val;
+ }
+
+ static const mp_float& A000367_197(void)
+ {
+ static const mp_float val("+6.40808912350356174378073333715330795309912947431801296035514496305956924194050478724997308276302531933458844716623312895516343306208024932183790655351844102967791249508631724180677304236114904329953319103713608769803340518450516179464461284806009110502342220743568034682133273443656465906102058462073733441986152637932219455262690498783033366796807895595451968974170018589790265173871732540219203496470134837096254721957E+000000000000000539");
+ return val;
+ }
+
+ static const mp_float& A000367_198(void)
+ {
+ static const mp_float val("-9.88721621966561148765332193626328913917748393420050004369569387264811916954171227259914359919204850037848865164209491514082744037508971240530860484708097053877150205636763184912072230284654133188476251192712353503522179553028584279607562867103486123224635715566628419901003148442704056714596051123460682634021450708898416970075304559322826006913140287024163107231474177559429458771319865998406103691924416594616474259503E+000000000000000556");
+ return val;
+ }
+
+ static const mp_float& A000367_199(void)
+ {
+ static const mp_float val("+1.01619003132155663199534215913886374023281804253492110488166989803190728169035211453457262211630841056114503434432211375276907228563832097081424714523428753465396668635584828350191568047516691169323227550857214608779387901814143411744215836301698022484098522147248019397667016267076622299047970087797064375788743369973032382181165739687722169700364895613737474076301103620208218196808542089296071120138556683484262445970E+000000000000000547");
+ return val;
+ }
+
+ static const mp_float& A000367_200(void)
+ {
+ static const mp_float val("-6.37836392102899987100889736245882339465660750081315394597463772253285515127634023302789056061509659428612186547534409798551352250807515994557623033743228013767844748759035357201470841469676199651664804361663249151386523131611584591474384405795632554144028686794686434437254523165897512578873435193473769624127965433533785103292276403259603548004343727774698904484600174619641521274110076496631988736911883028507765498511E+000000000000000559");
+ return val;
+ }
+
+ static const mp_float& A000367_201(void)
+ {
+ static const mp_float val("+1.17423983553999455219049751318236053503238758360505726000772200488305910255795814470494067428749230422624721284905998983391025044512592203212766543638823953866169848798193251300057957776699932592960622329147266422457617829171374287272312763285399416954358440327018623988988393431176607780378714053603130960577262099472015817743248125473787750109518440297265691774517522666191313087896013861873084074195816378819585090156E+000000000000000555");
+ return val;
+ }
+
+ static const mp_float& A000367_202(void)
+ {
+ static const mp_float val("-3.45903891842694980732015048493395694585324315959535041305307560112247052191695566497382995350601999842238087216796856606726685740102667031018401379661128901588441213462389670552655863377205636569450769738960088669615401516086233714003219411111793857968115791408542448654532635534101776458785227188431801015221049888308981666803079099223971749945727516451381541469207235665390844565364250294439462303313140081224224630514E+000000000000000558");
+ return val;
+ }
+
+ static const mp_float& A000367_203(void)
+ {
+ static const mp_float val("+1.70003857441113621055924711218201581479060969973774823543550655221015298985029713903581691625806778175064153013683952617568923683195904825491671562597778394848940698100060988046881674679194048284424046096930240621809667552628402886187489064670995742803216624905991737595831860741767548013712391467620520309900241319253287943675129083092747241525094828376937402590205346662298390862562643436019735148452642958172300132516E+000000000000000563");
+ return val;
+ }
+
+ static const mp_float& A000367_204(void)
+ {
+ static const mp_float val("-3.18268821678472690367952641359970352613261067423935316312625135469516217395381294839128714629790864646122696311597875108313589370510137848068555516473715235682332307763080949262669131513778719256477203343901233423138101383364932937892769246391274438233860145145026828827167093338865880475567374296304277379788912502912121648574410660679529719349753329363675265830688348759824744153091222213715437509402585792674523604891E+000000000000000574");
+ return val;
+ }
+
+ static const mp_float& A000367_205(void)
+ {
+ static const mp_float val("+4.70023752335086806154925750228745182505802165953221881187293885817790572703578909097576609259612048650107641573576773396406794198010755293758414058342000758597101515394269857927227651139631987730762330387103053323761608332245274551978437543782423306631259023542333183530627992031636037343661358260558335452109436639721004220128711197262809721530825527742820153163101076758847415912389873295224320701249956855854697941669E+000000000000000571");
+ return val;
+ }
+
+ static const mp_float& A000367_206(void)
+ {
+ static const mp_float val("-1.10407438267904044932245764047490655956467403301201804055276169397519662339870126339584313457491906311197933497900168985674580179143184483519288034989721728829351302082076181653629234077289541324361645793146743962432061954532467939669342647947267041500549169372930162989091086595292864023659159340080525817986142928310878267738085379972925255016997550744184165687877987192200980757565927890596616420003756118628433587459E+000000000000000573");
+ return val;
+ }
+
+ static const mp_float& A000367_207(void)
+ {
+ static const mp_float val("+8.30966056816864165219563221691255172504816245427194942775778460297239574008254673723276280782798993878568376502765275874049468633347470545478154168815827272595416765071482194437630416545142455883532025709379623773918422191234979559992742090527602639659473260751398640580101548381014113971979542275363074811349527026580264739170503267212543977947471780118824749687917395812884246155157646166836076504356150965742303158590E+000000000000000581");
+ return val;
+ }
+
+ static const mp_float& A000367_208(void)
+ {
+ static const mp_float val("-1.88406321746538358649682325835415560844246076544492383633508163564547804099213154896691530426404235719045836154467076874273276820185402062902437417930461531409317886771692493646762594583022318853261208951495220104317251070715910634256272720254460591674640338146619966553429024046780204638986663636233667086370843997297255922717850093318626963167296125792455986155618131625076654483870664013433299998182435119621095832650E+000000000000000583");
+ return val;
+ }
+
+ static const mp_float& A000367_209(void)
+ {
+ static const mp_float val("+1.77948829071244383748461224300047737954439245366393998814954157666837290036442548237545354559654248140762601235025124016956688571054331709927511568833209554328300942088687575803158770352778902946800416194092364129368960809507136675944946524355529271391513095831833834095214141413201872443533465259338559071060276534081662109185490926535115165429017697889522123426359409741271701359896235732490827288153220352311977810488E+000000000000000587");
+ return val;
+ }
+
+ static const mp_float& A000367_210(void)
+ {
+ static const mp_float val("-6.12691444939176646312327310228465298137050924839197112681610927582146609697680166934823871036164771257817975797941476199244006723291733516405510792078036326294278263348200699997135059121367110912233175112208137368839133519462520009910064384324451424638323174387328225828789233634042694073678158723064499570405433500399842594546962754568562320055097032453408040406548453529995338633728100927153752800133917964469919540488E+000000000000000603");
+ return val;
+ }
+
+ static const mp_float& A000367_211(void)
+ {
+ static const mp_float val("+3.70417641649773203811105792421530317349989434553176611030631322780037740921920903496806496686319103807921979015270437429241936687918394087764863038019578527638851481686403847480960464641545840936004289242306394237365086284210791291343989458767793541220855587660095196948191905734357956461535121861354233393019487098593606068830314737953863466706245485662337370451037774820208643752612698330292374600196793018724057118532E+000000000000000590");
+ return val;
+ }
+
+ static const mp_float& A000367_212(void)
+ {
+ static const mp_float val("-9.00309704889057549412703055487959300250691255243632314995356843469409197586598181836315775665695203810817228257767800995208832223406044287944134381117528642679552487333128252142131375359121793415508211496537834167452784284536412724329064314223405159310288664698829339128075019109308684058290006604682848685269913509631592635991061291910848588896849609801431590823098722376633326783362640890294817117428008250878447534568E+000000000000000596");
+ return val;
+ }
+
+ static const mp_float& A000367_213(void)
+ {
+ static const mp_float val("+5.40225378036603052990346199510807018158832443697480204250735647980528769665424434313990872758579010452107244811015945468601296416203994681028077935333710904631550194393763004260011111100825548574063403788483396960128246802587868245758939531860810951947380313150279879015996990630764008503734609295336446716698563835417186829599083092840489872534295498661581692604738992833247348405554718444514715819066290814050483578754E+000000000000000598");
+ return val;
+ }
+
+ static const mp_float& A000367_214(void)
+ {
+ static const mp_float val("-1.78631832601908536171004558032761096296603555642069337022466657948224618220000462860819307447255038425012723042570990636159393162920489265496945881843415223197089039558399046230412722134470564185454526546692168928856644009854678892565378884116563496393911506002791803756925372034984042436244890477408434546164564440123159575118382731762120541349243900708792397436983071602078285813659425066659156365690242457074462226267E+000000000000000602");
+ return val;
+ }
+
+ static const mp_float& A000367_215(void)
+ {
+ static const mp_float val("+7.91452428000395052990463674367408774641299277169449382275797418384963666743647706199968141726577699871535620647877271680371011363641725875016441804003162706216814077280766553803448788712737779201122868425785256450531121303233116813021906603098871081632396261587905577208955217566658493203885877312418398060846091120975165767009344894679683148265158035296420969642632188332444968324025169811975004853721487927435823390090E+000000000000000608");
+ return val;
+ }
+
+ static const mp_float& A000367_216(void)
+ {
+ static const mp_float val("-1.47505779907070690908926406436278903967905880575979328703613127976053398772185553182904836979275336476471526202077867053127871958689858345959379267581076922082984033386036959892312151676925212239146594434616886511800434731226005278346189290525699807735955670609548302870777798193704759001480201366969220331449776023162671623775658966419615822267535710003792590494380070037142639987869543490016560432887577451792307471082E+000000000000000622");
+ return val;
+ }
+
+ static const mp_float& A000367_217(void)
+ {
+ static const mp_float val("+3.74777948723013249190078483967036070262196995319721004950125135841911814198619011549356410270085469095562024553680419264421054828395920348232957623922946064229211025115849670614254096564246170554453262384472539133699367436058609043489926484940433001535924350976694798538284096205775504449181934303253795061219432435260009742614505900088509170788373024679338732454965657850652041060078316582665978147857775596653790453929E+000000000000000612");
+ return val;
+ }
+
+ static const mp_float& A000367_218(void)
+ {
+ static const mp_float val("-9.00243602303872329265137769673233267946975216990147426234959786986060151151172751639380364499251949168487224779118186396491935860170406603364241907178142227791955763742401028085951157594491451096283585992115113068460460271116279766996042964660386482546289139684757837536311357656096827258440550754675128600333196327419024011095140970691476996702539457631890804743573819245551740226370394323379320075679673600131892254846E+000000000000000616");
+ return val;
+ }
+
+ static const mp_float& A000367_219(void)
+ {
+ static const mp_float val("+2.68255361246337126367778228815259545045868431029437849645589178925638795843497414272945160749514714084165426561127725005493039810079480452517290207498185200717509668055892683546318815665341535697032808106797631781867079778636900617376382054640817598394038676153517033958597909974830544311249490853122270098045783563026899566057862076965478508567587449877041567729076139718636854981066664507897053160317558190734639340443E+000000000000000623");
+ return val;
+ }
+
+ static const mp_float& A000367_220(void)
+ {
+ static const mp_float val("-1.97154956151549804594528170778135872520205241882046921028710037512440863505288995852842146220614899804036360431491669210831597076631768236019456869765159793999294260860786324043644067058726389882590045500914804759567983746179984946534368713859104804496078924036828289801429087908262185896123790192838236667102003718939519317341137042208805894012372011387582879741134858189955668593897575408093677513563914074730352088628E+000000000000000630");
+ return val;
+ }
+
+ static const mp_float& A000367_221(void)
+ {
+ static const mp_float val("+9.34217844394639862121876161182125782629662966798874841047916685310521671553962326103991809647198275117953002131456853984058360472753503867675200497447364861473654065939291320525986944570166180778722315422080724702421323386482784126733369118721815203984881266971497573448614086191554625693617723971683850141789064565402372607797348631247017594179350444633051496340472506374723019936564961282558140233726105870589191017888E+000000000000000629");
+ return val;
+ }
+
+ static const mp_float& A000367_222(void)
+ {
+ static const mp_float val("-1.58845135682583637310050414378214595799174539534413035558457927180260655307343938945950776141757261524377755785578389794390713400424204955224064287421714210308705949074744929596932632241358688262813726174958748320025797188191224303535908875129465586234092629175800592249211106320935394054787272761311671502199224520443098879151573888801771623192883526328927129807622792528335792700318705689540933290598347707055522491251E+000000000000000638");
+ return val;
+ }
+
+ static const mp_float& A000367_223(void)
+ {
+ static const mp_float val("+5.28209885509128040714518844918737070776113976790847044417861486065523050370503309024768313307636182746179481352859499577280286958706885016518553652932142616657630240045555650852028977769229887492311638629018181531082647907342532515592291931500381946546168366737012953996398427116108826232383858541574771504205296861406357221185275870634782864675061934982893485901402090588484311752574650510906065640811404322762111072203E+000000000000000634");
+ return val;
+ }
+
+ static const mp_float& A000367_224(void)
+ {
+ static const mp_float val("-3.35099695603109510776733003851829391731202182334648782942521938802161744895931735058238382466170561455858825557068604518873136753578420607062177820597628852873650306589786151682755992901383524683547897572590080896485411375473481104390898156727683273131804735347968888158518563133946444270622614225242653995114517210690734092931583827817681722563540477728890442252305075108114827376346732103811421064009749431606057395718E+000000000000000646");
+ return val;
+ }
+
+ static const mp_float& A000367_225(void)
+ {
+ static const mp_float val("+9.39105557276537533708439611731455781771818016618150916127156105912944358939748508151301842470507147420617416663908235618145482944407249187787055206269405937884977095844232222346382927098990175046814460917151621964890278463871213037256971399875889422640315443736454623704693623448687831344474050891290575999649108540631352967440022518847124394585064156865971067040227096943080500189484292244044261855801654249436066126887E+000000000000000648");
+ return val;
+ }
+
+ static const mp_float& A000367_226(void)
+ {
+ static const mp_float val("-8.03678860032978963755490540860643475115176334382763699923937359545818908801222608744308491086993643180310624435731275509096211636848247527669425290581588853808406322385997152607659923935850716369950854217894327685415056229068285642350890079877711278718562344587074715061515078217242260421384373068872143319719392765430726155762551712476428722884142117151263453458539162040133579976545835310146374360398306278613114501766E+000000000000000648");
+ return val;
+ }
+
+ static const mp_float& A000367_227(void)
+ {
+ static const mp_float val("+3.68876510951903593959786317074508977015521801043266751209196096948205606480304749791711335395378622106620447360266215416790083735323006951553131505613624795519044102404320708564462639239792995000924445160289688035381048786725398149812361988544504781753910103380003537917513832686730720009389442465152773861321405832578561326965585628471618149969760751747696947486954386325750905868249912842495426514041322052136702614252E+000000000000000649");
+ return val;
+ }
+
+ static const mp_float& A000367_228(void)
+ {
+ static const mp_float val("-9.23125149720533778680528010662703536561423742473016010860492465173697618007579889621524879265422592203169098998993681442861663979900458559224851655210522874511560077209046961864994911086487443736487081822289849336458502792837455665276874998136092905829824320579449565672374816440378174873057908633563875241743127759347321130907707035989601727478906655055246954769897982807725638938958976528638515026394632213743570348932E+000000000000000660");
+ return val;
+ }
+
+ static const mp_float& A000367_229(void)
+ {
+ static const mp_float val("+1.02782563538126102508413750951856496256072845013222353952152694881735363618170265692858382882871743994158244987762266970742990693428855227829147151891382457095255323436878972460344283856731814144161565525767681218723995255421790894843807617837791022556048911674883988696945333769530978168445592814155261158108021694193019296852341689719506376253855740928753998066125689400939240808935891549697757662722514885923646850537E+000000000000000657");
+ return val;
+ }
+
+ static const mp_float& A000367_230(void)
+ {
+ static const mp_float val("-6.55076015411350995532251952032468976281834530933031937204434394691120639774531650048381244223701443894133529394475008790740584951342643662491054211402440695005691944743452409672335244801744629735887371024861742124557001522512126213561202797228419792215371833177653294508516961085108843787713487800891934198063153121443199171595929956342808132776228442199433376825192175718865692770421387217146592550186160388511019906250E+000000000000000666");
+ return val;
+ }
+
+ static const mp_float& A000367_231(void)
+ {
+ static const mp_float val("+6.36888658885589052901557315727024332985747392751005503244802979976675397327773349074380248113124968457448051653670739606434140113483168871652781295546864249799561246957096519581716048742198568078879341109614035666197614674515022810207552910234037372348299698326576660639014386096667011376490283647522704234214085370390269095365373807109861798705233949400843729425874395370913549860209060750769369033081150234380435180592E+000000000000000672");
+ return val;
+ }
+
+ static const mp_float& A000367_232(void)
+ {
+ static const mp_float val("-1.88572988301799749241127705615416162812212213841895020766690762649760470928083270444552850572643956114497215752611047787304109375175847805695151784532184851620320647579855705925496701761448465808354795813973779680808888167818764964700925538842134054390992956001669225520942778629366261309269472085949866705644243058822229069911401050274835800403163105897188918692416516840686738234446171587614205164199212128303162013810E+000000000000000674");
+ return val;
+ }
+
+ static const mp_float& A000367_233(void)
+ {
+ static const mp_float val("+4.13664867987222956244209355804553132010737311619873937552617773013514076367023256312176160835062661892330568050774492900833764272232882273128949537336490168744752502048943049241434525025420643944559491826884487174091266835019079457750298308269731643882842579624683236689298288625957015934020852065186333120537819299541510992711232749590370342660947186143661434743740645683801183663840994358198551336011498396150912151424E+000000000000000674");
+ return val;
+ }
+
+ static const mp_float& A000367_234(void)
+ {
+ static const mp_float val("-1.03110784171582925834346391191203069803301152693724835574305668967469760272354011299017295664859006303114326060072400434706502794750710048845059339070559509653738427255013456258080903668934666472097301930610763674223216550322369388413998637420436998154407765681116398814947925836989520074635968480325415440112462267849132258794016625368836345176127921014581293555695900561709635788415490431516921704055798925175209801626E+000000000000000687");
+ return val;
+ }
+
+ static const mp_float& A000367_235(void)
+ {
+ static const mp_float val("+3.01188512670574409973522039731799774332284237966284386701245748565406164428681036128926063056095855532173991462477799681429260898037617758622985941710976235577943559100259786932475830383970536995316845412258295246742979426181833225367398491810295210078233611825547244385629725708901995508766557190851612705431746456650510895626334976810141560416672624945285953742157497174172068239724208754377218814505115022247180573164E+000000000000000680");
+ return val;
+ }
+
+ static const mp_float& A000367_236(void)
+ {
+ static const mp_float val("-7.70937004570847542710916650565931789612450235859854061364164699012203056638918055135259895416107273426948797500232897203853071790393885116465171393875976673693385000879337198213556447794398434782352654738563122022624642967864571454383814267648876048449590603480115693689162580755992686116534563663816203506520969500954741353683081691871170841572853932684457019190727452579388269518761070066012225637906766598808889134767E+000000000000000683");
+ return val;
+ }
+
+ static const mp_float& A000367_237(void)
+ {
+ static const mp_float val("+6.12952292169890392422509409889449397535534249520258396707026864996049152742542554628612899465235974779561457672930090119328846836409835192142589860586599073773776319685962393963038203188490802762813787704449077187462862978005733804889649294757796800751981500316824639564346558434304319323788088163599841936858527382357472083749625528260149699708880312630557525481420723948112481931077760185178000800453453098222545233028E+000000000000000687");
+ return val;
+ }
+
+ static const mp_float& A000367_238(void)
+ {
+ static const mp_float val("-1.73794233423007364057178441776478220477329295247992746246194028033098955394598434863688615219916214324301023001093357893746330083903744204991166650812061841423746487587175286790822799578241212757499312100323647899801856816587814694250535160608651214203178715194330829602196319299830498255481024809653516681647938371069642056989453238492194899464534194575984259211778777474726825907276342679607943595029925764974686120494E+000000000000000695");
+ return val;
+ }
+
+ static const mp_float& A000367_239(void)
+ {
+ static const mp_float val("+1.38736748329237451706365474934079747788120317871624843969222035842450993638752664103925792499776549015462261382557256828901651664455343262119677887709650506063356203296293922665090066676360603460808284039809008707284728447012008490510310327211103838969929939606007204472641770113794896969220126392340549450464935158306469160755287789958752638917244223242248711043212927798168660478695941988170755018313199077763545432669E+000000000000000697");
+ return val;
+ }
+
+ static const mp_float& A000367_240(void)
+ {
+ static const mp_float val("-2.60129842310829381223212057111061370257368363088110994209783210171469302730056712182138015129951502330490102233258083872077606523121858844890402047543811304252232061049089493484836943970537007793238065981663974836249670263851555843148130892752008729859310855439288221646643681561112498182857066985828168478603167682513855683559113767894199068203603229202702727277325548667971053175237595684957360212993877625995723525672E+000000000000000712");
+ return val;
+ }
+
+ static const mp_float& A000367_241(void)
+ {
+ static const mp_float val("+9.90616118004405209547336756803741296643221987382321931721822820900299097210222317336001831102939236490395767769383589450743538317573906480157831910388399026009549363482047723522295682385225255084608513720106406633464966275709378145660935302980557499077874664887504148114522460257788204486783699727500508138689641080038916313291730518751063292404119140988768624151887967557709255327422581104429283482510069570158085040668E+000000000000000701");
+ return val;
+ }
+
+ static const mp_float& A000367_242(void)
+ {
+ static const mp_float val("-6.74583921974243806727583626605726893305001263343470277847644141353711283719144748396214643464815527720051176636837830641202715031912558545751272265963459158832678711777574436725109883048688054377892408030247686556398952252471378342025741011438575099484896341336771053946168596117603779433009583486087778261092733102095362575294914815257723299413552987428930625441349976483182063565793384408266465380474529520534826114954E+000000000000000707");
+ return val;
+ }
+
+ static const mp_float& A000367_243(void)
+ {
+ static const mp_float val("+3.69763997577304898527792056092078784633064579850215089906718927953975408532819407204558577594984146089620623998022051043813802512840569387856574528038951679028036813020229062675066916989178254799161955591299056486170972788431152654760791766791190599466061280142672740585701636947897534361260451582259758691868004875864277790983654375073056163053627813804545640618169241729192679530964042280652574338325670662894789508967E+000000000000000716");
+ return val;
+ }
+
+ static const mp_float& A000367_244(void)
+ {
+ static const mp_float val("-1.05418168738140963813161691085391135445598065791378169261647085514530537644216744767796635904185877215488052889146175975940867052403686733039345884755407780502211337155151276130135366864188194331564067386241198640208470590827183303724844114855975820337364967929014816200930710408571386143740702777024908466506956642480281869597840272345550833652557200792479799508866899639341280300673697162788952261804853628790825262220E+000000000000000714");
+ return val;
+ }
+
+ static const mp_float& A000367_245(void)
+ {
+ static const mp_float val("+4.90708060345718168482949551065008296976352341812156850912460754793773228598743021163789697895339848508047563198613297970895771272423084451586762411542433689884882582217920150615320261296412657655420294950882472519077107436411891314989684272827405143453664676299901282427746214002776016429289992734596941647026794542862610180682813869753438462413802302318288921935542654412271101075502309306996459972517715826132089736598E+000000000000000722");
+ return val;
+ }
+
+ static const mp_float& A000367_246(void)
+ {
+ static const mp_float val("-2.95710682036368660462889828594612232955924955002201524705248520206592222985898208468564409024643552663319217301279279456599515167727625150606450018918397365866826625510003837807762234721907229268939728260753209578951485832358379661753320905096937054954098245328282838820612002927999827875337943367582502020545668956501113411001279555402079055392887648432396357270387066730514118593546561439603919778742559512015901475146E+000000000000000725");
+ return val;
+ }
+
+ static const mp_float& A000367_247(void)
+ {
+ static const mp_float val("+4.83049520560700249858177567882399789086824383553406567918229500625907963552412466894489636117289385056013694632157195762896070359698773642254744021501072670210334726176330024986667395407197260672089084008686294716524294580787684846264392838844795172809782471928593994008782969148055489295860549520545509416900467263873853432524745078962055365592853439992861256734658389110188036769686342340589961430764533190073583476951E+000000000000000724");
+ return val;
+ }
+
+ static const mp_float& A000367_248(void)
+ {
+ static const mp_float val("-2.55351092222416989726941731939735187747162421782658772342790781542183062881904535743913453496070203477011043893060827276406622493289947521543729734223619990927159227596335212703785415077907697633574562763787265956264597246236796039155776439477004721066735935831184369600628941664023128671903765929314804640228022409674362869300030985090861317815538083359335752728883614027151077881131542879963858614862072575318992227608E+000000000000000730");
+ return val;
+ }
+
+ static const mp_float& A000367_249(void)
+ {
+ static const mp_float val("+1.09865122848151584611673560594290165754441894276368560548381912845497638546489943473724236724095238506744474900836564256806367057972840967346175127292454912528560279504541320374184423042635861675985398329422741182189709234833344612099575633961637349062044653629889016751770974632874287029915736629535639003257698478643655378973595019757875361471141167104505491430542529353951978597591329218845843547284003410332653298427E+000000000000000738");
+ return val;
+ }
+
+ static const mp_float& A000367_250(void)
+ {
+ static const mp_float val("-1.65963806405685572298521230880771342066586643028066718923526509931553316412209600840149560881357709214650253239428092078518579928602134637832527454090964209325099531654667356754859790348176199837272098442910819081455978296749801598899762442406337466011207033006983290297104826000697178669172291137497976329300335597947178384074157727965044194649323374986427142260817436887069719900107342620768812383228675592757482195884E+000000000000000742");
+ return val;
+ }
+
+ static const mp_float& A000367_251(void)
+ {
+ static const mp_float val("+3.81421608664672328845543092240346516340931381205624082299372843352624625821500757962198595520521720316210403043956391164900069215434786556671549407395563775036241203542775443967628108879629423823252684069175406391010806697247644958141872978060625152073182496722952917663297239218263778565156146246159564405157677350381662138593592582605967871816384718602359000180417988492342645684125372900392386161666896495551782426435E+000000000000000742");
+ return val;
+ }
+
+ static const mp_float& A000367_252(void)
+ {
+ static const mp_float val("-1.80067713294503916683046317750775458526637950382699115109296603403157644913387858714259646530524207316014415255996189807707809750116516392668862153256205378633231305158176416935755352265287418779269239640213014976280698799327713908439103203004637804499824966209909271412757523805158702871417470175538400461663160237512755478238474731593320458934902914714951693251510763594809509816461021091353620804154445042010052770442E+000000000000000756");
+ return val;
+ }
+
+ static const mp_float& A000367_253(void)
+ {
+ static const mp_float val("+3.40709266400088802120345253132185409750557477178001032314011524363932969576064150121689027468760291540350033088128671822652497356627945680040099513402366376630418955273249511312740296674093758504637830809711869646714541706476783773351056444957643674609304891231205614937455184753846785498530622168903106787212787556350159388785620880631669513559487753144782400316709603606561757570505655738402214846062751569020838680770E+000000000000000750");
+ return val;
+ }
+
+ static const mp_float& A000367_254(void)
+ {
+ static const mp_float val("-5.23308721788649191590629342488110346777163464354511715796256801575045908756496506126040717774250578355766947860587308759106715280045233875045181668142777380528687668663550575767482903597189698334528224912903780514321504498758935786771617250440986000232865116904810995805073837652445398846096830699656105455357201870213179789621177392738163008666371039269035770968525069727859783667781654118976402814708973359630930041610E+000000000000000754");
+ return val;
+ }
+
+ static const mp_float& A000367_255(void)
+ {
+ static const mp_float val("+3.32420693949363478414164527366994734270241721388456820192565765841197658711903129266061006566379082144239695694846518705844544992415077449569407788953915391070837640185929972714379661241689062944685330295283663369639489503742389501074883060605665901267498538668548304538452585558550477856576806035179547745814679447301970518594767371550177278893379477070742000027106534240294853153729533565630892527050658093610308083431E+000000000000000760");
+ return val;
+ }
+
+ static const mp_float& A000367_256(void)
+ {
+ static const mp_float val("-1.95740900302444340472133512465722873498892240903861053320855300215652124683096290788677337350823931798693608073483670699788489766503083516422349326794010416933735230838846364197914814100495969250947349090757223648905980795207103494104980824924431323317273911590878011997959999814127215028995114434507899470248626001681681426734093059626346895022984330857334326781018983541750417321363368056016499311247662002343938460831E+000000000000000763");
+ return val;
+ }
+
+ static const mp_float& A000367_257(void)
+ {
+ static const mp_float val("+5.98480879359201907125163770563923701266503475146823811163033537760978572333607098237828641802422568128162641022551506522839790215028962181225081005006671377313730529756188134992525981459221835869328406492413817955053764371317354907924051284765204436219802148169693513726291285575167597120604869943062137770433592994685888659952552276741279654459431249389573043267211778995061343305122476888434581940153542602509483273269E+000000000000000762");
+ return val;
+ }
+
+ static const mp_float& A000367_258(void)
+ {
+ static const mp_float val("-3.17106375413066202452441820896216706783904566514867326868891978820112213799358317097180836466207427423266664205313341609268979260421154862276124816443470509036970971206432573375298479199299516629560991002071123955307979065471852143834666287371604593409326412724024828697737299648426773625926500843881599898499333659931666327001202312501292521485179065535180817200067274983884069350965526326660140103752830189640165023991E+000000000000000771");
+ return val;
+ }
+
+ static const mp_float& A000367_259(void)
+ {
+ static const mp_float val("+2.73280120135903400796020253856496684011788906317364748953085333993961201260103100240458401853886188153815729448551782636694969615369921631309790968386191316441784908017981662481469984984167042448669367248157448891503875887451536439734237831153280451449416018604604766043854195342721279546881034771821254740522985524013298494222843478038262936400568637590829723962229916157673134572264808025853029183736196477170743136877E+000000000000000770");
+ return val;
+ }
+
+ static const mp_float& A000367_260(void)
+ {
+ static const mp_float val("-1.52387884286050393781150477405361768047445672066670152731386658119366924018549384058385693640759988242204691411870888556385308789881361353194595122419693229360543498293607033753453768103544362717196778910438725775297840181946895985224362889371383350182023182833450823836794914345191149211687613093403631815743771198585469857938194040591662879303590674601562798625480798936084158917658005327679315870514911912929995343060E+000000000000000784");
+ return val;
+ }
+
+ static const mp_float& A000367_261(void)
+ {
+ static const mp_float val("+5.28168912837706058300773133313257899555587106960109572593099169926084645995536010041644416988320274543220347636616930207795735994723115545688498750717900197870506209028410072401487019057548087850004588603237730873479814196999295434481931067137764962841073981130954808986206858338403526750137235752365371892579241900939848497390232913786112764562239393544911287045142382805501061932343506473618683674168767747900246746802E+000000000000000784");
+ return val;
+ }
+
+ static const mp_float& A000367_262(void)
+ {
+ static const mp_float val("-1.17480689361211447313166166251468009699623620454033000216107989040817903547201604849842869006326350982666775508399353499159203374500285888028447665181130108241126172167265986373064691330530553024545765476110712894561169729072048098673803229242910482386856970956568830040163881098991269512281296124417734272552022576687786356962609072212836896669778015016245778355013380888419277861827003621062644161968802514468533744168E+000000000000000785");
+ return val;
+ }
+
+ static const mp_float& A000367_263(void)
+ {
+ static const mp_float val("+6.24922331312776473211378904153389829248973306126285038561741107081420976896525537385643705333526763797786358447120246174604555658992998043496072157747024812232350202780442603988225504946101054051661947279251877978889787914507425007059014379105059050080892493923329971127871558484129692266997214231422939497821275958312524972071295653314997165691359417693165165197558722682436343466845938272292369295435336576723143069179E+000000000000000785");
+ return val;
+ }
+
+ static const mp_float& A000367_264(void)
+ {
+ static const mp_float val("-4.67265599095483972718278933168475523783428550742396333688414779951917543627373225495587981914224189549386028779823201457561108289890275483234132197314862596684079187644031367058060738289462282950384302571383870189117426693926813264671970581764456047034015383193363685212933612540975591669336555093182848799312108201565795537152843947354843400246671791395233504402439699449357532003961323388399012110496358565995637548772E+000000000000000798");
+ return val;
+ }
+
+ static const mp_float& A000367_265(void)
+ {
+ static const mp_float val("+3.68179084130108033985095887328772696251377269060836502878175175301074705006952853494721233805143659350788394383444664008485153297564060325151646939468791046065462025379099581934013897637189594098170444121512102085595038700210184656082324519543028478730870472059928224353110403475749162068959308964853515745542582119886368262939148932714883454159125405981018559182736663479140641055804518239895993418767368306643900420352E+000000000000000796");
+ return val;
+ }
+
+ static const mp_float& A000367_266(void)
+ {
+ static const mp_float val("-3.24561550264556753607699051111806546225084048437625308412476604532398007706689730128676641801751639848584567760329226185917518966629910395194646085838590821322737707096106340416256414675982889524753132663533855018312118352070855249537245446445328201795396886197604976282867367191682482071399428434107311261771776203016650715124304944618363732390092737973138714915815998080761234626713065483609283419162522821329242032155E+000000000000000799");
+ return val;
+ }
+
+ static const mp_float& A000367_267(void)
+ {
+ static const mp_float val("+2.02203592443382318805493733238894041423136824600003157248712707564793722249523940924419917319731730383593570903893201127791676225930335459563937215152097599122321983040851370111279627098644402158190225656085625295349615010489195534632483838741084857103115027840582413386981156988744758415055893392249827024037568148379395457320404504126018425351178463800777553966630150034613112995987777353564710814875733376572097641229E+000000000000000804");
+ return val;
+ }
+
+ static const mp_float& A000367_268(void)
+ {
+ static const mp_float val("-1.57659053710318169910161687459859213994652235989531694648577378571670653523276973278928488262224446898357639858718290602618434236427790737605192713447659369921998922227323309695934883527295148886756840874633963346533560581408179413853205831232143583052797977459137803092113451030028026836843583278943488574368404754942491451321917152655187491107244326485854657914147642617155036530075859040959418486498577640973681869611E+000000000000000808");
+ return val;
+ }
+
+ static const mp_float& A000367_269(void)
+ {
+ static const mp_float val("+8.57814643848300338009200992785326947766440616020465618611429950623955603331870073455542875289527556922804400078825525519606179834120259780530637463776262744956736350409688523399650178454699473237398234806711307081762225735691152727420532856014518131792862950363916722783399523099634936109162413927817936989852426039776480353369014079837119483810108128211085406552578536707936891138893207940711857696139909631969397860514E+000000000000000808");
+ return val;
+ }
+
+ static const mp_float& A000367_270(void)
+ {
+ static const mp_float val("-1.21713516092435981466310880809853215954107602179307964036374412175485616594967685654258993921022609350710652979400482990637917972259623287909171816727833412247675094822690262186673272947128409453556223591236039402046956692537553458081510664065787186099647312868733930685041444513179252986312272848993928871311715481862266654135396054921970083558391316485376731266982267477325771164100213764686565220745603171174916833737E+000000000000000832");
+ return val;
+ }
+
+ static const mp_float& A000367_271(void)
+ {
+ static const mp_float val("+4.69735149656321636903960185893921040596763993145508011382725153971536194479728786725431953740731937301649823776071317727813857007714907016790236795683658992834208704115160500231951703273969035330771734377816916876961930271053226483015850463595486869477126937192370524363970905677517189990791413883125879905099198194915182530611687738243906219069404887789829283921926628847250215997689445455228753722044074797536801543330E+000000000000000816");
+ return val;
+ }
+
+ static const mp_float& A000367_272(void)
+ {
+ static const mp_float val("-4.09290387023473775248835260647129861970758042011901661056499746406028216126982834198487752471014106649176794240098617857389400930953608525626221694384037343964702719118752298209027307440804070988372510063045266328653725489832706189871898791657973653618019014682959688096828231352596514169595826928309856981850745774527642819584555960181656273465218274925766212793449648123487204056899859517711924277445767485052015257453E+000000000000000824");
+ return val;
+ }
+
+ static const mp_float& A000367_273(void)
+ {
+ static const mp_float val("+3.44589764393589391335534826543323759824438183655539745711466407067057006584244413227867584582250231115659070772965174543160707843665500005378361324680634069646270818460321199753257940187433198502850448712588579195163094786907804977277550793628908645262356044096911425548219102925792564414105367440976797283010375585024048888000047152522371537226958866252766322649956789612007408284346285337180323769486215343205289664806E+000000000000000831");
+ return val;
+ }
+
+ static const mp_float& A000367_274(void)
+ {
+ static const mp_float val("-1.00577216525438629073894964685743299074821844351013020157194860391563347567826222134113946388960475452084715974373586883222702504354464859933481836016886296964132036093605091151368817295921147664928849635644543260571451609633458369690780007007164832656419954855369113833651507914760094030468581331684506230988874414273756630303489141508539625079111366757568175976238492532440123764773893390207243092596212965185060098195E+000000000000000829");
+ return val;
+ }
+
+ static const mp_float& A000367_275(void)
+ {
+ static const mp_float val("+3.89247136552178203223764022973797742321049133158248341791869183070549281748220529133168809869769313036565626444591886840439338085515376108236592266267689634926037051030555346433252425152994905885224375332497074215375975762723447949761135683016991031753935924053725251088595180672794058646640630260769511704036209840224617694138797843092621719133350908232645963288694029334531270462092810615547882979017423464403537591102E+000000000000000834");
+ return val;
+ }
+
+ static const mp_float& A000367_276(void)
+ {
+ static const mp_float val("-9.75977192977129544192970650724764848576506134325504062094637901875767520549302124093076093789105410791903046434959541219993537721512615499481903933786605571185404845366929535480569233620737619265309371961866080732579916323497252268232488658843559774857439670249414398057956781378936242015676220260577262396638312534194585068176577104251039387844697024097549912145227486211809185279817995439718199655701832662047663460318E+000000000000000844");
+ return val;
+ }
+
+ static const mp_float& A000367_277(void)
+ {
+ static const mp_float val("+9.19837274385564027108565804168805091879316978599242889907304637320299689877933321046930079211451569937589987795952943086943729605812867340752730202735145642157546758460115114580238782460597691880138858556875841569424962824745542414759852566985562912734749045106643099685895960056459267158137629157553840131662199201100001363654265148800047409464167938369568934612206186111290512337982038182481478102520055673865423358394E+000000000000000839");
+ return val;
+ }
+
+ static const mp_float& A000367_278(void)
+ {
+ static const mp_float val("-2.00236959417672346048093025133215743015436378354264638700063821057664807303149025404366997968957225856647006848966400672832144878792234307471015660886113485874084109639547040643508572407062196861032190670782305850921549328142516129794579607964949408458491738787021492038510574396499645665043904757108527596825269401924913334722794762920825962306133343271945672713924054844112278282377366485638417306370012923913998237678E+000000000000000847");
+ return val;
+ }
+
+ static const mp_float& A000367_279(void)
+ {
+ static const mp_float val("+7.52835934568102793554370445260143910880611601097157915554696373512184667913465638603446719962471806977319307424833236544349238863409988369187424824865057348415853937415228651087371710945701776553092016213764637713208194262769482670321055499087948216122584850796780678934924323562262299290446192476033130796967754491611823292435281568992868372478589118741120900241096717768616354293163065762904202849428294379302226296102E+000000000000000849");
+ return val;
+ }
+
+ static const mp_float& A000367_280(void)
+ {
+ static const mp_float val("-1.12492968073823684711774738153224306948744709158327560912740752202260925183204137838029667416811634088230706215480516486261217867228293317866955370574630754264136936545030384449453467373668212251333279320054850662454447147455015651243976291147154955229384580746995262512110694202107671317504361188408297704049671249391888326903424203422474946421472780077982514240335803790124495063169341656433542544869721537306557884453E+000000000000000864");
+ return val;
+ }
+
+ static const mp_float& A000367_281(void)
+ {
+ static const mp_float val("+2.01807188929302239436128204353151687220002078014799772144932644784384290445812404031969491924271622229551742667972466981453869159074990123258324464238581703441909514392713540548320716655131014855638044154848099342923182787577959710924153146109648037260826134635671178088498292746435122701336008681656814731513059453451418101294888410810980988243286680639127257012095424006472433427910653867127126717383230425677445389866E+000000000000000858");
+ return val;
+ }
+
+ static const mp_float& A000367_282(void)
+ {
+ static const mp_float val("-3.71239203652933989659346762070639740546356688176923082850132021477515364106997224211117548840777122975716261595728375100002611689254357439547228990043154662585385252653345600397025327433428251392089887739315459885702295781115390535551766860474889810175214554232275925436474311028923456844092893345772696077253526373330164808166019747485044149388763195736982053980233707130831220279234767240283571240154572443366724213073E+000000000000000864");
+ return val;
+ }
+
+ static const mp_float& A000367_283(void)
+ {
+ static const mp_float val("+2.33539928281682397144228763604675584426582129698587509237197645477617193438672144538618049985987758635228852250818157089951549837534430955113719241445933642459216372141884653950874840134705722491469961456522529082617589693998456963620858352860292319843195908355357649433794531419937783240366595403310433292809004747435067892014584550340146491427319452853235899859188695839724373253041805566790600408363217985778616020470E+000000000000000863");
+ return val;
+ }
+
+ static const mp_float& A000367_284(void)
+ {
+ static const mp_float val("-5.42019699536594677464070199727897874436531870035350062268232087473727511847579735692263068269202465764218942737468050394015986659382680882789942107668391889407435843512062194479055138074481635888652868174776319031417104857659349893586574317895622134031108909687003799049326835449031674157505675648926342527380650288462382210303042883227714594728538688771110586466441835776596863491967442835811153508228125448664602034562E+000000000000000870");
+ return val;
+ }
+
+ static const mp_float& A000367_285(void)
+ {
+ static const mp_float val("+4.07457278626421914346919290012023899660046160921100003409932578585140608152278895349901340082807259299507948110742863403231709578437000029689419492974640237519090408298054266448957637949889925788276903685552337398167952996484224210253645691379357264048427241221004554005555017479656644336413955812643566502459271342110850922054936916856132203146507399586822377449725073475078319539493149139756581392063978699870994091118E+000000000000000879");
+ return val;
+ }
+
+ static const mp_float& A000367_286(void)
+ {
+ static const mp_float val("-7.89234926341422253085971846760849325046100383265585519250468786674681319770916367671428214847821734817119018862819068165448127134317182065223048376744498149570148057578541140978457124114304769525095904212367848729923094706544671553165805558598990955086468233694684521490706410450323155090744193330337503423306486376258131340422966930381283826016011810540028978988154074090954172596523138592349259273954780646475583562010E+000000000000000878");
+ return val;
+ }
+
+ static const mp_float& A000367_287(void)
+ {
+ static const mp_float val("+8.95400754684121341894898910546469617644332933814331850188559653767640539346818102722140214683657010685297630629616265238247456436518906323838268053413457897390523295191735544768179846457776413058873275929181991419816676877840319399248846070201067208340714718639398485878473459856125312899645398761765633981763894705520773333161290044238341676074516262133581449136369970288412666516052824104435233936616954990944644596664E+000000000000000880");
+ return val;
+ }
+
+ static const mp_float& A000367_288(void)
+ {
+ static const mp_float val("-3.88072898815324690220780388054439369943305232143181967356376832636625839403926055572827125332825167566669195394262664225576841340142384071993179169154807276562441119957126858350479248089328600560933756237319997792672124102498270443301513929355116629715340878984847607372207469171260275759027089376026283251225143565954337829666059983178858895590519902333607481062073684353737183451873809519700826153254800692229053461790E+000000000000000898");
+ return val;
+ }
+
+ static const mp_float& A000367_289(void)
+ {
+ static const mp_float val("+7.64564043745475689625358233405220688346449276401730491614176918366269449102852720128326470141048958476834241654595578879175107639033663856846714075819049547860691296253223963906468772952440649621222427928986116778891639935242869463521356046811987293533576549569944872259726296583396840067412726753466757301412905378508223645639208760305284477836080978170343670334255957958922965667318495978076709299841902486488828740813E+000000000000000886");
+ return val;
+ }
+
+ static const mp_float& A000367_290(void)
+ {
+ static const mp_float val("-2.11045157551262585819880995844959667976490681483605703420141887602467859582726837684798257430462686792461994375441604232750114579386744889149458994608033509685925859056643265249763486644474465339561052143502178382377182363087755623908146533744525868610251381808924911221356227617887322143376601829043743115349580537601055092094202707402297340458911281037787405471666963765581908536161294969200347219474183743486209008271E+000000000000000894");
+ return val;
+ }
+
+ static const mp_float& A000367_291(void)
+ {
+ static const mp_float val("+3.89940290490505794145615754986493146603885403838146761497096955568805661752812456909079580602926520458383090509224761151055813552797514140210869549950389223803408828221104329183491015293692288940051537208877576130820766537501775709692096711114163151243877600484279915906875665406902743476876812357192062439427349983226159465035888538551319021049352402179695078939681361489292201387121607545745365222735503319646151560351E+000000000000000895");
+ return val;
+ }
+
+ static const mp_float& A000367_292(void)
+ {
+ static const mp_float val("-7.03816364948012488437828685510076931300718643976635036127365733000576498052271152084877988601773175439917116990138240793501414819892087006544826281865254823016937629234756874367469344876794426045672735589727108709267124763407558862556951457014989330706132748280103750376891696984186387550853930572098930901809400021066422819671812746430820184891745773799648109392630179484426378650987374227323034505624988422945337237707E+000000000000000901");
+ return val;
+ }
+
+ static const mp_float& A000367_293(void)
+ {
+ static const mp_float val("+2.44880150023689417851569872635647637024597274141996121710500373483959778134465362888553147153601305230433519724259816948413513752427863659546445392963997483728601960673580722140004104162696031048697888717780655734372514592831917140699091334720766054643485626137741080947808019349119679929259647219272744758193793203013470832331404795691778911098027429848059753960123828595665578844950471219605576709611351664945220428807E+000000000000000905");
+ return val;
+ }
+
+ static const mp_float& A000367_294(void)
+ {
+ static const mp_float val("-4.07676096824069796402509817445917748634821745414963766161974576002090849358593663694401003605297202558666159323985995344127987467925073708460859785988617048783598856991424455561132216187944669065351773070321496412513906145790161772321166337598493313515362017732061990635349221932925232524265751114732030907754602807278109829510670083818397163311811043450379402326864754800400102998198678941422063650040082323201192061859E+000000000000000914");
+ return val;
+ }
+
+ static const mp_float& A000367_295(void)
+ {
+ static const mp_float val("+3.53159933920923640148308058830731815633794363002599330815821655526863571316927710458029528268025536923713623477804946105123346797437149076276998814013435640126610340215264971119171698230336386230702822699227009108343756952768538458052170606383900471822908498298935853901909134352067918414327461675541262948939556957236257017619479099887927014779975804399420113729878704191899089806218149131127575967980609799526558521626E+000000000000000911");
+ return val;
+ }
+
+ static const mp_float& A000367_296(void)
+ {
+ static const mp_float val("-2.13691909634908102726983540959364094815670565461912801884534047250100215112527283374980445187467014026370053246060263794699977806550107922517680568810862647425019198313065251931423868059013995851329787899980528250433576720603746545992907871673410784728747081721385212270596601872859989547333460061909540326575715538935881389321567568295044674926563545024734188465345810436603208363399834583176483471993110687693256361629E+000000000000000921");
+ return val;
+ }
+
+ static const mp_float& A000367_297(void)
+ {
+ static const mp_float val("+1.03542095569540287363449206089017325853194627680282163948800616086890629518794422724881285683203655626550847419760695463389526152512158437330672247729901557178972045169826440757428827743249851212088971218823605220239284974222739031107871724766258393227003107694055957732789506340748065412389013087542761113817091641305068574175570965574213584518977258539902792488524648828199894745454936313586385963381306653252872757653E+000000000000000926");
+ return val;
+ }
+
+ static const mp_float& A000367_298(void)
+ {
+ static const mp_float val("-1.14020538384834865558282298730806944768408442602816245434773803952680564631047883262979673350022204254537018428680165192325286149373243573308326887767011429136922699778153104912665990053003674118991799280580350701640487583643638783946304250561839315889963979908939398102250041851491409233685646851041837081176306268576753102930670765071518505708028059236757351308466715782860670858176347736163833076475299516147707682413E+000000000000000923");
+ return val;
+ }
+
+ static const mp_float& A000367_299(void)
+ {
+ static const mp_float val("+5.80568597823809832578124741352398046253738469157310300880923830090677098829502217735655427384286541462959761717577774269137535788348281945001623929786012068523667997056243737086070884811171066353177196249012143660320814085524726253330855540340779807297626763674449884090867366392578629654075168666071772722250446910137390218680758926300904750289333352998515363226995502392862046964855445332874975013711303974152164947366E+000000000000000930");
+ return val;
+ }
+
+ static const mp_float& A000367_300(void)
+ {
+ static const mp_float val("-6.67727800009070016242656703236944512541202840041278778748015888086931972327525425567678383367811063943086641271500309243841224308460477877189076585203027347270069421075345009136333514648861096621866554107316700421284140369818339554165296615502010920453652312631012849105325008249049748538682046169186347591503936296434893579751730233669469275218397151194071680115544642515833439427749255825790220923064513451594298149142E+000000000000000945");
+ return val;
+ }
+
+ static const mp_float& A000367_301(void)
+ {
+ static const mp_float val("+1.72051484434633429029879815726275188794317563955613342866753031341344033041679152108940552587179229712250994831438280846711284337132914720502610874125147436068638092159966123358532560295884734434671194421180209483533186352652329779460450911016922412506224680900609591649352008176288343736045735342039530559653789974774688873538444492100576353748242573254256361628171389632303711912736545206245418646743186027000434150467E+000000000000000934");
+ return val;
+ }
+
+ static const mp_float& A000367_302(void)
+ {
+ static const mp_float val("-7.93638892481727174288930366134852917782480957671493505462348404631698112405049176965385529082133844008811169124999973475621432513709114554247202591440557037100692788717076421591159246284938242024665734501915857590616687801922267231972180807715194769272005928233785276416690800610614418567158255189478887423741208267694211616358898703905805409987509987260011316118333948616854026522454382514590140097213891092345517078329E+000000000000000938");
+ return val;
+ }
+
+ static const mp_float& A000367_303(void)
+ {
+ static const mp_float val("+6.26336803036570943788514124576273528588059915669303116584390011618625388641062356471332737254201757301896084326343410183488440625994159383097801211647635669508398645524280773043596760219901432534061781094371687024191684466731406730164469241586754916518859139143830433231372267784473846284706922822515388613447274418750078102895933591276829589772468176878062085367971772712224002575961826455103222517665130263038902846277E+000000000000000945");
+ return val;
+ }
+
+ static const mp_float& A000367_304(void)
+ {
+ static const mp_float val("-1.17131218036015293298349943413796038397113921334064061210664570356273325128634122273893131843083772574550426101095481310834530440821051995391633183257204158452794447859482376189653765932649197323849618746666526515323637392900311591003969786790312636032226042538028967443229786006932059050468607327927106421219616102086396792407476440329408418658380609184844533283584048178653460163780250238587684614738002264239956973885E+000000000000000948");
+ return val;
+ }
+
+ static const mp_float& A000367_305(void)
+ {
+ static const mp_float val("+1.42637530048186355537202018056468659986158777589784878595478524800658969836705042548815173409077614826372151322372861227514748817539254422997178173292910097926860886569247926508012320514148829314819746710281929190167260528864166680922943869406000800206370490891490164348302427305663830750342084969405122016764025562750829861072439054659712474753703454648722106637722322440193512953988452663711625757253874992651958305246E+000000000000000951");
+ return val;
+ }
+
+ static const mp_float& A000367_306(void)
+ {
+ static const mp_float val("-7.61512114615268558616050521682826955100452206329654950751100956954826787396435689109382672869518802680166134700532278115607648003561212170433436911493055931222367878835526747328191614154675339084827472888945165292800206578051812330222005064953350942021091697021054547805604281847791949362004789186210926453872085786338028843359663440898766829622032662706954603252088532887670428767446411488562334788900999244179564408369E+000000000000000966");
+ return val;
+ }
+
+ static const mp_float& A000367_307(void)
+ {
+ static const mp_float val("+1.17096288362548876962764174047968222016603457631943687341165324424053437928490542643812013606252012101373187571187373298415401220576568984300340472145305486540650806765537813487476645554743655508976999087302737724753731458246417208631642247190851637842612040713842545887489141146577175079374374476739269479868408465079333523725400389477627274360745691244927255890720887478094894041696923803015417589232337439093071899967E+000000000000000958");
+ return val;
+ }
+
+ static const mp_float& A000367_308(void)
+ {
+ static const mp_float val("-2.05783348361604738690420164064073731564130029072563093674015055904958384211568918919866369045545372077201451311234954018758975448306611570015330218347930963732493187812932533069826020002616706601725383130992104468333899657461363945081624184715592205367154958237914723285250072719504621265480675284939893277542602273166461108660536895596085282112546576060563469918057323800527056514134868631637352813690398329914565420768E+000000000000000970");
+ return val;
+ }
+
+ static const mp_float& A000367_309(void)
+ {
+ static const mp_float val("+4.70264084896834921253579065941496255260089485866270014303628287029496536092621484833778726679869885329947026300103418987990080507411462429220614450222194367846023657693268884688798641908735536121171966868861026232193237019817193473337188238008923662432751237463367033103193718153178301971304904486457756647001228162178299038336923657342738284926828143598861803949957686723525483884989861564070786286054991856832659421801E+000000000000000969");
+ return val;
+ }
+
+ static const mp_float& A000367_310(void)
+ {
+ static const mp_float val("-1.80467417366399984623173006427811276936371955887355025325471441485900767756072559013609085466678696346336410349349550324340212323840821189709757518901784202506515367536273232513290582242415206538006898614116856393600099548700749480811858063651955315325307277965877118489089243861749232252704875408616016210610463840985419165891699079978090815754589170286606052124701442537213776008934585972651678671039352989860401838986E+000000000000000974");
+ return val;
+ }
+
+ static const mp_float& A000367_311(void)
+ {
+ static const mp_float val("+1.03228109281171688825222174805257685458800311187444099552027068690944594949751058179546518147343327263041074268784793207596513816462044079574758046261865288077341830864416204984716814247932789228242942959167143059870360659576494229105147537846318527968725802880438916750977796977510551541840803820900357405504935693047802941338462515258911573199625239146117741347617118291438598275718505202181070366255162712677560957764E+000000000000000974");
+ return val;
+ }
+
+ static const mp_float& A000367_312(void)
+ {
+ static const mp_float val("-1.61777508036693406756882763189840513938945714554622967907594580182048265846776253800795087776861956469704195284606455579984442332174421911164826517296199160002726582841396570075936867891561089249830946666662595215629114693512969376758584947606086720472603299536997453157272529494724374455187985143125052416586831895050434793221456135896198781633913023733314676224308610319366314493685678964832848249957454111350599216655E+000000000000000990");
+ return val;
+ }
+
+ static const mp_float& A000367_313(void)
+ {
+ static const mp_float val("+1.00740821115071032236988177137087832169759039148696508123986270051763107857836811713792775736752109025145087028859072516694642159042741587381973363901123260354020584646886342000379160237896276917267011466235678294933081517089237088164800619708789805595236005456828251713664666594821125521299742340986232315157863947287772259003785707300960559202252654193938138796621839389455034326520284757451321329328327542459447083257E+000000000000000982");
+ return val;
+ }
+
+ static const mp_float& A000367_314(void)
+ {
+ static const mp_float val("-5.02392258429927883880743252192324483699124428647074485354516742055977953209736465902030154899396073440247607887201911017564110553061149788477899202878162032407555290509113889627298825056249476026127650629519150600936031582122915255546872199278098647934906948268686975283726214707058806061661576434565922139071864647982266550324837792450865053227353692191566657670038420567879620542311345590522241048099084228168243153368E+000000000000000986");
+ return val;
+ }
+
+ static const mp_float& A000367_315(void)
+ {
+ static const mp_float val("+2.36130861805015903585271460263822418962314759013154201850989440733856867875510548462204184396602232956408344415666630132146808087174859106734436237696353692718367814173668008096633341130113803415219724389120289056972491334351038721274200670832968458019280928412346294502397585149560178423594203417509082635212988027505368350443051390762549217600203771478900462134233800840305679231268250395573748564185177460700546708925E+000000000000001005");
+ return val;
+ }
+
+ static const mp_float& A000367_316(void)
+ {
+ static const mp_float val("-1.61480601991119960872139098347655578729996242690472666270001530415029170785003885249975617037841368359792185924320149490386646007387553415648323219283489947930493855192412548064368206496369758226250797552193012405967394487588123667191633974074968806111076160360154859278303705923698734157399846563493519023657751881201798155880328368983280361705192389896148690076027462183380806805325212228941682565722749765768287325498E+000000000000000997");
+ return val;
+ }
+
+ static const mp_float& A000367_317(void)
+ {
+ static const mp_float val("+1.03567698264680901251032958895806906917978143770984571499590763435926139516032703196676307713410005747756010864664874919021057850403984427364298868537514719164114566920401677617781356578869020588649689755584823555649278280036780754030304864493027030783191416160437510805986713960883277142920852377778641300851231159884100064191287884324580034818244107147708524479765744203673218935309991907568584485759296657933368664207E+000000000000000998");
+ return val;
+ }
+
+ static const mp_float& A000367_318(void)
+ {
+ static const mp_float val("-5.15811004103441148541248126605642790987852881023692278548078394630393487773817345039573686775570013991296502499284268273116530450005697321355170756157117634819216576859416744007807555750206564123345945059859098762304191439726892733183282998024326982907350442285108635847502503070155308631734367740441358495317173782209810479872193220498186148060491076183746841782621595931909394342667545383402356615476493290908910561661E+000000000000001006");
+ return val;
+ }
+
+ static const mp_float& A000367_319(void)
+ {
+ static const mp_float val("+1.48004748958786590090901624359208053523400710339978796765556974228150192366769813984565349222200601199426266991987460490062823033206220900044655300051355613281858351716351039529349908807687855378323143668032083486052313246931878622817505824784388581186354468610715996953656763581192424142937481790055943240912195655568950057084835441765731772170005316072401847692588867277828088895814147896816016214903575059093448483798E+000000000000001009");
+ return val;
+ }
+
+ static const mp_float& A000367_320(void)
+ {
+ static const mp_float val("-2.77632558619280043844042757218152172215303725160074243690095644410713654088942854557931702434743174183284605482604396424728159512851609464093377049017938028124369275789479452333355817146456920100977192281626881168699809892991252259463881973564584886762301473948132103804757357296717262235710487703110640127883184792450133581054267171940430555997845766398756586283471751734714160456381794250562597780739239031498210037905E+000000000000001017");
+ return val;
+ }
+
+ static const mp_float& A000367_321(void)
+ {
+ static const mp_float val("+5.30101742984986101675596501281127230517184653614748731286604110078913453061234324728141488687387239147336310235261599132644160886884453536531278381270385113740452742714766310669743695741428335663515142787664288789593979839136835964318382253359963635163013288646955590863433094259993125935138860668846114563900721828659637321917914187336458425717727521710855907200519037539495009314493167570128880856074173611515728614756E+000000000000001017");
+ return val;
+ }
+
+ static const mp_float& A000367_322(void)
+ {
+ static const mp_float val("-8.41885797317372629578963679982650365966726607151325078206408224665055512019968145716868240277366406086176839711445647475974897143325683524252443629995558150043465031695573231503193949819709469611332550834016445240940307713094563253553150233553875857658698561350973308032675505543613691256551769891781259223729486778175528460481971481988076185994259150006327733868291596162842255218166363811356618710311039373539950842749E+000000000000001021");
+ return val;
+ }
+
+ static const mp_float& A000367_323(void)
+ {
+ static const mp_float val("+8.43575774641832492462307455616657402616747724598204318206846473009372826224075699661222502636231418759611183708144754041068412289702127483419865881040819849008089511981316139611272630219114455680473144770863264803474713179920571366925698645232396779330706332087173299482278659883649533311340824364245230987213324182679524905717367547447162933167887776401329633943942555070484237279195652795521644895733967850138348880257E+000000000000001024");
+ return val;
+ }
+
+ static const mp_float& A000367_324(void)
+ {
+ static const mp_float val("-5.74437856145659945473013137192508638693046024644461800786803223145440131234385842121309578405935197436064274091574765689322675796133949134806496212200496397237993328693990851182172030180316276457260553036283123495530918617975043391229483265205845606870219724413712244819471888884231673373966410696567042410891691897497435490826909339623878275867635801407224984473895501018878664719420248056029832148913332573652401642930E+000000000000001037");
+ return val;
+ }
+
+ static const mp_float& A000367_325(void)
+ {
+ static const mp_float val("+2.13207101516393063527995051109614065588714632032375305741297087380947279185607221167747612665432765985409724531719977200987743389432427553186264156504454509460298309363129961205933726989656373749780146293041813067124519090362659648934749202925124628071405649488893984364477834232330874260319991901408664703870549342269915506924380372214129497744890628760788938445024485444849757261485851790749475103406043978369104589536E+000000000000001033");
+ return val;
+ }
+
+ static const mp_float& A000367_326(void)
+ {
+ static const mp_float val("-5.19385377400510417297449890307406779825406239888433781731530037975658609917131080595184311783459012680270541027939995345150053930651426429432859403296305744157699335869258871003588367476867001350384200265081923941980530787691551184958914370140932568815265309584801775538842604542793254486227268617503627542111675197908933566860717255477571230498413666967489029047428885591388485631413296826465014410190418908191659919583E+000000000000001037");
+ return val;
+ }
+
+ static const mp_float& A000367_327(void)
+ {
+ static const mp_float val("+1.20458032617654497798713657530989067599727386900061604407087831951236901964261767909221575058537398032903437226912453682190160958624189354786277134889035470928563601157438787265093229570426309432565374535969661144693634365857893379133475955759704769032558387228158594456213161708707164268903501053916950629413706422149631335877473183422090516814050382527265325585774113814507868022184866836613554118755443775013755558373E+000000000000001039");
+ return val;
+ }
+
+ static const mp_float& A000367_328(void)
+ {
+ static const mp_float val("-1.32135692923085674896248924730965676790198305787168678972647906642616836115797589919510956843728196478009299734541923178338291984398776701186778343249693195922565052228173007289377100873160357624631101278310987182508639915862032661960815227308837636008374343183747684666491443438458129626278161542466151612778314327108998260477847003119286671864482498377027281811014060246197719458239287398087734385897419511453683693397E+000000000000001046");
+ return val;
+ }
+
+ static const mp_float& A000367_329(void)
+ {
+ static const mp_float val("+1.35157474916999209244631341056946345828717019511151896321270499095964571244245925552131781210313706520111842560257740825002176046827949512945311740431518445703739997178129553389802800024326612523132348607597567149344707146116684451851941074446922595504392027616858410128369259461460775775610667069098860532002691150875105387210120203548514816549979524536436601708148301552218247591116898682487588830922645919063350960879E+000000000000001049");
+ return val;
+ }
+
+ static const mp_float& A000367_330(void)
+ {
+ static const mp_float val("-7.21027735574734905311593272535052263170913705550675327483757403399032649598255037164705628599635988985536998648506236862643833742269113977373445543725504880588895581880624192819386436804539010749121947801611989965721415514591338675662845404801773209084035005656814402492109532693225427692914662554757035327313494621048294535307956285380784966112059149468405447442957971352198512216812029015451836519407096539737786411556E+000000000000001065");
+ return val;
+ }
+
+ static const mp_float& A000367_331(void)
+ {
+ static const mp_float val("+2.50451698029912838408457623101765465232644800684678386761560295217118180604152711820629608350891589060324032103041165575575193630978794684897973294770989641283313927322293047932906096624742134523199996228659270579156450594449781182416442983695736151933514715692656520392252878040034014818222417330203679604736023299313173796589097392443926836719814637080060344957175993506238745612223829802109066214480065539533841221859E+000000000000001054");
+ return val;
+ }
+
+ static const mp_float& A000367_332(void)
+ {
+ static const mp_float val("-2.33202030237834826195141973015237406578664677108169910561704931112947685601080553713731758018204100142820923768818654131463406533398427442046206378504825426147529978007118890307165021511509030914914274402886220283032665423193312970934353305446768971561945685065992558434648424803347529095906003441247086747647019261194783758038639742923103905834849668099015199435958998835681560567232107441156898323535089587299941122237E+000000000000001061");
+ return val;
+ }
+
+ static const mp_float& A000367_333(void)
+ {
+ static const mp_float val("+9.29262674585833184261226118764680450798414198653461079072500387561308563419566264086451984914600409805390392393285521678181088611270903625015049874230665959425567114700124477061700071538201688014744292304395464120534644352084070926738191538902337218766583750701361784995658740140309963720318650280420236096975093441844816750051159834050349623134834802764462107351637054806189784982226795279715098837141475008836134632779E+000000000000001066");
+ return val;
+ }
+
+ static const mp_float& A000367_334(void)
+ {
+ static const mp_float val("-1.76805004369920457632290427908661323820944118897891400922077649330877469838383223856202072528048175148545928897783884353572896400800009759702189574109694647048569335249337336163134856104509906218936298788181647572865215299330045839832120019060826381946057577570475968155629140532990768798076669500689975868621290335434038959085004842022263183969551876006860201629876372798856912889310168565236475975914727200458559752734E+000000000000001067");
+ return val;
+ }
+
+ static const mp_float& A000367_335(void)
+ {
+ static const mp_float val("+4.41629847950038026716627560711552661610668047008030608880204822081377075358204989509635632714504527167389841135162264997992355490281694013389266249151213889545751821612060763652993553098466559165203869285939903619769752334429282412305232343499606881686457983516808727868145000518174856237601677494971996661167661998419170402298966187219541917757623780508117565684943170372152490951160045561373722567071993198265613709649E+000000000000001071");
+ return val;
+ }
+
+ static const mp_float& A000367_336(void)
+ {
+ static const mp_float val("-1.09956195201884542016738299010915047906570253997891486835374229237456931920694110061377118982744560659113672167417775143356122955776267931072576874366163121964053482508428337168950682128164076791070372952886383743706073570210059084170240107507155664991945050714523505443516074021270719436494090171899579734848425927058496127097357436409178802679288388058189552320213359623588819990666001905556446538941767449346519838142E+000000000000001091");
+ return val;
+ }
+
+ static const mp_float& A000367_337(void)
+ {
+ static const mp_float val("+5.26881577046438047737124965566083389949197374389915315397169993669119306072212075560517112248960183148517986520332722272145904680504526764592605432223637674110772175652292840886285845085478607490649653463242808459074496915603882625853901409621602433016958185773787396775828734865305493975727908803078814216457005884071474186272133271693911424747179345679939649489517243659241734904829281395918999856958917740817135429594E+000000000000001078");
+ return val;
+ }
+
+ static const mp_float& A000367_338(void)
+ {
+ static const mp_float val("-1.09254236893541848719820174722599596195373705369434849933436102092573789533624742962182073970321849188145687265128239971485729111163528562960471488675421493264499711752911018599148334299984433343456600929769977509688409133035480982759645773442645510499905923715002658150963063749142387324703850638057744330685386782424703385262760942768179500943342993365503636447954310995794983411355607046591660781514595988722465168621E+000000000000001088");
+ return val;
+ }
+
+ static const mp_float& A000367_339(void)
+ {
+ static const mp_float val("+1.12508741915611003300335401352104593852809235414143362364200720177243489066817808833230793638547857035564654111569795583566880732028603714427561211199613663577432974414518146371611146634331716988840518620765555520694003137872920432716013416149389376463514963899500155006306358133494592412485777810021611841974500343549240759497196315171050705652129840828749292435543668233699351931868843657266854870583856766412854762945E+000000000000001090");
+ return val;
+ }
+
+ static const mp_float& A000367_340(void)
+ {
+ static const mp_float val("-2.55828211581543663989100842995639124938883630205678347364872296626300663390015286783079644840352275588865288605224926715225590480590350228071748020739622650242573429362104015665689358959101670110611318112692574387431203650471515631953888482344148559148269725527692778817244356927053759662793412379982182104826713786156200877186839693600418574225892126090359233876613850855920261131760476351655989567965913119129934268832E+000000000000001096");
+ return val;
+ }
+
+ static const mp_float& A000367_341(void)
+ {
+ static const mp_float val("+1.53038820909595321719236721235064007731468542147054469813282253615766290870759751981986330493094208417350669959441087351915402012993753221476918372835146755877745124133673759319998860599042934662674267627399747322848995303722655314340331608279558567836707086955375464436306009311268768740417615835304424418876640320446953880041718888688865327178394102621072189112738237240133853817878186192021698025605326950982144280481E+000000000000001099");
+ return val;
+ }
+
+ static const mp_float& A000367_342(void)
+ {
+ static const mp_float val("-8.44446896661779294749606267724585660324603020031667746164653773729372611224315232939593880819432856455263937634467483539153539019259466143059096922590356040228489928432495828931155327424175626612083223621136656851570834839195441021139431431275890351838401985736123639748983085764202487411641842682548406457860319903452144687176672615782496759100453106698670201334653463463174595743517188513813855176739407030697583232416E+000000000000001106");
+ return val;
+ }
+
+ static const mp_float& A000367_343(void)
+ {
+ static const mp_float val("+1.37222425172037009171086051298327436018113746135705497009967966459977432086445704794065789323414998364041237586016294207097237138716451194303907695725201026372675105486217561488788711730284146955839013186712453786895649473767480094363230650847517143446856476766360363339233426284153553297256341874613407418568085111890325341359517329617798015066635382942869740954479031153498383450554356059016096962821215566531281028610E+000000000000001103");
+ return val;
+ }
+
+ static const mp_float& A000367_344(void)
+ {
+ static const mp_float val("-2.41588110920578211576247666663301315529515704980800075698425033884101876865562315938141388302256530379054695105991492501455693407129973728114290989710865555224057082582078568038069340705460757246616459766562736217315247162026983202372785557804600609287856429796437006238850641308590342263539779308565331414149193376873556160408861808717997732183118233589591759501086265006873863140037241487163942114291163777758939948261E+000000000000001111");
+ return val;
+ }
+
+ static const mp_float& A000367_345(void)
+ {
+ static const mp_float val("+2.13187741906148234365632949188903634761980742957434979778642953684638694213181796044300856508239276280674103031378417078320497390062213151294480496309891110874352703150464335482916316989033036401001441055216785284795886375134584742527617786286874089367523157912355786611318909603230484707371390763124592269816833947322368048317090632288005895226221160608184014406262540913871889143648760505245511864439745342749500918021E+000000000000001121");
+ return val;
+ }
+
+ static const mp_float& A000367_346(void)
+ {
+ static const mp_float val("-4.15760273225621191145347898733150925280332766867462558934270354095168445328724762434773439061639854997201849887473587634228456705341085059484153926219850235832470833146622637534943713956815054659109962301647161759233830249725371727856810080988944112037003246850381699848092904147992704466811308560450215245372867379460575034051511594650199129063930368257683644120273874743027275122237249192023112591361756176520481701691E+000000000000001118");
+ return val;
+ }
+
+ static const mp_float& A000367_347(void)
+ {
+ static const mp_float val("+2.91928488353144128022642838534138820418571289835379434247959691786574160241456304258535687004104191751951700528522658408761066746636799918369622770492436162198457049890400901317782183798053850635047848103060810161627905837170671146888972817998887887822080224433737157595795418873564020395856677162224103468998690177392612621552439379995431212816563366531464045087649445823175799654494019704782029746026863318229261800368E+000000000000001119");
+ return val;
+ }
+
+ static const mp_float& A000367_348(void)
+ {
+ static const mp_float val("-7.80828294407786066274419637027153248050594282667093151380675851306622188770401729662873367436767563957804122161228060921195199685874707213741069611292326508065632952314548545920843493538845671963986794152640958747382965408973921122199370716620344702892666251669010734220727057530924495242464197034769413520424125346242100078372755832013078399061841497089546492542713978309423575648097547426948549658873919085063780623385E+000000000000001132");
+ return val;
+ }
+
+ static const mp_float& A000367_349(void)
+ {
+ static const mp_float val("+4.40797629105449569286854418385832430006485784955329746850278862710895377450299093510980428579384211051825028442818565495859849239383964825194126340254149814498726536039955814366726228342934697165348989880951312847482681909645231323627059115465965075977068684888812335305151268129155648391425387380617724588942638013662659652451604709865208874538474563550281813608808124726530519444672621515473879797272557119130261214570E+000000000000001127");
+ return val;
+ }
+
+ static const mp_float& A000367_350(void)
+ {
+ static const mp_float val("-4.38039381258982380874963590592759866603763566036541015472268866972853540276816454523567039844746362381658364623606397926215941906200808268901792944663038840285847838657028240848451038393659067317025003959239438231163929665891189333701709828500496223652683534595914661921965623544195359541352239029876614881558897585915205460335724812685200952548983194535565007110407572497007420868956939326199829368339189203490607150531E+000000000000001141");
+ return val;
+ }
+
+ static const mp_float& A000367_351(void)
+ {
+ static const mp_float val("+7.15531659908886852296757960758092229584559320559242829880767487684315716065121665926780710966283324798846622569403717499637703648980499665828883657171696621932606079102329192970740178019770997142503030066642498471502868901787800232010592375568764272095763652557991440314186187213627891602301367301259029221891706011295966777236213957692379521672239797112606948518001530046418025951837225251797703790307935721683407688702E+000000000000001139");
+ return val;
+ }
+
+ static const mp_float& A000367_352(void)
+ {
+ static const mp_float val("-5.24360348663581472066695035060741421354011841795429758535601056768078872914975454131266945530313281361467640028528795053689239222455284900546743843795276278379606836216075996509454102923264435847448067621798528620603829162755719952414326287742035998570272664078609172191368824084922563560313907317713351091519793957156296143402214940783068786134771979061506182869090891385493708909666289215915782488132518652567603171511E+000000000000001147");
+ return val;
+ }
+
+ static const mp_float& A000367_353(void)
+ {
+ static const mp_float val("+1.07634736294435518550388154834880072734499843579817912452754034288709622766870633645265339057507193183552123859515682341201837677624942016005026789336354258944591365967356645496654479893928021293217646370824667974880219163126593529352405109188231135507476406333156590952203758105993019824721738986888356572969632793443501089472355774940926521637901303826529475165897218823456658030400564444756803345484709918477596767156E+000000000000001144");
+ return val;
+ }
+
+ static const mp_float& A000367_354(void)
+ {
+ static const mp_float val("-4.40253703212386676157550232813052465779247612092659433501725146165085545289792869537317438264940799876820368684304553731456364078919699786784604307932897178107004543896015024967859432560513028607511108595636889368102773215024908522428023383719724832896637018560855480892155802788344391181103295587538925373008311153018545746638151525753957884563075141898053528785383653165509132308372142578069380007425356571338973774432E+000000000000001153");
+ return val;
+ }
+
+ static const mp_float& A000367_355(void)
+ {
+ static const mp_float val("+1.91418063461459187812504605232427695291431417077025274029383867866071620154017421305473639964456270774733543915796684626523149574111171514196472455586304174128824042030489881187790064797546322798783997265533394114260722028623943706140479160914232827752352166301968286765480987477213522203054354685583152856246045605887209184811434654411774520299669283483048334120449753539385254385356296713241646605629666235527759027420E+000000000000001153");
+ return val;
+ }
+
+ static const mp_float& A000367_356(void)
+ {
+ static const mp_float val("-1.99711524121739669651280811581643879295468108528379689146634111147405209053595714806881400216139210512038017619023119930779671792325117188064882940280225258537827408377693218437182000306174043030358738716324540367331857434040261678260093590792057094913686899656658602435435563377249213753553228651835737147404129180971148376816568876513325524301880390477296509330410559174896618632154667118887731362711021190261449095700E+000000000000001159");
+ return val;
+ }
+
+ static const mp_float& A000367_357(void)
+ {
+ static const mp_float val("+2.13211053907588466659168268100573967680933968813588760829622207662079218842920070797762950178553106357294983493693205537343920084538425635959069855736042006395110581469584432719077083769256091414311037702634245429424471623440780797533513949414454858352265650016392474594788894454405111436617668083587494428756198913411233634545190434709010791432773135510847405973882537024764910436745779733729924873467716402757156831963E+000000000000001167");
+ return val;
+ }
+
+ static const mp_float& A000367_358(void)
+ {
+ static const mp_float val("-6.69779538614062497098740326297700660601523510899422059619600877842256390221270988264592185083788301897197244776882462018185335778910847805864135035009151003443741108373322073697532543735939824552914366297467857217972230848003806441494140949537380282927168357792520407758652690806156027985639953234463401017214587037643187302293067598869389729163185079400987358284957787557991100355338583046035356750895436453191414687882E+000000000000001167");
+ return val;
+ }
+
+ static const mp_float& A000367_359(void)
+ {
+ static const mp_float val("+3.49848629238702088947934596060502169840663120412650356849502243405114089422350367477113694122933337487810776475065023232653274560037693024899725247758358784294784076592676478768657823841210863328493921342405837377526777356901975027389167031743553081939763650958663339218481793366694712499166033841419504556314011987831654269630980098762214623635677861219470910115217913117418135724323805431015999676127342419113975578200E+000000000000001171");
+ return val;
+ }
+
+ static const mp_float& A000367_360(void)
+ {
+ static const mp_float val("-9.42226094564498361133574195777095409526209717843543770551795237309159569595735962667100857011740092523505162430659394902259310413320256478122099100726766436332203574903680653524560301618577501868843977703235227204744405977722166738862489433551243629514234724459784233191845610257038251372585410999761366976531709498852893315420606707306864687585501767487852353170763547383597377327545431136949345200695622044752568331881E+000000000000001191");
+ return val;
+ }
+
+ static const mp_float& A000367_361(void)
+ {
+ static const mp_float val("+8.41328618204470597476297619281422597393683074150229601318437893705132515603106394131548224743149903081825403606546022592723357682824591552868703843729973869378870630869445488811214551122726877465114808598464978283804888309874348433022458479153378613817751384501059384679351238273304755784416028628878586163944656482717443249071878586462401105247170839712865374998480193489313224958805389888950359615252834727378674062426E+000000000000001176");
+ return val;
+ }
+
+ static const mp_float& A000367_362(void)
+ {
+ static const mp_float val("-5.57766970639367625830052231607817608461695386552501887327586251258307831941781452346631315180974124126200462122259322991989078640443893377997164127730358152430528163244715005675727246069715588460298380579863599436157290742310081371084967758344251562157196846663005795684062446841788366200427684952906414742709164142505069083709150843039960373303482519600438297546907554211626555863317601870264733591705384097737167173108E+000000000000001181");
+ return val;
+ }
+
+ static const mp_float& A000367_363(void)
+ {
+ static const mp_float val("+1.16636040717136734141311327023930635499260689019681786889299012701710837880565344548695786188828583501301595671389640947211944987615616669743667691653310616478587118127691050626532536249264850576873892265217350772327644637550420899602847054309954130972162909094284612508032501320500915959156393952051954158780851743460472332087597209046855852499702014238442555493387598808234773111312980655794818849816236467802237874328E+000000000000001192");
+ return val;
+ }
+
+ static const mp_float& A000367_364(void)
+ {
+ static const mp_float val("-1.53231341780667376422246876060068794272703347555980704890903803437865638602299274956046996649197700536019565682731117459129708953519356748064731272068042703470488772613492597759710973524880850922939189777793179411924786825796188601321358127352189697592964040484030180446794558147987263375773747077481050331677530401946326068992702773364650446622846077899480097173604844685060509449625739043174688098442354653409314625614E+000000000000001193");
+ return val;
+ }
+
+ static const mp_float& A000367_365(void)
+ {
+ static const mp_float val("+2.95656253682623488133943742087276453134297185503819418184700286382491967986062810663821633017598108687027591104379132986023600364022670072107808643571211512597694486435968451378442305810417600390674192668620003441044249436908419937185761453976718898559733193313111497940042066893952037091145096641479256753828565432394536442852593149710180974501395050517640543903887017521548954599265026759780387214774432603950372531070E+000000000000001194");
+ return val;
+ }
+
+ static const mp_float& A000367_366(void)
+ {
+ static const mp_float val("-4.45907257874709875475603109299106623171256282963054371492802952860584668662531764115850176467284181320452754566802329841855766245736205178912974846574279437937378954046645279905467534334709631369654668794976410887893828306238303702491027232761697541229299290900107379490820102894266423126492645570037704805205183794903992724067112795271205812656657399483376873218428520295969778869306534000424701050503476869349473816018E+000000000000001205");
+ return val;
+ }
+
+ static const mp_float& A000367_367(void)
+ {
+ static const mp_float val("+4.96481880907414776471024259605473265736175165162476165881931700916833759024079335015808295042289122244479391704410797807091990393424719235026777646916521503348501906783768497071574119194037660598902867219832649038135819029526135073270804045610328202731387475552111944305443745626958274452767837553608200345886648914624359923299510202800140115707197345321391094276127244972888590460957059889065352055208262146910808751200E+000000000000001201");
+ return val;
+ }
+
+ static const mp_float& A000367_368(void)
+ {
+ static const mp_float val("-2.71785075010907592420365393765558874170108473551080879915087755072108496697916744052106282382617205721885768364378977526328426494281789851430697137703887292440236885001597620961182090982342795891600230675182087819715522028115248271047060312383474747627524655700041204019488376679333123163215415233579843818853101274278268662997140272865934363894757252385507704745411852677387318469849033501886385825027870224970424271254E+000000000000001209");
+ return val;
+ }
+
+ static const mp_float& A000367_369(void)
+ {
+ static const mp_float val("+7.64622555318816886356305662782685695466840479312961837149011823184502695469513305921482921822191125389162453555479942982043297181461402143923935396144338460754749817744015090813174934449992180941816447116139437440045244532441720184919137898703563060369484154895235293313987849821856569578406131778886185363705545719568945815214565818260755381285005976174652436384760653936822214284207081786102374828253244879069753873645E+000000000000001216");
+ return val;
+ }
+
+ static const mp_float& A000367_370(void)
+ {
+ static const mp_float val("-1.06399187742535980098155956369591040717227768887277065667261653583905593823599372427126385566645506690700447459067653827984055626388802990697996691179391420717644319828334288265535250149495842601337104184022094267352078034474039813540104015501260864772423528575476311676469069556496198838837800941771435487223577403554202683083873861811346772819425389296988055233933014415470718622329355328029879315231549351631255255988E+000000000000001218");
+ return val;
+ }
+
+ static const mp_float& A000367_371(void)
+ {
+ static const mp_float val("+1.43755451373397788256536713264991908153625861319614210998919963264012512451328679289207311758793295962715131611761334296701058532530156501781288379491985906223556556723181756368408241775758020241628221452857829533161274095812152603067810376814917109458695555642610218941312658751904801094233297311766589706466858434077714662656960256280913927877945271687042277679044268370977408051304733265865357480396123927927442225501E+000000000000001223");
+ return val;
+ }
+
+ static const mp_float& A000367_372(void)
+ {
+ static const mp_float val("-4.29708527457950063193786152072374217495771974929264091879759123769769870775343933938760643235480370112513323826904309188028734846766493662057587643629855649022648474940695181723567544105638976183964338384426072447993389444964582749190817274407682461277418273845004679645966004697406025699618010427641228097651711590412398831354825931102562435502749164391779016832913990735056796133753250794388232895675422195186653330163E+000000000000001227");
+ return val;
+ }
+
+ static const mp_float& A000367_373(void)
+ {
+ static const mp_float val("+3.56442193234262618531208534281770490039862481543500201955428611346735272198640685705841091760705764076984391362146961630735699805023821785273384681655788391473450467118945930118513655245265275080911964546459125670426843427777334609618696580373015235177390965402781115552770990355475218082648569378148892634224329231776605360901379408245307754557215586895161625048115899611699804161991792348273598916203260213382495757108E+000000000000001226");
+ return val;
+ }
+
+ static const mp_float& A000367_374(void)
+ {
+ static const mp_float val("-5.80162175030906009779784763923714429020527571982946630281759277057223466429653121227792606543641334177987868051745496487410237589791913724241001374736847267208607262185477479560387959258785162153286874500272390532450585036577129401854776671234126487860399820088998397097731283010060151910144838893180157811625660826990964081560290141425031785867240405288128414136508244326881068681801148175561305675593718331532348648388E+000000000000001232");
+ return val;
+ }
+
+ static const mp_float& A000367_375(void)
+ {
+ static const mp_float val("+4.87728281496984085768426342522009946513348643906496229584419910119449459536780230006096640075807102940855520056440089171386906435235941497512321996835859233233858608749406217773866044836299949412523888602640771152207148960985162746803849909960751233520934791258119315714910267048820584062987325389465225616408509152758057457166469739780367493489709951401883440160569911886097623983306386639969634633939033259919725596958E+000000000000001245");
+ return val;
+ }
+
+ static const mp_float& A000367_376(void)
+ {
+ static const mp_float val("-8.72874650597985842294687622714164699400155858494673968771227512860110108231012975181507789303655536522115037204754201962410899598328528726858107367006811900624172563041398555809330523842900874588387005116324751017921651376404305993676170106502433165336337116210038774448546567292328021433785068284838284711384545700439631570977325060146579573054945506830959634943093610029924017282761737439655039345652781780081415093220E+000000000000001240");
+ return val;
+ }
+
+ static const mp_float& A000367_377(void)
+ {
+ static const mp_float val("+8.71347827029321093198138678821982078858894883488777800866680359140601375076372167947777167055709267214201654827816027486904769353966641468125200307185495794135803340204649496380154765873147792039840653215252973711987401087724453477981361033620667459730385405933434547641916794237344305478988472963823756478589480355137573164994429758167925597448557707204983546175788719873643851767783004479042543512240541917803131251309E+000000000000001244");
+ return val;
+ }
+
+ static const mp_float& A000367_378(void)
+ {
+ static const mp_float val("-3.38257188475183466394785653152018341863463436633286152605018093219117187210823581661548063044616817009858733023150407217514232306163153934451534245748552466448880915293751503852141735451116607693143614177343791730840145269789048204233838554768100622469215576914986725433173183046817837538105733071204671243107649377940165819556268628618279439372912926727358185372176484716198332258967416133565092301510825222527896322725E+000000000000001265");
+ return val;
+ }
+
+ static const mp_float& A000367_379(void)
+ {
+ static const mp_float val("+3.10351536376915037859471576528022423771710704558994273892252669044522763672695920376457977995619056044482296174602352055516885007357753814824246688510478931886588107813971455466230611487452843173825890522192864144136288521502605412040171567148928101737899925060191251367781582618492535559614632109060620996640912516668920206230092104947267242137580291641364796564410247791400598788332213096140160670785975430433991752791E+000000000000001251");
+ return val;
+ }
+
+ static const mp_float& A000367_380(void)
+ {
+ static const mp_float val("-1.48632609063775671799613634963951067952104464861550119966356730078801948875304644959452174755348353846241181155449223162537935778434789523977220413668131363637828981321622563723899005049179919088122823002409294635277032380443920344080677136112775771110872697862608737707642611384809834066757195254791474623626056366900145415076931324983200618157666202159123806961998013170752176046090531494532978047981888531260313665118E+000000000000001264");
+ return val;
+ }
+
+ static const mp_float& A000367_381(void)
+ {
+ static const mp_float val("+4.66259251914121768103288824418510875756159192513150412319180775708641810530931727423335552874752865021473434114960553984477347112326487207680488188306354933571213536062346290898243898623947094218337344174499001503385268692888450461093352441440751891950863110453921860435719924596110918165002127454162290089394185913453846032418543109356766001051390904006449697582893010481278663892214933684767639903097492947262345890683E+000000000000001260");
+ return val;
+ }
+
+ static const mp_float& A000367_382(void)
+ {
+ static const mp_float val("-1.88345982368578323113559038493002240652162692119406796981616403089094078769234266091819361663237068207694880115420132309140483375010802331718647416064296529663333962969200285476237904190196455015759392075090102524315182098833984861754561451802316590679633268076431701058093081617259253513098813443901032970075473473098085362819083402440538930858237362383038765003624778470613278831455784578487698368484568055385893725112E+000000000000001267");
+ return val;
+ }
+
+ static const mp_float& A000367_383(void)
+ {
+ static const mp_float val("+1.45988299689153757703130872724002647558987561107857157251047955986102162896902923043398230163593115177498607640386631215972976717780392236818983570945490627749405123506069943418224536673359182677805869430213694553330519277687009670598144362501794821449844030233618029675993866950882144215549321526577206665053412761590048268375252687359487244630793782523467463229537312012001029624396912477885396883336107736747726831928E+000000000000001268");
+ return val;
+ }
+
+ static const mp_float& A000367_384(void)
+ {
+ static const mp_float val("-6.23395584886227365830347755829109559364007576746773290481778442036559985569370529289678223189669350517221764797467957453069852861620651243766907928372342848882492034339002825640491076335498821422424128588778868374182577931872857944182821000979413337740617808851309577053701458300914702254356203009678275664026214236740624599749410224283785993165282919504150471745035467437138968750293679385596227757056418759155706213541E+000000000000001285");
+ return val;
+ }
+
+ static const mp_float& A000367_385(void)
+ {
+ static const mp_float val("+5.86882413739583895085368057503105513110075727687295593950163834594272685996596912080487661174441866721119448414808345151038997417999305630512421151398387796612754347876101705161575339502797255483142414248194966337161255561473688039356427340518331001232202431090886957545687160420606402437142100390845362616469765980546790863220235826283707034935965002783537149692314375543579224850131621337444648889440715360076850260216E+000000000000001280");
+ return val;
+ }
+
+ static const mp_float& A000367_386(void)
+ {
+ static const mp_float val("-1.90385410995496581080249094943130288145355445713412149451146003234674251443720531895497272571005688858623256889194342082958159833141298676791869691496286068932168834314793536279992491030173844284773993971125942004132787772809558627319117058185357020279140030372594797377057336770955396796319680839462621830657983765610520831451972854324912979072644726137305108758262769876390766172037346710046159654824902015834425782775E+000000000000001284");
+ return val;
+ }
+
+ static const mp_float& A000367_387(void)
+ {
+ static const mp_float val("+9.92879460119759483717129015496461304615233924106266979453307618660750625582823989325982123957244550330435213597281705162046523197719159870950442553883041937893243506514602988166124628009498833654690632467802316573822412183090091043232805404908369653771201317967999722957332448160842564743863071648916832031648331900562046851247058813144222043140893241799574300437398362557587095795352259147524384231440809503876002913646E+000000000000001286");
+ return val;
+ }
+
+ static const mp_float& A000367_388(void)
+ {
+ static const mp_float val("-2.21191369830392442605100490401027800849749507279858475615450096308527618660450116180416128368926392894260562370097961415340583854508054475651507274647974508005989356710279021918822810794678950467577626156146983844181130605797670880252100965868780158601191505211082232239984228430726070031850515309260509176582623746671774466124108119875856798035502926803077492840549232124237422289842684390861372823690232126513778313562E+000000000000001292");
+ return val;
+ }
+
+ static const mp_float& A000367_389(void)
+ {
+ static const mp_float val("+1.74136355798865893652202184808370157106773838534618571804853738885015217023410774911136486425258771831549361369830265592959487783329607663229769033227001071226825657814345387357597450484535581257380342653663123110744466286772166891164336905912200051778220792354640744065473049897862024711927898779981441872630861605024933016996394248783016680026730816430428787853710743604946045546900719513942012476711455180440160135613E+000000000000001293");
+ return val;
+ }
+
+ static const mp_float& A000367_390(void)
+ {
+ static const mp_float val("-2.18439560908904378159413539096781830069517480713958291253676636893070925177901118783330202928929898771313290905698901049896950079656510480892623530797009986414214082313467976747959067803185112556131492365708658984438206280092933141965434890481544862587975567129809453447864137884282756293069710376957836502632963260554571442794250175501268132825325541081685945674937180128459652545430174159979642315277898737287347168296E+000000000000001312");
+ return val;
+ }
+
+ static const mp_float& A000367_391(void)
+ {
+ static const mp_float val("+1.94875697854115349421633321405206392808642889494747883261688306032823663841942549272827625081446379719014447194719089913692764380054776693020888134042674221971641444032992467809046359536894671920885836588779956116649311028144308532149016286501654900071640171296186463268596435567486263321312430398754368064760729016635186361425062696784123529985062750841353515348969998818756262231520162100139776372036612844759301816520E+000000000000001303");
+ return val;
+ }
+
+ static const mp_float& A000367_392(void)
+ {
+ static const mp_float val("-3.53785074370106777412104421902615818708526748201734885581938377295505641495347366145446561303418061487058302215700466975429856769556580668849118774523625911128112538215528889896152083255826090140860514333282688297346712846821483934840689571596290599885159985657413415305133545537001080428697833569058102083395747916341210789241409534512908185776279814512565008303279162549501804373343646571975002016994718557778625797331E+000000000000001313");
+ return val;
+ }
+
+ static const mp_float& A000367_393(void)
+ {
+ static const mp_float val("+1.45995308603509318051546893836312952089283098553172335662787791446974126234337408323402067136563580015710280744632523494223323521954458500211188391773397530999403144529759438016064823532966809918717486964933291405501244106602566120181899335977431686066380708165262556591933247439876604960837309960763693333685578496421632117968935149017751648844377603121632590050041176669194811407879733543003925284933368152124575030228E+000000000000001316");
+ return val;
+ }
+
+ static const mp_float& A000367_394(void)
+ {
+ static const mp_float val("-7.91446562293693866254938596323093169228777925449835083427642550460928817630625705586139746074373268174279580416124861051958155240246213424044348140251805677104875129259201562458819156833445487199821832284552389297345185997818057011605536023127239528616637525387787017891690612886316968584735680958922825667956496951730770708476459482984494396431649555107409586479850183369552276095486602576757005944626924022473138432206E+000000000000001314");
+ return val;
+ }
+
+ static const mp_float& A000367_395(void)
+ {
+ static const mp_float val("+2.74908795917755175125164392140272234963391636101866548347166169459527828506545273176756803722475308305277275387459231211364930054591366553178739706751635396049022418251720849409570962574525339653450991438849888644206978442421584848834672566510807291009128753277936205321879605097450517230707926327530885762997110191877480604319517271696480731423417237450165086212621573184931610084719705247685755633097004816207700936560E+000000000000001319");
+ return val;
+ }
+
+ static const mp_float& A000367_396(void)
+ {
+ static const mp_float val("-1.00337595466791121860019552347831917017526640965792247242267664236709795266944143323088523498556848362163888997493697112470789836090441746104709398160027994617887513172193438505007703604800345896494972896792536757869950548683342177299197828147959834604976166602074849988217477018611198012873432053412223910407798769258505595378313916544384575609388242888883562338299937235699382086203647531423274860592131405185079852121E+000000000000001340");
+ return val;
+ }
+
+ static const mp_float& A000367_397(void)
+ {
+ static const mp_float val("+6.32516460342504797745236015577507516516186098464451868235403069615884833991556736412685454423267689720829476725476477395117371388395631811367499988187147387500737523047314114590243631620003268840371428897572632908574162258282001800931152455233043429723759037670467007913936780678054753892128688598648115273771347299931004110512620265084502821990551500423498581015577340855301479363938025730606641916286144121959314661703E+000000000000001326");
+ return val;
+ }
+
+ static const mp_float& A000367_398(void)
+ {
+ static const mp_float val("-4.04036515780513482847696468883335059169149737775521724663862676066114526991322475765039707543128266287892799182544348536135946129435812472886367192321230450182625753724969462622558076084944906994086879104449973582846721576627872669544981936816122634246806201251184184549242903082304599338438172663849653769101140129492823146008683967606170355024237175297833338615238605189081669336859346256222059312155426009106401579220E+000000000000001334");
+ return val;
+ }
+
+ static const mp_float& A000367_399(void)
+ {
+ static const mp_float val("+4.91654776997627231020428229679372887668237995235517431600574583845975623052311528227742010514679512300142759642482295942285005885537507737856815652180610808915994797588015859659337176771034342797120835952446709912047948534248474813827466447567128971312958419642814916123522131511273545855041635395894476835201357061406270990809862481707149801994634427210983541848712954625335792476834972649682522030692664751588129214375E+000000000000001337");
+ return val;
+ }
+
+ static const mp_float& A000367_400(void)
+ {
+ static const mp_float val("-4.10612353466155466573969039272287852768868944127324878881676566615916178541526846946526865171137653651653952229822254486656229305592489089049837270472904102211391100765019766095709014266183756303595784691820350235096498615908932582912152045176865292912451838550198788027934405002001709956402089216548175227365413348781369904269835306966190172208879669237414173979819259136067063795266525694689560824590101044114846486747E+000000000000001348");
+ return val;
+ }
+
+ static const mp_float& A000367_401(void)
+ {
+ static const mp_float val("+4.30346172638514218151892090894147790061661904289639335139126258690088813533040666517830078975865443003981291523197221891741746134951165095583438136200850986997837171936827363861214822778125336120305818969747550910949979033647634125762480722518715323255016754096337123771402422290772328838597079561517101486529058552686439968892885934609179585100446632414077272590223118758559737702693230016140514678146247486833253120963E+000000000000001343");
+ return val;
+ }
+
+ static const mp_float& A000367_402(void)
+ {
+ static const mp_float val("-8.61377411586601214654266961132517880043222268421169222661765206472778077519094873262267091344838580372579305465551190328693012089609197834799845533719988505166680069335371984621962020016540291990213464178483310336011630171815062898855847566717136530666237181403028885239325301508682521899099802007137789263411129434471593002199755495383018554910170637404043305105694224672106943910055190303824350551561035174223144042292E+000000000000001352");
+ return val;
+ }
+
+ static const mp_float& A000367_403(void)
+ {
+ static const mp_float val("+1.15664740444369462677289497680892703680335302573750388428684943056020599719573442785759887992834232465048344743389166628048931150682680480165367809706680579306110760355403676073669859375214786040852529388470275878610964615849698429067156682211924045196118479310226387042176201766642097270693228626068315054968695198199415227689182077267307600806813815695951559678936517755058281096094001236840862508680430261475887033066E+000000000000001352");
+ return val;
+ }
+
+ static const mp_float& A000367_404(void)
+ {
+ static const mp_float val("-7.72760068546633702029414786402956073796414780819760946113519339572924957100081390503522598341078262072530104601481094830670835165982252064383446501034450708290883374070935381770130053297554131364404674552630318002113481980698940100294251840513263440835306625420889423142275350557421204471898881528173350430187269877351619794284005085416522528604637891298125948113461076539200101251078112992242569298711138140476421245816E+000000000000001359");
+ return val;
+ }
+
+ static const mp_float& A000367_405(void)
+ {
+ static const mp_float val("+5.15209330581170381366619692228796454860623808848345854402409190561753546628787186766318561140849709823902632700440937201016853874394766103229761379533829836282684498496982581859686048139234176283795966154500526502695978241066155603071105880979468441190057126300709100233335698381003473701822896215483023449645945100847039014224183051586246316064201085120289949217881101921083795743026400753504649866122120838062693764114E+000000000000001372");
+ return val;
+ }
+
+ static const mp_float& A000367_406(void)
+ {
+ static const mp_float val("-4.52519304306111179956541393712774534116863279824317304782003451828256043548201760272048163244049646398365039697034548296959119333014880748104970706266336489028540146676408937581668408498320887646930003811510040193132750336958840031707568275444076962213388389850426741830423864747493429303711298773159951010212808083175722880946619948732539210393798135731405396381659000574402156140825125006288120691042884491066014093000E+000000000000001368");
+ return val;
+ }
+
+ static const mp_float& A000367_407(void)
+ {
+ static const mp_float val("+2.03938934842581728186225525629022366755648876178086465690278973940340927752287126042355301446611833875597622446750660583567312553504639197892705557288362997565115112953697955426440871451634123349183301098404691973474833652915385504221617846923950240658215446113909715461949993807732394544200107862138838362138828792207164108898606236833936919078238779948956767299318749565516307315113353671685701037833512019172607846092E+000000000000001370");
+ return val;
+ }
+
+ static const mp_float& A000367_408(void)
+ {
+ static const mp_float val("-6.66809470488976500659906115886630635780006300369937869777167790168603014886459627506159496533609414741288207103988436858443540896411533238766727890344858141674655859290952798605455022988462486166531067614026175321005171633431126493264854818934075865834568039143610073700475412209914965968270386453429383936151742126212738221871625934764370155533878094802991015575717503222659240271208230118543199384905172551923792594895E+000000000000001383");
+ return val;
+ }
+
+ static const mp_float& A000367_409(void)
+ {
+ static const mp_float val("+2.52857572880704585180738579753130628492258398069172663197598176571457546420426153414834490572877800869608163097550841155699675599051169456360582682324299167147215016157717720045483896435003586216465270052562715853222373473435633452105633031326835406820980282078511762551527823331033790110044958594050443832374991691736896491132442492351434751986825305469596022321658813454377278841454447190982782770089610367293604507490E+000000000000001377");
+ return val;
+ }
+
+ static const mp_float& A000367_410(void)
+ {
+ static const mp_float val("-1.61212206193457835064768659530441811763767866502745389885382345011558196335702738094299390208406616635117374726695364268171052719710273601071341089970549786676530728243303287357377299329536533306932694009109468727484683797704996395602897546932972544649276691791332086973612721536871972103845582058779728812757143266997113368735626569587051994421814573266763054885372631411038269696171291479652820855548140523937433250309E+000000000000001388");
+ return val;
+ }
+
+ static const mp_float& A000367_411(void)
+ {
+ static const mp_float val("+4.23610869812230514980677470366684193585559675319448487630527584692151223151862720176938730647256976601925904242158949579323121419981587534206102591107863398709097231061701867733453161440618655410304622493944639297191039575900762334619484620103208297445219381441195756656868698018024904920722361611427700188722764021362281548350567586445183488466023787464950347578859013236092791649071782831312958161892600172314639540465E+000000000000001389");
+ return val;
+ }
+
+ static const mp_float& A000367_412(void)
+ {
+ static const mp_float val("-6.31548248216135844182385078086956168991106236915725151665912327295962981628781990924303303351226457455776061202157796153261775144138583384367445079015787240472613965101209160022330827734936819380360933883233998224659724882804959832047994371629558049829030544380363675729034085166386005667833692515256142504353069653428995920132945510337947899043042882127506265473274327850336710169719355046900855969269280365660588776471E+000000000000001390");
+ return val;
+ }
+
+ static const mp_float& A000367_413(void)
+ {
+ static const mp_float val("+1.80308540993492302485705903430892052654632340051200269541259397100497658452170480351343454109861731935554469477192706437373993969032734812907392103342102745311926560840537094013322952127185687803978573470361566421688341063450859131698772920183253464178496272507902348098643549758712177885541905581556177635053172780495887945706910229544074827452565890940607149085387175484435346866653245608369978896515373805388304053729E+000000000000001397");
+ return val;
+ }
+
+ static const mp_float& A000367_414(void)
+ {
+ static const mp_float val("-1.81468219769769749050418904843654322604372682671236918223168138988109935961941878629139961477648502633263540154594356652424163553318884879637482850012980647801732964178992646950645488303676617049476987109881773155225018830667224623307785541113274737917904530166109753374057961123491210387764382343137215878351656868533065710450812631252479710877538572539661268291896449217916423132638204238841800485547296710053877976568E+000000000000001413");
+ return val;
+ }
+
+ static const mp_float& A000367_415(void)
+ {
+ static const mp_float val("+1.21079032440082225602325384320920833806928693294312290005044081405711444069264014019698592267355268859112157195649659754118569356347448949935246385348516984067811237022374381204787341841234524497713087121267021725642301629704069937699705288082214968057870916091994910962559296553363112978233444350940558848705336375457566965024448179854498452271058116105183596374881253207436908636067196630691803380867556983798332675194E+000000000000001406");
+ return val;
+ }
+
+ static const mp_float& A000367_416(void)
+ {
+ static const mp_float val("-5.20018978877654540422065909796086553877640467368712000676448339535829445351168772475189587037111240978394956718370595712676127524644574794836807093080305322128061619779295572386553153160494682151156640251161364025420306619450684403247585918863347282786833562792195456995970707769704960717251185017621356029662795907252119888857687259048138012033323677257552121411712469031691849660091824562485013061763686193679121169147E+000000000000001410");
+ return val;
+ }
+
+ static const mp_float& A000367_417(void)
+ {
+ static const mp_float val("+1.42191538799097566170028640483965291946906756111824279749547001649690549225841942284229434461622635385108125489015477309157637450978570019277887012738358300073414637994904722776793284463008042307654267837355954336669169463706433050757099841753792745256785795587061251790111046648604532563522922057493685663214303370292457394637654265173598368289095885597864283155549130861479926494810668342012441520507033146054807828945E+000000000000001412");
+ return val;
+ }
+
+ static const mp_float& A000367_418(void)
+ {
+ static const mp_float val("-1.73069521797941893555201826737589828160038223674009418995191427340945262585640317582877092742215150206168767365172818682557403847658175235450816575757701360815770930623908407336661057169944513178791254187514166743005025406614836050102618484193440634925464908635367424503682178889549634575660995035636017370910199125981338169417869396166184293748683075130398781173284025361102963538917530924307386449494938314764951752131E+000000000000001420");
+ return val;
+ }
+
+ static const mp_float& A000367_419(void)
+ {
+ static const mp_float val("+5.35402544835965019024942492313492721434399129679683899551311992992492530465705677605089893562245607422077942576844147684051386180497821649763041298676986556502588629377200828634722301877179028262411304332971242684893491509415262020366001163787211839384867835057232984238239373593619671239246695524792888191360609990907437773734360875950720338408873965879297372459402131279680300807750647800013356279230275199879094653714E+000000000000001422");
+ return val;
+ }
+
+ static const mp_float& A000367_420(void)
+ {
+ static const mp_float val("-9.76956262307391383784329723258842068798594468585527180358490149201016522340348282353093109498452799106128079387064719134167235451907380858646032314225525611959141299117482115874437609338101101112293999823458832390886340795255580080246023902183884013061688473888182600571586517875035014078824482748487120468900557785462235037937680557194871935418036884401906222813408735695473619459815238810802352680332356404713192315950E+000000000000001444");
+ return val;
+ }
+
+ static const mp_float& A000367_421(void)
+ {
+ static const mp_float val("+2.04337620170426567354123586703596595831971895826085502328961078863945457962303532627619228781304441141985535126990041891078509980979953583049799101414869443979133180236689964929288545247195083788933547499482129086465067924897187104357742126288393025350476393279221171771066329810873045893480407377931430483560511931789038809537117388615978964308437395523332310525624515212112308766859368156812458523343868029225932458483E+000000000000001428");
+ return val;
+ }
+
+ static const mp_float& A000367_422(void)
+ {
+ static const mp_float val("-1.84131724208533501097731918381674579997317573610833243272923927941174930521127315538513217565970473822280484470487067292724272199325970145820890273304200295418957067466427762287248293064298947816395069494698390870939567313627289900862945288361182530026197107671608548192640137200510001074727626070375788672609996791973612887543418420532193145824107123094171987266925403492425999743009900705718867284968453193983162878262E+000000000000001433");
+ return val;
+ }
+
+ static const mp_float& A000367_423(void)
+ {
+ static const mp_float val("+2.50994397343279064514540168974692749983475336661264602990516401610494641140640655895147229797955496832870716898766848306162729443780546671639771057617109162910996387338093308571603987333589565252716773886443910421871381899628746948080892249272084283688271478801613454644365393455022474241980006168686222431261476097096065771890859383879059670935945895132165488138701882934799883059941174056950895841226922174018578980486E+000000000000001441");
+ return val;
+ }
+
+ static const mp_float& A000367_424(void)
+ {
+ static const mp_float val("-1.10343862015381870230559504544889488733326286025932396882106773688381927143708549796468324401313062462226631295867292566228903860503095255789744879905675772585061435527995879860475416104999192842102974227187655884153321223946148130939885916540029541505482986874478823951185473526903076329332655926140419267718428755080593019083824282266472069469983806391031209894741238526484569895140915643542334518663654752262614547987E+000000000000001445");
+ return val;
+ }
+
+ static const mp_float& A000367_425(void)
+ {
+ static const mp_float val("+2.43952369703931549595475582718833563051109147531695194256390512225514578644045424350224141679252816109601735892952029385883933683978432576974594270172260761118764488652945709643002982528877040355010047877549850746301250715532830694416281593076280158023333662774493706841716340628126683982680490134392383509320776561164928478341473034016392810106010974018327245662398170445929416336371482245602116885495036312515379859279E+000000000000001446");
+ return val;
+ }
+
+ static const mp_float& A000367_426(void)
+ {
+ static const mp_float val("-1.58081919954731233059370102876653315915261797056583620754143315972536920428381965152850374306885361514934627452302186357180361612773716102174812756419623662521438571464809786890505570415938699909656736361940901717555669397020088156529228680157737820523403742709132745322010398302062740780053635116642548548849831343065494643287856446631505059526142011543306608443827181094419991928971847247312947438573937489008226153310E+000000000000001455");
+ return val;
+ }
+
+ static const mp_float& A000367_427(void)
+ {
+ static const mp_float val("+7.51569139829435732419130081294189106994189161487895582352839286410896624749920414291515429812978831259968559294845331063855993012055507092591556568549773823006620506906642282580130274661499988862926682103885003068521890703160839618970425254985969066494327743747509891559076049801693097643734782744038334464804956080711940619200456605342916758339605573149872511455689530730775434563682158922029601238975285670508523945215E+000000000000001453");
+ return val;
+ }
+
+ static const mp_float& A000367_428(void)
+ {
+ static const mp_float val("-5.97035160360619482401050583987956958055194218669022971576357170456903117044208875891846796051429634350890301013103336267865908425721642772291854149624528990939042498413058867591751210226249280618071533096019319988682315005343031960568519991352453868594792671351711108084735533085448657712647001906755160035046479489103242560943194639309180737237733829400514200492594983855860626945505618999338682738501565069435756343261E+000000000000001461");
+ return val;
+ }
+
+ static const mp_float& A000367_429(void)
+ {
+ static const mp_float val("+1.89967098211269707957916633212709671081509639327081438597608683969727155911672977320719605777361727341105336858096498020679891691781115685091574154369950358915415394569851078777868839742241679578419035913984419985072371383738127850248659036566059433233805049852696924233121312732652488341374437535156791589380142751015915412955685116061023165106717663146324222575205848746737659689422657756785583487029794726397179634430E+000000000000001471");
+ return val;
+ }
+
+ static const mp_float& A000367_430(void)
+ {
+ static const mp_float val("-1.99147746363810689705888037900271076210109822536088856729958450534661134230813049966601507411414627901596680863568777885946629974081127525785451507538072508766415418670036656196435842181095826988308267700351777110719762378684063592458064102242755827072667280856299467075744318980230854635925820840445582556692509436106511634901778710280398202209580474852770493017879586085108485278354131502361329051571646720048750676912E+000000000000001473");
+ return val;
+ }
+
+ static const mp_float& A000367_431(void)
+ {
+ static const mp_float val("+7.87863189036596058524645230550296282662587049018559512562723779325451273737060531234145478887962216373082444811704321329506303898642909058508044966130725456510174752137939767181511420226694916148951131979960571022570735976738169401559142358020346935249206530604836550774133416091509642338463232016089904882140500356815796764192807493428716841196804056990926208065744769444103410229495037059236159053657129485965051043496E+000000000000001473");
+ return val;
+ }
+
+ static const mp_float& A000367_432(void)
+ {
+ static const mp_float val("-3.13349818234433103109234109005729755630627358189145665334204965212221866133349888532905787317336732294609570109100299489936797149201846182676693872089137252017380339559354084578048925786344005825156896821431534101806813930969150022266517166564825379506162183124638812300337957621622373318022606035045353893325652388485798909991655505270037169239704912281942529747069265067758054887230733847620309999113241600841642245732E+000000000000001490");
+ return val;
+ }
+
+ static const mp_float& A000367_433(void)
+ {
+ static const mp_float val("+3.27174221836729398250391570355136572700206825465943194753741118189603418027679361255523107092452539790026802040535296017811569102901462580576958279018716010028902217369507676478904258643539631455135235994316081905935285042427226578757512606311770637375107747186703818897026674949668698632267598157039360289770318907241880165652434424708606742814411140410559845372483682016018874332084442259319619982020239497441168124072E+000000000000001479");
+ return val;
+ }
+
+ static const mp_float& A000367_434(void)
+ {
+ static const mp_float val("-9.04328392607633265278955269504305988810607671516613544081683934732957560986788883544115762455937185596196994062712702680476907086784806782246443264742829903771462688087844601616532921573305076457283392702416308837370223306111129423141467770242005037313604600120374855160567957168132164030458108907459683406057061537039785758697337957298518212038413191205193117923946444064341818014228236019783038476632050192741409732156E+000000000000001485");
+ return val;
+ }
+
+ static const mp_float& A000367_435(void)
+ {
+ static const mp_float val("+1.68206156403215883279602864007942522893803433507073115279447118897607710537426403924717260414520426363350813470162632667237929803675752215082145328872010774893833754127112422181007268364347663610230803346500182119908761419860875331125449680307092218412458317235621790087460671383900687338833690361984788458868275874565960972413466345876488812034670994746820704348039334835342793589538540187055983591519845513387419541362E+000000000000001493");
+ return val;
+ }
+
+ static const mp_float& A000367_436(void)
+ {
+ static const mp_float val("-1.14890035595213312308633602052830752146848573266118373498525105584070720183812816394557174698012625271207159002952635798440691925113601722812864375912952163377062036082655774105915845248061765414170821712813535632110017571032443496251598208677929287346501391972840528276533915989413578920253254591757949178139307839521204375985597082894520477420619971830797146580987947503080172798679363264444358775031017792317840555907E+000000000000001493");
+ return val;
+ }
+
+ static const mp_float& A000367_437(void)
+ {
+ static const mp_float val("+2.08725811020780935268988735528600640618737739847644671446132229940794046847093577824084095833399014672274401389474716379936645539064550028670608928041504976479243350614586356033923114837243046167753075720515330183524514832740495849309654097129096487167917543395139031231053807208191978129188691104818290597463282359300355402847354021705245394097365706978464114466794520226674602997877724543224769799353367589345373905358E+000000000000001498");
+ return val;
+ }
+
+ static const mp_float& A000367_438(void)
+ {
+ static const mp_float val("-4.42561726186069965408980458678568096071788903389797513617211953813891634408248131533598172079555810697852172012143128969574033162073377582413218474087664338081321170821436922200263858780595402984183596433525413833512853102909912604426036720063615772825754338083441784591379408518499990806995829035852680352262697905088230016622395765987834496831837966927257742848183787524990688560639804053482731491677425224548682362311E+000000000000001511");
+ return val;
+ }
+
+ static const mp_float& A000367_439(void)
+ {
+ static const mp_float val("+1.68176416502152045683994873737726241153692176628158605376030710064483648127210662397016473065782122387287060441706589508342837701608681177805110267923582233146339328187431184890567579937077936040564492309864792229114151254931206879601838193613389861710963627065465540112905519958838767648112791831684561332356117837319309675544700296104141656539318699699180510313326571898035253647447105936465023265866718669468846506070E+000000000000001505");
+ return val;
+ }
+
+ static const mp_float& A000367_440(void)
+ {
+ static const mp_float val("-2.27806506213155057427295951695334313729815409839259062555614494518745239151141297220735730674035867865010818769814308400581237503323556842037371809360581971630700063812403426205938830415683123495463948552031001189319037387207352833775061558664058554353634056480385131384943970796503724719291887358916177035437559969590087844296536483632988944396486499407590748491800782836294072489179790665363870664567910669989259991628E+000000000000001520");
+ return val;
+ }
+
+ static const mp_float& A000367_441(void)
+ {
+ static const mp_float val("+4.15954840635935375167494514212512286869251222714755834905814350510411709690679384606685682696258111226640040453540225011815817405676760120235315798643746348349027024554469546481110725423245285573434725920961579807994272846205576579023657987001259633882034797397783212213205978522796097042787111256882642499257873902528572029255397302675572078889458149085996777575047770970743910897079401627565069291165603279153337390767E+000000000000001522");
+ return val;
+ }
+
+ static const mp_float& A000367_442(void)
+ {
+ static const mp_float val("-1.50544361369705845080344045975838935366868420357100458370636526855723828092046281656464220605423020785728410526172165465903272356969918335645242789132149808200101679302241313970979671784657429217045667798319488444536108523463818080208109912631362628802295676291097221159630974802364423352076525954204642604738969045339890305570334558259018795730754082545783910254982340684687813770992328921848017263046222340645322811822E+000000000000001523");
+ return val;
+ }
+
+ static const mp_float& A000367_443(void)
+ {
+ static const mp_float val("+2.25920566939480023627777571590833378273353045847787668578659299870097471165100214063791426942077838046339562788320487398355506522407364215760083884551117753680694835969771245484387623389492101115964857900830118827732361355166986095835422523780961346952403513807295053309413428678959404115741522248121974009353431821069465885104751415467631619770708729570287451295764705538883589835562121130307598761813693226410320107248E+000000000000001525");
+ return val;
+ }
+
+ static const mp_float& A000367_444(void)
+ {
+ static const mp_float val("-7.68265845579984600230456113852056876624100401806055689133274089333040338330981050225258876003509958689585589903485399270200484978358263016137681284598991028034245242331457122760212097001523567984846010233547837335899244380560352480766153681599841366296636740541390848967276293317206055343456497917039635229623188069118972444684323191271417864922395909252186774494601409144501924130463824289852138987555939188519352983972E+000000000000001533");
+ return val;
+ }
+
+ static const mp_float& A000367_445(void)
+ {
+ static const mp_float val("+2.00533412963507236207214904839442863690645024870329413536188408588505843943069011316022778433491279338210258313849413451595205611749222846727005045739635352315576498868781642085901336344699736081395671916664307182540691229631515597853205214268208872968539310480082778657965136246321435290004194886403480903993416185355173629865245480619965359926408179925332325206512611871075278534928295995965219035478804679794094330208E+000000000000001534");
+ return val;
+ }
+
+ static const mp_float& A000367_446(void)
+ {
+ static const mp_float val("-1.02516519976918117268560481213220120616169054750766726497529676421243798183578734586804591127276289402525557998222163732392722627074449958259193392817994623762835891704826921455118021999983088319605329595866211327463094525952883113412399794201709779304031443088478232717833165332018110642582749481859911523128240075570279478980087868256593838679505156728268197776701511648587742145700129036385898494353434738945446773956E+000000000000001536");
+ return val;
+ }
+
+ static const mp_float& A000367_447(void)
+ {
+ static const mp_float val("+2.90235900983354079008798794561625753414343652700910951321885144849323130430818972382444506176416009217013005760809797952249283637478997861322075019288142362654528254776272832767824520865314857593037933413907875521187388030001826559724656224200413961504830551919263207892763439863156253961019590288409440947096348311627877618178226751221694684415133392430060005508063610186806593016708234729690249522390089478362769159287E+000000000000001540");
+ return val;
+ }
+
+ static const mp_float& A000367_448(void)
+ {
+ static const mp_float val("-1.05333401319130933412745269998011008109576513623489216410560499145806843302112712141104872693076974184264628080390152603886510861765966960174376819962303012321771606733378300123214969798142152323339597312454117347581531042333990466564321214180707552664492575754958616200762663762622111062771620741033635908434108020705983200549644468360835554921376443035646448443839232834536870338593990289705858898193695081513049505424E+000000000000001552");
+ return val;
+ }
+
+ static const mp_float& A000367_449(void)
+ {
+ static const mp_float val("+1.71843631983319982113940616061271526663188466519876343822939478618805687150397223992199458971275843513927719614234277843765581867375959576481599808294257721334138022683718118918207329525606846661610113845373360561066149936315235200358342121906482386464972816956924660333146578320203408127869647535127802438531267524668030227751399303903991143716616362468502956723496347029009672067081205173972923371523780478387475927133E+000000000000001548");
+ return val;
+ }
+
+ static const mp_float& A000367_450(void)
+ {
+ static const mp_float val("-6.46850233392158818168471803387065863792369122660372110726709509324926842950308614070364298611159332468443107380158258749308367909771244521648883664089212506864270478421814485078201849383280541207615441680459410787240988273861501623775780566323710939088674645795806555242553768950795038383425485330770912826115178259886089807959179331165218201046822482363978349028853826766102069188606151864359465610715449903857038220398E+000000000000001568");
+ return val;
+ }
+
+ static const mp_float& A000367_451(void)
+ {
+ static const mp_float val("+1.38405525229780304937917249978107086853960679573619920212247866612706099381344112603811069045854932821207784530884573423609406030712975088425046441305430320475747587262706165175163117932659462461518342181238272213013369869445217281336828366392779486068861128317726245399252677533221494891965023089808283369760177798562408735132866118956458115542761869620936210982712410776401894957649445627241575264673566105441683211214E+000000000000001560");
+ return val;
+ }
+
+ static const mp_float& A000367_452(void)
+ {
+ static const mp_float val("-1.70153076139764901762463558063667980235512224627541995100214043197416995312200873902893304528397344388346570326622636000381385961087804113384165353227220350888742119441516223752380565419357005105150701731072759443841952123745540321833119912273710732456404479081962025816175217440453046660653427810385132561847078972241240440440860211586244077749735551531790689820848197194455082055791367218260973121539631534688896911959E+000000000000001564");
+ return val;
+ }
+
+ static const mp_float& A000367_453(void)
+ {
+ static const mp_float val("+1.97681628751497429136139516367953359718583385162450880327610862469093943638355201995878001466258756447166076320354684015542781565371964705356970890269280078908481956210324920853249784641340580296235204538638557918960433455739093576212481793496737203519865976398805518836643680173229107826308618656126882719961726588570859508072877505830923155318461790138539382752458821393332354756268108965583377235362151415225045348675E+000000000000001569");
+ return val;
+ }
+
+ static const mp_float& A000367_454(void)
+ {
+ static const mp_float val("-3.24761386453174888277183636994230501089232969987087928839278519913578774237051979187842229390486241926845195415454435694112358169313050754155587898273915599975931150663401290552146078420445220876647213626875493331487984619484473835995158650193363647517386833831337774212136004319710702031475693895731757242654535437282642110016062412422394005514800008668721566947339516907377773764276824726774270207928941274256835096880E+000000000000001570");
+ return val;
+ }
+
+ static const mp_float& A000367_455(void)
+ {
+ static const mp_float val("+1.26847124839074791786026836834121999641844373482208651295764461373597929243264783969714077558257417751389576444253351399205838371885438877304492802107712318212135186456258514202715259276361999863403087678374884022185717599931929540806444932572472769902247039326640917341179677367211722762295359113868239589020384776784905267941181375653523328380787502350483126092110717727095993132940866109279478766490190760373506221584E+000000000000001582");
+ return val;
+ }
+
+ static const mp_float& A000367_456(void)
+ {
+ static const mp_float val("-2.31849092498693345945948190320800539773440875657345867681383492351358761316277379856975500339671086716305839964709847232899839169224928648029857654085571039590297919904942077432193369052881449830513951306492163730710932290323105273106351882412010726774277473751399885310701324702872730202571385832055364387139735101605458881224189099761072462945038188993517978397596850311408227563947241710277439355148147771974714650741E+000000000000001587");
+ return val;
+ }
+
+ static const mp_float& A000367_457(void)
+ {
+ static const mp_float val("+6.05411458400999305152167721157204583847821302977073387994065522056555637689484512470433881952342956057887501212481428957238751045646452039842490410551879669564318564518668699396788029559713631575212415714638082172490640344515532268860027804797300853453535927890127846719821725662217278881141324863559053148112240873542991078384182657766038682596905246329540010363904340296974650689641560763180797781220072675373220924239E+000000000000001582");
+ return val;
+ }
+
+ static const mp_float& A000367_458(void)
+ {
+ static const mp_float val("-6.42654379956970553198171908007782641767114210190505170744680815674908515679179713893835297148320384841233088210968880278750707722300094293570969756112945428813018914758971791850829256474732050432102489621195501955067566059387573724034942230631803477367168608632074151561344207446912159132823812805456814645140150458322869570761064234369226801729605467271360275252690203757068299528135598842990932547713469253883670202171E+000000000000001587");
+ return val;
+ }
+
+ static const mp_float& A000367_459(void)
+ {
+ static const mp_float val("+1.05925982309001711817758470680803708054950145190635970480725532908549343933073887143517352281595012906091582138887875918467553836999447909570091651050262685299635097002381183505030047634669471821851287304700320151000338882393837955800357560289065560129026571728128463050834653170415399001724739945278580042027090260949329566009856763621791983194638499429072443027809588628583553880389074629400229887036588919799371216611E+000000000000001601");
+ return val;
+ }
+
+ static const mp_float& A000367_460(void)
+ {
+ static const mp_float val("-2.86779880312826614039346059429273644020504976815401592150239834736087307326225542044377326815535417734275045025301252774999018549759160170958834377286554141381354152336600913481423322056194952910644487296199878577972719638090399099356125793929456395084311419618945558749599276196838684384254319033309060501921291307581066108472573748743021215932539755850256356520998947135226371835390165169107452978122331864956908661666E+000000000000001603");
+ return val;
+ }
+
+ static const mp_float& A000367_461(void)
+ {
+ static const mp_float val("+1.26250807385825216914578273459083904682355661670330241967242116084139981730436652136206697711964837906659963718132696848385048030061286048708118901528995394204549340741781552727126157093016578211743432124936646394522552928879710344077881681467834607461269712087118566752278883831965645869146480878562916425736387858520281608887773701963963137290688386560681366310322344162470648082901114362210027268908567252576302361952E+000000000000001600");
+ return val;
+ }
+
+ static const mp_float& A000367_462(void)
+ {
+ static const mp_float val("-1.10410297365188554223480576207654991192191877681804442850961244304659078008377006115500899130305511461765008788909684172947730319591764895192080104948640919003348082551622863421427337322565413256011184689107912518948635325365233894590112491264254064043211870753563840927826494324449400709939426090719062764530145676320521072985424298115474625214914781667126940095269968139921285596618493061438735853690917352987749627399E+000000000000001616");
+ return val;
+ }
+
+ static const mp_float& A000367_463(void)
+ {
+ static const mp_float val("+5.91753836676565652556224404708254108187844206675935217932940997601417056078242789170526257292416176514090389028879233628084408386073338183386861615013674984598019698403578436691196543537936912803860346871629943928756986600150330636926372373423849139410478859962836542608700614742022816221954917011640519459625250076234908475812419727724684551809654685543759650415901526508784016759242784011550150969740026299041810307243E+000000000000001608");
+ return val;
+ }
+
+ static const mp_float& A000367_464(void)
+ {
+ static const mp_float val("-1.39975371373905015222949069863898259815463809512043381822899004084300276534845329110836637292273904217077308226151754619739593787073457283621238729290589207547597548908218582209024388003504098861346188278916508664511139283160870647719431702665290587043772587339957647729255500391932428816684206293804806458646394222013440372600940959229216505972730714197672248128691788034822436647378472089631085533900493259629904865868E+000000000000001622");
+ return val;
+ }
+
+ static const mp_float& A000367_465(void)
+ {
+ static const mp_float val("+2.09488790772910690613466359914075446808180229272430985662238600612414762515901915296296274478933065451824216809924282690883675191182695193995280922869065404767807275366362263883711621729215483548293830422629654840363503168113936379599086113220304195030636590627779469937867658579141381979446412061808790792301834682200475128141755578738823575065111358018717342334014165808277483751326743977892315524032447961994221284848E+000000000000001623");
+ return val;
+ }
+
+ static const mp_float& A000367_466(void)
+ {
+ static const mp_float val("-1.44824061685482041457284283814138796073352832936598235332491917999320584092739817278119746896819095587596424319799597307967852703959218511167075572715472586907380718050029461129319313668579107774468603961539963122406322671597857265141568682128224883633461041895237604053227061342965402384466457222348047187766032665850850521803406081128075116823292990889271580874993146860870605303334940986824202699717782185568743884010E+000000000000001625");
+ return val;
+ }
+
+ static const mp_float& A000367_467(void)
+ {
+ static const mp_float val("+1.36906044114230927803964449547598630867338629090422552437734291714085777574962919093769381127164586817486826268839695829939731689571055616855871219128913059179016316427878542190429693831044416764472687990208123587708615767393713105875997207468917692336664759798696739293375565414185379858273459355090425075687685124157927549760515331820340901026611411330479740283767161825731033286396351476727992770338428120852448805685E+000000000000001626");
+ return val;
+ }
+
+ static const mp_float& A000367_468(void)
+ {
+ static const mp_float val("-1.36623833884914029966388485912443289304959914514284095445299941055250578395236743101287234156262418124964242766765093857042956594137555409010879019458034969000053950570557086915845227411262914536296989118623207276191181530663856303132815466483987345853851600241189519827543901470686735686894080158420157686331777290927199334525461109464590658649409068999026230724167658491404773468002030209738003136442199537851692042779E+000000000000001649");
+ return val;
+ }
+
+ static const mp_float& A000367_469(void)
+ {
+ static const mp_float val("+6.75667511794714323385528162532534695664965771012121136572172425250646810624064477283335409732303690922245918074603740161579224837123311425836025627657409281625493575900375604928541174783682303967137611887944598165892366423924879756427786704102983345068604297418429339061352297330782444273418510567605213589900094753813324099988737486775451329379207862692387823635331435812048705055453696268091824664058761979396677604801E+000000000000001634");
+ return val;
+ }
+
+ static const mp_float& A000367_470(void)
+ {
+ static const mp_float val("-7.81842112600034139265286297098640659598249192337892490018791623277693143860153230314525117966826666413335100087811128218208965181481264895547543320883023113907666935420418078842694659231601240465035392170588507660072876839768709841062283674477172413442665743756841953997870926434808275685575650693417323560330071757697642643373405652555478187692088764168764683512502719669282492294884471590278996274113481523985844154472E+000000000000001643");
+ return val;
+ }
+
+ static const mp_float& A000367_471(void)
+ {
+ static const mp_float val("+2.37435457987629442309335133682177294863220092402536496896804499192627094027161569466326512041326981906255671057420308279844823503754426300793498618659190236974715843866829590874915558566077878413455976013584301134882557239769840026889049822498974074008437783040462056019243782806645144841541694478511328030585379257843812757279910271617452759063815512592663640323507086290417288878628195706147589812963603362055619981850E+000000000000001644");
+ return val;
+ }
+
+ static const mp_float& A000367_472(void)
+ {
+ static const mp_float val("-6.50115337285147812533872074016626099043487718558267251906741752317511335473071613375702354144234609954971512272487163585206623626404051151914470515349032692545672925061932265332531516887808675791682067163279809516396613273124979699033987917079162611764851958448737058519433114614564761653761417726540736017955123306558350807788834358790186605421193630964411427141675169287309413517188713567723682446083407794613428710594E+000000000000001649");
+ return val;
+ }
+
+ static const mp_float& A000367_473(void)
+ {
+ static const mp_float val("+3.77235459884959970237361333518448705412724497838608281683289947201833117848329189666221352825368879779964089756558204994889035714273886145680492613945665195419591791625565493729619725055771655590463160730156152040225931314547793760562285884380641876836770609653178028707472589171568021560886982764759788535181545956123793536855865312224671643163460290913455146762217736896031293080944115041294532123868979634157189191026E+000000000000001656");
+ return val;
+ }
+
+ static const mp_float& A000367_474(void)
+ {
+ static const mp_float val("-5.68072718403326163199964095066335087992449669349571329681089590583476217112963238315076535116389016021529235631669466141907741449607110236684729753648082688818969643085082092038710203179219685392973895824117209016099417696105329030420211704634937285001287517948257429987343068678542555874765703660536334565908048658723310195019480897548350254846498952779301002690285688071700774404126460072976091705893444943341615620384E+000000000000001661");
+ return val;
+ }
+
+ static const mp_float& A000367_475(void)
+ {
+ static const mp_float val("+1.88968496372274522632439341545445003945622778183347679785091662706816357275563095677559600809868067546105546607690624671950393364456406170264837556188768890253273477319602252302997864242898685470304233892155691286918826344918540037567460417173842164454710077075999637690628575495723225172706181654062159755208640511094627880114188240158667750445772752960574444732927340855835384168433784003230512458072993253829182819560E+000000000000001664");
+ return val;
+ }
+
+ static const mp_float& A000367_476(void)
+ {
+ static const mp_float val("-9.33255277615864412320755159258039093243154847876115550997253707829741443591282252055490391648405640381423502237799359128183440437223249473855830669811556431316131341257664533141066480084310345127140772346994041244504715490154059738195001037880347761822630738749860119432703364460510333204602313891160661862045873809082842360316682442761315506475492766329555340543349904124238922017988759798446465908447118312128159191897E+000000000000001674");
+ return val;
+ }
+
+ static const mp_float& A000367_477(void)
+ {
+ static const mp_float val("+6.75986528100616156915380120051345589213373727153170063974675764060201679804154163720773815165942934999842154009132438639491070253679526692183716617293575241680466012162512874557087561161380631982433376502189811099897005480805990908060128044514802254133029137557802021117173097649347557939614309419765075925391842426716107778567630053062002542641671089266383375883772265621730738550014751585420091051509027645890744942553E+000000000000001673");
+ return val;
+ }
+
+ static const mp_float& A000367_478(void)
+ {
+ static const mp_float val("-2.63093226538623513149021365922520256068388510011139452627550707217444836554298925501934462610635455819791620128700744471890949449038698069191643574042334374846191977420599688437089681076763400004232826199566580124873281798694670387520824747646936694684944651582520305201427502459674332487503653778311911625985099353890931779349809447719378572124853577140006393497947045774879648465346739968319453914573665968318173192568E+000000000000001677");
+ return val;
+ }
+
+ static const mp_float& A000367_479(void)
+ {
+ static const mp_float val("+2.55106696849645193671650688185725510799620147885951879575171811560914123486280638044362207586786899380711070458228966789282387366246676053392961590989468862201329820734188151264163156173620033912310712366445400044447262682416340787562627765860992851272576399084077550227360058211462216646030295960166298605185634995739779664511894915844137095413682894374442012639647599868741304817918513547170289054250708137815392196272E+000000000000001678");
+ return val;
+ }
+
+ static const mp_float& A000367_480(void)
+ {
+ static const mp_float val("-1.77062437105990402674931998487580988810841965734005168008076182831585015196847784430033867505923049972383720189976532316825852759724511015112511529433587540752328182377105919732733712920353822163950400863523722318942813155354213175126966877286321386943276457167767933202091393858404328972463936784562907720543134731748522384574633285734432359876216766725033731729999364756578639589262393716460782748927831780793740329990E+000000000000001699");
+ return val;
+ }
+
+ static const mp_float& A000367_481(void)
+ {
+ static const mp_float val("+1.39312692518201859826873649834000063113320834351148694087408150784712407580908843002603827095922098195335430248385722828009968487655601031501905161050808541173483452290982099797919825353323502011062465034299066608535789240159113541868887810665021859135523534577151130598969633990313261808041411001076242765812207923146185648116728930090723763365729936396174167493884485924600934525483119061228578500680324645867302681377E+000000000000001687");
+ return val;
+ }
+
+ static const mp_float& A000367_482(void)
+ {
+ static const mp_float val("-1.63796370673849817484340963115726534151791607236280324924150512512632592875287404241717780496515224766152532602844336048640648166227542536104513669014066151172418224539457037505807057250434484345146207138405537045197178964072559280005529486835368120317337584154685453671480752556140328752372579603287272823907444216706727059842185821042352634466668293394861738692939935716481013035834617732634224590291533392309419933328E+000000000000001692");
+ return val;
+ }
+
+ static const mp_float& A000367_483(void)
+ {
+ static const mp_float val("+1.47090492193820023484502033688810886861852639228472759298319551562515497945625837599215717773640035153206827513472655421679520165035185466761563451478649130793620109544667315959378324121744233350148385135816241495610764142756341126286220734695592363864585391134260747369256480774555601476263041029639854178365182864832462833461648501746968487864965586480333752487595699495657684348348592832015229846277346537412585945703E+000000000000001705");
+ return val;
+ }
+
+ static const mp_float& A000367_484(void)
+ {
+ static const mp_float val("-1.87719295218918415064750020905440827572433169385750352200635427757433154517323850062429625562485563671284124377265750404626143865963277176402965342563819837084997401838481595200372170395310373662982826591431992014063998283058115070355584711562443562817183044749361274978924624579864209786451878800982895410773275584150388083899784386962617916931365444228786690320263538865812522983342686474266244782620711437264068709095E+000000000000001704");
+ return val;
+ }
+
+ static const mp_float& A000367_485(void)
+ {
+ static const mp_float val("+4.66410971276420693202366152193544523458286935528760601791278723874827372467566888573464625744302330574390367597456984737204148313649344299207007918151130510853063727342735736517723267771375524959841878338207155829431779880824935175149056830653911051683430344124364261640671750458248853955113703381183401745436085085554735760708976319375198924681853156639830037090768955771213640759570053719849560202401070750126006295159E+000000000000001708");
+ return val;
+ }
+
+ static const mp_float& A000367_486(void)
+ {
+ static const mp_float val("-2.88929832605438676009190047083641203897326345301058186570024553707972160965986955772993925461477604921364711234302069357012498388182941676362052553850806647006737753078562485734077479615781113765764750973564195295095637863191575163659530411316962432427910361627189603735206013633908596304723082416296288011457732947909494924053650276434728760396140665947339520072983227658813864138548905011655961433821296725818824951669E+000000000000001721");
+ return val;
+ }
+
+ static const mp_float& A000367_487(void)
+ {
+ static const mp_float val("+2.50607844529422788168244298356766824414222196440322629571728540724437876299221496954123867285830921056259511461669755651572132999042579965936661393778266237982692026176097466408210835599326385562458925611248956286376133564574096029387535658530008428792782237387199868277298224036317635240622333818785040500479552418332506565505430191018441733830749335800095754687851128826019374958753964511120268187995743391384547560338E+000000000000001713");
+ return val;
+ }
+
+ static const mp_float& A000367_488(void)
+ {
+ static const mp_float val("-5.01652345605438246101192630665888823854370443933179827978963220146279121329574044228213969984329730707846364064477573216089790496752121656991379452157738982951096584108040796332093133587775174211219371480235517534778163951399245981510987670842751997555936463597542166108492361628796436508137306997141605901669716339533006091773154334354244446648829006210638775233930914417839233990559058985015560581277811008048560851164E+000000000000001722");
+ return val;
+ }
+
+ static const mp_float& A000367_489(void)
+ {
+ static const mp_float val("+1.02343691936205064790194600675329938349475516332025579886203374894016452316926832767852225307981377490369160167080657276776996604599922575190249273017086113829574663202335427473292068862738567100604223478895048530912333010075392447313711188123065960846258949149571526889813192117724398458678674484401113570807868714689762661873222091587786504984601215308992791760807588130862616001259773605774010808061545982319146844741E+000000000000001723");
+ return val;
+ }
+
+ static const mp_float& A000367_490(void)
+ {
+ static const mp_float val("-3.89205370922338983105388132226608518729230081748582081232633294607561069757934905220301736935236553203021179975996149325058994001465352482571148662513186277841064644845884372316376825900472235380778692404001743979327307049175346764546869942627226339533617206818682197492263787664304846886897631825914500846100840233507642405166053305659188260321897986151830766677277516264990695478469090449668430414742427163507193368940E+000000000000001736");
+ return val;
+ }
+
+ static const mp_float& A000367_491(void)
+ {
+ static const mp_float val("+8.52287946883589106961550675127270030219835232529759304536038246881329034539294140001973167524149371351904613060419269728600406773535729533655759673858725959559719171033185981416848154192862877375348411201662777556569179643827274925580955060418313547662388888064048678854840510463923229369248514042103038739857790180490344923990395836777606252728832539296846850390082991651128425166325528446524506704513210056361178696716E+000000000000001733");
+ return val;
+ }
+
+ static const mp_float& A000367_492(void)
+ {
+ static const mp_float val("-8.02252718496448527584917343539231479955802569007139174047498566899429583435021246762420125514600291986775356246009369876871822295327465585196061915411679678994703298709672048994173628923731417527022168437242360227482905479591927560258150246616417468079659642306263289321879175205272383773324067112327852953015684462829574928239287163612908866538243956424334195364935554792987187026295419297104416310678936264464364274854E+000000000000001739");
+ return val;
+ }
+
+ static const mp_float& A000367_493(void)
+ {
+ static const mp_float val("+3.08338055141807928413521984384839453139624210278755678937327159827063385864061543694706338305845607783896187422180669962711600827630506437241068206521896712927552301744837602011868927788171671274323842518047700798437749443389259539590875016909484585723127467543354865788167094404164778123760223757238560785403263019271357099231577610783119053111734962415977960600110154379454495146455898353856966598262761180370731558474E+000000000000001741");
+ return val;
+ }
+
+ static const mp_float& A000367_494(void)
+ {
+ static const mp_float val("-3.42086039932993849665319641054940657957064701543511717941255756297257086279854912105509245588715443934916606574116504515021823443194891969304901481609429386532660632046169615593083312335150017246799163721050248408245842737489738168448958380589730896561291108977296837078652703546234975444840368289325281048139015905029186819728246452175211496874503627023393072216968431422533486425186519627015178775154961546500847147876E+000000000000001746");
+ return val;
+ }
+
+ static const mp_float& A000367_495(void)
+ {
+ static const mp_float val("+1.46057751466257298847711036422399529129186164650717172985937866379201370590521086952105123555789593143067750893697919461117125056701494208290244139990041548203730296477035650535516324137347796173452374663560030753469360180046379660230668819351647801006298557914030688502973259917545421972359057374479539792405994281359122100995860798297983740118183636269053008723039168929387538995212106804028937839261984092223748602884E+000000000000001764");
+ return val;
+ }
+
+ static const mp_float& A000367_496(void)
+ {
+ static const mp_float val("-6.77650468250858114115488966772615426608196252472570275397762447266737898985982294853866368547947037174689885892177015794738812123073312328836861637215410405588496614776974783760157615512514991918393597828675082543353399083989962246988499500701698806948776628595300306862167985748373974239189984801915311921079454206815580977270449212271876558166632811148239521820265871117654190383070877893031314907372590513916211299426E+000000000000001754");
+ return val;
+ }
+
+ static const mp_float& A000367_497(void)
+ {
+ static const mp_float val("+1.99325431633975044014825929419086255867138042025322277701630519405467064640723093039004935266550562088049153757563441397066902128908108825073497954300403479258438918713287185035973886986095240173130001334286789273675563639726597719778991354035236347873502359480343559806242685188528056263738360736328089033078963257316339656372845278721819447597567104106469346849112839049738602775994348778696616082012058487680884121236E+000000000000001757");
+ return val;
+ }
+
+ static const mp_float& A000367_498(void)
+ {
+ static const mp_float val("-1.89151141879377800681581654270073708163356918057416192467859186708643281846078020785886849123366945652296908218273361616683776088630546934417128128751146835601788425702579257980374236407994731011267531115132956910515583089614811898377949329495793825831832036515705425810266689624655266978332518869028246771229477641281870789937181301427015849175229695435957458742192642441252273639715414892633019137378542709189794334126E+000000000000001772");
+ return val;
+ }
+
+ static const mp_float& A000367_499(void)
+ {
+ static const mp_float val("+1.26110532226875863722186314413078643743677295049627612138078103746867313823650974407788470039178497753501219072295466558204298679021991671711901057083571660349677840304397840997074483381514474480661602660490046690668088731170670380133091686845468077021063400829579140293359786653218682193528189318801646741026740793259424016952009293462026946799198316332899071491347494944041085782241308017736239549963732065050373644222E+000000000000001766");
+ return val;
+ }
+
+ static const mp_float& A000367_500(void)
+ {
+ static const mp_float val("-1.82431047386618872545726402568577888793383368670429060521971581576411262572624911158657472577321069709615489924627495522908087488299539455188791856758224155166849269724418491401224257983095561709862992465225174097919156372263614283427805489710022810454653084411613723506969202201162441791760680262602019620260255790058416539271332852806000966628467639068343422638070295122610811666617281581715702361188930366816683991916E+000000000000001778");
+ return val;
+ }
+
+ static const mp_float& A000367_501(void)
+ {
+ static const mp_float val("+5.67540962495526889231966824817013756464073334197074758518291152935749349790778611098768359885641185079731353775235180662855905658685332960596461694242812306618981661418768678921755102744902798787461891937770289226822070917694146489328938285295417652955453989339151859660622703672108766011367202214723299947922342066700414049260859405101748873215742181822582162588263734783986073797381601042853437109453923295892207179116E+000000000000001775");
+ return val;
+ }
+
+ static const mp_float& A000367_502(void)
+ {
+ static const mp_float val("-5.20130200220943601519102981868640740110586582582327400547262537112203290242635602557619919944654008685636240107691140959141752460343232476070255081154083583802829759350151827292226663930540353923273346775680761481014876742885368623584183289837102776303398134648530384906714002088533599134638068587789492577384399161711344876679537988118750932759114747583170890328368178624611772179554002196503241419136251329292209050817E+000000000000001782");
+ return val;
+ }
+
+ static const mp_float& A000367_503(void)
+ {
+ static const mp_float val("+5.29637085721847014565397250405491179922002552129355790995618802436401341417971643093216704626938216980681007462540036883022066734890384314379455228077730389068679421500814620633108483556358105914051727652253628825377598359495122194624431898689538486837887337804522929660941492316960530690711424920483581696092193206778593769234048619801417560922714278624197674102852493775428989549231059123319572944995928119138345980893E+000000000000001783");
+ return val;
+ }
+
+ static const mp_float& A000367_504(void)
+ {
+ static const mp_float val("-3.28940116108263969392369165241758731857947346529973423315168750333330738700365084164644148036702759205626359093302879762815432097483266474529793165987239125665861091116285011891731971904709183780709938521728560947330318708963816057653513055017006449898454216521071747545206268764887256226670875547026320646567279234387949032194862213442394649730019645198512016910258956795512267827056720326623893157818030754007028751873E+000000000000001809");
+ return val;
+ }
+
+ static const mp_float& A000367_505(void)
+ {
+ static const mp_float val("+3.86682165121672764525876009309682433905846138252556702307162065265754559818988217175569052916558003210725321081091362276098819373865558765392441891259364604111038920012725311852342247810109029126405767132911913829049752801329419932586343860009311250253694795675579141337991890006583244951027771966929219211189156715041338757230852152623881949584221867777698335147472379377185847065545387359412311541983360936328098500947E+000000000000001793");
+ return val;
+ }
+
+ static const mp_float& A000367_506(void)
+ {
+ static const mp_float val("-4.98813882129737247681884169787666320071301505912959244448573177868111082437413198096190139740675352239947779800740078588555225945451015976197478513144192399501370584716433270299752194655278812415285135070277791880093100754214470258927557552526842511106883482145786346340573630438016189021552725288178129176306431140338915115678210520469742153213813800733917142604614276295519889535591943324233025673397900620785256840687E+000000000000001803");
+ return val;
+ }
+
+ static const mp_float& A000367_507(void)
+ {
+ static const mp_float val("+1.31082942835321292728201187965370153781293849727647281642632243347107790994117522011960871632418883247622970400006445339776739435900303218174821127210632404478733403549196487536316336006714910703724551221453094343361060900791226544014729942002099790795187224372798204212702312763267693566968526720560233096339318837702870300047664096865304512018152678517523927270756028597065338684083004337116358207409351150654401433619E+000000000000001804");
+ return val;
+ }
+
+ static const mp_float& A000367_508(void)
+ {
+ static const mp_float val("-1.57582814046246143012614308340093734163132344801651564882140239397830162210048503239223032153207592423742728663849923882764270508383430225933115235914526163699853395362137898227965898184397680060748713911197651927033800777740532676624140743480626100636421463671850222941627509197014555911616652619082133426636139378446839624336716351495277344519024018325880841369785660996680347364004389789843408375555640437808764517574E+000000000000001809");
+ return val;
+ }
+
+ static const mp_float& A000367_509(void)
+ {
+ static const mp_float val("+1.65464275936756845244141744649042252526422179548826264895525202309325955157262567248542634403262727333227860050689867379387603516590022862181243575486613471248367853398228052544721147265851777032832601460012997513721339594311745175286648705841892965869047794362231732360782562255238082114707897948447894926628590547055428430207610265978793771253902948131001981476263629620238454771463773381404810669895517508169486253173E+000000000000001813");
+ return val;
+ }
+
+ static const mp_float& A000367_510(void)
+ {
+ static const mp_float val("-4.25503616542258221625182447196825506420675128383045198921582672588840635234776171356442697786742584274822371559877600279435282370370391921871026294975989313139558507967920801080538402527644390959373734824511207128515195443228872055922505761737778851583253730605378167577745226593943694923253932807788853809593654893270252935979148858490950535571781411394181074476905321332685205218804730597030132558575552701330411778892E+000000000000001826");
+ return val;
+ }
+
+ static const mp_float& A000367_511(void)
+ {
+ static const mp_float val("+1.12995612187006084534165975512292105108324847652560340684506888558121437262062534577481045822340634565417640895425326500300217457066408149106551847670240105522609010509299299442267157581105511111101190497876506263644795775679076555633432773325874668541544331004822118388213174447461199264236655379275799307660435090199255952809370485164567445798599059603099077958786922082157235364832002770784023850321857153135831022019E+000000000000001819");
+ return val;
+ }
+
+ static const mp_float& A000367_512(void)
+ {
+ static const mp_float val("-6.54982176569343032302750358381744140178679342458908527843415919707145508280309906314323575769735295123438743273760886346985538988297263873453847431114317908884349777511445167028787099671160644947920495796897230022792455288444595653531917961028522173765775235298026848810510804893008916660455652634738896799552204918262500841396075424427995151174314124542653291483481833031794330410871419522692048187904518865618846888677E+000000000000001827");
+ return val;
+ }
+
+ static const mp_float& A000367_513(void)
+ {
+ static const mp_float val("+1.06228381222993831189597617231357168341892458995400447336123304570882910944122239404712386478619092087295974560166546265537421541586742747762184915059968478410295003591995131446817978883992004770576502882125791984932781709784813143926791359781066311282951681732887035862094488269286359486622974604218515933334212228706936816209811861672661092436817800041453823016419203237799009075810518072543592140572181240538424422250E+000000000000001830");
+ return val;
+ }
+
+ static const mp_float& A000367_514(void)
+ {
+ static const mp_float val("-1.06797908672296754536068977002656481066584088896931807798555170119259757080869890171510428649895033150310759330214069548864113211744888153536693853264588713439283068798473636208077558089081583708473075222642869090018536883449031920504773380159950707378126066397030712515053678181393615280251920098976160642895443598715428199902818971635336744763930690208376036874351727999526689813899435652345842444608440040028092776867E+000000000000001833");
+ return val;
+ }
+
+ static const mp_float& A000367_515(void)
+ {
+ static const mp_float val("+6.50334744767118610976514261828679040879785993418122074796793196479356138017770090955476849739858602182603340092716176309555671072353080079927062651834157487920306327215222645858462748667866953504581532750963696910764486489979576991638726170994055575558613459477703209314920097752660896226843089733328110481382128879561841802975799249448876397085119344721104244392201908746461674062246710451555258068860798675579191502134E+000000000000001840");
+ return val;
+ }
+
+ static const mp_float& A000367_516(void)
+ {
+ static const mp_float val("-1.25667233367150639066830570676769628598740177684369860535967115777891561367085787244019555766441558788373084637053304214825050452183073127677987699805357352528733434301559030724955312778814046614183609733594162832488400037829609211222087977674400814495885344244075673628629735954237593253234713995275830495758093254297763623761616255852988116635251334704200305443069823987379077080752081528021710886391227079088063926208E+000000000000001849");
+ return val;
+ }
+
+ static const mp_float& A000367_517(void)
+ {
+ static const mp_float val("+9.61730063516235302144062526112018705585764410416870324930778684831875310790145971395035608729197325141327985416719071817272187711649498206923639272589623369616864130014156513539721953288173076751593082590344249042169046820040636768259018488090799133532244733210125980180280292861715851951321146225914517930955278239682421020462608321440480123756232277358629866632902885060372169530823708993172984650604970314404878751857E+000000000000001846");
+ return val;
+ }
+
+ static const mp_float& A000367_518(void)
+ {
+ static const mp_float val("-2.45369170848232895079782908180939987587878401930373646102430499090628962658129075470445242338436021375992305229955745881018384026955278347571017616718386747762211494860432585221879896688808784884357572526189479274681930312068640214971019078001877047072586280741463446107635639098702222028690562085663704081112131514380874956970305274076870717986237126004636434849687369986625722904674008459472207932193953341496648465030E+000000000000001854");
+ return val;
+ }
+
+ static const mp_float& A000367_519(void)
+ {
+ static const mp_float val("+7.81493122256528964085743684150179121609349678836539938552859960837769058337424611815481747484683474331648655081487576078322955210703836366355333401935088741666695877039733110597792685714474571977061848354837469430616464410919406492070815021898190866261632802492443034859552862121602418290475905737994823761507696959563010288949674583317912016317810695392164290775548131216447574726790513443860552333189206267625688735202E+000000000000001860");
+ return val;
+ }
+
+ static const mp_float& A000367_520(void)
+ {
+ static const mp_float val("-1.17530776153800198229486072957955156193321596709406110303377423694163423114820495005013826487971755053601306661453718221188825143625451553358903473336348570109935825194050795743076627932019106720448513264374558550688829293947956041717337765101178846527574769134968033793713753403966570406619539948746767833780940840734903381609425718873985214299615069799549092073433431204487222059852409540165475600001158321731419154302E+000000000000001870");
+ return val;
+ }
+
+ static const mp_float& A000367_521(void)
+ {
+ static const mp_float val("+2.32878802797743256224981603222230443128779929345388854083743087627843004461389637040237232613915258181241378646511884350138935465394950667061978459588835703199039444761885077800988053665269061510993057685719771622182790443484970352323339086900932802619000943612694741226212756171298212210701927448348716535556719544520952061408495869387225360378486964052412310876980296273026352883137151626833670721859297698665209089047E+000000000000001863");
+ return val;
+ }
+
+ static const mp_float& A000367_522(void)
+ {
+ static const mp_float val("-2.21258966413583688057718914884091613810625292545014011352745022127586492325400014300342962060619524247764817332104212593885548772270396069889149348143322206498244490686481052103727102487447310282941737974934244172885272424504437104111949472291408566797075096094126292358888507527276995353884102848072425841976850111745963931821625177092218320023368685002989029354862009181734052133495788491435366254569279123606743619417E+000000000000001880");
+ return val;
+ }
+
+ static const mp_float& A000367_523(void)
+ {
+ static const mp_float val("+1.77845658744848659848343866119809794506106559489516538103366143126423612985715237268977780854514108285455163513393027414834790051165573131483202084785057201856432771378213201395670459875106636001676343431714269124520616118414577077433530020482656511105849483762907490070764915917659653684666771059051551278278498760792695456037484979981402601066558825223008444013313026986750426368356481741968830665719508193128666430385E+000000000000001872");
+ return val;
+ }
+
+ static const mp_float& A000367_524(void)
+ {
+ static const mp_float val("-6.81856110868972892436383594498919075491345934623508089705611295509238225394158969217465558323947953552607365091691573376406902588170819431078301979571183532075828480068464871414017859101509603569854896278331979099017624900060037672178728340539261932211937667275499452752298290003437794418374786316819100903457239736781639893391975144391648645184188892937405145601119467992740741674269286597077549284862180342558174199989E+000000000000001882");
+ return val;
+ }
+
+ static const mp_float& A000367_525(void)
+ {
+ static const mp_float val("+3.36540928429337334059911787946131222225337891574326829533726270020007357433178599327612624964221561750966524574619616154381636934688276520250263739436317542889988396304206399325817638460727179989525643303295710821296015741123612035526215709382833995580112192745863333779684423544971162784972231315305685030186505301177550364240451055856529498901833392145047183324095960875157246679022156204941113668627553593796219078546E+000000000000001895");
+ return val;
+ }
+
+ static const mp_float& A000367_526(void)
+ {
+ static const mp_float val("-1.93119118339476704342816709495959853636845439314971570425784092245274713510581379850536852325892175060529118255566654908254515654966813581062144520946858611096894560971555178472829725844666633222084246142506879441965087140090354285760680361298638579988011990561463676958481035103497594611340439619540642334381121708410483411525213973317517250477646614428630812662086158842838748472700632293338663503274742690813688749337E+000000000000001886");
+ return val;
+ }
+
+ static const mp_float& A000367_527(void)
+ {
+ static const mp_float val("+1.08583668710587317441222756385697536188324308408525302528324839326162098125031184533914611009427683593535165187766511522080510574352749929415392397327430181646711092781504746111461944543236881836174342430772792123629380476059486970147485480796294910853288279047093707740686373936150145851294727331212348275378546907215532002458595229656108822833354520221746716316701574410368444493389976515484115275467331511273201027303E+000000000000001890");
+ return val;
+ }
+
+ static const mp_float& A000367_528(void)
+ {
+ static const mp_float val("-1.11306507308426183159212829900819266180855138404621291281044476883257307173128798100981929702029374863502403672441436135796363613596074651118023475472679188655087175065920997932275289878792104279492980276278607271072744242429819734795465599295008789936862130483941452478937650679804593652617807857444409157857808559526434042121420107542187533713254735955788660791328946586095446686125798584184605023079290702363810922619E+000000000000001908");
+ return val;
+ }
+
+ static const mp_float& A000367_529(void)
+ {
+ static const mp_float val("+4.07962203075288751181741793357166034356831615370120376949396564631038590208746014485009828295094205703627778707103561549783181959248767859031600257286107508959916289572602497265589956923491415346579758730619901182361336733017469949021828323477956986313981250656179312925143435527957063568982734119257762270644243711507372305815826586645426880854790292080941727956980902355462416287748658552437601597003199460493095320509E+000000000000001900");
+ return val;
+ }
+
+ static const mp_float& A000367_530(void)
+ {
+ static const mp_float val("-1.54108293085689290562263718196340708575071682985140130470112082943594781877351771424471910703506096380517279096968997515998598400011720168105706898062544150205975377812892373698538097013179981686942538450472502638640562071776729652334504623895288431583733979996243143307943898549787158118640162002021404280890548573501896394489391975254562688902469786307731862820791042854766365562424407334469920286991117096821053904673E+000000000000001910");
+ return val;
+ }
+
+ static const mp_float& A000367_531(void)
+ {
+ static const mp_float val("+9.95930949134030400751788030968716177276180785774940645714909635814674490885560138368041100063353762099005544526836161064059226064371583535181317755124680264716805597307245377599916735832941987118662566222201936835385561415797268978480042742933155267040597228791935067487036092569414377589311982704594770397427545049849660074590391471549877297258388683075796624518097730227474582868439774482642304809211416500047968792462E+000000000000001912");
+ return val;
+ }
+
+ static const mp_float& A000367_532(void)
+ {
+ static const mp_float val("-2.92635817517660871208540445308727630510978512264455379876643853301645513051272301147529612072395012717439562891128278757679659464035272922214751061998496057047190527921647852683123558027014788925184740432579928042634978302083824978805273573441884601103188816490917461600675303438080051534187403585700077869291308827704501080100387527271817524252488840346831536782246553405617403445951817954401636826032714146904755768511E+000000000000001914");
+ return val;
+ }
+
+ static const mp_float& A000367_533(void)
+ {
+ static const mp_float val("+4.81708874012377543410624090794914299337631772445205059503763908847256536646895100217545752813581182943236927158164469376976943867119311073173704630945978801514784796983886726278722363509944380445955586961704082021694472432528856089264997152384116308529574650440643925696230621328497125456034513359529138468324176007744870029409419109223522613436580911872662301383068364664946029076500259284618343634268754056937951282264E+000000000000001918");
+ return val;
+ }
+
+ static const mp_float& A000367_534(void)
+ {
+ static const mp_float val("-1.45856108693730317946303981975874085190742327036021432142879690319271876146988495798770145045731510372741593919091041146465430333883695696240537213355386033538767249250600086132683729801179863819699000981270813042756038132676711398191365434816115420758573809282186967906623734903845727705340794754952457368250402230876598630372613580967950959403735674597341474976445667058792853734456340670455061510636423347060859019985E+000000000000001929");
+ return val;
+ }
+
+ static const mp_float& A000367_535(void)
+ {
+ static const mp_float val("+5.33920899900787240390694079182276911777512119161470935648992870559364678891821641502058867463640677349124422240632432285352110264566748121493544781227701763639517075352809650031579456181929482430150995428328662120235163446451072663463319016070340410960445474316820384703113842717766383268409625038633310501201499941207602011519213695336849863115199646949304269789709282327528500823168570701353018829879402635298453170651E+000000000000001926");
+ return val;
+ }
+
+ static const mp_float& A000367_536(void)
+ {
+ static const mp_float val("-3.22760189164053599566243034525349779426745953238492129242966111436356179999964186906990585192548917291614267169427146621349629162857409257143374371545848617746344702003893510962209395673883083758787437753956939862272889782110304028577314998073067128282107860855186352991701225694333513460742051530951694897078843131132935382107277505809662059839096198650342971681857078373402222045795169058139518977410759082725077195489E+000000000000001934");
+ return val;
+ }
+
+ static const mp_float& A000367_537(void)
+ {
+ static const mp_float val("+1.03548905024320497368930749418205830327180382562181865306923504438321279523675055244293617404433883449622425437763528723115497071793364678218680834472056067355617988795878454891575226324705448136277855686790913549345904516935414126339936149823194704074573299846382252943106477728537054740013436381680729610887776334406484291561132261162615612028250914256450546782990351084101361465834161469976127578119134388990568656821E+000000000000001938");
+ return val;
+ }
+
+ static const mp_float& A000367_538(void)
+ {
+ static const mp_float val("-6.03648360489899542712071321660727254900692604044544457084109531418188911403362651759382045246562071848070500977760487196307392791241727816862930162574985286522389253535920574389584315408137684454899063192365840083662287407273035081790179060185277380986238754356541440557705840048878183898764608007687899602843672640785576439227141443670151216152359149261521735485352296222700134647916890307662511430022573222609721864678E+000000000000001939");
+ return val;
+ }
+
+ static const mp_float& A000367_539(void)
+ {
+ static const mp_float val("+8.16613555040583240919781346937656973303391140709968859750824878171219792239770390561319360788619211137922745692585814763017845221882032913508798268517218348440514819768976827300661867360679799668935831077016618286227149686881488648922062322200924949399323424427710309276188850781433752996501096590231424156993142649507722106300444708461440489345015047957062694871230058441074031295500004834419419495727715048785621487296E+000000000000001944");
+ return val;
+ }
+
+ static const mp_float& A000367_540(void)
+ {
+ static const mp_float val("-6.03675420483564850404412453753436221919064797333922245518128136665180648914586645740675191421363943088095210813961744440524319782968902800397613436186663270461686037568087995687363746106727787537598639601008504051195973280834972169349305985385030122254221030370381482266335995539068089053148107268173067097855149694292683880318372400134978066671946288829522906745427064001748433045364509755726446693380875276006700361706E+000000000000001970");
+ return val;
+ }
+
+ static const mp_float& A000367_541(void)
+ {
+ static const mp_float val("+3.10504164963538502459448990950333594966245819920566999717706449753960129050657372825963842498764966492068450127471954379149772225966150071577169333183068170890522974084427548833962544092496208131402217025931028113818389004726661944803516272377229709746331327012196143591447567501962719428164601663544315839358532645534430152870755120235629181359764707363202693556543776425317773672872763812616557975197914674888366467436E+000000000000001952");
+ return val;
+ }
+
+ static const mp_float& A000367_542(void)
+ {
+ static const mp_float val("-4.61674020478395437188591040971225215888925454938513934307677064074099014766633494228264119426972163290269971051317328241034845636701379843848756429317631236449225058585844467493642015214451711924074760624907704058542963829364593105061479021815403417710194738986438513931007050538605636379450736487594640867156961878343856022813225456502610291560445826313820804941565002500594296598983724433725280991181609473544399014979E+000000000000001957");
+ return val;
+ }
+
+ static const mp_float& A000367_543(void)
+ {
+ static const mp_float val("+2.09697302057516293468408285747705505415302663300046686770077285074437650382399325125568960315484013446451344326135326304075858469973348027003389991496005590661880357674842713575238169100957723194348134042981974764309793907031276273165341850251924679435508701773838593180466135496627427639333507055080894027409244393690990128933280452588867473295277728039098892289315116879320308260317670463279097462901818141962667216000E+000000000000001965");
+ return val;
+ }
+
+ static const mp_float& A000367_544(void)
+ {
+ static const mp_float val("-9.61398531486295821014316587682649991070255328262757823144335740889304942630046079168702192449394467351093109695194119426677063312748405703349618602595763569515188555066398462486021193199702597229302783674346441803822941527751483283164789071354649242510183634836383637678872442474199421723302734406069426516479552746137159765161648705196873379552225343054766833749226300777566371475807083392892221517141008744041810354054E+000000000000001969");
+ return val;
+ }
+
+ static const mp_float& A000367_545(void)
+ {
+ static const mp_float val("+2.97903796743452774680659762926513846176293385290863209213796997839308751501604652138125624746080036438138873769138384281016927695509603679923013490515284023654821859854516085008095733474604842127028354216875631872523098273777649186022482273309804208512286406344820974849847094401216377548445520829746653514985828113817504808500632500117467666459831259135597533006418050409256394166132306030887562846411090347106465185936E+000000000000001974");
+ return val;
+ }
+
+ static const mp_float& A000367_546(void)
+ {
+ static const mp_float val("-1.67045279109068010184111404036075624451623297718596479198171248227105904727380052360489489249546768513735441044004515967565090262874981409502312091360050188205868781811489293682428317402497102967909892153715084087776915600862374393763886350914169764224391021183046611035626224460309551149389955749222853315720326160295316254172322805622072305976701044925248983520806351139405610464372440350442135769412164315459071647079E+000000000000001992");
+ return val;
+ }
+
+ static const mp_float& A000367_547(void)
+ {
+ static const mp_float val("+2.26894517467073705604802913875040477217056367126991909396953344180578420829338421306114380846176425601023112024121230395193397364264439801104675489880099301684159512567807971743710002869424485683812265082603652027205851385916088173940060371152312210838277086604731447161472589632949632188160351736950646354477001421019793242401659932563185609901052777806072415304269886857061559251073180414326107282245371805067582884264E+000000000000001979");
+ return val;
+ }
+
+ static const mp_float& A000367_548(void)
+ {
+ static const mp_float val("-3.78325461498442409029255521782760653453248490348621573825743591591212084666512928212553309543941729750796793002036874317335059446288388867704392293126577766634317347824959564811744639335991699472188051736838175632107217158473150617492108344767920847208458664205379369221569976497528972811368605719018139414524697353113081628457240389586212072837998890815474125564982709139048587447654816158798184463849802753527468427073E+000000000000001987");
+ return val;
+ }
+
+ static const mp_float& A000367_549(void)
+ {
+ static const mp_float val("+1.02720204372528527717647680058366780855700134691426567311742857681681599440559922318796709206552716590377663327374171741135383571854190316972972596315781319149154999737126032125767429746079455578542284218446753949343839510815955810524635762698939088694034790352229103803798845859759637801899164338971084667831266073537415996891320730957095902386419530740662895251613024708453898408276801167394090708650037055215605780844E+000000000000001993");
+ return val;
+ }
+
+ static const mp_float& A000367_550(void)
+ {
+ static const mp_float val("-8.23342833597216621006548035115428978136351144640832903105031451073636090201347478028728195836948285542660184398738721879963225690205974424647498178269399155969707502616904948200254023772729355798226473519499186559578680626388286080337465489171299571522238507814448544644341044441298782530746824848053275070818251231238969317728115442370594998886779365499462304311947971431487360442327961519608934045404709782118728154928E+000000000000001997");
+ return val;
+ }
+
+ static const mp_float& A000367_551(void)
+ {
+ static const mp_float val("+1.28885930498559523240209849122119401336868901844284235105438432399803461466171074727106243758639838748902348655048886060260221641054752250743472064265934527327258914669461079679202092675043865896088279753316474215472818105765211851268120560264530761666962650230457995327297129330069710160894013380390238613745379723803916168738910699620758198239936123045770947152292771473292785094906189041595466685701948486716809878614E+000000000000002002");
+ return val;
+ }
+
+ static const mp_float& A000367_552(void)
+ {
+ static const mp_float val("-8.55097391531615744536255058685429128861159312741278439575217438399044733586556492517775120817011034249860219071025561652811710890404513440943962458002110447716139055458441751779701566458015792940733866513021999712476482696020676547297536544112154561544938559539171106029275650837169754740856869176548534474371598006626598308513004538833305329825898050961255321097568503802461360506996563955366450931333106848844240539274E+000000000000002011");
+ return val;
+ }
+
+ static const mp_float& A000367_553(void)
+ {
+ static const mp_float val("+1.89112617014016827551895669442885168037277367693867966464951335633408117609612335960017593272260158089868698178976512116167762554953147771056011015869981651312122759713236971517874277942037084267593551273534685522007779676326553887122653672403424711223191071441597331681244036575822580718664244370384839536295469801705178232789715524952999002499382267301469453947356412838637086556423832549617060601319200923913475557785E+000000000000002006");
+ return val;
+ }
+
+ static const mp_float& A000367_554(void)
+ {
+ static const mp_float val("-3.25798964506804489225782360403347985388422363826946147350995447970726278947010487224789713763751820069719347837810236538613210727892674023439918252716785427986000330554453937977267028021265332356159915091242166567649333349490791871679179995059121338435659378297966482196024556958538985646728579983660454922885511813819491059001709202209692241312710449106968791064522368171756909155501769290781670197791886478104124150335E+000000000000002014");
+ return val;
+ }
+
+ static const mp_float& A000367_555(void)
+ {
+ static const mp_float val("+9.75214655976192853340082459588298383241864219909771676622786519723391531443164972668263426064121038446402790077295565704115473061420843899610202564539355451717721876090921067692458479303378396062717360114293312300966311318510391433965607719243172574815848116424922883981929296692608897533836939878407796926142995739517809857726502061925872959195073337749441692661672089010721967970519150124535184195290856547125985600612E+000000000000002020");
+ return val;
+ }
+
+ static const mp_float& A000367_556(void)
+ {
+ static const mp_float val("-1.59671441603378607028952841966789521771332768302037665258073887449798803826964564747913257778763806191954459758653456796941133723650399847649016954579360341082251444386352829332790547770385021884675532777693921108836180291953393956271986504506392153632333586444338954406909419335733525743159150606094070608585329384033201267311054226014317588151968396443315541173620540350768236720020811356653798631015517496798148063237E+000000000000002023");
+ return val;
+ }
+
+ static const mp_float& A000367_557(void)
+ {
+ static const mp_float val("+1.80062246957887343041020564752491542180103424484892581091306170858545984235172076305933212634749958049843231455292778014401924181209625674085474930973137737384175534736979405325891426368586584836793809239231161911999309914141413276397194195919791249181856618887297206426568228878576231766538514914247969381198132249857650977464495256482177207795801695472000398770205504814737646727830946839225950245225799184321371240269E+000000000000002024");
+ return val;
+ }
+
+ static const mp_float& A000367_558(void)
+ {
+ static const mp_float val("-7.56363768807492125820048723894752063568267297938531982072827597294974523005347314126466271491376377000387360863514368065586926515307648362352697593456184098336247451810005154383331973785626565042098079217251210010538381889833958866441460153762719352654268534571231882534139200550129071478658077663558262016084446938550556131555824746380519025040319504712332589763475700637766195281741561214713408864977009430628947746656E+000000000000002039");
+ return val;
+ }
+
+ static const mp_float& A000367_559(void)
+ {
+ static const mp_float val("+1.79530082529131790147206553387769146243570246585691236564248008301342385490712392474642045289850423452025422741612516220360281405885607719358742030042418950733414127933580466501129510904172221705441454382323919969977653353358761703994618761974449703229735598056373447446805854991514546583677992893245767594521771184613492578296689346583750956032035847563009219370096360378729258804631569992218510478613869762941813095667E+000000000000002033");
+ return val;
+ }
+
+ static const mp_float& A000367_560(void)
+ {
+ static const mp_float val("-1.42844058399499937698189883520366765454164366706600056203608957893921907988550970270283242430916831047886732662596129486263479311894645705357725253975995465779780980422998274255704888619673677220761156830816315576358252230845383636582878928559650830636764803092097995116091377848606965843246156475241155119374002852118551351707812134615310665785564305662087402133849583174173207552366608924859681126895392023745682039348E+000000000000002050");
+ return val;
+ }
+
+ static const mp_float& A000367_561(void)
+ {
+ static const mp_float val("+2.26559352864442211760161637758091266984391147888247365729965818957878573637844910115543697781618738412548304273648089245543891408274346905887281683438301690926181079863448369989949718231610444776084231228891886073657104746911056658736260281075511556979040838744559503393304860122929596473954867512364408106622206287657910909705775447627311979125811189687395018627408140190656204543351137115014740609982534774361515785782E+000000000000002051");
+ return val;
+ }
+
+ static const mp_float& A000367_562(void)
+ {
+ static const mp_float val("-1.63428978343436035552208773460204690646455113139074871977830171896220493852293017149999051273465303174065014637199155407940978284744936901193810594884780098815977905575290027828614910920814464986539253174687110740079517098358130769449201776572298335114890036223652147347108413720199998412568453537542462464734514203697854102305270690480919198441411097170691779837274194443547204236492498949169919702554723049007630552418E+000000000000002050");
+ return val;
+ }
+
+ static const mp_float& A000367_563(void)
+ {
+ static const mp_float val("+1.86286697181167907886341681686040800345289003544107544575864343221962263700282741486195641558085942103714039786689884232601258715885257232929582169876118061875836271452804052536399287647443987029901957270489816221652752470846804511794534649538554429144504664563851315252695878214045711523120607826424594213055069125961805891832962461186109934604922957147511195466943458807663855380356796576645547057455153021043530392246E+000000000000002051");
+ return val;
+ }
+
+ static const mp_float& A000367_564(void)
+ {
+ static const mp_float val("-8.72061062963057938936376044495562471235883718162007886095076862219874923832023726251797483299739972384436599018975333875554001674854879739188394645876244086988394303163233071735560954344500159365936890899215068681937622553794473494759321275108534181052468061470291923051449901820955167138032468574022378958874790816797016790331998001029384940177480547160181197061131438937682460030389772532702364529952413962756877611401E+000000000000002063");
+ return val;
+ }
+
+ static const mp_float& A000367_565(void)
+ {
+ static const mp_float val("+4.84045640277237980895541061472463257049748184960574617205882474840578208274431012333891359852725765272459211684452028986562158302727637836762839204073348420161270635771082859126937120928272062134378939509378981921434149582115162867572339142045120470616175734261331790608643394727738860416614371723487386853198018697139800156929165207455260025143414796084386624409527048370680675522104410055293533425565787760846293892656E+000000000000002063");
+ return val;
+ }
+
+ static const mp_float& A000367_566(void)
+ {
+ static const mp_float val("-3.14330895570149679510481296964081765483521905816011049618483120112919289621028747889617444089797409255030719879817213537478665066714362169904265772000393877680199700800824037486394832475656737028389154469814757404776787696838608405650494928544609633145623919706602245799453946942271688386021946296131652325129753082905015767441986755917938816679241980258257834247603515393166903123520461031308934209083250850643240925095E+000000000000002065");
+ return val;
+ }
+
+ static const mp_float& A000367_567(void)
+ {
+ static const mp_float val("+9.18017425990218955655026226809353161676884510002560111555895638010887250304995213721865292595116942340946576218802096960992198665581449619253317546266537790738286696223197487436360358854451767154237780539030944436113335455786378507833745490003742061029884071401961927031543894292847577101995019452226178098040642251747549944877790537360238725533028015587983511285845114014734310757750518751784472361190248509891154474506E+000000000000002079");
+ return val;
+ }
+
+ static const mp_float& A000367_568(void)
+ {
+ static const mp_float val("-3.23181090146758345450467527162474468811755757593838163265667905439350521794650393158457628141878411434930650669502106869066366143174002548061284432805429070577788545175796509480475806820776738207698589774323703274935971252110035326505139370829893891980527895029385037301072143360456402517334096672260316503424261301111309107330656225276172093083606123333633158268742805556640733793965521917589258300374571634873421581410E+000000000000002078");
+ return val;
+ }
+
+ static const mp_float& A000367_569(void)
+ {
+ static const mp_float val("+2.19006870556269619928187522675133061097330452575030216764631717695099448245651380594151273560054024501402543923319830350826671723272565426889161365941534186711877901498685052185361382394448409800585411460452868581759679548203878963645907423034137676364716830913660774424379196052086530112090558688997494655901438887363937804102197326980435260108646725719202797836550007858149468185941759290407536653458151913253766626496E+000000000000002078");
+ return val;
+ }
+
+ static const mp_float& A000367_570(void)
+ {
+ static const mp_float val("-1.70265691557707902018058151616815018917266626634838882711961819394210840567963631863142672759215248968439324002050982010784395130379716247747202271863826511586430574865608702949406495070384044354299877045158104630661266880689957599641919386135490267483497382748189808897904881231446660182001604446034847847836296251378120266170818824774675315127917895957624975307425057393753072053166728175179145486601150230920043747901E+000000000000002097");
+ return val;
+ }
+
+ static const mp_float& A000367_571(void)
+ {
+ static const mp_float val("+2.37748940263099985969938640231358245969014231330847016447782701231484382216413589531747557653112255469537013114868244543627813667543885107137141111427604282491415811735898394730688206787532268963817667038609910269903260599567435379990368339606168163540096013275433487043629679007902184470637678889183402957493754116215086362155324153234766824453562955280810554223116515897209502750972624286765682477463492430214807167761E+000000000000002087");
+ return val;
+ }
+
+ static const mp_float& A000367_572(void)
+ {
+ static const mp_float val("-4.27164176951936752769083550959288830361308988898031911964561752461828549862089144173058044231346006543866127682261513166928287212168017488340107906036407009919329091385747793323786318707520425709009817347471787780060043940288353779193583096932229943543182517705042060987077655450400849712773968211439014461117418934170728991840918266651463899885046106824342582762341050707705166684507704708497933783070630411425000039699E+000000000000002097");
+ return val;
+ }
+
+ static const mp_float& A000367_573(void)
+ {
+ static const mp_float val("+7.01711007981783775454612826319028817450536783843355458008882488950896709670635236189742558395037294366396680413458335195841213849116482807559420863899544220606556977264734810811545338744089959991910875108473401256040278002784451605861960403104534732707354260132133156442349435760500100609132189227522446600618358546072879662985800172893455096382299133992540022558089779484178847557322570179743258774983755252431016872307E+000000000000002099");
+ return val;
+ }
+
+ static const mp_float& A000367_574(void)
+ {
+ static const mp_float val("-1.05063808431656258731587399013809199552783160529474150916584074092509555913810322454727642689890575830847520621894580078235437693935079460140841964958452859431661892334944733311099444775022173085794728755749643502157044559963419413775121514181470171056636526680819496614202383016252874118483174480440238618458223622088020155341467932390903350166726150873428242994367784008279935893827847886942109234032929579298601495455E+000000000000002105");
+ return val;
+ }
+
+ static const mp_float& A000367_575(void)
+ {
+ static const mp_float val("+1.73872558138341611716791455896783090626973745004805185597729346135568392270804993144050565268913064384769298184267605442886570832394146873537320591304580173145684761401372056205434573012182716781334644032414590617153660715001692439129611767832007078825118273907687597462462796746318131324767986312632127211143158921620471069812330316330183845210818930319424163874140731485353229758490185866215509453107555093582138670306E+000000000000002111");
+ return val;
+ }
+
+ static const mp_float& A000367_576(void)
+ {
+ static const mp_float val("-4.85183373684205130826595982739996655820675853071445439411735638452551622649163373424856934660633918523987660306849660847564901258151456175731007914848354546545724534352190377804379436835192113096974039942764690326584348779280036572914940732644610180153555597105985876981942235627046751128514367135547936051806830571973113528669727523960604883339049067586909456352993566907099235636035139329598792800044458226638926839865E+000000000000002128");
+ return val;
+ }
+
+ static const mp_float& A000367_577(void)
+ {
+ static const mp_float val("+3.30756678848702475470294042338823375792028262578318375296813170588097860070553229350885123712614530504006537312691479852837201235250777433208021007396227135747289713818508624302584106875574182852820324473824278599094580321528700292297233422382416516639600008500436505990829798755033716458936708986900196127651446668275905767106073632641547061723990732988715654192431125138540748387265248050011311161637330207491661034672E+000000000000002114");
+ return val;
+ }
+
+ static const mp_float& A000367_578(void)
+ {
+ static const mp_float val("-5.59317887169402086564285642624721638186799925865567601201301088337206183048618681021533871918884065053859160124594639985392897884313462232781402589415802013472459030339930345354420535112418395577997218925064282668303495704311759861317389326054256092600196152486652832538475056778409446535886326603872917828703869849076488613177357039338764130377738606862862802944139441465861514766010434660640328975140781210846410143667E+000000000000002119");
+ return val;
+ }
+
+ static const mp_float& A000367_579(void)
+ {
+ static const mp_float val("+2.65747339750478104976548143856635952979346300823490152119712582698613114847845308387689904168417722193671735914884732364628027463963702879798236609910178288778213316051319819459943493738805519868910502687989697833001799142706313044366346281601281944222075138032698644085322811072357097275747064898111830345001211254528306141190686291719947018439410333990743445932915008477234070312233009340647307752877951713590638811857E+000000000000002124");
+ return val;
+ }
+
+ static const mp_float& A000367_580(void)
+ {
+ static const mp_float val("-4.00780934034724103726725243061027102115908817201498711432557858705908276169532998218365995239737043565573824687067786485599588859028020025370783834778278396855011269123067480529059846946043199542933060170920202424488002659525941758815412689668728401549640547612354591831443570525887223331786900484360693234527786461232276646779919682616404958520650319472828191351689951292820268229452222008007300743698863199603559565932E+000000000000002135");
+ return val;
+ }
+
+ static const mp_float& A000367_581(void)
+ {
+ static const mp_float val("+8.58079192942765760154992370030560777774226609973148870046703987977836673930316255887545303607534721522407109765523871802944214324608377369853659666501531292912255074710877761382057129366890696529218754945598174371772930268914894862665551745048295575491045596787956842125947339286022916216372209132539943947257409389248116436603219028410478514855507638291935017191562378801656051165490970663301710868607995963328072484770E+000000000000002137");
+ return val;
+ }
+
+ static const mp_float& A000367_582(void)
+ {
+ static const mp_float val("-2.68142183520481565366843308966136409763143931342308054621442917794358082743771952299286320450733444628829210867908015212080946859073581263723253503011924539875688527347638623234195155722044147760243954534653965040622688260250212728681354817912871789491620361058320493462630306873430027612143661430513946345876341779398378067923530993701971954390918224360752778454931012383391524568296139033031392269167345529146114482707E+000000000000002142");
+ return val;
+ }
+
+ static const mp_float& A000367_583(void)
+ {
+ static const mp_float val("+1.28286364058994028724250705560744476677348153754105090987910982515592998766045630357299505279563629558411387780875735584755446356376160952343105734176562740580504471125834083898401454424218513131619856556897775144938135247238890619758642687239856329379855354285543433093295283675330959043117497266222948808934288511374762650712198329593246809653877276740163023829930104949909398933355369796964956037267908823489761322695E+000000000000002145");
+ return val;
+ }
+
+ static const mp_float& A000367_584(void)
+ {
+ static const mp_float val("-4.48238742252429057252360248149574048027395293409793822946596960981472341513763023308616837920197211752322227951798395777950947340642916226013726505104206837503551142732470207121741289018995519519646395259429377154591248367707430488616974717633357076487947029426679799276074167030895844063610019828855815579577849768963347223765743265611254561102846405060401432528292194464124209777696990554275888200648475813345865217383E+000000000000002150");
+ return val;
+ }
+
+ static const mp_float& A000367_585(void)
+ {
+ static const mp_float val("+3.42708426474210604422234238536584092878975905805380044379721968595193437184566368935158247849012820969355177804295246487800287946212890178497650163739543054838071965133739201627552450022032732117400905920091590770879154521575234754129595181299699362192177534867020680551919701471838631583426360978590059687004397797248271189646115348308953908743751369776887992757641574828639268154991283514148153107438949403115815794738E+000000000000002162");
+ return val;
+ }
+
+ static const mp_float& A000367_586(void)
+ {
+ static const mp_float val("-6.36203943264181110792804123201902323156626113066206215151458236230803226773618861233881207725768816551983618838668229849715790430552938629662704569848484237658565419800062874479428557546946380297337977229536585342060621486772971110955038625429854100634848450186292239598222524196697499563020081148623338015794045553520731599799736593908805153329939574037957280256765072989894131782613549158095213712606205405175328273828E+000000000000002158");
+ return val;
+ }
+
+ static const mp_float& A000367_587(void)
+ {
+ static const mp_float val("+7.56126785959643042874426944463013201255940236067567972452960587105332556936944341123908688185400836413147168003828361627464874847430597216862591402716955903637734313293697925822084629798293094915822495094380945893823407306195055645169237836237201487409506773310729987695302204975579078806573452685714088411113269901702106112456425043524050486413394566182698787998522005576451836590110660869266046512197771064032509695628E+000000000000002159");
+ return val;
+ }
+
+ static const mp_float& A000367_588(void)
+ {
+ static const mp_float val("-2.95817696705792375966644280762227874817440864737022836221977743322445034701075251191634730170311253474997840021977760329130157800194000245926773946420260854106027526678509070954588971546860999821964821475451770478600363526474012891120797856734705812655423108481237393993590041445670236205091469188374475600275546442649152444686457525354395883096752086535121849668336370849779764101582580187257468675767491828249300804595E+000000000000002172");
+ return val;
+ }
+
+ static const mp_float& A000367_589(void)
+ {
+ static const mp_float val("+9.29484370753959569232008275604237636831174684519417905746003446104243117552249789451750882555199181256187924199396609652993806041084615127096804362052066214616379287300424163758390425896858817973146690343468592202935749984169693223088021879860850589113274626855951632081866009375780532428060823899703074189484363314065228642108525180869678758852026218451639711925570699565968171628345831977738967632845118623348834264599E+000000000000002168");
+ return val;
+ }
+
+ static const mp_float& A000367_590(void)
+ {
+ static const mp_float val("-2.12760378528615410934431155774968658912046357139457243082764674452148880190385283110891598709209276294780416742608233793039375522578920319241624253093218142024936556812249699610142015822055743097346760596284509285372560725245542317994033723806135121349082501175214800283414424588821362877732014367427534997200145266634255950809764260209694780286641037825700022256151663419115914278765261106256642736455271101420570435361E+000000000000002178");
+ return val;
+ }
+
+ static const mp_float& A000367_591(void)
+ {
+ static const mp_float val("+8.10744189204999881266211293048998287296489713863897997618518994540838414801874645160513257523464857183907110395764736465531233400035939028459170896832860467798406615209583519650692057902202623803106400633451187491633475981728964295141671453465396154524687794084506921694575241953952864345232647411154313874488659617696789625910763117223670263945704305651343273221216462462208169158954997755505889863545104611150960566409E+000000000000002178");
+ return val;
+ }
+
+ static const mp_float& A000367_592(void)
+ {
+ static const mp_float val("-3.08618817179486728583077379372634110674082546473249419425488069601930473230359907275979161774597436287966042356891609776034552322430368447885058365720260257980368558327274006074037555446647685817825418010283320851962141315812483798408249534131714242694380225256989244317619366950337448578075628422186346419904024175708790527392348133716777750928352511837550369966570637621410477943183797589856123493722086047360453357758E+000000000000002189");
+ return val;
+ }
+
+ static const mp_float& A000367_593(void)
+ {
+ static const mp_float val("+1.73642702568457250032672197935964043864604048164292853535199238958949627194217784037167418821527920920676077798521807518527607405962640814150914678569928735751913335303515975117328746104351954879215130459592180535892351492968062825493441902272439310085180335611677405889963328654485762402336487865908720944675166573974917016142629910932083357483384133478859470940949392229718981308574889552612064698953320761993743312368E+000000000000002190");
+ return val;
+ }
+
+ static const mp_float& A000367_594(void)
+ {
+ static const mp_float val("-2.21795475221046399876139619785478962977371695861212114086214080549143404713880964933340046761007561931992109122318444002790026448959532845023414436884934971224873046104726272740872990596966970608742215606024768961936206272392799271289242012025398590735593920633720283935953893227082168313782323808028563746432761473823802728899706954986535388654870106482401839375684972251621968361554703766562117804234787384201317558825E+000000000000002207");
+ return val;
+ }
+
+ static const mp_float& A000367_595(void)
+ {
+ static const mp_float val("+3.49567665820763983678366770308410840677148227414748775645712767996057708474542102900431263088184530959437270534670791860193294131092146234143946644090427911064519871975560162574011570370833098588071146378713416735577306847066673896923790643323856750321835701488579211239919722813508768295437590120086899902925145026399718754958110065138364244555721810900004723282624242720964306381066752399743326729533823667931206433173E+000000000000002201");
+ return val;
+ }
+
+ static const mp_float& A000367_596(void)
+ {
+ static const mp_float val("-4.01717774416468318983205779451392740449004133686295167991833776698320041941483417196815710661328640794729682580114920607826527633470150703776745247165250453472598257542423972605587958065739824307159693094471996168690288415929728983331237871130686703371443932044899109015564525501234013018773480998584264664456188711981129799935525111669707040825388149198459554918084367224118820771943112201027180960136835622962871152657E+000000000000002204");
+ return val;
+ }
+
+ static const mp_float& A000367_597(void)
+ {
+ static const mp_float val("+1.70095832726702373564451462860761396695820070529559184580560264291597959470445528945459879272777754325892959604518473134768539280480663401531660751054156528158125603452380962120527079283814607705932109757636046975909163552099080148338299120846351930102863992439580339668962130420380602973912529871608499678523617000352132371194612319271703224852914731666588069769538662613948950263910003498085640166862999183906710283971E+000000000000002206");
+ return val;
+ }
+
+ static const mp_float& A000367_598(void)
+ {
+ static const mp_float val("-6.56304732947031134817266440197144298293274715492327354974120885715674119436227408798118773165806807712695524649571683641100452300164646065147135106896885112891148285629528893023002294155756185855538023320240884069959516897937007667871467527241946519733737825611012131434150221243639663265107713126396229719776332344000765313693630705126246259771805773958261144257274278457738038721462686197739489928376467520280154964670E+000000000000002216");
+ return val;
+ }
+
+ static const mp_float& A000367_599(void)
+ {
+ static const mp_float val("+3.19540723121626350015017566065064258493201668199270763965985366845707117087477008627332906661583226177160461112013806280771032717760108323739097380662881431764261596535721141784378890427030494181623483139603469318762384380986474026486641771990128925908476863188437269558061312265946043208181915358659484073190197392417513673489640225355807818358144504240417320971664069934107529279858405649728302243928873816858578004976E+000000000000002214");
+ return val;
+ }
+
+ static const mp_float& A000367_600(void)
+ {
+ static const mp_float val("-8.17283084907145111572399996796188186929948021171540635261702738551708111477702215521228614331934177097923932805704741877505315802099968644526923516831279629598808324483500152366458832081685317627237457631184752228020937570564254815882158305151302610199775789475165896446641596716277144097068737158145914138007078189232654452799125693796738978666141474572034951880049651276395258871736325031347278370751179112761098769648E+000000000000002243");
+ return val;
+ }
+
+ static const mp_float& A000367_601(void)
+ {
+ static const mp_float val("+4.25848031901673180195632701886266838551161561985311619028449997733412564681305776150312485313801558857428471016364305775909042804604270613922101679579658044245922981046164409835840055756592584525958561519570597171098079318926235031217021226208098027401410169623700817928171490485082676175865101391207561448685264305953830942721738766731580992447841219358980918953847268782740180289131884998383764021460899651075858122741E+000000000000002223");
+ return val;
+ }
+
+ static const mp_float& A000367_602(void)
+ {
+ static const mp_float val("-3.91923339825705456234016895436590734060983533553242151921340059143816591140071077437801602126306024894058881359715407366813293620991076758692340506395791372242254789877495889383433800373845746894005269786026245539831873290309975873115633019747720824790021757104812381095118961732585640082601604995687259347228755828129109160046030788917165086663599826876063877454348609303063888879469899601735278718157918367732389957397E+000000000000002232");
+ return val;
+ }
+
+ static const mp_float& A000367_603(void)
+ {
+ static const mp_float val("+7.64915182174506073147722939576246371747412359801904637332288554640350466405909521840820896705781231666248380109796976174184040149230054537080461687497016834492734253515979967073111697074821509199096401722777039256367223641507461287960146666729476073827143268372020677547554349113408531417662807078132039085594662733284687726542561412236386697404245633280479266431202139304769699073483246087195581390116167334618357700061E+000000000000002234");
+ return val;
+ }
+
+ static const mp_float& A000367_604(void)
+ {
+ static const mp_float val("-1.06205280916429215319453664048117097253394016222202204364158552863405774089821818061788100197078136640141717850058651574224647307511908027784919949690819551613231387033917920464649082805544791817678814534753956564694241981415580634141223565369917676141774284955978846186861070956564764954556563675187290551203156413807086600057017924460716114746019293701423027411832024073513695286350836781357626911553917000434882785988E+000000000000002238");
+ return val;
+ }
+
+ static const mp_float& A000367_605(void)
+ {
+ static const mp_float val("+1.99135442428775011962793597193610644370969548422182330347290255070901775032134091240676066257071069535537467343353799759412057336337359222702766934175891437511668163036714071885383368236935129863055674472854778337472243551800454762095281602162777735235173292395182239346007804035318324057843814177921915510460486647475028427032320529683017726435572896550754666785232953532281517257355900141968487415336974176597121147068E+000000000000002244");
+ return val;
+ }
+
+ static const mp_float& A000367_606(void)
+ {
+ static const mp_float val("-9.80338270495859708408857038698258890617803979224761033763757767807894199496049260159532108337944858516704902301453594897956880678384131192497938930204384505087115850735328590957828211082937567867221485999888619921094042300233281136369023541097311450020322925162529869284825372802258486204019887598833399411189900112846698418182018696787627211226079850255237009146170822132269391673497938031457081263499368635973745383543E+000000000000002254");
+ return val;
+ }
+
+ static const mp_float& A000367_607(void)
+ {
+ static const mp_float val("+1.09152784545629452955470393339004988597036446914934076029036775544951831957485017447126955295862817017264579529231454049462750752955613260051795063922613970816366706343948383463949118798664757691722205092424016249190696058224587696863731225443757818668446077006998714135505294279463699360296852583053448000291824125849559408324721622589397979309660240464743111009340374348146714864253647935159497814899305443542248148464E+000000000000002251");
+ return val;
+ }
+
+ static const mp_float& A000367_608(void)
+ {
+ static const mp_float val("-4.22565891929646547571453219964417137350063964914424158211922494018084177483401507228935281619051100243786606344098926710501299713988710328536956049315400834384097465869936344011508402217118844406954356155105266215182378629459681159286914517765032512322740853843200564502293635681927551872510182137789129099645529175405096609284465198497028169290097845215624793159294088607445276378577438461492953776642593414888575145784E+000000000000002260");
+ return val;
+ }
+
+ static const mp_float& A000367_609(void)
+ {
+ static const mp_float val("+2.72383986954802996004035440946479508706931533444855794312045364306495612659383125362493848456169093759088286229263786566581482111895928024866032933537732544941026676114282475195534463070608573498012009385530515048628494258259535285954289391710976315584031089885781076391833794944146020427120776345946154897429695579949009550033049450583048455665794338563206529624874106979050211515250524689639059077296991718597338051454E+000000000000002264");
+ return val;
+ }
+
+ static const mp_float& A000367_610(void)
+ {
+ static const mp_float val("-3.17782190473285121260441376674592441310812664379641642056223220974513728195631944725254440306372951129728233154181242850753259160126844407005095489766190586337524955235557107815702505080555119914417507696761739458832608074101509611793798910487409547728868718403648165445560379126245028789216720432231799597868168636579339454903388834703704436216435927043058653238020104872617092831034617623913364544002649587958111720322E+000000000000002266");
+ return val;
+ }
+
+ static const mp_float& A000367_611(void)
+ {
+ static const mp_float val("+2.67067139609153177023035712662627489268716262709018704028029888245111595903848706231340122327622554879191837448408345333841297724674562602809386923247059882134336986328699912247572377710185202402638643432532701451566527956220120992850061629195798754171098837370508401087894967495935253639747764709097580729675239679318600142281531965438551859838469728319668400205648095342560830108599161303370024240267633273971475822244E+000000000000002272");
+ return val;
+ }
+
+ static const mp_float& A000367_612(void)
+ {
+ static const mp_float val("-2.09996312053359363579836124170610879957328253239534251834589725425346519662419908308996558415780687295832475356982279421936138629696353643793262471778009546200763049087219600612474998204121939915854958598809255729712915817923062573497190181613237615966820111047746003541533972033708121663359023261221460287749175576873563837135679523105261847185436852864180720701165650864992434960102775604569699782535732894472187238877E+000000000000002293");
+ return val;
+ }
+
+ static const mp_float& A000367_613(void)
+ {
+ static const mp_float val("+3.14998842729913002548153612284801224574871584812260080395839422528608048994045261362164558490509166767668563289840723207833418032872169043032108678344687735979752219760634398471233937625112241440450131462486290220758272884158844029902046131021846869651765531906275504039467497319043219110024846056074336034613191525806626344766273098246004370468599703595857201916409825546978473300674942763719430736218475185297040855880E+000000000000002278");
+ return val;
+ }
+
+ static const mp_float& A000367_614(void)
+ {
+ static const mp_float val("-7.38778143123008607312421222673896275774218666131623200143865150420659708780749156819040725858396952375213586426040616133964019739789630069149893771137190726421232347201437686889347804746820421697109047256516737263187118300806175884202764947980718953464493607107012244471059939319934832501948684729475922662186771211950917405953780613049717818549065677575790135757296924585140369613997564664538340378624966354003399044040E+000000000000002286");
+ return val;
+ }
+
+ static const mp_float& A000367_615(void)
+ {
+ static const mp_float val("+1.12273683932734289321900287804432386189010535315016224871367802163027280673701274769148471970389493411402703971151979356808573181305455053377794980326063747231956577553922542542079085897401201516176774122123204691107468650070553466179369396859306303577138906996016993009802177166452205929561208231813548880178395116893934842010507660309214184483309909392319305479261460933012306923057173139948608373994599873878811319002E+000000000000002296");
+ return val;
+ }
+
+ static const mp_float& A000367_616(void)
+ {
+ static const mp_float val("-6.22152436842490382030004598127392116348130109482401886245526542825607168774469905010018003815067489170670176111209225964657786979849118709531523678567692211943570548230719813712304363345943775073651554478260405765347186658242582501375263777642023790696247805774740246080279727444333801205487824755691076471712911374653149694258829796737232580158108471613124540942278710109970962938713106220700465518314999211990079299973E+000000000000002303");
+ return val;
+ }
+
+ static const mp_float& A000367_617(void)
+ {
+ static const mp_float val("+6.81580147681024574093630173855770685778070685264189475306296031958810625700882779600508149103256728347010269215932626392861959536175473285358273684574498408066242142271341603423536092199880443675574788406235438694969921734051441982570546076455511518456682955442668277523772799709083153044185556376814707277566639614721366253634807560976610341187264347641175507759429939678269324992122598411612350279780069876483329990155E+000000000000002296");
+ return val;
+ }
+
+ static const mp_float& A000367_618(void)
+ {
+ static const mp_float val("-9.18151544731174428776897475653952221351104801050030721360834925574122600193435687770022861003925092873056920988748565427434015266086622733371795496604334746146259730306034930914377313893625656933685373989822622597621464327346357730167579928919798106813415832191275193450986252115902072175343520512712535773835174479529899885092889425929417676741194242291044192173394331445655742707506946542980619061719588976399748720791E+000000000000002309");
+ return val;
+ }
+
+ static const mp_float& A000367_619(void)
+ {
+ static const mp_float val("+1.02228792610113656256486249358438086744547468320616611866123025354362599966185021261591345337751766719000140360249917024714176828561966330835092127036711936817498706220710803136735570866821724642115744423031816700991267033407408269503645120698689435695639430047596504186733895888564958853165962942340391034754748964582266966238218154586936305959672490913297512094444937302259676610590586446139120054820862489463577270337E+000000000000002306");
+ return val;
+ }
+
+ static const mp_float& A000367_620(void)
+ {
+ static const mp_float val("-2.79005922099755944786474956628489705284010736570480402033341009718164618319799944378531917031585175131300581100878051080891395015354284947588692160667557963009784149142715189088054388761667083708749324412762787371165157107023862320152644752189562762618995059391043421553695383307397083101624209421452523968817192658748371079544860916128778278467637492048027179903603660837361767500267885898435034776430383344299491769052E+000000000000002316");
+ return val;
+ }
+
+ static const mp_float& A000367_621(void)
+ {
+ static const mp_float val("+1.34959800040440837758484069982613096470403597111534702401323331850084072871578087264917539449798809218168027769009062344175154591076822646311548917874468368883276961370235601709924168410170868045403897749169424544499500285180692237418566299375258438843273657010490731352169364450287183409078506424204017301047972565456417059950456357302276164506354310915138531203596153739270322600393840122973026781848466155607766839671E+000000000000002321");
+ return val;
+ }
+
+ static const mp_float& A000367_622(void)
+ {
+ static const mp_float val("-3.04187878220527063988383872744439168193685783211685207028882394037848422721798961227186940296467688111336236741632559727358144729591052870587263479273962982548299255259643780271875349599960611535299524884201250164620133770556086079312940407757702893106213654988508900946088728952657815219151358094481834285062098431545299076526636669225951897229899268857254375790183290670988928450476873408618851080222327093099349515125E+000000000000002320");
+ return val;
+ }
+
+ static const mp_float& A000367_623(void)
+ {
+ static const mp_float val("+4.27910149232111847046161743699401956583799122504868238982920520609180503762439701882474725199837422416708352102140234447680608342372255043285715850062863738467177321395755164618344636857955563899176599677583113054610294762833253985472558023727341334116156310697989706672934202070403701514457301139651470904965800290068008477395612334852203541631924887964042947239919673068752891721394885375549130751384018801032221731928E+000000000000002326");
+ return val;
+ }
+
+ static const mp_float& A000367_624(void)
+ {
+ static const mp_float val("-1.81703084575018424619745490642367121216789779121559665418094160265950467572012928324225665257457842596095342213074302135259258817022917582761895189648850675424242202692208998911616578827475014533777865230489107761412321913107795590425442762960029284818276231360868439756853121028974145015650350357941099336566210652196867801251277341468162606751954327950575038187267970063111130186847388656077782012140584741761735516383E+000000000000002346");
+ return val;
+ }
+
+ static const mp_float& A000367_625(void)
+ {
+ static const mp_float val("+1.02896352419271927525422750000088110082121471436013857122494541615159957061797153528131894445170779376220592641489692098066407411841404329495765103280401478888406765002498346391024375430027055167371281616908570801519517324660739708121843536710578684560483754172275554218992767238464649703950381336799650996144032754576064283937851665184005076787567058695326416007266993139893805897121661673903774212227320271807051680128E+000000000000002337");
+ return val;
+ }
+
+ static const mp_float& A000367_626(void)
+ {
+ static const mp_float val("-7.39274079595642847906001495288835135627657674676036493480471987962701658357419432342213429370092875958248686973552467880148539621066505748203508023000197724865860609510762179435277183340399555518623117388673213998761418431026938903269243831783331596746918740260400129402791680480868208095033193402537291290551451279768920692623370760152312857074141419825400839242980285870066715289561828846182723358942840630593936172873E+000000000000002338");
+ return val;
+ }
+
+ static const mp_float& A000367_627(void)
+ {
+ static const mp_float val("+2.65973915889750543542726227084919190963571080701738570536230747818156203492527612430429888250342465487520890007034078396554493789983906603149973854947345652573118851702273175183686263833735249568889743034566275282651379707119967268536368499321171997578987065616405618246148492587844784252212706633169780647864536986895980323834207050751758014155097783722210612060832383221241318053508123608744224600843720507655406385272E+000000000000002349");
+ return val;
+ }
+
+ static const mp_float& A000367_628(void)
+ {
+ static const mp_float val("-1.17481093037136530739518289180955126172751817532381352441471374664434355455531847867959461038462417739817276341591414656213326064743417996089545034761710247001434924576240316666987092344695134554763338292030760609028906274472983236969653128266479002579361320538731602926155154645001835886699659923085116665939803976365911148737740231276777009453191567706266373994288553656501291617405125098113939343354339154405897424255E+000000000000002348");
+ return val;
+ }
+
+ static const mp_float& A000367_629(void)
+ {
+ static const mp_float val("+1.18489505325394754825911932128968516181418133179068339965712143981290819827588056809264655470988226927530956820215399994629024346330215619355908218671665453646282642180229617085264301211224363809951762468699086986540729439498082952135463785469379981899836991157231138970969898972325710346307215974609397137901661647357112760309993260145105175274273084709325845527657446117610193759797203910886188993367706556055719738351E+000000000000002355");
+ return val;
+ }
+
+ static const mp_float& A000367_630(void)
+ {
+ static const mp_float val("-2.87040143745471869629317639120016541512916802268089895046151161131268992241184304469391587530959907742678037527082247260766412462338560543121655146695838805094390505335913134401117800770962673992137722286409082068791923931393351401024034098399615259896340789615877314028728543808092014104137648853913188175757123157271270364248573376915193495059799180582331975507338465108071413026728395533075199576860970449656416048663E+000000000000002383");
+ return val;
+ }
+
+ static const mp_float& A000367_631(void)
+ {
+ static const mp_float val("+1.52442267318364649728850621509700052600845259218947526697405220688166704828477794799362245666044515742321307735345594041161315208016177162768283928243392445273867630108416901322259338228983528557821585408840104578466557249919109708960409427007525910856600753277980182230361787979180028521792777954297116636115376677987739004967669584374999148729028623000350412039875784869971409935640876315048860446266738848377026541084E+000000000000002361");
+ return val;
+ }
+
+ static const mp_float& A000367_632(void)
+ {
+ static const mp_float val("-1.66101775693048947186602720113254964586757215295808516194246214788591537177667431677489187786349747374281193508854506575695346338678574405802845397959143805964929972765607175170172022255999455309788647524739458963545746945730393052382130460482640235481262932274743534846543363437128515315110257382145485885122110781199040478017121945399548471757267884694227105489966187419366370497547202435206776443029448926524383705947E+000000000000002370");
+ return val;
+ }
+
+ static const mp_float& A000367_633(void)
+ {
+ static const mp_float val("+1.75048591974912478904171077280187229304302225192602532895665298636540582477496739609994528774147735190770797641050501354466029819984888535116515905787823307138579207817968679599341082490008017695269831345234789906348964366087914859368493452559788406752169916603277895274439787868061076928079456492761565291571354338682448717993602647439182494237902741427038541693838198170264394966211569334039694651209702685685816175807E+000000000000002371");
+ return val;
+ }
+
+ static const mp_float& A000367_634(void)
+ {
+ static const mp_float val("-5.08822980819574283182561177837327059112993066969913261728043599635724686499813786471948541262642738802682665262465234260982212419433625136512342802719861754766714362006632825923770278909441142959856558788849272264385071871434896981425219923083611910346911291822732944722876240280454755676606146035422052306575994145548997553322337846249896258677787408082320099325956683018078931416063530975853015262785788994017801331867E+000000000000002375");
+ return val;
+ }
+
+ static const mp_float& A000367_635(void)
+ {
+ static const mp_float val("+4.56977697371797918038457863917858568741249385431547355776050300854580731887613587929238849975314999903494071778321299795782371404746705081585143578616794527133454027392582756632965377873606747383067016606891562716680297290918537275382124038215552216792338067146037485841288381358697734548673063349207869401805866766573728860702918213093649964346454079535253565328397680901136990706843775588365475587136496601738528708193E+000000000000002380");
+ return val;
+ }
+
+ static const mp_float& A000367_636(void)
+ {
+ static const mp_float val("-8.28267116134043542759149149619348834438608023050691744923904990465683990992766243914318939945245052493897421854066615764757368534091269882726534987455213150875574940860096747319046979983783724668726201673031040714965252247197046398809232679909323002145515628299589881917541030760481721387162869280701407129228951682394563339538932613510508314108428811011617618499908182876364546579361014345835803342657399711179724786710E+000000000000002388");
+ return val;
+ }
+
+ static const mp_float& A000367_637(void)
+ {
+ static const mp_float val("+6.98897263365453915735570972556491784579427113695284268334387908171099283263483276064864453324546607468016576411776574020446976051331942442198132624222312612366685042462513865113771292200085208570028050366550024991163649067878621917644719312050734986610583432366539796658709574488935104668233294671237915977708887651621600526268500655046439728029597242292321127778012039729985272298273928376296126862915688204325977244680E+000000000000002388");
+ return val;
+ }
+
+ static const mp_float& A000367_638(void)
+ {
+ static const mp_float val("-2.49548642446769647051485102260316860130694843233339376172395695230388731750964381874867192267544886962748831747121622597751004794126742563583268716710692728683964915968217436029258159933085786147069227984289894090051822522645148670676351356717824474499585675882478095513380031872621659904024632889513695407659231437210335523218180203397313508921791255962862803107497378845117333529376033748631659746789631992135512672940E+000000000000002400");
+ return val;
+ }
+
+ static const mp_float& A000367_639(void)
+ {
+ static const mp_float val("+2.02534336789378561665217732725671613839897356471866144958790971161821329916707717828382340824452831294399033193210324427452467436790350049760857909748958537238904954551083652304577725190037460468503930287269626491479795123217813328627371769122700067798628931122991668036014543208264107925926542326733111415178834313432903077208620797827790500016877237718997303807577052858718065135678701281823615580576503356318577562253E+000000000000002403");
+ return val;
+ }
+
+ static const mp_float& A000367_640(void)
+ {
+ static const mp_float val("-3.11805573997456786955573815917600943331139321018440789871711306988628811932354416805808037268695659788109219478253782639924117206595950521422277593075093567112936261180447284495777928869563041399796763737684467489162926897351827104060754763901597601044200176879345801670766891250851369779352163860411148706262225129492154889721587072536489074468721464588374157048812262308810342946816120173180217732182423550089372288974E+000000000000002412");
+ return val;
+ }
+
+ static const mp_float& A000367_641(void)
+ {
+ static const mp_float val("+2.63512565210639491010873664283676412126572297187480663125850933808009016695718294993008844942647567455487444556475419271144995880736873913391359925579003346498471244983366705006136728762351634120862857660031067537683754468814120189850925924866038999458563817604334295252979065468555046874960184840049757500604719094176961218905626398228098552696174355862346378477839668719226372574769147985169098258213629209483888165930E+000000000000002410");
+ return val;
+ }
+
+ static const mp_float& A000367_642(void)
+ {
+ static const mp_float val("-2.50743096815325210668303383060458989735247832388796740251738152185090506338414193975267323099135994306714627558546430649472638621740822049461659527941066055213798445023427737157997774808778429121540296892597027440208859793238750937430763527384624012467672709558023246960519745445694308585447723242676458585983858244228765612631942969033446318000342470999354827385114335412607297095902029601789878595264950324939024813733E+000000000000002417");
+ return val;
+ }
+
+ static const mp_float& A000367_643(void)
+ {
+ static const mp_float val("+3.58749228098067556933951298829602692666188402319126768483145856646471701995230727102735377043398937297051577759424551005318281413863624401175981632623958170278328440391436947435926926246806703719171426455627688162653987649777569177229015870782028491195705996468382348403343457443024776826685826217671721346584433156723633699785446179106214967694265376118119486069077325362248165918048209832245633363616233271722868523374E+000000000000002416");
+ return val;
+ }
+
+ static const mp_float& A000367_644(void)
+ {
+ static const mp_float val("-1.32325768845874494998662767832755212338201748052086853483683450238818118105671666691599511772200871707591499401255844343024647431843851746233223222531518482623223294164298689047533164605800839261821033414411559093007699021494518597036421182184692648853265747882052402362594039301264485885685900478367318324154869149489570423714709818405326498489336342413255715717250739220456829999326387029141808401620075104326693897253E+000000000000002428");
+ return val;
+ }
+
+ static const mp_float& A000367_645(void)
+ {
+ static const mp_float val("+8.42683462144894740729710636065394094297708619819314088463752663989975182668525832596753250287618026490767608521622349828765309356557469842228734608169118093390404541886026674027472008191190193635120624080023784196242146601656793697062230862109922987662340461760013162002998622970301922449901666596198421126757516768739613254456857552088629304909913171752573951784266972347033446025036682475065379281663128482838855849900E+000000000000002434");
+ return val;
+ }
+
+ static const mp_float& A000367_646(void)
+ {
+ static const mp_float val("-8.67185172799944120312553617022809062206725622174808685353225891428317891687928128986661041339185962941251165944607116608181474506835325817342075218333821367788869920434227870736501155868313846744601758810314696526292783643340895005550723538373523104493342682374086655837499765637722280479309152901283110159287050380059658834971001656515731123700419218352526623161869122060564597316912558834915691697882867159894818110446E+000000000000002433");
+ return val;
+ }
+
+ static const mp_float& A000367_647(void)
+ {
+ static const mp_float val("+1.13608446991711988644783875114780508364863873824531033568257883327389232122430334622236673262019702533496113190728938808481807882230709029625286315230747916909103296445986918062919130865435944497056504972695411771059625317243636601883381067320853743616009952077619578782135219794862667993226509932734067955930142356570677541731348341062372786133007115151254869767899544693324582169028053500434969017483691552832627130197E+000000000000002435");
+ return val;
+ }
+
+ static const mp_float& A000367_648(void)
+ {
+ static const mp_float val("-1.91296108056980574156708800031769633999443983300278713037582861885358783287420003271406136199106999480605145379320084749384499648808701905828285662458652242313158422899335893947955739128960885562113559238524662620114447861411364972010143287747770520618030706758117810166661179837924088483867059161176028746947819107356861425171694978145655825577772325557896019951014336761458629958649857753857521746392131076426213993373E+000000000000002458");
+ return val;
+ }
+
+ static const mp_float& A000367_649(void)
+ {
+ static const mp_float val("+4.73705496795548018563337376484585988828739884525202108292853215615317143852532779682628306204556872934938120879615833301832420592355447491875364549071569047370253064250689028379624572534703856279431377766321040690053157202267485498820161058978895339548705960669669203314915169944754691974886889302639006343549795030559402128737154226423873026224698708000941151681416352556369927839470332147064013008305940790428056668628E+000000000000002445");
+ return val;
+ }
+
+ static const mp_float& A000367_650(void)
+ {
+ static const mp_float val("-4.42060672438179258172512172357276971099276289183029377021729770766504042051058968443346749974875811530983684643310980153702830405734848577161695489381389934813397398328322171621923458135363531911861030436699069554358277045941797348541906882408645761665384632682762290558001578391996082763083785697400606214062657781003300129947624860317962910903156689180412753456252832924359354168326972527606517762367583212049115567190E+000000000000002459");
+ return val;
+ }
+
+ static const mp_float& A000367_651(void)
+ {
+ static const mp_float val("+1.48256181521688361335460724191913781166772985271489168088831210210072916031865358215068318581883594598391993737815644220839026931850231779505799958325065626557499055117029264311131515362431865424817634333973844206182768074685759427862140004616071929356036881304866151467915423471941391038652155891653388247308198342031368608665901121918921163592764591672243888003705799715657117221586777394801240866677316082371842091430E+000000000000002459");
+ return val;
+ }
+
+ static const mp_float& A000367_652(void)
+ {
+ static const mp_float val("-5.31186898694052019025236363395106717885128300007937813193212922290938053700779820297396359522036458764414766779756129654080047006439355551466956875478208445377919858432820073005196453871938454416257889256909225684880361869734937468557827200083031621584294044852184768651896409971196347745520643147963684123239589828742434277107125869163585544546871757998888204454071841916939750552594145110614263799448075225250621072972E+000000000000002461");
+ return val;
+ }
+
+ static const mp_float& A000367_653(void)
+ {
+ static const mp_float val("+9.17981034634000487668577519507984537547508958475048433102307615990631804331685155289186335318095037820719137600440164644503880017790148990293319323326983066525195384143013336477081771950245218250318266962597698856154667268669547706041862601168056042796223535430478969978225532763144718441825717141047116716719040503336641156919774229087389344517536121333256359315786348398623330360160142775100558044428847112582594514980E+000000000000002465");
+ return val;
+ }
+
+ static const mp_float& A000367_654(void)
+ {
+ static const mp_float val("-1.38386304746869622431172034095385873383788695728114888527387208278398786832708733596950925183382723738361719774633241071682673968781739235247140881205927242901481550511693271226343599625060179408733192667881078555184233116766173195504984396357059174561907250130499530357348345035079018193962798074038385119969708302594047817887502228171816202449549725212605660870080144007332897863920339061191730844945040292748038834541E+000000000000002470");
+ return val;
+ }
+
+ static const mp_float& A000367_655(void)
+ {
+ static const mp_float val("+3.82191791456964664882889791413227783857012934159228245952451875607874890760692769919583352474956307112931217256837659915725060267052917879234286636519466103320778375375032377389043230525652630112495381044357463918112785204552262414631493323837544086980625303198599328735028342480145902371398671687439644542701757851187754925894626196603386820968488407071985101204028633806313785522797076041539140104067688341973872565529E+000000000000002475");
+ return val;
+ }
+
+ static const mp_float& A000367_656(void)
+ {
+ static const mp_float val("-4.06075445737266717740307220352721204322687105291773457205940027839233584390341225237043156797397843130850499832624642004147594243685662074218747069988949575799524861574830359271108632722577552938915747417705110231619869411517497522044666161074675692950524973959188173071610526532970363812993256758956010159862764026373018779916903189856650168675633349369534725902840757020573799377020915423624128152430262359128117243782E+000000000000002480");
+ return val;
+ }
+
+ static const mp_float& A000367_657(void)
+ {
+ static const mp_float val("+1.46867677575646721824019825017487279409672874316880685272133306007652765283936654521837707580906969791392898271133662239667309062069345888684551642775021122565096749682691994336658849385326233476294002711796140624209304543095167568421886218054220973896049370040041431312911013984216567079103586879423678593535808861176699416584830708293999805867921725551256226092268212036029667800969880174491144042119813799561744479440E+000000000000002486");
+ return val;
+ }
+
+ static const mp_float& A000367_658(void)
+ {
+ static const mp_float val("-1.05362335409393869109586086839680573676712777586600134791069613904806359054951007907126459294788770452640259872927018634346343948075627208129727488989845407200573156137244539222212258135151399597616605733532720254579338774855478488102023325171517296282948749124596218328623247156030647054885395506852483106126471675221207602583264884481899995270640604903461690228075029464615797252236172124572589770668237213305041093648E+000000000000002491");
+ return val;
+ }
+
+ static const mp_float& A000367_659(void)
+ {
+ static const mp_float val("+6.39467115172074711984534745538017436911951622887547593631034710482210746569244668933126944309914523665001270692030486635652214413482541242206122289586577315793814510943725222540852427254483842223795410098884216818156791898827782056264071032980601667120287773343903065398312183240355960081738931671688090837899205687810027070365665272449443419958023764639827035701920979604469967874394873682773364731906157964453155762083E+000000000000002493");
+ return val;
+ }
+
+ static const mp_float& A000367_660(void)
+ {
+ static const mp_float val("-3.28879492607450192613856044396029477362759781557023276453104610450980276713100025223685871956330414270131972987778689083190179114450499611465060800300728337047046793493692319340258041469779794011738098063087828523211350871129075731181957558829178030821061823692313120520639583637372012682920221205425694977191376405007245364729174376165596836121606881726940506144765221807299447565774642112211246303132976449644577172451E+000000000000002517");
+ return val;
+ }
+
+ static const mp_float& A000367_661(void)
+ {
+ static const mp_float val("+9.45816630792664365109173399095797068704995329210758532312862420055166340293414915345219469393319385331722781066163337899772640084424174052597641605558092812772937078299192891272212742546269154966464647704147642948102492885025493643799535895925040711219189494917750699787076053356990194963912560582475552436562058838915352900727718151381972256369749684111272964989886763064798961191427548444537851382056656508551105477528E+000000000000002499");
+ return val;
+ }
+
+ static const mp_float& A000367_662(void)
+ {
+ static const mp_float val("-2.09828773985405267831179899718252855600929682563590575591641418742597133538684683583313690491093490021610964148009161411587542838538493505360939712523780994314406218764600988373417881002538784059358943213635961419374416643936306954316527871355275934369651956600453402379027239051428353620196895301604266107004163901886349812195276911563584914771435681927284035808212443152725365928469681126907505657751185325410843857750E+000000000000002505");
+ return val;
+ }
+
+ static const mp_float& A000367_663(void)
+ {
+ static const mp_float val("+6.25362319069795759857356591414351023334791864680536675101244693717206224892159976167041035773316229883552441008693210422673360497776554277717255002250456038760251048206616139199927641122191730245908542408418295552137238271468804331780070169340822910202933954432349175723859074967617712456977522506631125468726724345971771892155833353606234171121637956526973321291457844696808247238104801381825835351523197110302348791574E+000000000000002519");
+ return val;
+ }
+
+ static const mp_float& A000367_664(void)
+ {
+ static const mp_float val("-1.18342124737326332144969799956842890225088238216248382313150119649608587144768880705437981773841293263660817854568489932064830839005431168104085652893488276609778492307368359623289095112941343174695906482266798526885932146256524686590986136597578770624769416319138312555822175410910200618164889545943408177547652846780273981881038896828449946717874363687244326177557690894772009523745618368533024737897166118699294299605E+000000000000002518");
+ return val;
+ }
+
+ static const mp_float& A000367_665(void)
+ {
+ static const mp_float val("+5.56807724930696929351345499845025889178159567569180213665278763169575249123501798993501737385784459115954057222436111472152158190577077289988390735602089139175688599862466697597251712898606013837060313845676879293356359449954121040596485471977402709008377661656408853222330257084065682023834104297006175330966727693312317318895275917987526012759253697617904924986786797187972998068612689311350511575564276497636283582575E+000000000000002523");
+ return val;
+ }
+
+ static const mp_float& A000367_666(void)
+ {
+ static const mp_float val("-1.78156325806789829213321490317628565203861947676598175314436847074291137101488918101676157682289675853986040181149205558882477913010001673570228534939806487356550624599508296520454055827450558032450191296030169304625799669499170173744355231148126526888678040822226877571320690836333842449467574113878617267924143468618506965592058064638176075107820176554834032525305695675088090975777820327546807880088702112369171340858E+000000000000002533");
+ return val;
+ }
+
+ static const mp_float& A000367_667(void)
+ {
+ static const mp_float val("+2.09372436099903348302205162669386636357092312163148327637780413739193618732038019879505606729386799159559267388676261619432320159620804170382023552729997804095015853313649334091437564981928249414724174038533059749601730027378983194865496904614163302036012687084155581867103325210425113917408793035062781417080782308559775074268310157827747416909160109603516645299215954996395353355415207769728765421034361208312412508581E+000000000000002531");
+ return val;
+ }
+
+ static const mp_float& A000367_668(void)
+ {
+ static const mp_float val("-1.70556245841123957553856554976116817516844710202167742017407814179789530746420479590758385344412971130500217188194498362537924215012626165324712730660021448976871285987368086436715945166349863965381086981894131385243008741955392303658463767125693898156114244942332528100349271078032317484851663211212348681628339495124234218126922317329935241566552903229142898395168269785170680464786147129512538513062949034207416022644E+000000000000002533");
+ return val;
+ }
+
+ static const mp_float& A000367_669(void)
+ {
+ static const mp_float val("+1.08199050025900568288838259764298291159504044429911979598235580749871438519792488624668987722619900696550859795957830554760751008308422633187971541730329911829988923872825399659028059805280094179615376284184339038879538951061402273346020658156068474004448497492418623929410971882635628077022248582329814738896521570756033259510398190256559111716563510357707939018986197303810991502641796042198199072167452276203408474323E+000000000000002538");
+ return val;
+ }
+
+ static const mp_float& A000367_670(void)
+ {
+ static const mp_float val("-1.03936004066096807690638914430763677333090210988010899224933777825537211117119042879344837913263349519647418923020314162784978111038020713381472919599427992857339243818667873742033388025035053096897978993324235004903968822428811056219275930602176467521138351140846083895291452489568256416346599006553558096832973385005201572290635896991611296589205005999420045588103695650512508540741192606086164715676996177044061405834E+000000000000002546");
+ return val;
+ }
+
+ static const mp_float& A000367_671(void)
+ {
+ static const mp_float val("+7.36546956622034161428826011194839105363157870946496928222023425804378238960629143177902278616950573152780109479612556079759703640936792158403908791142290990429327921035319239022564520555201948893236268825093987537246335527028521216695992066823578107634725403117805531259635132541225818661033283555560897218152223619564481841662540901238734020567030692089684891755823316748921834543087680392945341740633344133939562294429E+000000000000002547");
+ return val;
+ }
+
+ static const mp_float& A000367_672(void)
+ {
+ static const mp_float val("-3.04238178596701013892521534543475174277598678287513867272588450689582414867664442714665766487061209955938280744050211731583141859614803622623931261726862055727786116843195390464575711710803023432907239568704779186955035056647888262565171502537669377616539523771608394752258572279549544869127160040947145758832365113405444435004252782217844561502678678672581260097072408230954182937151207805820759666894086735447074058284E+000000000000002572");
+ return val;
+ }
+
+ static const mp_float& A000367_673(void)
+ {
+ static const mp_float val("+6.71422290915717056359759897023901119104708058368006900230293068119115586171384133100681586832053910315473821897602064699544521129724564366613016230432171583439580254333262911752579078237765472743740669225338383003584920484832333657694461459766829741219803691571312018208986866968669129454539964331261548800063590628766281638694771543426054088320450833671582187300965306559944716558323657243578319033090276601498370321348E+000000000000002555");
+ return val;
+ }
+
+ static const mp_float& A000367_674(void)
+ {
+ static const mp_float val("-1.54405764876629216614637287229808230593057258321641325572781871311918514070580968562632309810897541533706623649621973652292847471991548432857611549473820532218676631806938590530473183651445823836954529210826998469627395649351373349466927307134533983630092653229384821674122471721406863149922738952339931604557146989692646492242628918794092174867166507736182458970944868638028681560968285666981070380534680714210631562163E+000000000000002561");
+ return val;
+ }
+
+ static const mp_float& A000367_675(void)
+ {
+ static const mp_float val("+2.64381916415875682177826466579964040521856794443851986238399643309717809746918957695519662207094342824926243061815781084796557390374852401187381427091486381963037264298027975120602633393311483990156200176255066406549838723679925480394263707855462369775492702161574559435280663259590377118446528313127043121525907502647397770545049308187522909373039188056295883840402826355876925954765815951961754591312869887138487530026E+000000000000002574");
+ return val;
+ }
+
+ static const mp_float& A000367_676(void)
+ {
+ static const mp_float val("-1.18245966315244124841537397005482188127189318685614012729502553869265441458845757006598667225826712958128888019753691029840379007989536768037489959259793889288157302668188650027167605009702924419856793974355293683943389473469224701467015545189976181002176395846772384748198056773448871897687579076805561104441951416168821417902679072328296237490332243223456318316188615427767847075709958087696207441358907796994519985770E+000000000000002575");
+ return val;
+ }
+
+ static const mp_float& A000367_677(void)
+ {
+ static const mp_float val("+3.05850022181017007700322608422213372572167378277302516096702544717631369310888052100806398936999836190952794797902979755363115992029659724905518658671538346696725543715939400478115211175887834464613685848053039726508397900891954950044113553384591086403913473153854158685902153352225197302418080937308224493189160865815063033216550098107927846232567262418111201026832354985555023784465833366711758506444290913503654765630E+000000000000002574");
+ return val;
+ }
+
+ static const mp_float& A000367_678(void)
+ {
+ static const mp_float val("-1.47022911282478327551399302396931666578083803094351695909593272608330301019901091975970530204579776188994671288854682173578413878737126895007280510751199274523188423256765292514414874693598095963639120925386047491165848802021229639479486485613745865413153726768567835483269908240186259855626546796201687349434888108201641038814165390745439652268447718526756545118337242704527662754229853959606937884913672740273462370494E+000000000000002584");
+ return val;
+ }
+
+ static const mp_float& A000367_679(void)
+ {
+ static const mp_float val("+6.64458169208781927749167428826223678251968132497874676568553869541008412755830268268673477767444300843581177071054099165665525971234320563644825005219929351516969814445579583129139034206808295253862694755461582199713142450618844358877882807024840311114720706794253512346657469198054455098811758999141390908328218526652524227165476483404968734447146186690847865618045702135007873633087975142547825399720390172840939236608E+000000000000002583");
+ return val;
+ }
+
+ static const mp_float& A000367_680(void)
+ {
+ static const mp_float val("-2.22351689435661855949624441317814941032567152926337496028477396379119471147319962562709922843174120545469735453022557428315943619929489355751529315065101023597068182835959816969963535422895689172722808217534891696540637643040160654717605101701483796726091564380546507419149064755182444621132584777295625055160118394784336124389876113789491946211974990867849128077325738352456495996306682386681502110788767636808804200811E+000000000000002598");
+ return val;
+ }
+
+ static const mp_float& A000367_681(void)
+ {
+ static const mp_float val("+1.02244465684238236568029541230969171031142909941313393206765889705848497397680439789747177181054828963981081806409736178292238321640858304001042897294166394082142478331186009669760483592510305515367566028577751370757184618165408615343822968881712113453341923842899947902208114092084758090419175850631919476400923069783913938605323711498615435154116571643779280108794533129044795212318540572857017487665531469176173799593E+000000000000002594");
+ return val;
+ }
+
+ static const mp_float& A000367_682(void)
+ {
+ static const mp_float val("-5.40269938262377127001184848805844452807706863558816976297502961097463218141993422251336562330876918760448336057070123349228906700254752765709713842282727579966352494882168766291921468688233379857193827233741545974580821296817168622999566306105516746676241566703351600224757946060540680410312744082317641318575202959949759914168357447273457069640039850451253350816433490274220686279140440700943359349364286277965300803142E+000000000000002602");
+ return val;
+ }
+
+ static const mp_float& A000367_683(void)
+ {
+ static const mp_float val("+4.44103696157089366008451173024542863754162407982307186068322954247479903936063086790175698132655562657478077830961025138607289126098713443110464901221223135828062199424650767654631909335450890797169728274011464914137092174651393563258304255838492377495612314320273631557492027924722374337033794462417173107687555843297341218861549417683391808489936575426667321799280101415479269149412421080730568771582940129652837050106E+000000000000002605");
+ return val;
+ }
+
+ static const mp_float& A000367_684(void)
+ {
+ static const mp_float val("-3.76055558661856894752025232146126892721930580021701674845220538173817302621156621084364217698033597052833071472033545082069788890268979761113139869710057263550893642344783638610015938517786243169398511469189210348045730058615144578382752054582358787939860468424826212465987175456983275041752745437369745116212201071192525481454604471475112086174666868798877101360541210377163152971705059768921030989914097902160732936286E+000000000000002619");
+ return val;
+ }
+
+ static const mp_float& A000367_685(void)
+ {
+ static const mp_float val("+8.04206746542242477323919113746410486877672997765586846719136206818183743391081387782752010341274480944544845431613327691271661356607655537073353689948460756116067353653500411616110487661426914205025168181592307423839632073434982589882344762163173176703967069579212961115990206002200823059275975649272685967195469118995137168118736817831936681614635001392415377190488457140272840851585445027108877728107427015399711892290E+000000000000002612");
+ return val;
+ }
+
+ static const mp_float& A000367_686(void)
+ {
+ static const mp_float val("-1.36619163544997959888262098065875932443328985773547821009936239472872161397134576255975702042906924993522486853214969347553478137891438207732598743483437429120230955753071734466488864944741460986455378330336494556731370555994561432170733563145616464623374134363888742479635458103220570695928950082035217991648756125961724899920327210067459745741576551750870980236376655398258952360210822109063653086276430471723470930278E+000000000000002624");
+ return val;
+ }
+
+ static const mp_float& A000367_687(void)
+ {
+ static const mp_float val("+1.16520524172121416089308430807417375401940197335004176268274042716364160775457911877382214549867370426811427724168258511174924966320704115589777547103071299199170239229739190723724009791767694363274740209049031200734764402661080348908969541106135120559660278132142748271978471871649976451219014995158105957178539655320908359289984133560555639295101524343802112171530617426887406585010980800096541450594160610946151743971E+000000000000002622");
+ return val;
+ }
+
+ static const mp_float& A000367_688(void)
+ {
+ static const mp_float val("-1.17308859855385967080221020725700374033321708512634646169113696316097286421797554792303435681902591825817450062396560193622429282256446276962979040188874228026267548629618742914919683210186526740503376927189541163113137177169517104592779758061860155625475141778521499166880015688106158897051918871711328257590053883282953264871917630555487437797569157116539350828041860744350966277673638640292690335256595923059352263136E+000000000000002630");
+ return val;
+ }
+
+ static const mp_float& A000367_689(void)
+ {
+ static const mp_float val("+4.10273044141528846407265432533048332758837778977651078021399789665170171115328338337660951942250380372398296164523955060054631897032056100420307458173021533058693786295630522675666200676235200063950364368117709739126915726193775591346489508066847866215828047186167404317950621445669242951228879725965319682434297532807239564001119347952835282093138952430958994362937356815103891993860843770508036152132540336865899317323E+000000000000002632");
+ return val;
+ }
+
+ static const mp_float& A000367_690(void)
+ {
+ static const mp_float val("-1.39262283224463992935186421970902747903789147254607420288930526619400674885491417456424170032639573324698508928231229364861311996461294245452921358999189926240829136484497709486219989581707761269073688006924900767770582502694425830004222858275649748186860621609384520551256449351989797116062811316904280670798710269515140341376973657760671279507948473360714643661358826378899607685321622842177821588623881456159053286668E+000000000000002657");
+ return val;
+ }
+
+ static const mp_float& A000367_691(void)
+ {
+ static const mp_float val("+8.93541662543985769391016604975788488719674250400264119962404500160319458896533266609583061092726440386197256246916541909222448710771734823845851108395234082923451004652680217508974292626742339179603243239125404108268445225149873138180653614264928729806611094760231366696484560032773195674761679164838101670332569858292806452095569877493605948314508246801776499715618523280749414783512515833357765475448371178971939025345E+000000000000002639");
+ return val;
+ }
+
+ static const mp_float& A000367_692(void)
+ {
+ static const mp_float val("-7.51645080743155996970219192248512899847134287429185425431988608672486760669511212740676661122652412986354936353815548056183507415007934455406923228521294862652012685143038763786063694287578714339077455464486617743365969348822887988301136449856468278730852629471548393208017297759043062259850328923324721077866405926623496528594179473042436498567649077344993375019838085208574093302991792695752901746949771923217758584315E+000000000000002647");
+ return val;
+ }
+
+ static const mp_float& A000367_693(void)
+ {
+ static const mp_float val("+2.17233665818518695648277634066122856688878408661120186694245205084534464358083239608878793677175182485408613031425996599011331131750976834818438276667406228920328666409729025279580776837170022982641793072043636596269759707611019104415189809461973595466417115922380374926797506032883843866358427752500495947266734341608415129790837376989576212326160318557434922567434227272170314199855526620877434943443490947346978158322E+000000000000002663");
+ return val;
+ }
+
+ static const mp_float& A000367_694(void)
+ {
+ static const mp_float val("-5.13621035574121379949318445516580730157351889535454314911402938546958449975359016425660826878812752983946875662354116068652468495122217669224641298066175318108535038482979031622370738263306392126194544576809453272593791172127836108522512686657257374301259591143804387782197218445087215737573609853654786463996254386445432837320066498702470815002761382639658059428162695203161105997122153870260323377094279373424789633233E+000000000000002654");
+ return val;
+ }
+
+ static const mp_float& A000367_695(void)
+ {
+ static const mp_float val("+5.52615156708937524212344661291103841594416903059048915331485307859659107215189730660638908392410371933886487843340270678737432658159419814528038437249103832787025513909972412281237635107644610251350729593586005251647536179963091671989718135195432098171488199382063076946464689272441318378975103758799775105945961883740489738637401829953174215041534912147720701118368613255406879000950029748422844126533249631175110625692E+000000000000002659");
+ return val;
+ }
+
+ static const mp_float& A000367_696(void)
+ {
+ static const mp_float val("-9.14387779665800111934032186307188995209721659344223996652855344270209802510614017027113080817554078054110906178844784351663640299253255956687180890104499398911456196479775699277671333445782848908373468448604458105555086716782721577520895421045259256802210248243920352282568233846658384873140530798597933730105791269925393038442297960500996317292857940114945644524133063033321148525441680977113378781447632401258881112976E+000000000000002673");
+ return val;
+ }
+
+ static const mp_float& A000367_697(void)
+ {
+ static const mp_float val("+1.00593282838833987642987262670072669487832859742349364131096559051782069315646511873182213340180688959952644183321945418584115809199724357823257740978131342805846230036219769718101598274981796992816512151633038797147790696057291246629358147368256677476392861267742534336909583072637568076605295855605442235579941502843231226246841427911442168189435212887382095777080683834793396316079283525123405314791259619180453638107E+000000000000002670");
+ return val;
+ }
+
+ static const mp_float& A000367_698(void)
+ {
+ static const mp_float val("-2.98923998321767263358191614830648169489085942414239088624341762463056520864572915432515980304252364995917818820467906167810735842758380134622730705816475867732628966696642947442445235162935437643148265539036040390295165418629838818572982289945046353476448767936673577981284380522184003448800325953356423830889690369090463905805916571570191630315941792149427685352807816377498490910924272013676604704407653677532339815430E+000000000000002673");
+ return val;
+ }
+
+ static const mp_float& A000367_699(void)
+ {
+ static const mp_float val("+1.35259336953235527531869389078668972367604286139110609912437446430672085050725198283905865036886730331039660289151312557153190103659018199228212649074120604682999804574718654965747576855335005860397753137875450072114354447098747791762762559437567240410690542624748005614074851579088718959166489000364031237804903886751652499610189408441779326958915176379229723601326805305858792415910047647802021373577334381493277566827E+000000000000002684");
+ return val;
+ }
+
+ static const mp_float& A000367_700(void)
+ {
+ static const mp_float val("-1.35540547950872462644726710523379080359362328909036958727632420578908761079234369989461634459593340141972140886329901457177402634011703578786286680578751801489235484245701869757738773287399101795108981457692577866419391409289379182368584245728985642639969035320659290964605224940590886779719035928700576366960106970275570388383396777353379845254088140802138336310027049833688997409518354544658547245552528928539115731820E+000000000000002696");
+ return val;
+ }
+
+ static const mp_float& A000367_701(void)
+ {
+ static const mp_float val("+7.30040652759406379476210130303533936130216265527902431416776291999320836760353207264873935618506801663491664048911750539953922428751423066358621220397650373561920265857551234652895401883700272587575270346125720305289729584771057576171914743915676409863145835387871191097334654566507539938833890241817910307663303025800052092346073646606085250001508182375331576208392281173995488479624478875671630613631892383730251342609E+000000000000002686");
+ return val;
+ }
+
+ static const mp_float& A000367_702(void)
+ {
+ static const mp_float val("-8.34848977846469880359097247742178135007749334853780742789604838908260329052148249679189094219639324162133980948840902274651262219764532247493718559890539080090673447480061853960261416474036327563545327621999784074508756981276444336123625539322730451344298441387508831323815266623006923034754038336803272477196403222340745310210920915779020719519712633694229329794150657179299612268436779707762608607721515465882204404808E+000000000000002704");
+ return val;
+ }
+
+ static const mp_float& A000367_703(void)
+ {
+ static const mp_float val("+1.82269496992979573793874226475167525821629079709999502392969539361752867145251729726449700763160182465924508863427267190399624048543511924744983669978098932688909581755827687416311303015608079938405529201729069552828650006653361731654923531291242397044109130731758222144643623907714659085682240549689160516130799769727332449237444412207975337438612830999415356505119035903774447539260264826000019911808587861524536118661E+000000000000002696");
+ return val;
+ }
+
+ static const mp_float& A000367_704(void)
+ {
+ static const mp_float val("-7.91541113412249112869099572640183196948148928712445470803710812154153418232099514760210739500904603055496227059203601066916931961092795028904103880713578037020373197324043539455663106053122857474286793587127559623328753529106793286732534849997343829194524948821217655842782859764159256465140232297870325059569081049182351845157338843467532222075022115513811867897846356946743345671658981764276947906179112809951958923333E+000000000000002711");
+ return val;
+ }
+
+ static const mp_float& A000367_705(void)
+ {
+ static const mp_float val("+3.10928286976463219347572553523379185630277643293964552356146678594888621442030125461546999622093551393035424685480878395817765085442213327535359694850886314135480447500759126280723285697596442038888684519310611284475562235137746460282108497826461034430769491131831811630857455204353100379132907152509442801342050176507085659161853136044805975289702770325823560172891867885952482622467897314383980908884796316440171361142E+000000000000002711");
+ return val;
+ }
+
+ static const mp_float& A000367_706(void)
+ {
+ static const mp_float val("-1.16143085031202031294361868641507456131959887127170147358349087608949256269269472417330928268320280145038142615511661660313429276876361150871861627122829136640887339765801161101619788472381418152053586612010525446271028058894974684326093181901569546469407740467148010004990632326793395583106838180131842237392946960655873134868864059920579810945124324036204046321592201465813640571235537860466044245536507231284761995683E+000000000000002711");
+ return val;
+ }
+
+ static const mp_float& A000367_707(void)
+ {
+ static const mp_float val("+1.17558811825932129515275943944120935140094809612167125457499315615965881079688242038248402347114021361156056054286517009957256586499109783385265264596391187231928469799761488885563730442135296838185696633763857651300271581134019903215317583347197936539337771213747359135250063336544550090544428129390574096826794272090990681696575433926318078160419036070273006419338963042219252144339088751446578137643878978060467502099E+000000000000002715");
+ return val;
+ }
+
+ static const mp_float& A000367_708(void)
+ {
+ static const mp_float val("-1.92474312178677089988241985881400526570177645466162230268789159926835088788746841276374785926540952952575891399194714745692499344286239997465574364661994911645999217134495627842382796644164965220283183579517852329238020289766453025215939291796205953636121788971594103572048325955039334917520018333422437838807530441813043150911918426220618843982380583390277732341246063553107515971611003193555632154931667485965633835993E+000000000000002725");
+ return val;
+ }
+
+ static const mp_float& A000367_709(void)
+ {
+ static const mp_float val("+3.03669719892147800809138933708571992426835408233613207327072577150996627521746803691508563670545466168029820546244570503161235925885483990042764904323915779074384620429537212948737134705826665868127285453990853831900427181190918784511771194305635899470271517039814404878621409250857309206546540452066630098617754460087642395460600358496492282477548821626189005737902714065254484527578084006107682545413380739286509372810E+000000000000002724");
+ return val;
+ }
+
+ static const mp_float& A000367_710(void)
+ {
+ static const mp_float val("-8.52462299974273792758556221094436011197992897235600272420173281558205354086834227568101148296410898188586582823962055719418401267453072336412211331259116017457662276918701965214275089390475258367858409550018828371886782942708923522905978120580146332416151668208133533314234594490963617152913289174217625485267537808472227304150749813795884381188841931766707416466147154981711796778627476332402711415465126726077065211445E+000000000000002730");
+ return val;
+ }
+
+ static const mp_float& A000367_711(void)
+ {
+ static const mp_float val("+1.50142267567309564021366215434116157168438969328232404815098282699729394705263424105998821356137604263409085979565253281538739433713746284525219584872008718952582262318971643113486241607085988240932457402721999759313173278839586183088767361602633241992783037063677345126689937387775034431148806405528970637735432021959896000587823218059237760204399259098353298494105991086487215121698426601928639513044239335657251847876E+000000000000002739");
+ return val;
+ }
+
+ static const mp_float& A000367_712(void)
+ {
+ static const mp_float val("-6.19545973723648399623815652880421695209493185931638563282769976590188457609144463643226911558276864718345083551561041212139017189880803223373892860930136294801988045949151431848052182851892707781411853878687687134623927677580895121989412789782589713335482564733611719105538090923045994025844613621765319124518215024131140583518703443960834332347921587741646939113707970403690230000177855420819277293373677645982860577762E+000000000000002742");
+ return val;
+ }
+
+ static const mp_float& A000367_713(void)
+ {
+ static const mp_float val("+1.40571754849812934793378249914827184284061511689022060470401130969002221912517727683464265472281735207823563503883106121126596592987524675566208185051896409221341577215109579889062248700007973073953317675642841129336237248308399432711886836372344072159462137325712123883211156418854568136997398746325764732179179819402627915770401700517052130264155289005201903564276728151225391945315958858301972657901421241242942326102E+000000000000002748");
+ return val;
+ }
+
+ static const mp_float& A000367_714(void)
+ {
+ static const mp_float val("-2.15930447010923550848508302109521145393866043241815524236717798082701700152093672259770126528580054698660218293093865328447487867887515510674576458439694940902292967941085426992537121390497029604603777193518963518223093181648879197582187040582279461708879135586761981052246574174085906472829505563992971700245991882782098582569973015398035736392340136026184044881706605183607955947025544027640063881777837351699054042872E+000000000000002761");
+ return val;
+ }
+
+ static const mp_float& A000367_715(void)
+ {
+ static const mp_float val("+1.85596176762227500625836607328755381284703535832488518476516524788659566459794502424850530458417923218494535266185227129593476271772656396105324578506726213712358250886453738786129566116947863391184558926297430467993991312721850121895317602225664551970039511413850948413135446678727203227372852270909350215476842297463358168337264776518260434683092225701208584246895007712361958099615969371777597296187931941362148498487E+000000000000002757");
+ return val;
+ }
+
+ static const mp_float& A000367_716(void)
+ {
+ static const mp_float val("-7.47671397962914059873315022571027529552970963795690053210134916691895549587609427732750031872956859547170036465344278884824852735058820437929866009378286179018697557067212615862192520605989700775302726149296931349505528439015508509130731705847682307588352622056870329553510451650944918647499011121326923104432087771882413619166786850900352712294287026629843779511522915090066043333219467570852425853208096552485605051052E+000000000000002763");
+ return val;
+ }
+
+ static const mp_float& A000367_717(void)
+ {
+ static const mp_float val("+5.07305162939327014226624665065625869516114760993263757330429142137707143305541659096870338685116180190392329552631858662469008649802469632066056152484704594658661037305932779533467695038703427623708242562534346482328088435868350241965146412377907507415716464423608043436904200485795138234492866882743118993796799303810102757692456120865426451509378215767878402549830976634094234914753191469081833636954845473071523062304E+000000000000002765");
+ return val;
+ }
+
+ static const mp_float& A000367_718(void)
+ {
+ static const mp_float val("-2.83910351760185218022593988011225872886596942333402732825124699438093489529949528198150623357944724622455655838128574656017447955898962381079266527285843396826300582962308490990045847837919889270380956672992032425051481613489598542568390066336574666474710557163018494211967376809752807986064382657175135419523499421626577106954978684078367273831754766564186718103450115271528884813781832265055888156761953153313893984718E+000000000000002770");
+ return val;
+ }
+
+ static const mp_float& A000367_719(void)
+ {
+ static const mp_float val("+5.94838465308738657135699620034432918912024419638334213256011078391385256635089328085365109891419456137558660759065480280487653504213784311378280480829687283824935589239648394970433191121661735526548374480547582982221922581276103986223043103763473343427851198709647995427446721951633664344653281490344850072918520159308939876120950126734249308736563046650447980676675859043858849417347417025464740549062115355689229679831E+000000000000002774");
+ return val;
+ }
+
+ static const mp_float& A000367_720(void)
+ {
+ static const mp_float val("-3.10796218081915853548101245475868114965763470478554863242972045472247832779406811604064790148476793945045890797270405704022825744177060532407607407886588053186640269433387447485053941704055200161402110110194010921408335825989775836658324000293750598128334387149653472973957088389280543214756857280974031382024567331636195351426136522840576196687765002542796404621676654994857516247518084618950563051554105386466219438512E+000000000000002797");
+ return val;
+ }
+
+ static const mp_float& A000367_721(void)
+ {
+ static const mp_float val("+1.14201367485487148226992597016217621726769698553170009025047676768622136519049677780187898418776735599893116276912685586243473395333141471983277924074065305586972621262609824192133678156050104575215011809921842684150393663496128947961482471328967277988043257422075350400262700285177788257520003892387682303375535096146095507382866445199292399293667927797864859080926703842926951805531100953550005833593093761762921546966E+000000000000002781");
+ return val;
+ }
+
+ static const mp_float& A000367_722(void)
+ {
+ static const mp_float val("-3.01380463375392197124554160193198820874876818527629936875808608403502781167459781881699693855636795360923414948776529230280841351689290695685641707718513547238430584149658183170324927297270140177823092320549287241176099731666419880982866028164616000235201081688125702850987782723414219461727895924507313713254593690516222198676099405757520624071191010351811446271718264990683705604567337045939970479113512031943635622317E+000000000000002786");
+ return val;
+ }
+
+ static const mp_float& A000367_723(void)
+ {
+ static const mp_float val("+3.23138025103323263418832310549714382366904382240485783659147061928549287998661183913445411721159034923764004972069961268652470050750065597670937700005176576224696337146847177488525286666795652287282550678748154593860646583475383074086509671955057322661866955059132235058480293459412334568167796566026271458857385127299614595335735299648486220547037558710081694817032249103169542117038632811989000091051518831606298093871E+000000000000002794");
+ return val;
+ }
+
+ static const mp_float& A000367_724(void)
+ {
+ static const mp_float val("-8.46581660025746660604825431670570145649894979765247943811100075785336658176211884798990491058386672085105122274656871666292575074096753097451557558731481328730571358350710019111556665797799483847115510444758951682745361241416173400903092611569123553147506817480954946483831704729040916192950005713201973743551763480768376997002798316286305227215030850768698288828759321161884387195980796121035012045835251678676037494742E+000000000000002795");
+ return val;
+ }
+
+ static const mp_float& A000367_725(void)
+ {
+ static const mp_float val("+8.48569878732195285463021371193725502312252131474856234562034627008611199758209211719724889656950971727699204142689117304065822167787177603776887884153606197317130865684358367531589750468947631293488864085690562698514456184653535895779296091821882786659658980668895314651163088209668363558844041795866845212716554424571928242267260948797409999193994135496976449285493499404441978080027358549145448419345939365345806696289E+000000000000002805");
+ return val;
+ }
+
+ static const mp_float& A000367_726(void)
+ {
+ static const mp_float val("-3.56175346233921437027863904051744092523598461063577895064773872079332543477149471621710706858190318108722456385887930610195501165256735022502190254402785365362785152785225593937146223690253666043215604045911975263656048474430119498594020839427907531575111589932230819158869057354855679995031501057727883804141034103005316351048829183431326519331864707206831318517443868363897661723185068831344818512482738087936939923082E+000000000000002816");
+ return val;
+ }
+
+ static const mp_float& A000367_727(void)
+ {
+ static const mp_float val("+2.57347574107297194428282167751553536246671595207413731605212564575668420116270609205360155560111683565772553074992217860435726695780645059428781555290991726954071237800168198715566115958130280472627603277051944731403711846742226220402186501945786209496023753069851583549736375891546101067471115251636844988081798975850774852448302522057439629339184282397745552127602791525861328223181671047399728625133764298676536796861E+000000000000002809");
+ return val;
+ }
+
+ static const mp_float& A000367_728(void)
+ {
+ static const mp_float val("-2.03871231820483693297639595126742620775458282231227240771435748647086623349866889775533410887755728621988532154008097457627519621034583569432619067134351377709947328941462491586254506286704884224182208293721855169116442465495088989439778743577035426348854556251189373452152931891194277343834437321141090325397449411964119759394689100815143990999992125052591505464149382827023133587064315473004438034011960562793293136065E+000000000000002821");
+ return val;
+ }
+
+ static const mp_float& A000367_729(void)
+ {
+ static const mp_float val("+1.14463111623813121368125856707498815051385099523668916028590050288374711467967723998067077706078003883977206383460256844479216421782352995635771865599302905565774187496814975596601762715247338149447502506256120363337378913936728022962290214588072247744929965946193659039866025931632632841290560884184423997867030788430882960178133567209332428908860062637889418753814949033256080665130532591261969076193769434075265177326E+000000000000002829");
+ return val;
+ }
+
+ static const mp_float& A000367_730(void)
+ {
+ static const mp_float val("-6.46131285764797578014398352452579341480557666788409519498226520170203737799873093089885073165923153568271737259341640038373818225891780499560451604802487936181018812908009400796953255554390191983394171150286002648605198021416250648840812190526263373293311699287270242051472926669967842400339033666088538854072475000613098959674622947570603349729598697206580951835567721865807545194033485303164435143390431302162535617367E+000000000000002827");
+ return val;
+ }
+
+ static const mp_float& A000367_731(void)
+ {
+ static const mp_float val("+2.16934343636280775921814050174498731579286705217576059046002828494939149916273067323976190196255855515819293637057774161201832764414173640657282342454088320427665776626239127428085771826771037485845134777182213532807367120481720745033565275658615247164856385273373743480529283015536627361301841750437774623415864675220710342032561998849352698865522651414384563924903657892741979672148591267051743072815622247044648191620E+000000000000002828");
+ return val;
+ }
+
+ static const mp_float& A000367_732(void)
+ {
+ static const mp_float val("-1.44057347462293757843738286377131642482668562770959641783570227172860497188090979812392065022846469051103861784118685475328475194334707035462715092128672615061342329748056267707495454831661677250204708804337066253505597336026111824726393767802301091419372068636498613514858838516555290125121194297147324734949487592280142282319292551028957036662791374954745444225449537463534473972402866155504351961107582045274032445397E+000000000000002841");
+ return val;
+ }
+
+ static const mp_float& A000367_733(void)
+ {
+ static const mp_float val("+6.40273955815754738661528657829702358427417980854653174218294898558786109339512158860371047264731219160368032289039267380067103481669228214295164907849424603488628960560475682200141757783397217448444731461090317690881103976528315447968071750646746751765082156235774246172965316720920900539468774928762096118840282518364799815767172991215820939387636519569199991239057078297842348305269619137609040275425924489985457320940E+000000000000002837");
+ return val;
+ }
+
+ static const mp_float& A000367_734(void)
+ {
+ static const mp_float val("-1.74635396105461057392041919811715121792551299168455673018512734517689887692090597712417449667035516367756583305085069375874659573839645133850174484489357996442362765323647330960483645147981359113833421821121418142612205765894010107271085676521662938006161550269491687543469035594444072301194566268596583939346996590403488659558444094521119334289486314473700347532110857616131351300296815120690396122796033964258929817178E+000000000000002843");
+ return val;
+ }
+
+ static const mp_float& A000367_735(void)
+ {
+ static const mp_float val("+2.12176610115529197628405659165758015635200362244296701605282671994787396785783331754564714682091335835215877646017099468379266162193904426266300371537147122314020796546515683300530189511881049804993747309951486208206634428085834788499356442021544051746192729656802889906155587971500486415551714422216574246606961906856600383788374142501113744727361020654757561412770177361596000752764343093555964814676848227896163476835E+000000000000002862");
+ return val;
+ }
+
+ static const mp_float& A000367_736(void)
+ {
+ static const mp_float val("-4.18619247553269797634232670875012306518266205380039668789131364430849975870895668918730199284802342699028014508027821486872350032973893286138595554126024551705032862406258529666991847939291298436699771824228178827891878551439929011942863858306628725935363806179145021769377343072079650157203618168782313724298797278620950823836530019913686287146926220282649700168278175089176212838278745364515412202865099402219241279437E+000000000000002855");
+ return val;
+ }
+
+ static const mp_float& A000367_737(void)
+ {
+ static const mp_float val("+1.32547255201136775407500983230826281853741823971652035224913862989188972403898473760811026095009122189273866026300724370037152176121129941161062457730230054183231669751009918965334210987784446676217233046980653405474621041926798436590349696507688110439196668257509545881601490553845603282468496305439432086491955936074601707866541258485639506031637359877842595940179446622349592807598179650234252538007798902779964427217E+000000000000002858");
+ return val;
+ }
+
+ static const mp_float& A000367_738(void)
+ {
+ static const mp_float val("-6.23520585517751030890653347824500232763957840872969932513465660208422494144235218282560747111740928547408442693199728771516274201986912130592278612193768049855961632085316882194626542347800335426439608050679945957252459105655031881474976654768549293131941067424639272193302796049689274109292466136672398561236989313374309132726982361763993632901943726175384340535360477615335036428808127998915557892772298994552094466239E+000000000000002871");
+ return val;
+ }
+
+ static const mp_float& A000367_739(void)
+ {
+ static const mp_float val("+1.75734381200319131938652194570217226743440804320535924071397502303300257081667316703453114661589646863088658351075288756496647859619701932683235948159191269013865527260762119297983488873125377597775286053716357929455057368018941005252490534207609556800310552115963152001993107807507819264337374345953330238195823077021707399469404311853816124425952636269342990880301691674070441093821831642649529865536825032134486370159E+000000000000002866");
+ return val;
+ }
+
+ static const mp_float& A000367_740(void)
+ {
+ static const mp_float val("-4.84858219466914949338523168625589902079665675087510524751846713709855098141548778499032539933005002832945729503220611083210573467732339908071725963767119417847275523486768908227144064487152554651594974562403018170618630018295465746204079559358840760801718934443135748797261710709436734261447193634405686489237902507928955659801052290868258632607479027612698926933448309477370530531930061991206914137692456544910281737464E+000000000000002879");
+ return val;
+ }
+
+ static const mp_float& A000367_741(void)
+ {
+ static const mp_float val("+4.44259472842373819045410869703427120468381894163126259725690874596748570326937859649056518110141611050919440129896770366778889146878737289678055631725977217993811112106962904247679828963301175106426666595630811514532528648214610669197046647035885455785173426916172620651075149974917430035141328180549840632908124579802482713407453205592173493934323909169939782528950736572188903299648483434441999816588484695395190328125E+000000000000002881");
+ return val;
+ }
+
+ static const mp_float& A000367_742(void)
+ {
+ static const mp_float val("-3.48117874780057688037432757456066522977326698372823599314147591100471544069921976601207147042358086945149480631473094010980626812224345100889671801715369645334057580441264121965624871901144536102199773388228180121445032429161903464630375391365987393105437107010384998839039178403270121091063494140364155709206895514320862784561495624500748323662347447697655601263865191668277757992071359910650057054913785293900794720686E+000000000000002887");
+ return val;
+ }
+
+ static const mp_float& A000367_743(void)
+ {
+ static const mp_float val("+2.51004914498555504479178996674178845353453855604205643450612819916602535950112095291658904494736153308303040879709588836506432819367689798698765415163524866763285444588745334062570374949732133970074298894740048339135394732900517714929547586658788786796687447115046404767328343249588328372664309361412143337555312020379735830132153834834340800058616891439006587975193125061583522660809527610460596252914639080086379196211E+000000000000002888");
+ return val;
+ }
+
+ static const mp_float& A000367_744(void)
+ {
+ static const mp_float val("-4.06433284436296981392290898176730196136567142482567089376627582601135359591880146612605982380536528028839005927190218106709375077683443049506246644429883114697537269580725602029205308941635820693661147087529250770404273047285427638555599301361646414305633779047452861501431274432064721188686467051922709198491392166283623136353929451399443592386481292861268356108349909475698552803997936113973737617250939534728783002394E+000000000000002899");
+ return val;
+ }
+
+ static const mp_float& A000367_745(void)
+ {
+ static const mp_float val("+5.84843050700431094039962859079281535757100030244755336638069684604672759123853244619893658233673097393488198542976430389209582326396160074656346934072705149707302692073420348768760267201883492840088613560768883078458189284750118942896920540605016397788306666074180437531078192468399568508037560585953340427711715663196509330610423277002766621674545200189444176222829914735537725523908533207680269610812531058101084518477E+000000000000002895");
+ return val;
+ }
+
+ static const mp_float& A000367_746(void)
+ {
+ static const mp_float val("-2.23647058549560479008627126230443186648858542137979203651850903772660048997554111392106174235579943128472875903059675754528050781523932159019321668631529647099442163826378862390835578811311355732177194999522809849828669137440103564049815502552024629405655353185167404489312629635467598873375374936306741085812751401881010470624454014805017192228077314987295679046901607735452354547451076293958855737761609494467576122030E+000000000000002903");
+ return val;
+ }
+
+ static const mp_float& A000367_747(void)
+ {
+ static const mp_float val("+1.87608583660398544693443436456103759539594790909710626251911897459618303274057630700976460748478991978743877854781814714440599533146288963710727909970293068794960695998583112862340670159200226480238684449497274962273573494451694175473988259381663929456095614802381212243382935305356719924934698438355806476146395006666737455754301031783252811360120025748263364452291288459355414572107927418289955169654030721444879633515E+000000000000002911");
+ return val;
+ }
+
+ static const mp_float& A000367_748(void)
+ {
+ static const mp_float val("-1.34463840326793993223680237420682912070377105467362329282889486095737639231428945234766846072895113923683174699763365760626462067547284411227945312217045499843793303485929926322775744753810878916624883423339543169983295380436180189789784174154336144797235004067145150960975464704539610183066953714589193699757766211611768155510223830419149612141880604600355401779864247448935537546434703098908712512175832715763282958056E+000000000000002915");
+ return val;
+ }
+
+ static const mp_float& A000367_749(void)
+ {
+ static const mp_float val("+8.16530866075803096813401796616941351603557628995981095097773097860060055596400004777168880369283253823453082892610109823847289290242766687193185223122353614994879119537953829844106850911658137089880530207393679503554881301476809303987151360825982531824800069867493159722402654378836586922815099844027514536522594205581854020620000589972492220546199544240296736084538368047537673062665613087707215465765408592732823444947E+000000000000002916");
+ return val;
+ }
+
+ static const mp_float& A000367_750(void)
+ {
+ static const mp_float val("-8.44134633251176782405635873584496997391644881692668058299608659519105070941039207786112349313911155991899743601779098700720989806138090413361539227949675125578701595128691388530825801723297164715783832555424642476692928279090303820634722341613010372540901882366975955018651791449014598703994666899369741130993143041013648700804905152704723954184623293464780487561055328972038190653795970429597330491542628173033953329095E+000000000000002934");
+ return val;
+ }
+
+ static const mp_float& A000367_751(void)
+ {
+ static const mp_float val("+1.77171971106151730850965752825000558325159543795117740061990943820145202960669369689500117798089904223736973709683496122975082518437404102185795867890584363265202725617951379647480747467372732570385751458992269286447895078098249975711681009419882477088857422417955469083170965425007734120354579212169514257494258718585762675409848129611704102585493857458820942220302877354958409696030393257990126369120066063077299598622E+000000000000002923");
+ return val;
+ }
+
+ static const mp_float& A000367_752(void)
+ {
+ static const mp_float val("-8.62305235099312811871948011562084840754662234291409889913973918462852848803565282021367622174340744300465372095853335222609252500104287183260759915182880449891522853953965605264739457725104169183476489570456812885293481479932968036245120005348596451107897789280535598801021544632280855955746095388802887195207518711231895005100144962563633885965123982536237107193702188195031937767838997737438685992681356402436149810315E+000000000000002929");
+ return val;
+ }
+
+ static const mp_float& A000367_753(void)
+ {
+ static const mp_float val("+2.05073648061818196035087443786559409877655083902918773015612160006795315310200193381161145272993515441569496216728859049206298665939461511446535893300700583565574435630776147608157050141981393173608173441414579470409887785238451811989590104451259782551769635239080419869743057510478039885518792995524463405669053437865283961927082518360023950289510795040909166896931546093953187471157874499546047398313660365873972921498E+000000000000002936");
+ return val;
+ }
+
+ static const mp_float& A000367_754(void)
+ {
+ static const mp_float val("-5.24199466737692980472934459863609641051332576346264265499467242543841908475323552091454256194638111702333417901449612913936381386566767322530874775882918807794521543388717389439592771692616328991737861768976689162277404078895119971812017664758440655062156615915573168164570634976284296897979146650110241738283593248329958497001708716550042776511352088390754822932140720725391878749524960459311399278269988243988957944960E+000000000000002941");
+ return val;
+ }
+
+ static const mp_float& A000367_755(void)
+ {
+ static const mp_float val("+3.21634249735467284015253539556313169765106078734373340376444731329259138266097855415644594312229888073349804569744935729162010445880115840225899663972952651451543831057392286469254580460260887378823233177359963374038746940810489029601631402161877411361282557196839141287204981524540685569042264010157398099531147217123304367006847037626164748210150003314125701051509780238930532583446842025719524153210804472730168759327E+000000000000002946");
+ return val;
+ }
+
+ static const mp_float& A000367_756(void)
+ {
+ static const mp_float val("-1.29503946115939135563262018537261724758183158823889085531362810649588532272579074596958244243623960631076914070707249825779676297747977069629224571452944325903279240435982083767947535863145890294130677527986945984636300737695480207197244148379905094792079460720382919352266154342178658515473688560803237444308521460094140837385751915207971468279103638242115922280954856120843053088058683473409407602674190657172726379074E+000000000000002967");
+ return val;
+ }
+
+ static const mp_float& A000367_757(void)
+ {
+ static const mp_float val("+6.49780576112770933594265612434183843226431600868118527200749295500719679436064877916896439345847306561602389041006686540022763189688342668143401555548598924926420767583372177054075441780313439304810728087644275547021962280193997699782451451513466214992805967060996072525008138650899532994969489671224348070429413027986047999635617245231258997319380181968844148405641778058929583764238324743349822187683047662276244491498E+000000000000002951");
+ return val;
+ }
+
+ static const mp_float& A000367_758(void)
+ {
+ static const mp_float val("-1.89011760215095885958481188318160542318716848460527807203042947743297332166720646918112090016914370418273997444459314735459110296390458388856877842877573747568950637421114614703156164275544794084602447580147989609399049505823511891964457917100965619629601333093803145841745133327493941410372988353153311503932132580147527123143330890933154908657230658468079608563009716353559658476779825503620587660257156969974240830306E+000000000000002957");
+ return val;
+ }
+
+ static const mp_float& A000367_759(void)
+ {
+ static const mp_float val("+1.55392400176275772479549043535134665085986796700115999974022750361049087079498660333365366508136295674083714405125540651144902139952196555342185925501482572469366470431236150579789270724221834835693362957627287728340948890405656079164058214106460019920094838213309564235584923608661017005401643007177589031882868982372927435745407310556744404957456649964052542924390722680836413353015135047407179713224138963983370099994E+000000000000002969");
+ return val;
+ }
+
+ static const mp_float& A000367_760(void)
+ {
+ static const mp_float val("-7.18574091690377133007172193419654839416862328323278196133113911251682043061029664761496519408670239222332121643637992575498804893293656770511378383696549257492653075406785184449240147154859587557843708540002547670556652244807463193010194400559581871374004102171076246460055156331202300143866507006905670547228359958986736262197622183233666681850329661570254728410425808021093521519958087051978796591217712664864554708786E+000000000000002975");
+ return val;
+ }
+
+ static const mp_float& A000367_761(void)
+ {
+ static const mp_float val("+1.15170723768637160315154867716572050863735359003940073428603386649681689030565352959428110867023567633432733127841798538485253502010942148748338104458180779456039977495089190150749254356816770881637189511277078350078568131655715029730417977747067822531356978931047219639105889012498352903368852611084152495422039677085835848638780258931384658993430989447750831786394561634419134076154009893984062239487955844720929503884E+000000000000002974");
+ return val;
+ }
+
+ static const mp_float& A000367_762(void)
+ {
+ static const mp_float val("-1.02966631526837898816831789009920722814703356605129201939359783040846687019693502219818172646907851155228267648443490442079499764627112979174542387674385836970108490636202663977589164684877136019291019920599836714418028643521089739862425277232002470226171957117350976556387666514553852484293252608392521757090886030640137522297535768208366123852540252932597807080883749539924937202633134132601106773969260619125409606472E+000000000000002981");
+ return val;
+ }
+
+ static const mp_float& A000367_763(void)
+ {
+ static const mp_float val("+2.62078845508071761198593902051669353381044297990090683276202087434354241008230698465281887264469852574952391842930921194695018848517551546553671164473185968455256505954659975382981556281243368848566492515627591906348884996837570069798006988206348367511992120256054110792347819186825714033426642572727279392136051961118385612402721839011865453619027725653650673646029632788881375343328297161088700216780237847609030678620E+000000000000002980");
+ return val;
+ }
+
+ static const mp_float& A000367_764(void)
+ {
+ static const mp_float val("-2.96622028003005733226720304678648532017105502195787832141697329186844853927196857041159453047945457379112678442786760891560110961302245419584044090030085684847864638198351882125956856166225210874273910324782757208520841354858037656761588494838935742158837842436389563035991261888556418460735922658975172281675298798738037030396563838468790710983540340550670573781938313670758529692867255079901785159152268051168515930323E+000000000000002988");
+ return val;
+ }
+
+ static const mp_float& A000367_765(void)
+ {
+ static const mp_float val("+2.01525780529341386910353540806045952153919845717747378964649800061666922606667915050774801703168813828954901810737854691162788646389651003036126606115900964005648435642403017540006970979436927399790340746275390337794137213547886060659002714668110230843620769476303796296510281983569966929726695251268622034122611200368113627205497142204481467035758411403237149528352588508122967227165501355802445185279784824664109879328E+000000000000003002");
+ return val;
+ }
+
+ static const mp_float& A000367_766(void)
+ {
+ static const mp_float val("-2.72657861827900936638751847028521255301557204751236350184304368857300663977669219222446395997615282509124885902754209310961809630468391311253746822712052490529791377136563772406912695154057088123291054709205735003271634157255390277409777246494967316912884555020229835581671265738479767555084652393556892425508263588441493025347107326656281234009818223250317178865431310529882324147688096401242947886144217280986720611978E+000000000000002995");
+ return val;
+ }
+
+ static const mp_float& A000367_767(void)
+ {
+ static const mp_float val("+3.24829750155275138901815676253861824921260358129798939125165572549366842361077483619831948691651283808421157010862012469092007441824097228100849312356066421986305939241409310980124766467253160994062288742338157886641016229346401018222608166083881011328674844167803952700295998578899773919972999948072259279455601656102355383066149076916812154618096105066172688004958961465382961759596600668553322123726257416265812566310E+000000000000002999");
+ return val;
+ }
+
+ static const mp_float& A000367_768(void)
+ {
+ static const mp_float val("-5.55193638576877477504594980657983525511000363831436915075175703924860761647423051431320907532074181728718511093079921195022263578688393365242191040551350975268273238008272281151767928148294945055249294061111217942998305741720733489814371547028055100937844407043438205091661186070401657475817285315978759962824385416740270786759046958078754003757549231145687444677199456686546026280157099383772556265664657027096668124055E+000000000000003017");
+ return val;
+ }
+
+ static const mp_float& A000367_769(void)
+ {
+ static const mp_float val("+1.16162546264092548191034945951242305479479652625952583451935145587488254635808110854079872041524396778816342884568117332530766076465873790833534014093738529805012559587658044990241748897386807830969788229049659922520132329320471029306082493446915523410479329509747112199141185676013160390871317271465802858551505253105408152519540185050647734595862124949330040609312779379377984227953632603209802730705554707374433644981E+000000000000003009");
+ return val;
+ }
+
+ static const mp_float& A000367_770(void)
+ {
+ static const mp_float val("-1.81640462566259164982795217255951679025553506264205613820164264732115557852792933001535493258168357431667223888783295006153585059858583557276286492828287095844799680999518281418170541547352658146332960794767325588338812532704209116946908817170287153426270409428873728419690410258036827794518915379921999229352159685694409301967693298668947718250396275618277418244193498163841732695872989304267732608623202067296331419758E+000000000000003020");
+ return val;
+ }
+
+ static const mp_float& A000367_771(void)
+ {
+ static const mp_float val("+4.53374373934539749638909107168945222892704773829666927973330144412069425703693309141519863988272552098356892128019180301365172650697048375916464143868051918146335173504650535299674068905603731122983697702716083266307914400265506010667763386481348324568985067249908935045225150152236484731323668842059345373343757922409431246285332506915762162292886861341369904388068847876902610201521777076325145545571115630787509270948E+000000000000003022");
+ return val;
+ }
+
+ static const mp_float& A000367_772(void)
+ {
+ static const mp_float val("-9.79029969536055678193423999543847036103943468380007326672327372235090119503701229964922429197211917394136442069212431675063453126688150736062973378321893331550513347645352776789783088289165838261451235060860895706605677376461674165194358590239463870394206006101352421297056989841429789010630118786102601876769672190377437743852048490568779540716110381039435628946903601034586051912534983076083097663615786813872325489767E+000000000000003026");
+ return val;
+ }
+
+ static const mp_float& A000367_773(void)
+ {
+ static const mp_float val("+1.53258554392134754222940632663139504767313969876144359603531116734171479822494032192735909715753171594461561530922917565658260688286174146618823981921755939175895076381397882024641710139917193573791672778053636440494466492008768262427658649850819069930825882884781380998935317116554136430027150863927013430456490409027500735435357968511500117501916991870031614113746767685620644904361596824608016932224965524992118135379E+000000000000003028");
+ return val;
+ }
+
+ static const mp_float& A000367_774(void)
+ {
+ static const mp_float val("-7.96875547797629328600269709570767711030872617554934771183547335669420275787990684492588439118581234852529492417228586629588797173254812394721637268477972552937899725183591382265407997375999895709427960412157043072936864383901133618403536130988125056896852224975726309893898559370113450859482796558720054035730984459546512760314564413558515231757191250359005686867633094418677081723146646467834039653852418564747292848607E+000000000000003043");
+ return val;
+ }
+
+ static const mp_float& A000367_775(void)
+ {
+ static const mp_float val("+1.93420593469747915997290062575732599542895938081283326890724337869246733757051918927904448179849781703492433148053137287942725802712425680095404366666439947695658755325698648416675156906594238864210994453146625192638158049068821930116231664928886795996981711936020542238887210550898700599645244408753038954599888713525076847937724033785687687477231900736728590739918332650653271771746993194817765997937154996893607537664E+000000000000003041");
+ return val;
+ }
+
+ static const mp_float& A000367_776(void)
+ {
+ static const mp_float val("-1.77024508840638458588820003945700122899116981127409547577542507947815437274492222219078280393516183829489309488479095511939932730578265136288670414762057398470308117305332840628405048541459259375485631772236425800480548927367433409863633058815358898022557479679930516495520136105724326557502177245134990714342763151075368949473485983338086939033252061227184197763591028165687716761426935810380028786374877489844747447980E+000000000000003050");
+ return val;
+ }
+
+ static const mp_float& A000367_777(void)
+ {
+ static const mp_float val("+1.41457998019541414473248922545968342055074010341133495780998414135438654424705125190375109740944186956729201012217171203219982047634986415695808567266662582632444730150784796794697500036736753574851914816322407093538010136000488146988067540497498293218552092337610197931330139651342024308650514859139447550065432102757126163921728074510571281109587604784394570118068813203499190316458605125862847609375286287075184397120E+000000000000003052");
+ return val;
+ }
+
+ static const mp_float& A000367_778(void)
+ {
+ static const mp_float val("-6.45812434139255209384474370967003262842973646533523942516541088188731586306941443200177841382024547615329437933148917193271418924119876883600587511537953842203676889989171255939805432117806846345039085726534852757236538687846888625685221004299072671772013040712300144687453085009056939807339144348144786273995879382531355334555661050909435545896734533399733804825796163790384210272079271499766971380523513556622699586512E+000000000000003052");
+ return val;
+ }
+
+ static const mp_float& A000367_779(void)
+ {
+ static const mp_float val("+1.02696805564606009417023401347840967221090914097079640857579122363744595581887818019644971374707024073274154736201795546163461988580279937315126287179580508527648285964859953272366195640726048584287202694819756192552561402404945287930060019879886197505417965180160374140808774256377809902389901617515264928176588098544482717981887700473265140399650506952814649691165359175433268217480687245246422221477171213364030840145E+000000000000003062");
+ return val;
+ }
+
+ static const mp_float& A000367_780(void)
+ {
+ static const mp_float val("-2.66427556237500768692472469286101822197564443847818707304571102500523859109876955438501716260178364035942056154863831169480593876643495032974970161542377486082214720261150793047192278840136816152440228621198565387630669682977327598373744625379940828382641034070324143631267607308460163856339331069334973972951822619955835524998958147553709056718897842479430907127955051004227968987457986719302028071860605360702005985119E+000000000000003083");
+ return val;
+ }
+
+ static const mp_float& A000367_781(void)
+ {
+ static const mp_float val("+6.94537558470146997624358602589368228516441635501131252771326063464180741423369485223526633838995546726140865923346898619062744650686928659482773923161207926105657517828121901374375548838855390458628103250926784567430493005516189996117878731537230823452052865302970820675345067356394260201168770442088047884595275780527141777516072249074646443671446984644638748651604408672131539578236033356026576819074275858223781139395E+000000000000003067");
+ return val;
+ }
+
+ static const mp_float& A000367_782(void)
+ {
+ static const mp_float val("-4.39411837424531195804032673749386755030779828301604165803826599923825190970955825339320129060411186237098247410374214462593656441828152161485430098940994482489818878650950070913188468805241418962900980676014310001308901878499900606432847533877224957791092608732462719570375731999900768818867098534531352426819790200371149010987089753700910158480651331210175868842683830927483547325333062314487909816355512664049637534022E+000000000000003073");
+ return val;
+ }
+
+ static const mp_float& A000367_783(void)
+ {
+ static const mp_float val("+7.46491025455004519328503906315505417022892990392678020233875896512464049373969007618466458357334239366534968455127007335938537737244731269871523351747753633250516616350027263359565872576968349912414397544482255325672210111731924845275931834700627375294620223469556783761933948901050649110898567953548619108947140478334554229588561178783696767421315107806900107150631681045257975347245708191083181204519202480022041448918E+000000000000003085");
+ return val;
+ }
+
+ static const mp_float& A000367_784(void)
+ {
+ static const mp_float val("-3.96430594988545312676392065994984845297342779999616577522687695060974998432112454161521946805199033241072006294946174809847938285093718973522846603615698484651547090469443875995114256394509268674568414782073585798518283465248103027714045736972892340321121153661030667331201480700225842251798807210529319016510391021166108728879254831809732751848389342824220132610063427248904781357106812213100913957615802653929600476903E+000000000000003088");
+ return val;
+ }
+
+ static const mp_float& A000367_785(void)
+ {
+ static const mp_float val("+7.78999718085074610381447682275123443924977031430198804286169933789881441831594347335409528293962756829581941851538380751586291021565025947181075594670374556163255348817108422616644894867052552263071636467380455349036092404545484144978103300784113948472042426354308887380574440379326956602282202660375771358013641929302889515042580221842076199663685303762505785090913528768809656017109398967026972543822439340217258962624E+000000000000003089");
+ return val;
+ }
+
+ static const mp_float& A000367_786(void)
+ {
+ static const mp_float val("-2.65570173824547347346510953092273048625351817824231170713830552943336098111994025544026476328695705003655255704106722081800336805972611153878701222771387527516808980966005311771489979318589402863277779768249893314639373853362673278349951668442865703567683952546198961149744368916435701304147704724607396418099487931610113255190476038634873581807565903615780988047238378654587967903176695976110812027693604774973615807884E+000000000000003098");
+ return val;
+ }
+
+ static const mp_float& A000367_787(void)
+ {
+ static const mp_float val("+1.76852471840985744702832376071428832002170186678108905737432085788015583933572356893723505619510605235000353293579147161500022908496428341945608081549366362040439254439536335253750359453400554571973179947538085112107447992367939056248358812274117954220518472393949644130438872979107612809109720002638878318091200395928421707272094066589005509994761326677339506690567533422835978328025171277313241020993508623390678745260E+000000000000003095");
+ return val;
+ }
+
+ static const mp_float& A000367_788(void)
+ {
+ static const mp_float val("-5.55978724885926023329165830202093842565608803056821862873293091415089854954330127739392904873123276766472713675752198108347196911635616873475749698500132430582971535297139078406381751957573758499949927716124021985653784770419072399621991289272789771992463455141574290950772509602232774707053060643409969076698484794197641048387981399255241095773145680563829233203693940913482272886098211407792693331146150727246794447395E+000000000000003100");
+ return val;
+ }
+
+ static const mp_float& A000367_789(void)
+ {
+ static const mp_float val("+7.74724507062746839814603907129322426437767762872847206539443373778082759205042614546463502071423286547154961134339017134573318300681469232966785816937713927980620038226800436944398888121417415394712689853993660953982416941544063960606432007654489314023228608013804065975268644957322706692236519090001574882565497726630837237052619407501428704483625621469741608772557246333148766335604253149925851455998785085619170866951E+000000000000003108");
+ return val;
+ }
+
+ static const mp_float& A000367_790(void)
+ {
+ static const mp_float val("-7.72268918725210656907136979519324097323155812340390737384983972791504807674821816763904651773496655666497272347113528611756081922135810874189089450864342565927055751544078356507265314225711362813515414180013885832615396825272577001671235142188718703282549422275588988585540406911722845818244327269981863422165472197182055640480364036810716126376845996739915504954486910278487211160479011904820490860523401471797520371834E+000000000000003113");
+ return val;
+ }
+
+ static const mp_float& A000367_791(void)
+ {
+ static const mp_float val("+1.00839803097891445751876254068371195902111091852278079937870657284077954463659046137752451897976681793503505771051606000517388922273058379118711225759915208188112963365940045257255712690626370287211070334021643931439329004116142496621774442222947510369906924862660331978837601471689225469337881590173154672564999803760448073075856778063008227346479672945093177375260790864328848934499589452507083666556822346314926570156E+000000000000003120");
+ return val;
+ }
+
+ static const mp_float& A000367_792(void)
+ {
+ static const mp_float val("-7.66613219638774422552865375154801082856635483141981626643098335082771280096660643565955066555607559927471474832106239916579794070704837304951584231982993315824797644037093842148708468396705961397519878599842966198652378263109111700411094992411582175615426939955246763096745095659112168721202346939183857153542120629404731952182394235344059847394088218294958001319143364917712188972693132986015694618256254034793633398338E+000000000000003137");
+ return val;
+ }
+
+ static const mp_float& A000367_793(void)
+ {
+ static const mp_float val("+1.13494361296953868576495206234735585328925967888667753612044838342123365922261422852688495926857313452900479563754967782169937070247881170662687127490003968833703504458233971042301913639990234910713242451577608802812768067348815217144423507445979682845433935930943410364218897234886750630819263798472540236697978281417381533736990876945313238709075033698969265941177324751787751328420810896094781728695110990729140792933E+000000000000003124");
+ return val;
+ }
+
+ static const mp_float& A000367_794(void)
+ {
+ static const mp_float val("-3.62252989032058114143125566218459633997871183407372140016982163751647504354058748403879655847766290817490136427504651736637876317398650285850488333868108985215564726258470046795360476694875351541513782297768160356632031787497480250700088654030345650156189560706966069806537871317075051329552873959441015107586164176313551759363420916581440203836615361612438617721336588429116536564528813141416828122353064017494350952467E+000000000000003129");
+ return val;
+ }
+
+ static const mp_float& A000367_795(void)
+ {
+ static const mp_float val("+1.18423926009923769513208277627605098529875080758252294188338540918367135820881288106946756609949261699759021378808729908357280111009220637079751972039396210115012786618235726776801353851109000782355953077071917880741506988396736118750856746627414256385416617692918660693468379374187216531683993324757276028538178145939854129717056467883772948768896312702242067848444024990528034695304176669844988438025595609891463109493E+000000000000003139");
+ return val;
+ }
+
+ static const mp_float& A000367_796(void)
+ {
+ static const mp_float val("-1.18545504749239531456951300664211221206537636434001819064713357040702026470897550234308500372889400281180070568539928324103443871544350115347450244748043181710207369867540733396067433429369485931391848462913376979471510672481637605795822922301168879384709323740771695000464474850220192462134444481337800037197809442850866404762834678575709387787456468687197497513561217066134331046077320408266591458921567595621369989849E+000000000000003142");
+ return val;
+ }
+
+ static const mp_float& A000367_797(void)
+ {
+ static const mp_float val("+1.91337951746774175595502877402934009371827940960378038207226028726938889349123007565057019075509067051481294488665201868134655898047237875681599256864884195483430711408891537808975918630350440876788445023451416872508358960465494395926187630995614080967363025852945840370062949462857901311896209325780430169703341796026409252551405411877677000058409774180609496294971154386176346164843582510260223665198206330041550495962E+000000000000003143");
+ return val;
+ }
+
+ static const mp_float& A000367_798(void)
+ {
+ static const mp_float val("-2.56007805516865132191624560381443541491156892226640326574592641309093984338792057526880149073974719021934097407167618487280860131143742958904238419719161702302795166929073752537915096553076500899516927109267081092958459302444784380917946699672902929916028021498619469441165377058648193297513347266349346677373619474215113219765498759449132177046027306265666064828210011354519265990866445422711854934510013140943998589666E+000000000000003159");
+ return val;
+ }
+
+ static const mp_float& A000367_799(void)
+ {
+ static const mp_float val("+7.97548151263028456087705588006331772448430492258638046226900213636168347191601333379959630629221895485659557161909397425178906885835437626477183443233497181673569615725079108297831058292302426439323712850044502482119531994920627497598335022966700527533103731600557077203635619887601471048378293987949285724364826823064094751398308674181894006403586064050443806133337691857601142097573314949307977074825965226759320385920E+000000000000003152");
+ return val;
+ }
+
+ static const mp_float& A000367_800(void)
+ {
+ static const mp_float val("-1.28474864485306689334228847842957094798561941927850453980085779885804388801697339680052250349075784094309185605182194507579336997138653522461041324134864179339222815975829993673194896364879839073515355447046080866309962203785668291553143674102860307746417420103785844701687759350779590219974023706604567605699363358719422025221968722496179360670669904804856382835268082085155286837012071616698679297745587756561860407794E+000000000000003170");
+ return val;
+ }
+
+ static const mp_float& A000367_801(void)
+ {
+ static const mp_float val("+7.99400473655615751035326737482845609817491687899945974908754325783660084369259678636600151690172170505852782391666073591576798102553064641429608706638431971393385499399463014455419895752898431524336722030271753053824881486510745195553200528326547756148297903646118816410121773572230235349171552559044542676445814660753346187200966246593189551661558945958425745261150188815547324919833196216053433328885526599229711323417E+000000000000003166");
+ return val;
+ }
+
+ static const mp_float& A000367_802(void)
+ {
+ static const mp_float val("-1.09347254504081653123738166503631305925400034958600807690065317061069175980297845836138537057654836985129262746583626822260438969794627532459792519648148079656293222341584795975058816217417373977011499122317486322645417165060998133966134817721032225094480323515819421877210649826549454210944083900376949828189204539602970776146954958345674946508168218274377527377882599359795622401959179066410738292792508595943166270290E+000000000000003168");
+ return val;
+ }
+
+ static const mp_float& A000367_803(void)
+ {
+ static const mp_float val("+5.27767244616250738987928672468723546086933514500391660256840159950590585075169998530561045565144765805457963070641027540544647547052992950569322480628776067835224853989443252459039085537133929619664193980738707146692709602796096436464032528641649126891400701649481558956013682297745544737727792641323340480469308686847679194002088106602690843160982174805547862219988460992735249669851432083825764745068277124854440643781E+000000000000003176");
+ return val;
+ }
+
+ static const mp_float& A000367_804(void)
+ {
+ static const mp_float val("-1.84060511706510931891283991803644310680935209912565440019579619715950759368233016351290817708050839457054193432527094325834678684248881534765370219264973256923932337476658513495498435996925357904358037723402538171148288946924235017603714090956832756366907229624774342595369756268791155826075486231020231361114201315311803888170105985708985681897129714482544203858890613296972895603611646524470068646852901094952695969694E+000000000000003185");
+ return val;
+ }
+
+ static const mp_float& A000367_805(void)
+ {
+ static const mp_float val("+2.25118911167111885962808416044450772972970732985947501775432487624130540678871108011602045769756778973969695191163535493757649663629210819149716719356430454124259953168319924674604208141871125883241284167376273214758563334968684297964466046313879012311264325322220911006326165860007767522590329810280549119958325050902158293084063465987347752598453119198345761948955855651942332544853497171331352378999730892960071848843E+000000000000003186");
+ return val;
+ }
+
+ static const mp_float& A000367_806(void)
+ {
+ static const mp_float val("-1.72442444323284449916513138817989479225161298162113786514845120443256900200644351653745747265652421766250623449094467708559755008332131410575504158558652281127885822868173627610383596697493166582963949307464374577781137524365760486096850905405539859884312681007817375791868855040551978981227288740575025993055040451524751320549914272280536118417528125083862270078829907886548699485964196855560407806167960562943151463368E+000000000000003192");
+ return val;
+ }
+
+ static const mp_float& A000367_807(void)
+ {
+ static const mp_float val("+1.86225920645952943556028772476398769649380201070275576149027875005886137934128770284485741432716170052059626152000671590718605354252553037242885998901302224522523098498096475450737534834129648712147121372216002118455220674387889756535825917446310902617586553623652324609886663093045262582028214888859645365259609312117444245093360852197678339785056001521665904179861053061249461411048664483390731708972981859111888114580E+000000000000003192");
+ return val;
+ }
+
+ static const mp_float& A000367_808(void)
+ {
+ static const mp_float val("-1.20938251026784865009854416820916009773210327137384840076676047341064610308884212428000084794756853779606136997184087566563190149949910535530477978320741996557765735528196633401337276324999797847060562864627291814430891641262959327618738447985970397584230814135941047807935842943994436168331897707738448443329697804524678711292881212431735213314871062471100992624041176194872340618566041348310873741474668528478227128435E+000000000000003201");
+ return val;
+ }
+
+ static const mp_float& A000367_809(void)
+ {
+ static const mp_float val("+1.88699993658633834343281746804028610742557229564231160879377578337067532343918772340874699331036014311662892810670218725214852649789948907440635801973755401233787897418508288794237815490230661708339137312296768086027575790821119888232035565696119846640559001863096121493261288686541338082338934139430399156364950062438900235508016603546472053312375927320062720510062916545058931867060965910606936787989511946219799442017E+000000000000003204");
+ return val;
+ }
+
+ static const mp_float& A000367_810(void)
+ {
+ static const mp_float val("-3.19331088473896749913892960626973140085880538030549025498864865241766247118660322569930514651956437230345941838336316692065731342742710269351308434657221117929004235259330110388535198998774483915426808291397944049614812936845518822351821665739395936466269110685221621021525760969043251894335788601524874054319233720218392099756605026011169641113392445769008283334613961596963402513185294773335082846613633141522867465633E+000000000000003233");
+ return val;
+ }
+
+ static const mp_float& A000367_811(void)
+ {
+ static const mp_float val("+5.15704939783927098226126553013467351708162051907614316909605844409640021206781857717501633731212152363829936216739667535487076984681619264011141579214013756005116539854154192996606007707308862108147220741914341682557122929826617578513329037417867213268634146598705564955748332067986037416543047539877418191352874044232644681312908381292490727944478634979535436322826932268260202740845577991343648572623409839865948246450E+000000000000003210");
+ return val;
+ }
+
+ static const mp_float& A000367_812(void)
+ {
+ static const mp_float val("-6.86312698222075472697071841373604719113768578496441682303666832843721863245974337755020373349760389169195703106272093129040937850565227495136652993943495637201201058332330754087835261093505297452344651841437334815441715067520890517963431837581280357258943248818694638606152406763934762384860901099652255865733293055781809517404872760403658333489797807518634173295254611100871647298144979845749518783192776471228808117453E+000000000000003221");
+ return val;
+ }
+
+ static const mp_float& A000367_813(void)
+ {
+ static const mp_float val("+2.62449567990490540670261163832239305103298148928002481478081377915615423609875407647412588711935701266814172442316478064917506304467137557303412570524391371849153561214653909111365750593143808309129729055722659232624177097402190758726295941061556947280067379931482475368956234964313055479930754277615585599674355211579402132481731948903790132396053204492214910675731427178187902545943560241534008027707667738820560971870E+000000000000003224");
+ return val;
+ }
+
+ static const mp_float& A000367_814(void)
+ {
+ static const mp_float val("-2.64927227657447376293719844008785097404716007192563353919412007253995396544584211114483680289770906239723444364478113774033870795309618925274762098244625841741144598502546160941144772027838344960725819686806680776329255231523211570678760027794109867249590125540397671981424109834063077989646080311275184089188439232958758484380422411195734761387891946540136359596395974595090795750907731098925058131977467615377084978373E+000000000000003229");
+ return val;
+ }
+
+ static const mp_float& A000367_815(void)
+ {
+ static const mp_float val("+1.14388963083144902485658493145559197717718595605243028730964637731518089766176866732280437456322838918127158009819697999994397075224166479359895126798725202822677610823084625064703248247962862256297401627460536962775123140281460046951090461759978215291528829157493654842101892168418242559441671175346814380375128741104688364156930131625474867008098994951977818045780525674026057378600890931018462726277686790779580645016E+000000000000003231");
+ return val;
+ }
+
+ static const mp_float& A000367_816(void)
+ {
+ static const mp_float val("-3.03612025366155376865903513939842602609953480055036377977784384417791573195189487128918647587349196094811139101080773800175289504323636496382885452161961722135334010577477470341498089669801671526567894566319732504422851751867210088671397551560501691317688781434211491854096752413305192288521240252485538371685207214827270638462960148411216092249139661343314027954039904004637799966904771707633253641689373570858676659602E+000000000000003247");
+ return val;
+ }
+
+ static const mp_float& A000367_817(void)
+ {
+ static const mp_float val("+4.73897390201698846668565998372567591112269234061185221675448075167635704880648728685295314722367447771996560931199989474163286973612033257269423002123502164082619028368105622171462969445007382045946493474242003184375931259047596853611531700828420882501212570716883478101801009085451199787934670822848399132156631306992117548176431193778534417156506323961257590065554817491061947515705141575952906416174758030080174378749E+000000000000003239");
+ return val;
+ }
+
+ static const mp_float& A000367_818(void)
+ {
+ static const mp_float val("-2.62811472999054681862010298106626693649590568393233643749335358361080088886480736001179977624506860002198344412576354167678863833918275027840720693979025480862155932766145429999862651450769498984585630545078258557698052793518094714432612030858677434061554442206763990109126490879689823902826347106479833946528426815727192989475044312503613909511705798092856509871407511681530885192990439266256768784688874458710094742743E+000000000000003248");
+ return val;
+ }
+
+ static const mp_float& A000367_819(void)
+ {
+ static const mp_float val("+6.84489376086131274566403908814472987571954900437768546870239467505024790760926762441577036512962862585702360596759973475978822590981324572708539032786910376433540816365627979485722604435692252192508821904162566015679999904062979172631388815110285400088609738239641126819207896145803618624178692712352899066995203458183889302537839563309146250984886518605483408040704816128862222906695626567215353861730604151353740753002E+000000000000003259");
+ return val;
+ }
+
+ static const mp_float& A000367_820(void)
+ {
+ static const mp_float val("-2.28170417652432292872953027356922286673933215382864449800113086983201684393271181371362735896528537315660729045648174724517779900634999285373460649499652409665559642523327897277338068360990453168556743256519736232977159387748694437660179844305648401203398389590265707454396878756239143766393836644823982822449061610649405286621323110875873516748889250660552738061092701581037945176442019379202987090419929399217353551442E+000000000000003262");
+ return val;
+ }
+
+ static const mp_float& A000367_821(void)
+ {
+ static const mp_float val("+1.01347616355287451003832736546914185563394788082014354880020127494456282448850175554840890575047964145025354693303229893914177218159426690254608883991313295675100773749806483040281419948814679643235779355904241695643308932191257669869252362145419578791513629277305179817383764680600118555729269644020127222665491155757132596931384648855538034790451155752864282834082678470772351769409379282875160219553225640487349365835E+000000000000003259");
+ return val;
+ }
+
+ static const mp_float& A000367_822(void)
+ {
+ static const mp_float val("-2.59659616033297892152576924858087705612096552302301631168938058554985293228369683191247268708816158251108767347192414600988418438396138992424774636450198605193130241471782731442393092795853269572277487171216692853769068356629523945136177731345763986469088293312864908500717750292172782503369312666695107054912059472147294318220870637596493372647868557675572514781419938371288339882376394461925489826909919197621556512146E+000000000000003269");
+ return val;
+ }
+
+ static const mp_float& A000367_823(void)
+ {
+ static const mp_float val("+4.75586124272541684343097320223494540579401553737796450983493690845355350057696924185190534819370297073490404955277753191561390046690832937773570477821657923423631924817627838283637867243029403480193237093640977760150696410950000631260251449310763904458063928438324606187285961666909048646492616393951175828596230288594927916518744540921872521708413519210531541785023197775879079839410197031466463590085211934482249085597E+000000000000003268");
+ return val;
+ }
+
+ static const mp_float& A000367_824(void)
+ {
+ static const mp_float val("-2.77932395523335488622760649629124249597144602516177439153662891429441983894743622827767369554965020076406290339727789929639622820652266345640872203752509740860078249449746108403298228467315212417416098259700152227953388503070982367413287347257574165769158320029035543517038515598927971526893576663515618507547900394259054120470918190212503403663137830969090891985715295579431445906866635150829402815085852406996669747194E+000000000000003275");
+ return val;
+ }
+
+ static const mp_float& A000367_825(void)
+ {
+ static const mp_float val("+4.14309705315984749796262414085658844806609110051974130570078500295438473687336663271281530472989191298245451988799307966511421695100508930600526030153877208098695570989372718601891272426457002395683362001190199227567202372081441967287957652543423483869553602698116403115243280110132276335871076498020782758524441027014301779213850850315387557092819584703039558584129005955522215878241447509454285269485286889457769190747E+000000000000003289");
+ return val;
+ }
+
+ static const mp_float& A000367_826(void)
+ {
+ static const mp_float val("-1.86696423954077568196235283503931097478386987178197807592320356151586248103469953222956834980606297093525126172791153693116729577354846259801992458909179925073150513952477896353059656521294784232193239765789587775155984921308902847166270278501295335302439592759219801268094872048924986325000685195380713926584225154885037072887266357501747582199162536302002909744070033099785248129911452699765126660556377702881961667399E+000000000000003288");
+ return val;
+ }
+
+ static const mp_float& A000367_827(void)
+ {
+ static const mp_float val("+1.07822925143867398160874919700301615872139876560664381942977353855795582480927338475799108321109015343831253709551444237195725934138732333268789183505296593901671865426632308614075373305475166027944908691673319223241951470924629026862865383660945093897334629350477747063671437242121967357787484450798176825435512506275265437682099230849230774704124738000646478190177928228331147766181715215946998394046692430531871437215E+000000000000003288");
+ return val;
+ }
+
+ static const mp_float& A000367_828(void)
+ {
+ static const mp_float val("-4.34478961329602679216636528367665034002663945499098273734494504647410283513354799729437777594073113894044880345810397463065474780089027935926426471459136480275387555409340101114207517250733614556559835316737940670494111350498387712047118327517779432878451915610086625698909021190711700129389298342592333910130873215729717164416428765842382296338843117963975973953020471169674328102934925023023769950582095642109372270461E+000000000000003312");
+ return val;
+ }
+
+ static const mp_float& A000367_829(void)
+ {
+ static const mp_float val("+5.20903171290866888634612953183310619124780466887645702678530712436208107736725251762163391001295009734291448534398863226808976200069227538806283021189306985449145524856931518895621281903352283640751830105925936261236945933197093258551789118774449745666044990725802418885167380632963772789736793151712636883024295718385393805513839008237805677104298322180152769148180071743613689963925438285951704776222209799172881352846E+000000000000003297");
+ return val;
+ }
+
+ static const mp_float& A000367_830(void)
+ {
+ static const mp_float val("-3.33757396830525094012310546971402796918154136161099604597072696635654453581290535324932112941392727130227711669008410832294658798721995275586702216969948038635566460445746502980688358870645753329513947146320307731824741112302828084881641479961254559221873143893625961951063520974612041707950710308269908018908160726282949214059649598365559902305055627337743345164558176254050631699852558225265780031260011968936395650998E+000000000000003306");
+ return val;
+ }
+
+ static const mp_float& A000367_831(void)
+ {
+ static const mp_float val("+2.95789629380271887560834153265875010044557709329220718592239723746516788444027594258013703959205582322659822325430513301997117644733602670031414791703921225679163020423829854846673863774376083228874042514185336663101149146547303047932848017266441242240043862057538203294868742452245432702189462678187802575090289240084771930929670388369268990958551693576443432291824333101927602393839017505740054656447887666739368100320E+000000000000003311");
+ return val;
+ }
+
+ static const mp_float& A000367_832(void)
+ {
+ static const mp_float val("-8.02367416017194495559789810897847406864440827695031188497214754958806777412141277667919708643650962473415133196969660983893201476386570367625660545754375795818273389639380944524033785261213074772434118760899456509307964240938092251513224085914832882992447882244975368863417220257429603906799612452247330183751992027498120514161233831658749857648027306595840094605735829860605704114535926809584944479706121566948842857834E+000000000000003315");
+ return val;
+ }
+
+ static const mp_float& A000367_833(void)
+ {
+ static const mp_float val("+4.98587616218112748306909542453499502585905144534969862079224704060471463331593424221649298229537167314503019933947396558765529838388265818792226395549864676830493281089358417819201020781162009396051715515576098796563910936594496581255649889501382797482281139484228061130595370436374185920580676392033240642073313685726260341485224593307519656938339845797028113458403626512057573089875892244252614486718853404542329268671E+000000000000003322");
+ return val;
+ }
+
+ static const mp_float& A000367_834(void)
+ {
+ static const mp_float val("-3.72823109700275606998799396370713581111530415635728429619258551652984219345625239776328979069802488493288924957906344311217831569418927091193066720778381349985096544646441557758991898734829191354632236631630430216472124307319502068470119924056888755858621744147206721214817936711014228221999913063703055987785034401567581009112724558066333287186728197922191214095795021525058382969562799072832107490996558873545882919130E+000000000000003330");
+ return val;
+ }
+
+ static const mp_float& A000367_835(void)
+ {
+ static const mp_float val("+6.84519228693334908919371241003124979737706949701600209108051514179259893438124186861749223069465525930536614866468884459016356195071670580957292514730918506369057583405541933822062092789013178342329565864768909968293296637010251842703301062543434312200798852066212318622355060431783715325431675499766044040004659034472047560737196901751548879526814343772596282664597853514197684202999432199132220732183125239062812370171E+000000000000003327");
+ return val;
+ }
+
+ static const mp_float& A000367_836(void)
+ {
+ static const mp_float val("-1.88863408537320769628944315555543968225964196819184565142843151018585813155615781470040153849240728346558628194700473312617419376265222638678136721526184531762821558508303282051792444566138045956094049502532887249179830702048565873126853201331476422152174154958750600963653648735111648111463503884268325205773287466648013923956039961309148694455171418713689269416364474321384530635528647319109961853748406805577067977498E+000000000000003338");
+ return val;
+ }
+
+ static const mp_float& A000367_837(void)
+ {
+ static const mp_float val("+4.15517435891025083621561163325915759563336368173232615367261015356172630465518938364945390372171683819574233699474409624462097626165131303654000774158141191757023164124311960449953089830861666651888179296441603552394944298781143915187281724323928562584723844760553227287373873265283037345440375592294779513237011932445011931807729103185431660080663215936101662462162698206724979498360836196086459670823530328464204063015E+000000000000003338");
+ return val;
+ }
+
+ static const mp_float& A000367_838(void)
+ {
+ static const mp_float val("-9.31962988744452603202447026585163422987868560322389834283790932086446391547479629811776122087003618032144453091162210064908969323406173861787566840065538372251137810223704391791724530583790979231631941688706610601845432677402366158598615758753207645539965050951177671248248290133919483119900568766572805769258078297630200367400404715246250753991079347959071735850022310321220782288846206269338420362581372297171398536982E+000000000000003344");
+ return val;
+ }
+
+ static const mp_float& A000367_839(void)
+ {
+ static const mp_float val("+1.58355073679745618904573512370101245381528331490536242230911884376349591366936322022142137001868738939670837113391827186196653112386053689425333867281033575716688502572889637762505341257536698988145392729313027587842561136741849658456370131323129891003610173330825089595277763344468716043084678974003617068309388057077917862022081232226576096501364632015289059358991011859123200175355924450559381187881817984365240382518E+000000000000003346");
+ return val;
+ }
+
+ static const mp_float& A000367_840(void)
+ {
+ static const mp_float val("-1.51384591320048880970166573231949015374330793491207384953739459801711519557761833035645903838424590370928610637275495961311999955612616418160639155536512692851616927918507641687087151291831737515521021120790463301086838519218512600609873340363214623445498306267170835932618633044362142345550095472318191270038376102722386269066741180117239999659821450145498598029688440811833046646497396450724763577849837214780167411518E+000000000000003380");
+ return val;
+ }
+
+ static const mp_float& A000367_841(void)
+ {
+ static const mp_float val("+4.78099405487744671638150129438119070484540970650486260275250007454125748737743366338291416667261009964086446316312531607958853415849608694136534463993188048463786278975520222336781165355084524825405144156116262330635787298594295536860868286992111046964368035587992755626647260071439019248553451755045636070544342552747359041271918661599786116162902721637655742579741529690924667304612126919268248916919906922208664979685E+000000000000003357");
+ return val;
+ }
+
+ static const mp_float& A000367_842(void)
+ {
+ static const mp_float val("-2.90872499429949045783391406969579754060003749294371452434700940636295924806083721925493108810950065661884038946444009382344083987306060192018261834121637565182275479728695362655661768575241091427085320850881693934922803147549999556475959373124631523423489771970047945722576613054781903212031915262732840747842123131006676129021113356498650599315660118240834867617958522658599548796589491485002178712125145056222947015686E+000000000000003361");
+ return val;
+ }
+
+ static const mp_float& A000367_843(void)
+ {
+ static const mp_float val("+1.64982101821311103888079602313093567094669572208200033105634537838978391304329930010508901456659864461235947771995681379912527649352622109628941121518057541718013961892449185554238468339239632239864151830319364550649866153357923824733430269543677848994223391450995218235227209025969144835815825242919229439225946854885753531883082996123902255565607149625778746326037554509853637698103046350957783484749010489273975029075E+000000000000003369");
+ return val;
+ }
+
+ static const mp_float& A000367_844(void)
+ {
+ static const mp_float val("-1.50983048411992618287768736814500568977880763228828733808261784549765070305722202795483611166634469289565576111559289794432256975243973157753704102538340831366744061620339814465861123781016289209302203927536967724009908206355295622272617273432616548563484906837975453557361544436591451713860890103172705445245015841930073018033025009052323583912623434106520408807455895520746429164860592222871237776775918890093509579130E+000000000000003371");
+ return val;
+ }
+
+ static const mp_float& A000367_845(void)
+ {
+ static const mp_float val("+3.14614535557334642532250708838934957472933803005443585399871510953259133014899693836693399064468574246037188514657014800481546866596070040156052570689825341954014676177231023817423341826242697460677983441493373032485728628720989769015885855148379806182525396729416538952476462718556868311009633561478423388253698254715689257913922250884127343750122214326854745369384396146833470795039278957425457123375629717396327381269E+000000000000003378");
+ return val;
+ }
+
+ static const mp_float& A000367_846(void)
+ {
+ static const mp_float val("-2.42498550906426379079520796317658766273026668050976756105310312099156944424244264542026219603963174316052757637735624655643401313442327372282455766843900968996413722262390911153896469205937905653562184360445058637945658921833763833412445797923133209091520102230913664761730775347474982612453097676894419961474170774854259423158639668788089439010721506068008007236715357794226145532569135632722951817352358303416419212034E+000000000000003391");
+ return val;
+ }
+
+ static const mp_float& A000367_847(void)
+ {
+ static const mp_float val("+2.64385416528219861003424148982153970006402315058596319033761590075536044266750539371450179611046588976101522666911593996961189439787261064003416671263446986722506746391657579806309465223633003993492419911235168090754522762875018325884428797821894310445273032879644259264211102019174837506271200276611246507735126472639384983821933319526044137971130240926855325722798061385945222435611602906564183351516217915071331485102E+000000000000003386");
+ return val;
+ }
+
+ static const mp_float& A000367_848(void)
+ {
+ static const mp_float val("-1.29190333478862901158516850910420467185322296267982478556377109553400914295571902256761632270150917870703121730281820130236823781361298757204969630351340243444916540430413872013869496241189874243550003105528585296502403568742840717275169052734853941099121464705082881865016124972560650092882330300852207449377758773146626078584866006441621017112390604710055097727397785146428969993796684879328072529941429437612267860623E+000000000000003397");
+ return val;
+ }
+
+ static const mp_float& A000367_849(void)
+ {
+ static const mp_float val("+7.26602158964971161980077731797945800924101145750491446037003942965642169287650743644128664809868791817708598140513850243945942220509834235765004673845969578200105919266716139988061681841349487493831656919473736881604161178008471840788716477832691225006872190186697435420298756407135952327979662978805378401991207339241001830566531333834812642816283906831223844680439828282113838034087274631347509517117683237797312634095E+000000000000003398");
+ return val;
+ }
+
+ static const mp_float& A000367_850(void)
+ {
+ static const mp_float val("-2.48297239879686562170427861313192147592443106150931674852748015716899484221857840613735655171803480720700192568539508209381186082173698562836072940349093446337240293757207230931110936331503998759820022217423678188364043797994680598561180683853707160129739503664377271706598213210151837104498151778132572338798526594053323488642201490181710381815769085289720449014541864810108428373838485307700049401515057954819946475299E+000000000000003403");
+ return val;
+ }
+
+ static const mp_float& A000367_851(void)
+ {
+ static const mp_float val("+1.54059973628268003812953839441164209534546073436394923880956189440734961206820931902403039762963051026988877709483946951448247280542245564344706494945584052709032733945054365285885176268234148155519060094634744227776624184845622586787038785875641483292026748561394799697109932011366627123726424936723992558319693464938633470455556194240828130821116391874676051926229625165365132359464944433966509267434215568167310140225E+000000000000003406");
+ return val;
+ }
+
+ static const mp_float& A000367_852(void)
+ {
+ static const mp_float val("-5.32094974499830128677040386455189912890188127490715534078056230762105974051766088515588149161860155897694525392756088725883963750495679505542022527970180163775428852261991780469634781759909649345525386290809740525623724566895037570624256664172964422073262829894971724383098054536025081441003988275387470278255485968510291507483160537928901027910867250738459475593182709115575926374939566451930261558649703668154891107916E+000000000000003417");
+ return val;
+ }
+
+ static const mp_float& A000367_853(void)
+ {
+ static const mp_float val("+1.77525251411031999654090183570574787453995537900159355518403494933232811716620506928540941122959915547830742820459556091077888361856147583822504348219515856161311267188985878082105478145531674133197013126923111008896383971047931863978408259046242554172267544519647371738812223356191141119674438387860026370480727914930510186755970143225453169099692190339396496842593293852560780516764845843332378140538240971402898238988E+000000000000003414");
+ return val;
+ }
+
+ static const mp_float& A000367_854(void)
+ {
+ static const mp_float val("-3.24886639578613762075015107262787356161950458513916915786289181182683118904664935697013064348916632396343966708913223848654562058199376901557994480430463063070168367273610814823475022444548770174154556264613734020838937086505168663794413603494473929589051650287230850727159568901553938362110238183310001316828624847755702689062011983453690490876966815870029442399303101625890571831382807016179804810525924699670022146784E+000000000000003424");
+ return val;
+ }
+
+ static const mp_float& A000367_855(void)
+ {
+ static const mp_float val("+4.80038111979290847935438790095885770738278028080866778494528975349187747969675941920452778096279717104670841643302834805538263583722288342991801013355657299332467661349376519724927372161970714832873894491517982562166164858884871978227376738927277243627124889906979461850191827431076833254186614175557315460956306613026748837891290466405799614050352458680491714732300482259506069273409462533754296667198517947638719698608E+000000000000003433");
+ return val;
+ }
+
+ static const mp_float& A000367_856(void)
+ {
+ static const mp_float val("-5.24558591247119719151557315883100280209869739234385404925946590884781190478131556911795333229755592932212108794749567735417493666970455474073411551003427054200378215690531481552623646196860838310969107856351514201016534297059192166638229882315632590417733213783880760088377514298909170669437032161192354271025204262065648428730880767622877705831884900862033394281081807721553449033000348046133162023340319057723446397038E+000000000000003433");
+ return val;
+ }
+
+ static const mp_float& A000367_857(void)
+ {
+ static const mp_float val("+5.35553300993941766940947501065723497144652885822471494056120035077600904756922781807835599068113717125939347557163956653860271817923401402662730202795171669688835014727633684385434641167381667654724391940970420253652759776225669778106449528367509428095082874248054546297190247743372943890956146033832179438770660906496203532657542389426248723043919477922549113134537308039017431291949345364739606796040940581898509460827E+000000000000003433");
+ return val;
+ }
+
+ static const mp_float& A000367_858(void)
+ {
+ static const mp_float val("-1.58064442612414733015681857095314145560276146976304254439482548616668582694501296617977004977818296217089849045090546533841243851456811168293505127110374281582771894324555485950716587881246877748168657266042956561865018666597273261944136422551467895037888179349605716435693016664809828675836717208515985557617205689336207673448626970804425027718958014735569413358693224698158745684831917248895485528079357897339910206899E+000000000000003453");
+ return val;
+ }
+
+ static const mp_float& A000367_859(void)
+ {
+ static const mp_float val("+2.98303321865907473758400884588444269355070900401523534682111064825766096958686542748293575373852616896050180524450973074503318147449772029991998674304859451138897925319409623812874146189914251506840823566086453608696989931334720500576534743721498058341992711960253402737886741572455680616108880376336027246337724304933313980661993235798371862680762346382129282957578152432815468073515278742091396749636111456019367677143E+000000000000003443");
+ return val;
+ }
+
+ static const mp_float& A000367_860(void)
+ {
+ static const mp_float val("-6.46477577476269203456913501398895228261630248680666385107339746225329089305960350373929306177792519057017142465075164020856686685168068813993003548289835369312103637255337337075454608207374948338677183545874942674858242268458590975354854335274879512767424215939686797803636741169938476760258396744627262430796150194236524806543217463244864251153911529031347139659863416551034689621430145902761016236541206530215517319344E+000000000000003459");
+ return val;
+ }
+
+ static const mp_float& A000367_861(void)
+ {
+ static const mp_float val("+7.21916258259515565581694655010310905562406742556491709003400525905050722859367146440850932419698749756873405585793763145047986525108574542468983379227283935514619908743962434190603653857703274782148074859461227961453044148728640559376575319068565617602085544428582810491134145281108814268432727706264194591337950765179648062408694060354700537896100685677806255091214304052585769932217150943671329860569840340138173681031E+000000000000003460");
+ return val;
+ }
+
+ static const mp_float& A000367_862(void)
+ {
+ static const mp_float val("-5.44503354340373388755984862467916127281499495837067207230542734239523231618432107193465941719760231203323255981111522911088975163100616579988861098082125481765190369475533317546380065429120825419163840165466378336540660228697439886607086985905059028393032354293703737003100745222071471854331199044345773433808676216859263723539765864763204908026023297467312171057835349929754934988157033778141916052713693129276261533087E+000000000000003461");
+ return val;
+ }
+
+ static const mp_float& A000367_863(void)
+ {
+ static const mp_float val("+9.51677745192575560775488844079602450544736482018202268925459368964559306508532227852180670982748541274932660477642477492468938353910942146302387378975242740663125374885082125051475689531260540121546658283978397948210151596352955089097263301580677593877545854050704834148813929645951229474505768408243766407958881051034385248755017736895645088295759095601270002130223135798374256505742952071511447536454745758090502742387E+000000000000003462");
+ return val;
+ }
+
+ static const mp_float& A000367_864(void)
+ {
+ static const mp_float val("-1.45587472494096395171338501855719303304750369934910763864057880451355954424638418086422159771029433281669146775880908719260306295743411666289733403037115018905415919234430932333369954449817672877370887965499349136531504751628481739923930797375368429644788419882617458384989424849522242331903644063853450892643827536338652161009239624349767050966786659589778634445276853995987271977759975748497993361183923704339881115849E+000000000000003488");
+ return val;
+ }
+
+ static const mp_float& A000367_865(void)
+ {
+ static const mp_float val("+2.08050983035532201629370736376949952243508266761630379349469517109534159219431666598025595639030130587984453072112155477398338596356077834748142539804497687626735046970925694088219979477756670705287000368429299273144222352789711588139707545261180388166552630438323947538412844400557276867659560900309099966724243075582881384106466370989441041535970833602186486597431931147333336235683550721838869680835741763229580271381E+000000000000003476");
+ return val;
+ }
+
+ static const mp_float& A000367_866(void)
+ {
+ static const mp_float val("-3.58675240435725828866864249850241432423988061988748181349536795077531790323419478504429753108712031078786674218899434573098807061860141724678199179713432437726177395597297370744146044698817838030024366366632965770684432983403163046996076734214065922213696046940586320647060018714024362552687235611314729352909300375495415886059185469349002423593022071746395943749781002192124850489893449753465298483591882796403806521643E+000000000000003481");
+ return val;
+ }
+
+ static const mp_float& A000367_867(void)
+ {
+ static const mp_float val("+2.27172634698821382291907128516181257238939820347645176770219507626896288834117616856586831349081866194335182855769331664015759202280672404458499910621457158793613956851619400987228918601016643293169151317176059615081081471176856034457849702195541045248568873435875299516878710967460317492991299630368315300394350974369115208157418585987017117339382806247338447014343726624288035402300424271789433955118694727627128244274E+000000000000003485");
+ return val;
+ }
+
+ static const mp_float& A000367_868(void)
+ {
+ static const mp_float val("-3.48560536733236374247951744336942511620950722975893750229808086287946256834820104188048097311832484133299150129874096932194931110525971842179721929744050792890365379142385694669248569991053104020843805250952533816029318095951408246692705882027749339803072141845335645566259581520878819481099295641167555737755565773035334600518158337085459910575585349123780982770876566138469220608527548681589748827801276838931508839955E+000000000000003489");
+ return val;
+ }
+
+ static const mp_float& A000367_869(void)
+ {
+ static const mp_float val("+4.22793111989197298954731073209707101255371512025450922378050905165788169092379284649418260527953467637786944928591480524563584341864736838313292607054986934533271274492180094173371667296780894072497601845563989652476373993761627612111935994563702412702232208584803039428148322921292220145104094115255192046341088849978663251842330592857039409186565003787735598414720625398660674961035557281614325467482159052098758572748E+000000000000003493");
+ return val;
+ }
+
+ static const mp_float& A000367_870(void)
+ {
+ static const mp_float val("-4.78036415504464028584894234310717475568717758752522039879504295540633868797968606316684714049235575375625534312882788929807441375059036213113479488106062014404894732395595424576099919862505712616052463928531949876593563298933672425751641261693180576216117255068066065403767739066007958091635847306383237820016876412068038621733937684998871622528931678038654183987518477708739241372226422043185447773824996237498295198856E+000000000000003511");
+ return val;
+ }
+
+ static const mp_float& A000367_871(void)
+ {
+ static const mp_float val("+1.08237149408885239039800665800261186880421516121470559816818825839619319530849126479122603073112882723396625179929843311143517282780986173944222894380723083255518111004708779358924326496563759071974527381808571356733048705995256597004018669121655651541504383312200831002401298696773588253649806666325339440432883338890124368572284912913690593915846893841384031534409327448947718122317985467795316473040668339934593074114E+000000000000003502");
+ return val;
+ }
+
+ static const mp_float& A000367_872(void)
+ {
+ static const mp_float val("-7.08401386669753046338064645156214900921128699494646888967924769808464054570947030855548468722430441945766962745349058567238724388038016427015783599255644023483214855638922664181179777737158881459564653836315655393897000145928379596118559779623261831363278820886508299164620971128452473661012774251204871170323767185953586957366826794403951308912743224601594886009222478397981689183753890975778230831473257426411812064014E+000000000000003508");
+ return val;
+ }
+
+ static const mp_float& A000367_873(void)
+ {
+ static const mp_float val("+1.49446227597902810215437714798232028703835088342065571340212869765397407237999940724217487958281295596126229675420014345100448289621392993898199932595477423800270841113975760148098160578394062280098512028669152923158803289861342092470396307340684902623623171179518189861034059593133297980851628428739690321896779044128501047444482682552753596833537346633696721002392974430206617874088109085418003912069936214757265228279E+000000000000003517");
+ return val;
+ }
+
+ static const mp_float& A000367_874(void)
+ {
+ static const mp_float val("-1.16918401667578264147850362744476374731098279084847229575510587843369898703295224072813006822252373583416822868154858975314312803912051627180564441256489864079699593606639504078783722427335935348246125843439174836098296881284655304903915362378292350851564309808202654024641253032517405007813635841229783981919148288945175515919799604474205159522918683144684054034662856530736179631174649565201376860469603506080515805744E+000000000000003519");
+ return val;
+ }
+
+ static const mp_float& A000367_875(void)
+ {
+ static const mp_float val("+7.56149874200264526404991554800588954137014908662882832748103263153444560264903792152783479557515067255717528006078013589982057028692109116467420562642623696518019973295252854406287115943613882168168630750656081271353243187412945218759698415022399505589682747527565510001848625472012198763370299475980551179574729338394150810923103922873233195816064395085201412593981227164488210809208923372927513923369006143415056020106E+000000000000003526");
+ return val;
+ }
+
+ static const mp_float& A000367_876(void)
+ {
+ static const mp_float val("-2.69692386771586913110546419913996394416458423660221928433268479174718825786087296812079601329057690253031528013509498006477944955322768645990289268154267384172353548682270699298943950236171212140851427545635785177688280428765929487657095208989433673409936309546632228559518297608791311962779735237145770011013879963955802311454976591252944417088807132500191600924607642046589597003571387092830317333453974405165829310758E+000000000000003540");
+ return val;
+ }
+
+ static const mp_float& A000367_877(void)
+ {
+ static const mp_float val("+2.33450822554937951330956430320862060364333702882804583584222407721285243076878875130548338265026299512925242442761701932754935744648430731410320878515289211362027832108761151520919862848657254781087949177107116914936974772173737354357036796162194670077539232007195829366977532600815212005988429323398998477548714627149804895773408225553987207924878460868190982115668220866968535173073784496636423942924324536264215189274E+000000000000003531");
+ return val;
+ }
+
+ static const mp_float& A000367_878(void)
+ {
+ static const mp_float val("-9.11186566725445404461232850178782709205152136854745888652832569862960641041821383775465859921190446039429615022318906544000052411106711170299038964198422179864129690830483653682535758642005777832605990728513042061456987457717406504388587178364438560534217611690062933859827951700146953288808213743012765547150864750408623802683038159897741095439728529527148484287796713879217498735493445118486311949528414341455778444107E+000000000000003536");
+ return val;
+ }
+
+ static const mp_float& A000367_879(void)
+ {
+ static const mp_float val("+1.03055264047987722696206201872163435580213523426736060994931520493533759487166079520120172777042473832605584717965873222662780152564269654847305625527418642944723356793987089585689449400392962096507845688438823738020409215325489061643738703281647459941476327236647750055574365921211841400532205182272494702202842451196943921359105181423584771438596870915209762730401995549714033243708763123001280676359980254105150583890E+000000000000003548");
+ return val;
+ }
+
+ static const mp_float& A000367_880(void)
+ {
+ static const mp_float val("-2.72866923441325036403859478563040244094911381132844199671090234862876170470046433673173042653314468550943672410207489818009838747180895365696608017138802886865829431219021075584549797171389188723124165464404807198802979213569036721137699241423110657434815317023961459605900929477059187764213466993710291523164546690996568424735522178229673928468241586655190903117326589754255108897441016371417186415961256864636597483652E+000000000000003559");
+ return val;
+ }
+
+ static const mp_float& A000367_881(void)
+ {
+ static const mp_float val("+8.78804948098821761562476229062823826909394266151110070146851925845895750005518950672382722804886748391695063030504124868416910296034417318893619591210641896252938523296702412756793006470100003197585069544097190346397393055619472104270680090029546249426692303362158193796698926579943826221958569004705239587345798611114745219055543729016443901712639390506019644560600081723514836691922676567302903601738743336186955082094E+000000000000003550");
+ return val;
+ }
+
+ static const mp_float& A000367_882(void)
+ {
+ static const mp_float val("-6.10024778311581765158157642568225117762487986306570624306870980298628993783166694702910488993362224544627162365443326489026743154186288744729350598953971528084903087284402571772686056309649826168897410215348723318413107465923368577288907876929969274985496256390917982451159131531502289000883495869300067204266809685077445770947546325033857103241844285759025886437105572774842587201570638735858743578370474949865088882693E+000000000000003571");
+ return val;
+ }
+
+ static const mp_float& A000367_883(void)
+ {
+ static const mp_float val("+5.46587030120936105535856097771972506857860031261805008271211519375761274492151181611892967975860384638557032175763348125571710023936701151578467245395268716684080494461271721145938064377003878392672780659089237739799731365690388191483984311400895010722587125433344513010869617541113592278184308522922437481704217694759345485359048001651786923428412566103875281609660380054672051972523180756498994338093688308455993562065E+000000000000003560");
+ return val;
+ }
+
+ static const mp_float& A000367_884(void)
+ {
+ static const mp_float val("-6.95646433600715556383112391474873011308549959576045383257492356066658046676239261262731361403170099782338221811393710093309666927211668576730863962646437020758097669128959466646971799217648048335962551693494584707255890679439061969747005814748468418918713980028110838968190838529841889608891872796552860329951016413731671549164702723363345782052321007131011147273871322427356636001003680722256295158469088765941601858337E+000000000000003572");
+ return val;
+ }
+
+ static const mp_float& A000367_885(void)
+ {
+ static const mp_float val("+8.18864751763239583359113021121255603437083004053356168437815729475097399270713315388937932130361941010121567011386523962396431355225135690425508546951418872088024873569749836390045595769513429640901237640844887576898936259043010044173449065627270550658138027480478286811778690789514020675397202809732478994912639690648677502425709499631363378116540029641900059373145735567908816286563056823514044089745734799607275945871E+000000000000003573");
+ return val;
+ }
+
+ static const mp_float& A000367_886(void)
+ {
+ static const mp_float val("-1.20941659753090934970940321865105953105304504468359621888313306760710429844427686866605567319850635877945327406681084992992119185308959744395802718657377769736934859100618251106087500507047407184868993573466277419512242546181552410896305906539660247087899350937589687640261917115634650963827777873634077590908960580004751940244061647602183066049463219500827023448541821435735075081978821708240284823667914479847433976718E+000000000000003579");
+ return val;
+ }
+
+ static const mp_float& A000367_887(void)
+ {
+ static const mp_float val("+2.17262571049516981928053734100718181201319167582421275500907169460475751318536161347836353742660603676544720255615164158482493161497296328749414504800838733651818623022640299618394919554858033208604560442331981664706406013599544566502158339548119861195763317414716131784907153575384779319878030548093441667330063887590751774101187546300257069557844101921762058033260627929282166590164878484125287001435683954521683899183E+000000000000003580");
+ return val;
+ }
+
+ static const mp_float& A000367_888(void)
+ {
+ static const mp_float val("-4.69850904651565831863365242814497569745575063662182135598044992642800212423437640004795908871319599593022886212128539539356760774883199213369652050020294487016935492059176739889250031954277038060308747317473487894992736478153690806900595519862562106844283451177413427258951186194985260705641400256888615565411164352141979627607791499367919277002242226984691372435872357860651179001786750068392862612579872930508465695303E+000000000000003599");
+ return val;
+ }
+
+ static const mp_float& A000367_889(void)
+ {
+ static const mp_float val("+1.38843625163862639446149287702422596990042891028291684397084801481615490686467494749228592335908568209056800559136066211052672951421861874610802105524513604359012407132319553054896528361671606616668991347471781724882292950728226224341151772728474309858663831288625263513749980178618772631949315521457163481542205141657924410565164018968438297820892404780686620842069547989413177300178876397571115846313818959233417821368E+000000000000003590");
+ return val;
+ }
+
+ static const mp_float& A000367_890(void)
+ {
+ static const mp_float val("-1.09642234688684880307589163384505774632890166412378449258218590754413169019148232533029276074448758545056135061110623758542775340717606586196422281799885904246835411498891821319023542090822409775087758376661786003195078073689359919876009687871253914160633256441135584748175193002803611295292202445001684809313895396800375693064018460236372234632803736078438233676053654861854919893527607852129125724723388995249304259557E+000000000000003599");
+ return val;
+ }
+
+ static const mp_float& A000367_891(void)
+ {
+ static const mp_float val("+1.06125645358708238108999194525807753875259290564232914390243082061659743421763784199222549779450332770794342108553612147617904285346647173309600825286981403900065943031474977292438368063576603997102311343826662327658570365409626557298469957692595016574819326830874487670893581057387384852366086962784141041896482215689734017625027742819843434361169211409821526011802841346378835479705995842665626933881042835280834937238E+000000000000003613");
+ return val;
+ }
+
+ static const mp_float& A000367_892(void)
+ {
+ static const mp_float val("-3.60687009788152609743037875297556078440157122593062496123664366233701329106919287514562242788255157087800309663498534007686907445248253900759330303285416859943019204588033975515296083246000315491111455610271090752463749317995901153975802182601895425467145850183191086219827820912581149268147732300256583812890788090447514929207801393018579971380997541730584256960182167030484608152396831698047948040830589489434018381271E+000000000000003605");
+ return val;
+ }
+
+ static const mp_float& A000367_893(void)
+ {
+ static const mp_float val("+1.04098623739404296048569917787027817072529973332663191688334115070274944732683256023157954788202018056664028654256328407622223964661092368614662340628828229198421049118891909984507428185950801629589371979386104127284361208877920849535355105374268875244101411966070493130154773597813256440570071506258328020607594591547136559128691222095108719890253745915306464113315195238775170839220804672131284619205486415900208027083E+000000000000003613");
+ return val;
+ }
+
+ static const mp_float& A000367_894(void)
+ {
+ static const mp_float val("-3.83773075767529706716503027308083849575856531242784567098495193346549394470303649229140905896753874745281696796346364017218370504753596289697140178475037903877476052488608082675838245766893684578911328217871913266606706730207401295099232325854685034376332768695054061949881083004162771246323195415152918297429586145879711234876530735837111017503026139439943577812992367889817148577162343680562591270808450562791839756551E+000000000000003620");
+ return val;
+ }
+
+ static const mp_float& A000367_895(void)
+ {
+ static const mp_float val("+1.51023153388084976505021640068106984657479672598795180337810174219828429000455893353794712512920969256772086321411289695841852211953349361350097033118633534174468145661852194635918849261519793547710591060255466331351469243004605344166810332396361687139688052592953220234995480487861101813892621691408329348637727493552343986725334404640316174875233242935672476459979786876025139872528754090435153406266073506406316529283E+000000000000003623");
+ return val;
+ }
+
+ static const mp_float& A000367_896(void)
+ {
+ static const mp_float val("-9.99321166668325798544801656026785241196148068636821056815041361853200603653280181028387107105455814307744813388506191688505876926230146649031287968973088420689036766045074686983364194870765585566937541702432536224889627707228484742848058114278756291274203652182336722042242952142641572301854205173667422242727949456318331588496314686417923795639138564704808278344071399523073939053036269092455108559476347200181031668145E+000000000000003634");
+ return val;
+ }
+
+ static const mp_float& A000367_897(void)
+ {
+ static const mp_float val("+5.48198519506237110282007270329106921354408501116309388130152374211707659819471713377040386762179595998317994437558215760866999286787829644497771049310841513092705497114573526894955257637154254772070806852876996329519454358238469067335449040547637692899781954471651658770433177266631508134466051855870121544645813053176872135159682381441475113826979558421672512124075876900258585916161755881049468325141593425297761162975E+000000000000003638");
+ return val;
+ }
+
+ static const mp_float& A000367_898(void)
+ {
+ static const mp_float val("-1.03431851592873905250774406525367268391397491621702171234670796377321508357780997289372414697707847402727980990345569240770371314366347461569302369524338294658381985670218799794632224200087680363542838385585582069845282426072725957883206423794527754060072806669672794843045433170786991177959542087522957693904532776588080010674678865434465913440428301091790580327816424186356902004586771075182410827519397936037117656762E+000000000000003635");
+ return val;
+ }
+
+ static const mp_float& A000367_899(void)
+ {
+ static const mp_float val("+9.98882338688121146563352493745824899623076893151414387102195383104071209575908543814701762910933557604867057438189826717979893619537353801427005816334854731575644196045429874476205189961600986687804014658869266817333142595289946093760504127588978501468292795168366086700565477593018706133308702764917795163079582478240204756130531975848860194385035443400537982382187012537496148148649533990456848470701680359565893179986E+000000000000003640");
+ return val;
+ }
+
+ static const mp_float& A000367_900(void)
+ {
+ static const mp_float val("-8.26283323700136544739052633217119514613306582427312711161226721379871544502385319471448331906026063204174491287129246911729164858572671128858206778992146157733557564320971935369248049077299837399719728071104779148170293598959231642675880189268536676551388379828642473124307520969775681033514043138416978857869056892774919042294813395072780400161120862155405817537550691314948373376861367475923911285810659790620360361626E+000000000000003669");
+ return val;
+ }
+
+ static const mp_float& A000367_901(void)
+ {
+ static const mp_float val("+1.22151497333730205131374889198634497652379955643496724869225865791549273202833591208523939335803727728197654256438789990319035826844376934777416699725921124859238794452515245246776325329293201586735773853996397465077215756694346333059326860148164298232145713203523055435691351036673476021893636737590922598880354735228271440311736304601646119667221219096867295618989392863175170654681899178963493468761919993532374440415E+000000000000003651");
+ return val;
+ }
+
+ static const mp_float& A000367_902(void)
+ {
+ static const mp_float val("-8.97766660077565661957943824717106011028751342611014491641791831083850883475806326877108668724067049298756605918378878916449769205576080538948792057764654049568768924541821208491616945852930759298164818237167561138788720922363194828236312717228571118536084005294579060775495454041959021490028994683788078020354367604275857554911578349878142156253305462753940775022354251528611542776792526249004432543264636968623692995715E+000000000000003657");
+ return val;
+ }
+
+ static const mp_float& A000367_903(void)
+ {
+ static const mp_float val("+2.33770255524166933747252427416823096133249318515839486408359995328455270818948986399694195166748416940785550121239826601754965473981385173333141972095985095548838713195049659031894232749825953111948074015597796962880616336935998901926116193415404420352083483995187994493484182906585225125163379526306592299319925638234357678654880566198315065268609076570282710538366559456339374656047843092660428150430849673150680814173E+000000000000003661");
+ return val;
+ }
+
+ static const mp_float& A000367_904(void)
+ {
+ static const mp_float val("-1.24012191094858664750249816370978596800544727248868640360320936158295680436948837417303945274616450106335938313978421440948327580672679089384743981274638420661196023961007999993201998329956177617446076990484099596869591868003271814404002966685833616370092321661032372795572354848333825589060326179240262719815351690357951155923951504255535965749875550562386503532354651256347642965203299410560210026140748217020910863411E+000000000000003668");
+ return val;
+ }
+
+ static const mp_float& A000367_905(void)
+ {
+ static const mp_float val("+1.06191104616858631848290461425948756386373286633817856429113235229655145630681575915647690211831003365936542707855588494372515289097885741437441875104999356364647341829614184699873406227222044693403931096167607021946402137835012883253385201852039426609440257424905004538667435801855760967052255781306643569646515080328485308925403160964990627126618055685493559065000577018853805156356365335400136967033130608082410484233E+000000000000003673");
+ return val;
+ }
+
+ static const mp_float& A000367_906(void)
+ {
+ static const mp_float val("-1.82857422420174957762691137245414164934038337162435120716320522086012343111221097783162682214697527591632043320640368715520160487375377423180987477308116479290433264800506913516367277641059975811542168224170759162440223258220428335700215573639450126891909601202908469209466025602821251444047403185798525335778855772333503214914704866105429158126613372463825230344959431105227609144370497816176310102281760026958875899779E+000000000000003679");
+ return val;
+ }
+
+ static const mp_float& A000367_907(void)
+ {
+ static const mp_float val("+3.69121430280489343090852604113063101333789920864334546657768676248392804125628016008327069968209808175694380558553261824850441452949928950324882370830847587120316505799257141976467420141808104521238831978940515643398545443417395369571367100790092983099332204407886754424021737988467031767106655231251104549758196781038309854279649004295009604131475458155715768098732086075438733951802934801805648716273769827251530222465E+000000000000003678");
+ return val;
+ }
+
+ static const mp_float& A000367_908(void)
+ {
+ static const mp_float val("-1.54089129312951165187097216295306580739238396093600255601079588426905517435349750045902160208507744064071799347528325491831848429695434756056844920311072829585283017697155774736813096893836201802106541378589871092867085483503514554272480201308566142774094111626148387987262157550601657426560796831772737952003546230327092732957040296198353416068659329057823361534726040306305976701801613405858494168571754433166199487176E+000000000000003684");
+ return val;
+ }
+
+ static const mp_float& A000367_909(void)
+ {
+ static const mp_float val("+2.08176354154009545282982875722367106875191152321016158168125022572869809911727709341739808123770473767069083496098365621105554990489530744177803537146519581466485747005261112952547063474380319111634293451296575479439956345128800901042745549917238584307914962457270977516398550509294122879338525565904341930767391068129992690746598857822795442017800811959175544860216629549035691157581371912949810946004748714666816043793E+000000000000003693");
+ return val;
+ }
+
+ static const mp_float& A000367_910(void)
+ {
+ static const mp_float val("-1.54888792832002697201924554293068915549220177324689645246610771049881799185650378170255937246621629978203589123588066158694028763376799546186484962045972659834394593142527861759695447887054358653001330965218736520692354282685736514411512446119870665247987585387633021160997184688771283703970900743720164701897826874503335405323828535875075888373837879915763863406549171416063522313987167669611339913677134873217720430770E+000000000000003705");
+ return val;
+ }
+
+ static const mp_float& A000367_911(void)
+ {
+ static const mp_float val("+3.31299413474278351201420968058285178703260417823758804323284427700675636184177319586244973457241620581640625748812002423715043733722861038530258341757518414771723396128201340343201600071161255576438897312626169633101556569491588220269653759653088702570762321595727768050198335463818738960790489676437362113768860720820411528810587467330053775028120341704076567986059724350776018876142427511026321902151060890830836364658E+000000000000003701");
+ return val;
+ }
+
+ static const mp_float& A000367_912(void)
+ {
+ static const mp_float val("-1.20190322087409606282033328586338731443096842377353325749224042700082495049682271135098931373032314057547434453636315714783485846004924144580653556547746141839120898126682001291525466300643088781622710989779263809811241598259193469123250795657746519399133269127899018941198682193990971289173735134158854906194831496534459557205685352305192502464161088951131261767581306118054226996582105220809980362454708726235807501435E+000000000000003714");
+ return val;
+ }
+
+ static const mp_float& A000367_913(void)
+ {
+ static const mp_float val("+4.96288231332113162691487482759391050673564586961794934831069524102113353183439377189861664554919126802602067309350846633370075974018393284335757616272830199524052916688193162273833363590021078050192137684618484599564472715812615228917437838557301291094446477120362674200310286338797689085218000651051797593040213564374467358478737802947445048685091555001225302235339070660409242197024810387642844445833380389157606497626E+000000000000003711");
+ return val;
+ }
+
+ static const mp_float& A000367_914(void)
+ {
+ static const mp_float val("-5.46530842903080628217839949193480248188903275368638244560315029371692933485894898518390434176268266580128091666293926416704905281455222653253695961564661458417117390149174931190448243706591781788378147293242872520528512839684402018738957826443347707999087672373825952410938563515028393655492016235932590908938716257145663165500392618975598022732779350029023998486907233494881865256502844812031222401555068813243620504791E+000000000000003713");
+ return val;
+ }
+
+ static const mp_float& A000367_915(void)
+ {
+ static const mp_float val("+1.48647139980091904347421020178503736447452615650184236126210561585458935290847060911096206750424028890715218944599408868962000150338875229773828036792010448203231882483460372031878505682983307760802787941815419491225202352994034649822640810694847920279315040426377618887695575460262926128855737140278742536957421117966086713140643085894207704023483929992492627158450942599082481662251765668262460891306535636020003353297E+000000000000003727");
+ return val;
+ }
+
+ static const mp_float& A000367_916(void)
+ {
+ static const mp_float val("-3.93707611783781177174109226355188061261644109254717643102512471804876813648189435845909246521737238825674587938488360447500830421071811541290086823458182425377182685136062976439764988130135639862167618355711203099739796027248629119689601505613629686969052625502573550124661207059903356971351796952789410761682672337264169418635378357509231063503083427335544294157720620203598702219508975613125553409202441759430922812404E+000000000000003723");
+ return val;
+ }
+
+ static const mp_float& A000367_917(void)
+ {
+ static const mp_float val("+1.76344376583189903166049843274491716399706513838583008661954690518781347042795030924358803218628046885999171179652649195020577303601051289196826613638105393356206993670899666833301799343101056438991396106234215890602937443175763780842210940681925948465432453295609891020395428026464855825263490945166326018997683434851095918847711318061866000076104422827968025506385696447507795175523729518167240523063685979465244817845E+000000000000003730");
+ return val;
+ }
+
+ static const mp_float& A000367_918(void)
+ {
+ static const mp_float val("-3.55385480971815880475623877477795400746629666695446715505719903735511381779398635069753147381096275790270873489150976165519685861242430228572793923017803519843008031861845529588485193055679027453935659273102610373736226430484492054659695171642572027781488488871158961730226493002404842300991271033978940861201386529504025318284312597924620208951400858484027706742084531194703862559987433771169913108534076667415967951638E+000000000000003750");
+ return val;
+ }
+
+ static const mp_float& A000367_919(void)
+ {
+ static const mp_float val("+4.89384040129918081615892823930447991832782122458193959468409941140776105310220685857722332459658284342721658494299225805054962189324532084655427292831008324811813487196255920773992344197916234258583943990237097241153150524953126509372084858860956001347954579122200208644710522094403048465653484777982793614142123547480195303835638734493117734994471706636312491041952582920040183086539864994324549660846576588119935375733E+000000000000003737");
+ return val;
+ }
+
+ static const mp_float& A000367_920(void)
+ {
+ static const mp_float val("-3.48404590400503610743233786481718590943634033209680513210656822262721584397318915121278751790307329840357155357587417338897046885915996342136706821464115894455414428491914857250616370580259908350382479943658882715153514766877731298592299850698089382588396888465805044559940103572394082474589870904033832168952952747513630475711684651475864108049473194670335170028580776757013679558903872432657090913225653993957919251733E+000000000000003751");
+ return val;
+ }
+
+ static const mp_float& A000367_921(void)
+ {
+ static const mp_float val("+2.52215245847326359008805414070726314557666833545885582609978104721732069625060840996288146658971394949687054132142146723525420025175526418052789048925739317312246221238693773623429522590630628911778562809004316925777699433901545686456685021120730277768443799704013652549519633208181515514384231001789699680880722838765389773388971006716974608247601431387291827011144573931709991825925234775579509293492285944644995121366E+000000000000003748");
+ return val;
+ }
+
+ static const mp_float& A000367_922(void)
+ {
+ static const mp_float val("-1.55085007256428431501980462679852839853270629974068562116267364528899273102340615656978968925704434785258150246825222384631664604152758560162940363045859962910798219735588987423446772437283026887774312338524350396208533043471759971812528866640056714710682292008439695566431648523671648972128757425090415659192164825516103458421078892004462901969701229590086557483988582441902126381265789703984118584742466836426801821123E+000000000000003753");
+ return val;
+ }
+
+ static const mp_float& A000367_923(void)
+ {
+ static const mp_float val("+4.94236751298037057107931712751039597732289580450207821877685822326419947735995031045899079929805319455478288845285995157100818676882075902100787901974556988893702823756894787053655066053094282600523878208094268508052561772311967598087011153705756413217692596507439755442458070703926240884294643838122141112182457949252697568644348926519910964843510719178836357396873330926585301372291749925935059706077069840795999460155E+000000000000003760");
+ return val;
+ }
+
+ static const mp_float& A000367_924(void)
+ {
+ static const mp_float val("-5.14296912361099106824826492994124061043269195699533476970896482608828003618685694175088795542231094343877361604106769969797759689687882955572185987939556320934981701998345100652804131227741577109229105543294801659121849718670836321592549028873053688260763356100458178463631405800568665547384419252894001227313426900976266054304777747067691989982005873594796112837219208616441547954808840873733548256205578135226196048290E+000000000000003778");
+ return val;
+ }
+
+ static const mp_float& A000367_925(void)
+ {
+ static const mp_float val("+2.20505209595681684752032293851844444676034660195985227770319090742224511723041743847443053836373458587961045217566341283302319007155330335917633023121220500526450103691486102844248680811395650914180270684157603778078722786704410332815284711705314798255424410130245395607343530580180356584820689989074028935974372292141201427717541619963046005698605110652925477949010090722238430597844720369668449758423229038664963712346E+000000000000003768");
+ return val;
+ }
+
+ static const mp_float& A000367_926(void)
+ {
+ static const mp_float val("-8.70329768004064721020528312823640113048676595075418198428638359516995658328549374267416118673290049569742239638760333340340209606471816754970341026201035871251173853535432150493753528298926361627301855399581599726995767503909214902161388003497881386531329168241072041574674967268795375758393370831576004074639439016014243713380860063511462711588158574409976764144112675679807235483299880661808666494275524032346757142928E+000000000000003772");
+ return val;
+ }
+
+ static const mp_float& A000367_927(void)
+ {
+ static const mp_float val("+1.24704330775369033825789721716937983682787272676635589790400178860209655344517827158394747481946665466025204099011990794521167028097728617489930415731343126290353114805873377095186220762965306367310163709925717051610856252212491065678982358001788530155584330397999405342541776342515807547363014281929719307636913806419651463829930272986198550771727814298722686791019509361417088858185315994127271301249950593885794017895E+000000000000003782");
+ return val;
+ }
+
+ static const mp_float& A000367_928(void)
+ {
+ static const mp_float val("-1.43398288382523492078306761694610944555265845570246012742335183962941703135133158158112127952746241260076852512925199973146637755426921383523493030837721565306895985393661371861481334268660023156136613996277080178508734877190509707677994476080995134882000046088488046556838917722356593431844993867717685843470015505271896128881727633840958481949692591569820641973003355733280230020819380247394315196412923531688054318762E+000000000000003791");
+ return val;
+ }
+
+ static const mp_float& A000367_929(void)
+ {
+ static const mp_float val("+1.15451418131456186884701885350675482461189531148624425704203816732167230815678001040352173996403836847287986311755822747044762193073122751771997891610482526792972285074531210029281721687152501101706123601766932502122344071630167667593875808876713367451063439069995474211634684536349389521991411515699151077836939879098005119784599338094220357209282931947840649370214797799239141177150504376876449191751710064328887335062E+000000000000003787");
+ return val;
+ }
+
+ static const mp_float& A000367_930(void)
+ {
+ static const mp_float val("-2.06606068582671014238910407672940234263877832436561326625002025273080561467278434628742579252414381685618370693178980978497687564407683539929324720952321297006275939166979562313916222083293409554141148720534540082674810465124617336571213792655044755079402549818258475757471792321497266897093804130203871846792767062073804350180051816219809086101352817695237690176064960237286371577402863233554547121228045771287135443331E+000000000000003807");
+ return val;
+ }
+
+ static const mp_float& A000367_931(void)
+ {
+ static const mp_float val("+8.87560941580038285449991444629260013884894825311251240516582737995672607682968415408299294912428355584144581259412121450374423548625186541168501657237258211750944053060503183981953812971128958879022422085320885126528313693136320363595840723222742902465422725716363453236502616577916066516563712329124237607975372360530028227757988493384268831589604323009881364564634408975530926152958580728053742359649129443252139114169E+000000000000003796");
+ return val;
+ }
+
+ static const mp_float& A000367_932(void)
+ {
+ static const mp_float val("-1.82298918975433120816766082121065430658498803609652969880140074820543301573141718041175792039546425326629384604608433500634192294299090326244380642579590580555121996483338130083424066876489031089727495429744283770603798038901352074192421947150855017517836063550880615592057303188633634559561376204344947441464605534243992875087622898232670318708244123855329155095045115142058700349262283788618103181322428148963780377579E+000000000000003805");
+ return val;
+ }
+
+ static const mp_float& A000367_933(void)
+ {
+ static const mp_float val("+8.99436080694266638533298020884005207568899616361178790281769966473601082611290621477384402343568845272562263431716829932039822850992183264342724016831326504919015184520819951869587308113561105142058441543782782230065209816725745378268334303403324215950755817024074174189470792687607927608482792595163677224361639311440328590519494519116164779187681550569103751371703303099800275477067552149352666042383228996231767955577E+000000000000003810");
+ return val;
+ }
+
+ static const mp_float& A000367_934(void)
+ {
+ static const mp_float val("-3.03990075136910054745149033085505833689346442852222037825593637081409436739290052144875411391338842351538103245837370162282102689813975653414094726805626842415068691497378949606883393234915130791705139711774166260689113610773625844830828906362591999251173623871111243033937061404540373812717851303534773862908208534546579859112984016902431232036491926151592582572430336391151882410272180287326184717972762619883020570910E+000000000000003812");
+ return val;
+ }
+
+ static const mp_float& A000367_935(void)
+ {
+ static const mp_float val("+2.54785600821061484002684103119887414186117119770749546665740115310877749864539507895978026670607011243232315305653095845055383168972571015999589586783117913321538794019927201024043262065282482470049922800736825680562402545151200585540030220579651757699195389230276841317070296459553454520946056148485535729285177318448089192475395158269187245625345224245914760578352069708380648852379331886550780309117309200785348945023E+000000000000003822");
+ return val;
+ }
+
+ static const mp_float& A000367_936(void)
+ {
+ static const mp_float val("-6.84483981422630138031839285902064081303509185768978857607367762042473254997793250457053286244328892794172481047241572163101623187703543099231915863729982265059510479164205564484746728859378161719834855920604255515695757682035140354141556708243523680085421827002263186378697719295424118357837157875949695388208476153275172317496535736153555534311237413618845821156850681837186858167752999757871903038846374642140563241712E+000000000000003844");
+ return val;
+ }
+
+ static const mp_float& A000367_937(void)
+ {
+ static const mp_float val("+4.24568817281101487743211636581674121718525906182266744197394628583745236805101488128988725455367086458061162593801053741160177214848575755954119385315321441028904217098097502360420409129558115370942262685896384757071293517368051186535769506695835250240297162166490951448563397718702942120018027756981818682474562172877937524026995112346042894786675392011232484921144403368046657972546426652783226889202751678525899887393E+000000000000003826");
+ return val;
+ }
+
+ static const mp_float& A000367_938(void)
+ {
+ static const mp_float val("-2.76953602231205813149842635101379694199214457696344045609266142937302684337891966979234987221865895246730453521791286804301198345112639273137446723918167245786194587950391230207322969816325904117916362554649474472039070551221672181905758392890151641304357587437303286696652726731917725910714872250536787497521303524204036241600907786750875961048949199820029722897589367295862796239891303192889148076949293173296866673253E+000000000000003839");
+ return val;
+ }
+
+ static const mp_float& A000367_939(void)
+ {
+ static const mp_float val("+4.44270429107904397032691491355058491549654825108255106445345039970436941399192684201045952635578668889027922855193668550445251135289016626978876946874967074649128244231333547708826151026446008395712851488464663478445875024245084283086587207056296667487022354559616550991369200538222959639868348767747077559634898119834574818049543795309180646797804771570279885152351864719406591516269821939090991978868483665523846419089E+000000000000003840");
+ return val;
+ }
+
+ static const mp_float& A000367_940(void)
+ {
+ static const mp_float val("-6.41333091900387499645166127610376399366174229393711374303414925898096965735488129532605575524362202825825592137222876628192134774938734602535924765715016380791664438003352171252935673464722611510208087367048161827126668621359624755369492311944498204094078492428412102652110096522448008247024503014725157130419233666089614387854661373574490045469773741831460716417742463063444681815143029126325477489345197976126293054638E+000000000000003847");
+ return val;
+ }
+
+ static const mp_float& A000367_941(void)
+ {
+ static const mp_float val("+2.71016765479010090614915156127680987400964854859403977651936799737922542343584450103582169945652850037658176032823545319804682790180240098250648813190945574532754857645589012203564446653221078270775371557217197180639323718151321107450984793914455985658306550604963681527005646645734373081638135289085854398176836151405789687089450185514922240146778898887314882373334295663415990075346852320804539382194780515204302490500E+000000000000003846");
+ return val;
+ }
+
+ static const mp_float& A000367_942(void)
+ {
+ static const mp_float val("-1.10810020746675273731535783958878121426661835606700490549885972922933274324474232546255357111051213357564772745105001043641550171407044505117969187496363047225788570584005402414527726405144237805218372737349825285453552329559750642327561309435500512429177422289141691752754826133857336858641164099153569170862335368608895756883168342622255492570184140685385822895115694892389036563277260230243018845517557515342450164531E+000000000000003854");
+ return val;
+ }
+
+ static const mp_float& A000367_943(void)
+ {
+ static const mp_float val("+8.55533256229019803443958137818158501169614706304499491087602754319985019814702831043366314321895188814412829680009019026118355232319138247406805905864279384843280946618467654690698975694107002039163034002070760474297722222488686823442910073095139206643064406463183329764143823801489136068661783741196998671311437008945178375324258308262676436844271792479525889301405878094017567540302605773558790449395863450495788808511E+000000000000003859");
+ return val;
+ }
+
+ static const mp_float& A000367_944(void)
+ {
+ static const mp_float val("-3.17779577143119564743259145914615151158359382370514245195613126347747877063727508026177171767959749005231965822173503444355223664172476662697620223482890405028665553707996563082618312674200996588964160188875694227389788349564169925921758882268963713021467172500345379609643559389777256356405985897682609406132839633371928423184034806956156771522699426811184755161255596500855580392437700920733462558921398265765185563166E+000000000000003866");
+ return val;
+ }
+
+ static const mp_float& A000367_945(void)
+ {
+ static const mp_float val("+4.30393778825784116079648397440656309126858132010650697933474068085716170515494574464132230587324856205926734528701163581108035727453013904519459582049043616950802120339954779098419310043305987613236612981780276068603642491199185083435044560586728216710594360420628318398897167617180351049884807369692255405226465691567377693186147202153020514612396248072881687759372191040315340532166397326247116025004874714328778645046E+000000000000003886");
+ return val;
+ }
+
+ static const mp_float& A000367_946(void)
+ {
+ static const mp_float val("-3.05601844552953383119327852330404591641700868344029413064247128373678260490454236785305192669024417455359573699565056678921394817408608540992281781323796060039977037491278574640714897240568234184353487420671821713016167186766619437408282353453762387177130931110924842792593801440732251207418440491049502678747474907939045794974666444161942877008072140505229856549332360351345532271714968880805090910961071741567615806086E+000000000000003878");
+ return val;
+ }
+
+ static const mp_float& A000367_947(void)
+ {
+ static const mp_float val("+1.47310227648005774507632346626112780126668978929685852202662219251261347573901527536819155407580234947695201272651487154794470458032597292114846184344152223488320673353936281071380264587155852799406552250366054086316353239614392091314141372704756045822905423164396946547115637920789777307458279657731875489116457678374098571632720365557000665924763541245570431250187309534975404203561119860906005403659451463714359673883E+000000000000003876");
+ return val;
+ }
+
+ static const mp_float& A000367_948(void)
+ {
+ static const mp_float val("-1.93371012010476163685197997787384981520154166823985116970133547545469889411326957771150073019565871470950997134336981034310866826212474363977787101431285040613955901769368837825963516672084871846948274080064327242477999128351688854562154539719532631306140158002009822986974585989430466875754356791164062933228308938248279343005906486273554884136140704823135667425239098681626306851833000499019770269949275120056079303659E+000000000000003886");
+ return val;
+ }
+
+ static const mp_float& A000367_949(void)
+ {
+ static const mp_float val("+1.22271295444680196832271418833646939543799528655308660780290453766972546569923041391432883846985481492282371262647600319483453437355931851818224452231805021986820197392464693676869941113267302552750235223031978373235380398721468772230770731130547154497396885215389719435329367045240273026366003277455973877596779514747887399884171165654602665215581067980390139873194129816548096940827466285569161142114797196994579030394E+000000000000003886");
+ return val;
+ }
+
+ static const mp_float& A000367_950(void)
+ {
+ static const mp_float val("-2.25394279710394813373013219522278460860672808366725234193199216082426777092013010173001756861894038780624655658443280625078068008290836005233560872027753778346681375099480362430461117880825651637429453574943592315451875201057177503103054448395843902028741373979524592770433062536308801894403078850455210153967390580399043497385225854152553515945934991226855813040096523279859366775007412375576528116504408220141102508988E+000000000000003900");
+ return val;
+ }
+
+ static const mp_float& A000367_951(void)
+ {
+ static const mp_float val("+7.16430844479839983240164563214808607264972556438344926056308867614389001453391652004972348598375312326128554048010963966043169274613621038650824540724708011962391276402685419928921362072479960149926454240915180198751260446291417651434817931320206717939447323652893091979941997863602068242954640635734298269439646969812505900889060478938811120959720512681214619308322875585410842584534782241931749042931133991641343040178E+000000000000003896");
+ return val;
+ }
+
+ static const mp_float& A000367_952(void)
+ {
+ static const mp_float val("-8.16448821878632164557930671336432496952963188554825845363889433587092853679439873152708961580187684165238686196139259462845676481880453236610715713440962043369538394549817819841884049848297551788784963150835974859829390886866340400921310357494511294121201432513255524353037768434208513184398960820507493586061269087815620595838959835546740234482304941675118284402785176912271615303930266530453554627024854410792125144183E+000000000000003913");
+ return val;
+ }
+
+ static const mp_float& A000367_953(void)
+ {
+ static const mp_float val("+1.64752139640946284936287761452033402261134416872542511036509032924316294547131609257279860345966852304074721433239361527656638430400762781003315666406568561653936183863803105746845444891489820020029384077056361378284716421953968322446455591836017635312282449979271505089043084969665828774785076571574602200031744883341625013893442146560747022294930215603878448486847507796597316603157798580617741282867774589836330927302E+000000000000003909");
+ return val;
+ }
+
+ static const mp_float& A000367_954(void)
+ {
+ static const mp_float val("-2.72521139696809529944171500983894964996421267970748127387942461508082292125264594452148948369469112628142654496259852590914730510262932491291701509037850310159842718995561969295987284550009966884253231873693840769587214992040673750498007508273117889020596887972218030450929603017954822695748748231687086235093867104258996353521943052264199310332522879831628664408413980385615882119584106303234780089164476293746183683265E+000000000000003918");
+ return val;
+ }
+
+ static const mp_float& A000367_955(void)
+ {
+ static const mp_float val("+3.09828036833289724025330503607195409111566753909131277911356024081734715479085753531379436151490481326177488032242411613775967174320164512364481130765030705404590706237183038141090386834077275950718041386036509908106527479130488360905891764401457644286743431985894467055312602416299845506139097034546925670041429425367040357267969636149004257629650485024410815416491462671820921098232824681331016236758980165424968275530E+000000000000003919");
+ return val;
+ }
+
+ static const mp_float& A000367_956(void)
+ {
+ static const mp_float val("-3.11844854232817062349103673228965733507413832507926457015932529832904792048401921672522312109599747289450032202071622375278444797317703688757607010452543554576982075404099905679149371603954431411705193781977458124480385344601521390859405583819118519285981694612720301591635219882355235037911965096620280340728173426672083320242681065966572893844188114531958663483484963949445089316920815693435076179938330754599286016819E+000000000000003927");
+ return val;
+ }
+
+ static const mp_float& A000367_957(void)
+ {
+ static const mp_float val("+4.01761162013846158291865364385468653341739256901472122494717771178358801372142830518588075364214843161722639131585378758812651246785653856351081930036599498555201762438713855775555563038646469935024709507668709524936716045058142041204604663429270029559432097699954542996058179034297534318069096952885954935503409301126633976438877847051470342026175228442847912014538277652591952715017096008840776096782353686621269454174E+000000000000003931");
+ return val;
+ }
+
+ static const mp_float& A000367_958(void)
+ {
+ static const mp_float val("-2.93352512207792466572470836196270283807512257245204898907582811515211492881986057866995767110042834491167930623516543204692103189821127797529372343801643855493239759323131500109799556895134509108910841663949236465442242569041081758528619296932249482295256448578214722452706180176354777441715497450426250475975835092513318612174012708688833321513426179986959881077608547101436721441616567089251739336615170916101754672074E+000000000000003931");
+ return val;
+ }
+
+ static const mp_float& A000367_959(void)
+ {
+ static const mp_float val("+5.46425283713313762290221141700971338223497786069915339130430524472552672516743246966384114096837600144650509685918206462193486856064425774032319444312354652615569057763180586705210084309585561974468574161649011253524446558129117952086640235631822377634550186917195078573206003963007655350176515560911573274104065445654303810422672158843041075407943510547470023009303933978915884141752025859760032225289728099800666880664E+000000000000003935");
+ return val;
+ }
+
+ static const mp_float& A000367_960(void)
+ {
+ static const mp_float val("-9.72925883194614777188484107500203238605888684417872895166501095245603545302612979108438515996989149999595140342759777651287785246645777957956706271966463074310045704811267469900837001699901374134321984871117232442233671268853881604488167137293461092158373073700395670187317081053541347810322359277016451140008858147608373115934714515882403365997660860793549850230004689851801947532093733364163204800133341693204188699298E+000000000000003959");
+ return val;
+ }
+
+ static const mp_float& A000367_961(void)
+ {
+ static const mp_float val("+4.76944960865139482676653409123391990044405015039248541450409113443622354611389462185776207202113138834325734726834063889096295201821624792099121062291930597645700354838900697915355479297466790204172170849781350345265383220119305163808441124814323932965957771687290184839957808711809801765168524626522899558181307458457697368769387921953432819300679899042788763050703942909752106195378666081188505201411866088281680601819E+000000000000003945");
+ return val;
+ }
+
+ static const mp_float& A000367_962(void)
+ {
+ static const mp_float val("-1.76491999051142800754583984655855482912976620252464842273755802637979475656818019371642454732385652182931716833662444276889878122179248811344894283292020920278004286067199966289072235395290395774307652973018437293478978492167928485671739332547713477720801437116427689917430835117805771686669708941038928915655098323478781337494616525990920938736355192989001102614419725523636846848466167179900968466299048763871064905830E+000000000000003955");
+ return val;
+ }
+
+ static const mp_float& A000367_963(void)
+ {
+ static const mp_float val("+3.58990349319869519896046207155575320611676025349781729028405820584627108894009451946079018651588475451041964955509416165955907328526317911838298954402260157892341742060680640764682636537746542674728014577106854613753180776732712173568113609436875647957447974856689002686419764235581320584328392022156304512001520983602377553467270048842836098636947049486484476611876885858189823325962534315822530164752352754415126459322E+000000000000003960");
+ return val;
+ }
+
+ static const mp_float& A000367_964(void)
+ {
+ static const mp_float val("-1.97523681554188620183930091810788651187302323178958106358939532327907588355514283666230276073272407314571460050902457980432049303526396870994488496761244966479499654993747221379149263068185049776175116828460645536154534235880997573514930074879689145769367880022568013456128625138310487244566875413513598783938286768535233749864369326802286504730390487258558464255032130576834571338792175219308269644168190121473910307320E+000000000000003961");
+ return val;
+ }
+
+ static const mp_float& A000367_965(void)
+ {
+ static const mp_float val("+7.91323250292594674330854346542339962724735014950183376681855965601891697349696889958668245239795231613107384719793823299717724931330788868996080239163167088452784022267753328108363947148189808939490359282562192354872475335884444846202269336984637614149366067285049236029383087616336735683124098632231862117955885054051065598339004147343923538311087273093745703046436647267866484642060889189777330854999173214682496085131E+000000000000003969");
+ return val;
+ }
+
+ static const mp_float& A000367_966(void)
+ {
+ static const mp_float val("-6.75674037816816823145901785675740038563108545617236203836863045606452518384308400663355347364924156134715022261748672628027738334383725873079473439238813274056134441970736694169294133391977787858536988888596212474968091855227272170391353068421922836106222460434287486165790295087173204281549245184578787113773685264320895677857095536055560036987809009947761624069593591195426441137711228473095836657698225156863276210962E+000000000000003988");
+ return val;
+ }
+
+ static const mp_float& A000367_967(void)
+ {
+ static const mp_float val("+3.33378212308515622435048704337584996257811715934009555438539735220988078560160213022130282235995741846434860674911756198399697982407637372968943760075594784126232797349994796839234420850715617910772050733963089351999985177085416444957396003749286993918837628689532782006441035140577973490399048818036589174037765835608957722500552724367991292952259420010916802634893132061787341894259016136647215550586557511873291157435E+000000000000003975");
+ return val;
+ }
+
+ static const mp_float& A000367_968(void)
+ {
+ static const mp_float val("-5.50428062446876633021804276586456450311390484086021524319426559222411690266109880891323805367377147324199992201141746324165770289828809505992156083201458551546159953514835692297571986244601383724906442107993627965624455436941178383451815202547902731372231790294228225970021427598838313695853961948207815002772830810081752940894307198650473370228877468623927039662223496429441684050112850833287071628615814575632963870602E+000000000000003985");
+ return val;
+ }
+
+ static const mp_float& A000367_969(void)
+ {
+ static const mp_float val("+1.40322399065207598656165673152162701193665680211365714677690199507529786251713260192223366965921733244483785245266671754207223313023174373449107827900054426176213680244684173635204997445948722185304670753616733652595577322054747885476228104948990018978241901014170903999376482916758319996093517332252871330260949869713827985600740122595768649150695788958826519344284606923820894420382149039344976452016747292788357171622E+000000000000003991");
+ return val;
+ }
+
+ static const mp_float& A000367_970(void)
+ {
+ static const mp_float val("-5.95441059527166420798644791381068184225261588258941628516144943483699155918727136021171956083015866926112040553715758898040169592889362841630829340729226855248537074102934300643546112213787412531582850044966800147924054906568783436961598223989223643547830697180914909996494524559075013668723919345721446857866728840170622537916086520885708982840487791466672513667991324600974992307665648242375208270819387489060215105682E+000000000000003997");
+ return val;
+ }
+
+ static const mp_float& A000367_971(void)
+ {
+ static const mp_float val("+2.73666906047180507272602316997461126868200794351661570936534282631581254257695714343866416914929623129102866451323253527243894750698700393037745358221761169086247706374762769394884213952684628268766786150334113348296068367312201549966544835066366393178234987506833612176660195656665911952574708926889485796024646050303576276458698287591379457800745958110542566558235105440663239442693007746688428458613858285774480434166E+000000000000003995");
+ return val;
+ }
+
+ static const mp_float& A000367_972(void)
+ {
+ static const mp_float val("-5.29010451218760858681931975710756616779580416881751599834743681186216696602082257762300442894522498523923392029244991286453080584212584099786882512554507583777712822085703038291640413641676086033752151943460514167338093154090831050232799521430038801268546934068832823969613146655327541112728554860980740167521717684465461255193677650038509472733164678170932577001652345679810154366167388086443913945332678560003083646061E+000000000000004014");
+ return val;
+ }
+
+ static const mp_float& A000367_973(void)
+ {
+ static const mp_float val("+2.51035020453420035178356729715515468856893024318828663789900126617232948262039078387859795899255545058110533109994349460853984479317420309234941005728056672777423153591584897755902998274225112476301604041965722763094497356402556557295763938078422821424552160094699503381077414344379028722954541114324112193614876093824411975599090275502085561898571215520490804988928579105999431187955345661123085902617985953397369378837E+000000000000004005");
+ return val;
+ }
+
+ static const mp_float& A000367_974(void)
+ {
+ static const mp_float val("-2.35023517797109830535215224576909564802103619176026623510937803425449489044389781426369717360183120202439011672520214971767557597058484561248432102038019285073402337364071229690729502418349680859108023375046844938539195143123349426875929333658503052086196929832751025078402261161768712111185511180165219304073156995970886702956558041900480438284315355059762092689172870249191137075323449271522456847741423223831300885498E+000000000000004014");
+ return val;
+ }
+
+ static const mp_float& A000367_975(void)
+ {
+ static const mp_float val("+1.68966736262784668283009999511673294492255819901751799762455174254948612838236498066980003298854676841476586241224004205807648072504052688349842790378844496945827131978196161549833639321153839879756089629384593190856649077245629388199317202575625854732231269711758257748481788206199774213315868236898067989201325826907555014302245692667079459095612054728554152039676537906595836943444760261078396129810174051293757813323E+000000000000004028");
+ return val;
+ }
+
+ static const mp_float& A000367_976(void)
+ {
+ static const mp_float val("-1.85997466294967914951588901062841320768453747286344415555907317629438421765839925681928073056154506275688373100981238586481437774176565045429118355177601338199993523539939946513899182018456247328408715290404518205387308254177710849364953738088228596792596083027141452345313526096835540978058836348671103389859082348883721222979937972310135172178886846339759731772349597621052643164001796198936029770141013721174488967139E+000000000000004025");
+ return val;
+ }
+
+ static const mp_float& A000367_977(void)
+ {
+ static const mp_float val("+2.16501347984166443448009766724240374610557397910525290878323564175474488303958143817155784856705590881019600297752398044588199983515359518217658421513898821876176637032441006116607307221148928365230956544876768551381440358420687478371602366148978284234805106770499832547189209387164426916942212751739276947370273398098493456171789170007829641209113233085599060408515059789763918294585320828470879032535890484954070016256E+000000000000004025");
+ return val;
+ }
+
+ static const mp_float& A000367_978(void)
+ {
+ static const mp_float val("-6.23076050122740093289890886179173819350237282705264682396481191541758155692724539531132844545432820767970470982625447477272193934705296162651722954965209075825398286112250685825533070685511119887341194199232885591831434675117354967569293356701834068577905258193056368524080606531269051925303805247891998819816109863585010005824082116251193403997989091031982689849751892182445073700998798443629272075104215394433174630209E+000000000000004035");
+ return val;
+ }
+
+ static const mp_float& A000367_979(void)
+ {
+ static const mp_float val("+8.37994413832331667776964169218790968084226489666054240991814507665399856795696609011859455764851909698489277463297371252736233673350114033137051953465892349337599469225523152918764795669971863301295017095740247396660945823582257618601961039594495001624166137092986921317831598224818961865754621465108742377771256813291208238678321790247613107791565375800791670594639667171705622251271109172374549986162092097267480110793E+000000000000004038");
+ return val;
+ }
+
+ static const mp_float& A000367_980(void)
+ {
+ static const mp_float val("-2.49831938772735124993356984187230216704546450126885306993217659368685071208815691894321284030677807165138406218277535476039950677487044564769056120309302995212817824692380235501677880871401170937374632703457639941499781068161568761443152476825924727304193538372841593225369147036797954497468020733071924360092926364253617815604177661033676727633113961717201464526293020525010213739731768704789776835244724828295403337157E+000000000000004054");
+ return val;
+ }
+
+ static const mp_float& A000367_981(void)
+ {
+ static const mp_float val("+2.56601699356047169586129930544208421100002392655373170697969637093727848495554457339674951455668481134255625285227759086534192034783469478914466920352477641322555181130654096762184632863035014783408548448422912135944088659883447520432273506256877271155175261519561124012578228675110293604039419292975393843651506231572018513215047540773314845169901147384925753818230756096831990495841523521934633018150492631729409703534E+000000000000004047");
+ return val;
+ }
+
+ static const mp_float& A000367_982(void)
+ {
+ static const mp_float val("-9.26047909579766817807481739989573828336736568880293525375929120353815364849451500143235210224460031656844666335798204536785655531351123718104099551033969811431963568138239030470141709658041686323895989303362499567436844950955932955926533678967054705584721617878550089377065274845302059356002273647233970252144598612758410306641965550809285435254900144099211212288212358891356034519413328320177718110577962294000635490984E+000000000000004053");
+ return val;
+ }
+
+ static const mp_float& A000367_983(void)
+ {
+ static const mp_float val("+1.84372551155484405161565704678973787876305136836373157236066261868828157434022491565119652229072524491790657958071151466552685311369914586181951786792111978467676778138898955134723278453906791977659254559120394079071896690733943576031139050882559655269310330819143058909809736156331690210958063467103179267931306157666395217775119147296245445336212990807112339879654962751460564852530935004142942790762055538125051191263E+000000000000004055");
+ return val;
+ }
+
+ static const mp_float& A000367_984(void)
+ {
+ static const mp_float val("-1.16065833023516421150885511684382613440920992387792295008018976561600301135065971701488979641351655979716166621640369470317488103783517280947062781926927204053893099430828305360869138150656794685369792286041058723807623845654802294586221731561537030233181557270583659914071369863988684278283050087570189390711002874303540651793081626331873104587341387525613016583287609232691922235043030243104387459153802458541735367083E+000000000000004066");
+ return val;
+ }
+
+ static const mp_float& A000367_985(void)
+ {
+ static const mp_float val("+1.95393842286348833700214232553636254386218458413805746526117756383262023277369288608536199349455698858464541986053338421714477291073283382917538907926600765283348898892140701947519952950868465485620233341008677398854666979625629441465149296930730275074355911561066182049776842164829554694359529882491122373295200525725026178005111905752932462239423609885127320607087832362985229801257556878498733847972879783967777668482E+000000000000004066");
+ return val;
+ }
+
+ static const mp_float& A000367_986(void)
+ {
+ static const mp_float val("-1.01789056145627349913467244477652192723638534656530831545663035029106342066545972805236080426345557311764923875964661241167416768705099796530612816989864630581316818005125586893062603579585066554435125597244830143400377274563317126265551138945845176163971168742985595779986085879953223345827683589248483355678738688468141833301525846196355251555253349904388118451337010874777037592145699590039145445613822765070390795204E+000000000000004076");
+ return val;
+ }
+
+ static const mp_float& A000367_987(void)
+ {
+ static const mp_float val("+9.68511604418272718716988535382674828115379088322434956974983609871570339892398382977380155619816035022434570436089394086236170320221796652745308393751423292188655939566566490614115120228095718279144671634327196865208768780906813909067232395040694006590551580249010275003260273453220953773062583450654409485581749065230478246565123389333750456388720556668325372691819684488818661042189102521197123247186281449367523210372E+000000000000004082");
+ return val;
+ }
+
+ static const mp_float& A000367_988(void)
+ {
+ static const mp_float val("-4.51966931400568026531425738872474594828564954678496555303318924541255052433921361237319348704887177731059026121572242822692649802554059822955128348864798579832796113148725157785976800011583556782182129264327534234674254688870779416814041600657757644225496705983546522396505167628453639803762492548946571611864138877747779421550805120435019954633179344984463143630388792064831665690285696847473712762278456237467945997035E+000000000000004082");
+ return val;
+ }
+
+ static const mp_float& A000367_989(void)
+ {
+ static const mp_float val("+1.57136710889719980299502673424118199866966987714102472555509697401240567709474992369550157336911022227183731519190272230351536385251386245283112713776816377884595177090263838361463985772385198261529126443771315254929023522297347535250861710401835770566195961086333359789670157587715664525954679663713304375848625975427069916868151129509063675546654993519301030867072107389313046553690992791846704760038513113091996426605E+000000000000004090");
+ return val;
+ }
+
+ static const mp_float& A000367_990(void)
+ {
+ static const mp_float val("-5.33045270348899666072222733040558724891017167301207804284537273758074841554986119867154665718067033363394298564100439536977281907107262627068327607609533326934304954254886450932406283075257398350552005310434128565431814388160885575429906143622657743784850174119047307778569826665042384417620872897343435929727007343828270629266290491339703798517120085589114964395069436454548053064699235282050057912333910682145073340962E+000000000000004118");
+ return val;
+ }
+
+ static const mp_float& A000367_991(void)
+ {
+ static const mp_float val("+1.66768354283766407157780241248869600449711957027566942127617611340965958162788063101555783278049369886329776650764357760933088663230555343602673304309240594734592871392255092740543466240843474771005125169474817199284644934769034564259749601180281200280259690869753288409556067483109585143261990641534326357904288109177401823835550545802066881216341210403544410028119311615852230548142842223899445211636755094835510720724E+000000000000004095");
+ return val;
+ }
+
+ static const mp_float& A000367_992(void)
+ {
+ static const mp_float val("-1.41265858809761722402887832684261256419701416534141177225121858892865443690080211814142675487388461538323232484472969257184958701839237124078981110798029319647586515894396288778610457608598311347514609952542646452135406351027354336958395516396154789153274409662566845394014852237886462816893311173612938888501348807872880455146476082941437801083996407457768002069877643280491834043722123194685512762075124342473548913183E+000000000000004102");
+ return val;
+ }
+
+ static const mp_float& A000367_993(void)
+ {
+ static const mp_float val("+2.30831043052467496691014854915949553349416956117798635758474316035411176528496079078137727886261623505956325564482454131134744402219429366286134997446862092568052485846782793809373030014304078314897911134019611996937973790303653956191972950192783090357427815860534643000933970164413064343440101117843611894743936927411948676931475334415182876281357647956702085629265340850099108006164326971695664167545341189838945928783E+000000000000004109");
+ return val;
+ }
+
+ static const mp_float& A000367_994(void)
+ {
+ static const mp_float val("-2.40780227013238429586114040762423786277355892206044259826577373636039298155271887466406419967196706325600102454823464055001713820307356036540568579853589413176298330223110403293802707650334858419777889963734795140735220166777572814922748389709517516070906732564804336440424742187059867335652137980448785061725165136942059073141431356260673238250478822173376182619532281165901768299270301173554740992178314534958819298249E+000000000000004112");
+ return val;
+ }
+
+ static const mp_float& A000367_995(void)
+ {
+ static const mp_float val("+1.83135958292518944976050353046758846991155031438727757967687499658866784350296206118128796070376280335216793699541731149754454597701471779461196297436353523047146625879798400817501708498254264631240131701209263463475360721666184469247712485682184470185034391445780723082892514607780860621834551211091337778520224415135461063954721982971418653517645664866997895238574205104493778503927250181278048500348381642053566410033E+000000000000004116");
+ return val;
+ }
+
+ static const mp_float& A000367_996(void)
+ {
+ static const mp_float val("-1.26012221525137320254594974962042178821718629343069673445654339314226379378087732887631163172805622844678887535835468245360434924020749677556338367684490032893221628129552217273683372105018129615545575977254715967658283862775687376130726991484278881052956950105647880101464562042724002160207173909448985461245656008848107223913201031199557145589590483242535699287951710899194524775713147937355643924582104705160713779062E+000000000000004134");
+ return val;
+ }
+
+ static const mp_float& A000367_997(void)
+ {
+ static const mp_float val("+1.68366046277293510160342901486363169036787362894517752360224123957480947921417069474687295331499975443724767279024361048320444538132729374513899577113561517627809633529266868671602262503916947986948764848763838409298567492440572674475246208577088968807993666536891115325072495953345253685569312626528193117842094331835726350239415862303957333977649700603174716229648801236454405569811711946263742795390508261713952891507E+000000000000004125");
+ return val;
+ }
+
+ static const mp_float& A000367_998(void)
+ {
+ static const mp_float val("-1.69568931272925207155772574587610330605077010951553066110351715641210903751933784262031962035113588265436720502927647464090420542614773456995618341277159325723037774295338456989336451452485830879332532700511515176405691012581780241328721378273148471205139419119175906224491943316277319925062092287213777361178234301798489953779576512727736069099368057853843273440160552559509884740927423442849575432910738203596304789237E+000000000000004134");
+ return val;
+ }
+
+ static const mp_float& A000367_999(void)
+ {
+ static const mp_float val("+1.01760990122217025021692371351639940302966816271519413391281051991857725210069968347926442318594293241214858467389797652876383403280621176741851335016885034267357570143706854964966202542900566804684361895658532643997434084812645024300078295728826127796950258876403450421369933528986668554864066000671317142651397500966789260900652360900445887364229863105850010795427837909167597238092580264624583212354983845999720768830E+000000000000004143");
+ return val;
+ }
+
+ static const mp_float& A000367_1000(void)
+ {
+ static const mp_float val("-6.77376326297874057369679631362112660056154890974788550694775510090389049928452299408533299387744421061371314052275747115330231914708791903298960183862485265631534861034316002345415332179355039790329149863548205611883201336776864744093196944677499366008620742551284687442407119219388398253304271863090782651072694235662135615603474370631822758746759888053556760990790046131680518473347422412618821407256753772350238557958E+000000000000004151");
+ return val;
+ }
+
+}
+
+namespace Tables
+{
+ const std::vector<pfn_efloat>& A000367(void)
+ {
+ static const boost::array<pfn_efloat, 1001u> A000367_data =
+ {{
+ A000367_Table::A000367_0,
+ A000367_Table::A000367_1,
+ A000367_Table::A000367_2,
+ A000367_Table::A000367_3,
+ A000367_Table::A000367_4,
+ A000367_Table::A000367_5,
+ A000367_Table::A000367_6,
+ A000367_Table::A000367_7,
+ A000367_Table::A000367_8,
+ A000367_Table::A000367_9,
+ A000367_Table::A000367_10,
+ A000367_Table::A000367_11,
+ A000367_Table::A000367_12,
+ A000367_Table::A000367_13,
+ A000367_Table::A000367_14,
+ A000367_Table::A000367_15,
+ A000367_Table::A000367_16,
+ A000367_Table::A000367_17,
+ A000367_Table::A000367_18,
+ A000367_Table::A000367_19,
+ A000367_Table::A000367_20,
+ A000367_Table::A000367_21,
+ A000367_Table::A000367_22,
+ A000367_Table::A000367_23,
+ A000367_Table::A000367_24,
+ A000367_Table::A000367_25,
+ A000367_Table::A000367_26,
+ A000367_Table::A000367_27,
+ A000367_Table::A000367_28,
+ A000367_Table::A000367_29,
+ A000367_Table::A000367_30,
+ A000367_Table::A000367_31,
+ A000367_Table::A000367_32,
+ A000367_Table::A000367_33,
+ A000367_Table::A000367_34,
+ A000367_Table::A000367_35,
+ A000367_Table::A000367_36,
+ A000367_Table::A000367_37,
+ A000367_Table::A000367_38,
+ A000367_Table::A000367_39,
+ A000367_Table::A000367_40,
+ A000367_Table::A000367_41,
+ A000367_Table::A000367_42,
+ A000367_Table::A000367_43,
+ A000367_Table::A000367_44,
+ A000367_Table::A000367_45,
+ A000367_Table::A000367_46,
+ A000367_Table::A000367_47,
+ A000367_Table::A000367_48,
+ A000367_Table::A000367_49,
+ A000367_Table::A000367_50,
+ A000367_Table::A000367_51,
+ A000367_Table::A000367_52,
+ A000367_Table::A000367_53,
+ A000367_Table::A000367_54,
+ A000367_Table::A000367_55,
+ A000367_Table::A000367_56,
+ A000367_Table::A000367_57,
+ A000367_Table::A000367_58,
+ A000367_Table::A000367_59,
+ A000367_Table::A000367_60,
+ A000367_Table::A000367_61,
+ A000367_Table::A000367_62,
+ A000367_Table::A000367_63,
+ A000367_Table::A000367_64,
+ A000367_Table::A000367_65,
+ A000367_Table::A000367_66,
+ A000367_Table::A000367_67,
+ A000367_Table::A000367_68,
+ A000367_Table::A000367_69,
+ A000367_Table::A000367_70,
+ A000367_Table::A000367_71,
+ A000367_Table::A000367_72,
+ A000367_Table::A000367_73,
+ A000367_Table::A000367_74,
+ A000367_Table::A000367_75,
+ A000367_Table::A000367_76,
+ A000367_Table::A000367_77,
+ A000367_Table::A000367_78,
+ A000367_Table::A000367_79,
+ A000367_Table::A000367_80,
+ A000367_Table::A000367_81,
+ A000367_Table::A000367_82,
+ A000367_Table::A000367_83,
+ A000367_Table::A000367_84,
+ A000367_Table::A000367_85,
+ A000367_Table::A000367_86,
+ A000367_Table::A000367_87,
+ A000367_Table::A000367_88,
+ A000367_Table::A000367_89,
+ A000367_Table::A000367_90,
+ A000367_Table::A000367_91,
+ A000367_Table::A000367_92,
+ A000367_Table::A000367_93,
+ A000367_Table::A000367_94,
+ A000367_Table::A000367_95,
+ A000367_Table::A000367_96,
+ A000367_Table::A000367_97,
+ A000367_Table::A000367_98,
+ A000367_Table::A000367_99,
+ A000367_Table::A000367_100,
+ A000367_Table::A000367_101,
+ A000367_Table::A000367_102,
+ A000367_Table::A000367_103,
+ A000367_Table::A000367_104,
+ A000367_Table::A000367_105,
+ A000367_Table::A000367_106,
+ A000367_Table::A000367_107,
+ A000367_Table::A000367_108,
+ A000367_Table::A000367_109,
+ A000367_Table::A000367_110,
+ A000367_Table::A000367_111,
+ A000367_Table::A000367_112,
+ A000367_Table::A000367_113,
+ A000367_Table::A000367_114,
+ A000367_Table::A000367_115,
+ A000367_Table::A000367_116,
+ A000367_Table::A000367_117,
+ A000367_Table::A000367_118,
+ A000367_Table::A000367_119,
+ A000367_Table::A000367_120,
+ A000367_Table::A000367_121,
+ A000367_Table::A000367_122,
+ A000367_Table::A000367_123,
+ A000367_Table::A000367_124,
+ A000367_Table::A000367_125,
+ A000367_Table::A000367_126,
+ A000367_Table::A000367_127,
+ A000367_Table::A000367_128,
+ A000367_Table::A000367_129,
+ A000367_Table::A000367_130,
+ A000367_Table::A000367_131,
+ A000367_Table::A000367_132,
+ A000367_Table::A000367_133,
+ A000367_Table::A000367_134,
+ A000367_Table::A000367_135,
+ A000367_Table::A000367_136,
+ A000367_Table::A000367_137,
+ A000367_Table::A000367_138,
+ A000367_Table::A000367_139,
+ A000367_Table::A000367_140,
+ A000367_Table::A000367_141,
+ A000367_Table::A000367_142,
+ A000367_Table::A000367_143,
+ A000367_Table::A000367_144,
+ A000367_Table::A000367_145,
+ A000367_Table::A000367_146,
+ A000367_Table::A000367_147,
+ A000367_Table::A000367_148,
+ A000367_Table::A000367_149,
+ A000367_Table::A000367_150,
+ A000367_Table::A000367_151,
+ A000367_Table::A000367_152,
+ A000367_Table::A000367_153,
+ A000367_Table::A000367_154,
+ A000367_Table::A000367_155,
+ A000367_Table::A000367_156,
+ A000367_Table::A000367_157,
+ A000367_Table::A000367_158,
+ A000367_Table::A000367_159,
+ A000367_Table::A000367_160,
+ A000367_Table::A000367_161,
+ A000367_Table::A000367_162,
+ A000367_Table::A000367_163,
+ A000367_Table::A000367_164,
+ A000367_Table::A000367_165,
+ A000367_Table::A000367_166,
+ A000367_Table::A000367_167,
+ A000367_Table::A000367_168,
+ A000367_Table::A000367_169,
+ A000367_Table::A000367_170,
+ A000367_Table::A000367_171,
+ A000367_Table::A000367_172,
+ A000367_Table::A000367_173,
+ A000367_Table::A000367_174,
+ A000367_Table::A000367_175,
+ A000367_Table::A000367_176,
+ A000367_Table::A000367_177,
+ A000367_Table::A000367_178,
+ A000367_Table::A000367_179,
+ A000367_Table::A000367_180,
+ A000367_Table::A000367_181,
+ A000367_Table::A000367_182,
+ A000367_Table::A000367_183,
+ A000367_Table::A000367_184,
+ A000367_Table::A000367_185,
+ A000367_Table::A000367_186,
+ A000367_Table::A000367_187,
+ A000367_Table::A000367_188,
+ A000367_Table::A000367_189,
+ A000367_Table::A000367_190,
+ A000367_Table::A000367_191,
+ A000367_Table::A000367_192,
+ A000367_Table::A000367_193,
+ A000367_Table::A000367_194,
+ A000367_Table::A000367_195,
+ A000367_Table::A000367_196,
+ A000367_Table::A000367_197,
+ A000367_Table::A000367_198,
+ A000367_Table::A000367_199,
+ A000367_Table::A000367_200,
+ A000367_Table::A000367_201,
+ A000367_Table::A000367_202,
+ A000367_Table::A000367_203,
+ A000367_Table::A000367_204,
+ A000367_Table::A000367_205,
+ A000367_Table::A000367_206,
+ A000367_Table::A000367_207,
+ A000367_Table::A000367_208,
+ A000367_Table::A000367_209,
+ A000367_Table::A000367_210,
+ A000367_Table::A000367_211,
+ A000367_Table::A000367_212,
+ A000367_Table::A000367_213,
+ A000367_Table::A000367_214,
+ A000367_Table::A000367_215,
+ A000367_Table::A000367_216,
+ A000367_Table::A000367_217,
+ A000367_Table::A000367_218,
+ A000367_Table::A000367_219,
+ A000367_Table::A000367_220,
+ A000367_Table::A000367_221,
+ A000367_Table::A000367_222,
+ A000367_Table::A000367_223,
+ A000367_Table::A000367_224,
+ A000367_Table::A000367_225,
+ A000367_Table::A000367_226,
+ A000367_Table::A000367_227,
+ A000367_Table::A000367_228,
+ A000367_Table::A000367_229,
+ A000367_Table::A000367_230,
+ A000367_Table::A000367_231,
+ A000367_Table::A000367_232,
+ A000367_Table::A000367_233,
+ A000367_Table::A000367_234,
+ A000367_Table::A000367_235,
+ A000367_Table::A000367_236,
+ A000367_Table::A000367_237,
+ A000367_Table::A000367_238,
+ A000367_Table::A000367_239,
+ A000367_Table::A000367_240,
+ A000367_Table::A000367_241,
+ A000367_Table::A000367_242,
+ A000367_Table::A000367_243,
+ A000367_Table::A000367_244,
+ A000367_Table::A000367_245,
+ A000367_Table::A000367_246,
+ A000367_Table::A000367_247,
+ A000367_Table::A000367_248,
+ A000367_Table::A000367_249,
+ A000367_Table::A000367_250,
+ A000367_Table::A000367_251,
+ A000367_Table::A000367_252,
+ A000367_Table::A000367_253,
+ A000367_Table::A000367_254,
+ A000367_Table::A000367_255,
+ A000367_Table::A000367_256,
+ A000367_Table::A000367_257,
+ A000367_Table::A000367_258,
+ A000367_Table::A000367_259,
+ A000367_Table::A000367_260,
+ A000367_Table::A000367_261,
+ A000367_Table::A000367_262,
+ A000367_Table::A000367_263,
+ A000367_Table::A000367_264,
+ A000367_Table::A000367_265,
+ A000367_Table::A000367_266,
+ A000367_Table::A000367_267,
+ A000367_Table::A000367_268,
+ A000367_Table::A000367_269,
+ A000367_Table::A000367_270,
+ A000367_Table::A000367_271,
+ A000367_Table::A000367_272,
+ A000367_Table::A000367_273,
+ A000367_Table::A000367_274,
+ A000367_Table::A000367_275,
+ A000367_Table::A000367_276,
+ A000367_Table::A000367_277,
+ A000367_Table::A000367_278,
+ A000367_Table::A000367_279,
+ A000367_Table::A000367_280,
+ A000367_Table::A000367_281,
+ A000367_Table::A000367_282,
+ A000367_Table::A000367_283,
+ A000367_Table::A000367_284,
+ A000367_Table::A000367_285,
+ A000367_Table::A000367_286,
+ A000367_Table::A000367_287,
+ A000367_Table::A000367_288,
+ A000367_Table::A000367_289,
+ A000367_Table::A000367_290,
+ A000367_Table::A000367_291,
+ A000367_Table::A000367_292,
+ A000367_Table::A000367_293,
+ A000367_Table::A000367_294,
+ A000367_Table::A000367_295,
+ A000367_Table::A000367_296,
+ A000367_Table::A000367_297,
+ A000367_Table::A000367_298,
+ A000367_Table::A000367_299,
+ A000367_Table::A000367_300,
+ A000367_Table::A000367_301,
+ A000367_Table::A000367_302,
+ A000367_Table::A000367_303,
+ A000367_Table::A000367_304,
+ A000367_Table::A000367_305,
+ A000367_Table::A000367_306,
+ A000367_Table::A000367_307,
+ A000367_Table::A000367_308,
+ A000367_Table::A000367_309,
+ A000367_Table::A000367_310,
+ A000367_Table::A000367_311,
+ A000367_Table::A000367_312,
+ A000367_Table::A000367_313,
+ A000367_Table::A000367_314,
+ A000367_Table::A000367_315,
+ A000367_Table::A000367_316,
+ A000367_Table::A000367_317,
+ A000367_Table::A000367_318,
+ A000367_Table::A000367_319,
+ A000367_Table::A000367_320,
+ A000367_Table::A000367_321,
+ A000367_Table::A000367_322,
+ A000367_Table::A000367_323,
+ A000367_Table::A000367_324,
+ A000367_Table::A000367_325,
+ A000367_Table::A000367_326,
+ A000367_Table::A000367_327,
+ A000367_Table::A000367_328,
+ A000367_Table::A000367_329,
+ A000367_Table::A000367_330,
+ A000367_Table::A000367_331,
+ A000367_Table::A000367_332,
+ A000367_Table::A000367_333,
+ A000367_Table::A000367_334,
+ A000367_Table::A000367_335,
+ A000367_Table::A000367_336,
+ A000367_Table::A000367_337,
+ A000367_Table::A000367_338,
+ A000367_Table::A000367_339,
+ A000367_Table::A000367_340,
+ A000367_Table::A000367_341,
+ A000367_Table::A000367_342,
+ A000367_Table::A000367_343,
+ A000367_Table::A000367_344,
+ A000367_Table::A000367_345,
+ A000367_Table::A000367_346,
+ A000367_Table::A000367_347,
+ A000367_Table::A000367_348,
+ A000367_Table::A000367_349,
+ A000367_Table::A000367_350,
+ A000367_Table::A000367_351,
+ A000367_Table::A000367_352,
+ A000367_Table::A000367_353,
+ A000367_Table::A000367_354,
+ A000367_Table::A000367_355,
+ A000367_Table::A000367_356,
+ A000367_Table::A000367_357,
+ A000367_Table::A000367_358,
+ A000367_Table::A000367_359,
+ A000367_Table::A000367_360,
+ A000367_Table::A000367_361,
+ A000367_Table::A000367_362,
+ A000367_Table::A000367_363,
+ A000367_Table::A000367_364,
+ A000367_Table::A000367_365,
+ A000367_Table::A000367_366,
+ A000367_Table::A000367_367,
+ A000367_Table::A000367_368,
+ A000367_Table::A000367_369,
+ A000367_Table::A000367_370,
+ A000367_Table::A000367_371,
+ A000367_Table::A000367_372,
+ A000367_Table::A000367_373,
+ A000367_Table::A000367_374,
+ A000367_Table::A000367_375,
+ A000367_Table::A000367_376,
+ A000367_Table::A000367_377,
+ A000367_Table::A000367_378,
+ A000367_Table::A000367_379,
+ A000367_Table::A000367_380,
+ A000367_Table::A000367_381,
+ A000367_Table::A000367_382,
+ A000367_Table::A000367_383,
+ A000367_Table::A000367_384,
+ A000367_Table::A000367_385,
+ A000367_Table::A000367_386,
+ A000367_Table::A000367_387,
+ A000367_Table::A000367_388,
+ A000367_Table::A000367_389,
+ A000367_Table::A000367_390,
+ A000367_Table::A000367_391,
+ A000367_Table::A000367_392,
+ A000367_Table::A000367_393,
+ A000367_Table::A000367_394,
+ A000367_Table::A000367_395,
+ A000367_Table::A000367_396,
+ A000367_Table::A000367_397,
+ A000367_Table::A000367_398,
+ A000367_Table::A000367_399,
+ A000367_Table::A000367_400,
+ A000367_Table::A000367_401,
+ A000367_Table::A000367_402,
+ A000367_Table::A000367_403,
+ A000367_Table::A000367_404,
+ A000367_Table::A000367_405,
+ A000367_Table::A000367_406,
+ A000367_Table::A000367_407,
+ A000367_Table::A000367_408,
+ A000367_Table::A000367_409,
+ A000367_Table::A000367_410,
+ A000367_Table::A000367_411,
+ A000367_Table::A000367_412,
+ A000367_Table::A000367_413,
+ A000367_Table::A000367_414,
+ A000367_Table::A000367_415,
+ A000367_Table::A000367_416,
+ A000367_Table::A000367_417,
+ A000367_Table::A000367_418,
+ A000367_Table::A000367_419,
+ A000367_Table::A000367_420,
+ A000367_Table::A000367_421,
+ A000367_Table::A000367_422,
+ A000367_Table::A000367_423,
+ A000367_Table::A000367_424,
+ A000367_Table::A000367_425,
+ A000367_Table::A000367_426,
+ A000367_Table::A000367_427,
+ A000367_Table::A000367_428,
+ A000367_Table::A000367_429,
+ A000367_Table::A000367_430,
+ A000367_Table::A000367_431,
+ A000367_Table::A000367_432,
+ A000367_Table::A000367_433,
+ A000367_Table::A000367_434,
+ A000367_Table::A000367_435,
+ A000367_Table::A000367_436,
+ A000367_Table::A000367_437,
+ A000367_Table::A000367_438,
+ A000367_Table::A000367_439,
+ A000367_Table::A000367_440,
+ A000367_Table::A000367_441,
+ A000367_Table::A000367_442,
+ A000367_Table::A000367_443,
+ A000367_Table::A000367_444,
+ A000367_Table::A000367_445,
+ A000367_Table::A000367_446,
+ A000367_Table::A000367_447,
+ A000367_Table::A000367_448,
+ A000367_Table::A000367_449,
+ A000367_Table::A000367_450,
+ A000367_Table::A000367_451,
+ A000367_Table::A000367_452,
+ A000367_Table::A000367_453,
+ A000367_Table::A000367_454,
+ A000367_Table::A000367_455,
+ A000367_Table::A000367_456,
+ A000367_Table::A000367_457,
+ A000367_Table::A000367_458,
+ A000367_Table::A000367_459,
+ A000367_Table::A000367_460,
+ A000367_Table::A000367_461,
+ A000367_Table::A000367_462,
+ A000367_Table::A000367_463,
+ A000367_Table::A000367_464,
+ A000367_Table::A000367_465,
+ A000367_Table::A000367_466,
+ A000367_Table::A000367_467,
+ A000367_Table::A000367_468,
+ A000367_Table::A000367_469,
+ A000367_Table::A000367_470,
+ A000367_Table::A000367_471,
+ A000367_Table::A000367_472,
+ A000367_Table::A000367_473,
+ A000367_Table::A000367_474,
+ A000367_Table::A000367_475,
+ A000367_Table::A000367_476,
+ A000367_Table::A000367_477,
+ A000367_Table::A000367_478,
+ A000367_Table::A000367_479,
+ A000367_Table::A000367_480,
+ A000367_Table::A000367_481,
+ A000367_Table::A000367_482,
+ A000367_Table::A000367_483,
+ A000367_Table::A000367_484,
+ A000367_Table::A000367_485,
+ A000367_Table::A000367_486,
+ A000367_Table::A000367_487,
+ A000367_Table::A000367_488,
+ A000367_Table::A000367_489,
+ A000367_Table::A000367_490,
+ A000367_Table::A000367_491,
+ A000367_Table::A000367_492,
+ A000367_Table::A000367_493,
+ A000367_Table::A000367_494,
+ A000367_Table::A000367_495,
+ A000367_Table::A000367_496,
+ A000367_Table::A000367_497,
+ A000367_Table::A000367_498,
+ A000367_Table::A000367_499,
+ A000367_Table::A000367_500,
+ A000367_Table::A000367_501,
+ A000367_Table::A000367_502,
+ A000367_Table::A000367_503,
+ A000367_Table::A000367_504,
+ A000367_Table::A000367_505,
+ A000367_Table::A000367_506,
+ A000367_Table::A000367_507,
+ A000367_Table::A000367_508,
+ A000367_Table::A000367_509,
+ A000367_Table::A000367_510,
+ A000367_Table::A000367_511,
+ A000367_Table::A000367_512,
+ A000367_Table::A000367_513,
+ A000367_Table::A000367_514,
+ A000367_Table::A000367_515,
+ A000367_Table::A000367_516,
+ A000367_Table::A000367_517,
+ A000367_Table::A000367_518,
+ A000367_Table::A000367_519,
+ A000367_Table::A000367_520,
+ A000367_Table::A000367_521,
+ A000367_Table::A000367_522,
+ A000367_Table::A000367_523,
+ A000367_Table::A000367_524,
+ A000367_Table::A000367_525,
+ A000367_Table::A000367_526,
+ A000367_Table::A000367_527,
+ A000367_Table::A000367_528,
+ A000367_Table::A000367_529,
+ A000367_Table::A000367_530,
+ A000367_Table::A000367_531,
+ A000367_Table::A000367_532,
+ A000367_Table::A000367_533,
+ A000367_Table::A000367_534,
+ A000367_Table::A000367_535,
+ A000367_Table::A000367_536,
+ A000367_Table::A000367_537,
+ A000367_Table::A000367_538,
+ A000367_Table::A000367_539,
+ A000367_Table::A000367_540,
+ A000367_Table::A000367_541,
+ A000367_Table::A000367_542,
+ A000367_Table::A000367_543,
+ A000367_Table::A000367_544,
+ A000367_Table::A000367_545,
+ A000367_Table::A000367_546,
+ A000367_Table::A000367_547,
+ A000367_Table::A000367_548,
+ A000367_Table::A000367_549,
+ A000367_Table::A000367_550,
+ A000367_Table::A000367_551,
+ A000367_Table::A000367_552,
+ A000367_Table::A000367_553,
+ A000367_Table::A000367_554,
+ A000367_Table::A000367_555,
+ A000367_Table::A000367_556,
+ A000367_Table::A000367_557,
+ A000367_Table::A000367_558,
+ A000367_Table::A000367_559,
+ A000367_Table::A000367_560,
+ A000367_Table::A000367_561,
+ A000367_Table::A000367_562,
+ A000367_Table::A000367_563,
+ A000367_Table::A000367_564,
+ A000367_Table::A000367_565,
+ A000367_Table::A000367_566,
+ A000367_Table::A000367_567,
+ A000367_Table::A000367_568,
+ A000367_Table::A000367_569,
+ A000367_Table::A000367_570,
+ A000367_Table::A000367_571,
+ A000367_Table::A000367_572,
+ A000367_Table::A000367_573,
+ A000367_Table::A000367_574,
+ A000367_Table::A000367_575,
+ A000367_Table::A000367_576,
+ A000367_Table::A000367_577,
+ A000367_Table::A000367_578,
+ A000367_Table::A000367_579,
+ A000367_Table::A000367_580,
+ A000367_Table::A000367_581,
+ A000367_Table::A000367_582,
+ A000367_Table::A000367_583,
+ A000367_Table::A000367_584,
+ A000367_Table::A000367_585,
+ A000367_Table::A000367_586,
+ A000367_Table::A000367_587,
+ A000367_Table::A000367_588,
+ A000367_Table::A000367_589,
+ A000367_Table::A000367_590,
+ A000367_Table::A000367_591,
+ A000367_Table::A000367_592,
+ A000367_Table::A000367_593,
+ A000367_Table::A000367_594,
+ A000367_Table::A000367_595,
+ A000367_Table::A000367_596,
+ A000367_Table::A000367_597,
+ A000367_Table::A000367_598,
+ A000367_Table::A000367_599,
+ A000367_Table::A000367_600,
+ A000367_Table::A000367_601,
+ A000367_Table::A000367_602,
+ A000367_Table::A000367_603,
+ A000367_Table::A000367_604,
+ A000367_Table::A000367_605,
+ A000367_Table::A000367_606,
+ A000367_Table::A000367_607,
+ A000367_Table::A000367_608,
+ A000367_Table::A000367_609,
+ A000367_Table::A000367_610,
+ A000367_Table::A000367_611,
+ A000367_Table::A000367_612,
+ A000367_Table::A000367_613,
+ A000367_Table::A000367_614,
+ A000367_Table::A000367_615,
+ A000367_Table::A000367_616,
+ A000367_Table::A000367_617,
+ A000367_Table::A000367_618,
+ A000367_Table::A000367_619,
+ A000367_Table::A000367_620,
+ A000367_Table::A000367_621,
+ A000367_Table::A000367_622,
+ A000367_Table::A000367_623,
+ A000367_Table::A000367_624,
+ A000367_Table::A000367_625,
+ A000367_Table::A000367_626,
+ A000367_Table::A000367_627,
+ A000367_Table::A000367_628,
+ A000367_Table::A000367_629,
+ A000367_Table::A000367_630,
+ A000367_Table::A000367_631,
+ A000367_Table::A000367_632,
+ A000367_Table::A000367_633,
+ A000367_Table::A000367_634,
+ A000367_Table::A000367_635,
+ A000367_Table::A000367_636,
+ A000367_Table::A000367_637,
+ A000367_Table::A000367_638,
+ A000367_Table::A000367_639,
+ A000367_Table::A000367_640,
+ A000367_Table::A000367_641,
+ A000367_Table::A000367_642,
+ A000367_Table::A000367_643,
+ A000367_Table::A000367_644,
+ A000367_Table::A000367_645,
+ A000367_Table::A000367_646,
+ A000367_Table::A000367_647,
+ A000367_Table::A000367_648,
+ A000367_Table::A000367_649,
+ A000367_Table::A000367_650,
+ A000367_Table::A000367_651,
+ A000367_Table::A000367_652,
+ A000367_Table::A000367_653,
+ A000367_Table::A000367_654,
+ A000367_Table::A000367_655,
+ A000367_Table::A000367_656,
+ A000367_Table::A000367_657,
+ A000367_Table::A000367_658,
+ A000367_Table::A000367_659,
+ A000367_Table::A000367_660,
+ A000367_Table::A000367_661,
+ A000367_Table::A000367_662,
+ A000367_Table::A000367_663,
+ A000367_Table::A000367_664,
+ A000367_Table::A000367_665,
+ A000367_Table::A000367_666,
+ A000367_Table::A000367_667,
+ A000367_Table::A000367_668,
+ A000367_Table::A000367_669,
+ A000367_Table::A000367_670,
+ A000367_Table::A000367_671,
+ A000367_Table::A000367_672,
+ A000367_Table::A000367_673,
+ A000367_Table::A000367_674,
+ A000367_Table::A000367_675,
+ A000367_Table::A000367_676,
+ A000367_Table::A000367_677,
+ A000367_Table::A000367_678,
+ A000367_Table::A000367_679,
+ A000367_Table::A000367_680,
+ A000367_Table::A000367_681,
+ A000367_Table::A000367_682,
+ A000367_Table::A000367_683,
+ A000367_Table::A000367_684,
+ A000367_Table::A000367_685,
+ A000367_Table::A000367_686,
+ A000367_Table::A000367_687,
+ A000367_Table::A000367_688,
+ A000367_Table::A000367_689,
+ A000367_Table::A000367_690,
+ A000367_Table::A000367_691,
+ A000367_Table::A000367_692,
+ A000367_Table::A000367_693,
+ A000367_Table::A000367_694,
+ A000367_Table::A000367_695,
+ A000367_Table::A000367_696,
+ A000367_Table::A000367_697,
+ A000367_Table::A000367_698,
+ A000367_Table::A000367_699,
+ A000367_Table::A000367_700,
+ A000367_Table::A000367_701,
+ A000367_Table::A000367_702,
+ A000367_Table::A000367_703,
+ A000367_Table::A000367_704,
+ A000367_Table::A000367_705,
+ A000367_Table::A000367_706,
+ A000367_Table::A000367_707,
+ A000367_Table::A000367_708,
+ A000367_Table::A000367_709,
+ A000367_Table::A000367_710,
+ A000367_Table::A000367_711,
+ A000367_Table::A000367_712,
+ A000367_Table::A000367_713,
+ A000367_Table::A000367_714,
+ A000367_Table::A000367_715,
+ A000367_Table::A000367_716,
+ A000367_Table::A000367_717,
+ A000367_Table::A000367_718,
+ A000367_Table::A000367_719,
+ A000367_Table::A000367_720,
+ A000367_Table::A000367_721,
+ A000367_Table::A000367_722,
+ A000367_Table::A000367_723,
+ A000367_Table::A000367_724,
+ A000367_Table::A000367_725,
+ A000367_Table::A000367_726,
+ A000367_Table::A000367_727,
+ A000367_Table::A000367_728,
+ A000367_Table::A000367_729,
+ A000367_Table::A000367_730,
+ A000367_Table::A000367_731,
+ A000367_Table::A000367_732,
+ A000367_Table::A000367_733,
+ A000367_Table::A000367_734,
+ A000367_Table::A000367_735,
+ A000367_Table::A000367_736,
+ A000367_Table::A000367_737,
+ A000367_Table::A000367_738,
+ A000367_Table::A000367_739,
+ A000367_Table::A000367_740,
+ A000367_Table::A000367_741,
+ A000367_Table::A000367_742,
+ A000367_Table::A000367_743,
+ A000367_Table::A000367_744,
+ A000367_Table::A000367_745,
+ A000367_Table::A000367_746,
+ A000367_Table::A000367_747,
+ A000367_Table::A000367_748,
+ A000367_Table::A000367_749,
+ A000367_Table::A000367_750,
+ A000367_Table::A000367_751,
+ A000367_Table::A000367_752,
+ A000367_Table::A000367_753,
+ A000367_Table::A000367_754,
+ A000367_Table::A000367_755,
+ A000367_Table::A000367_756,
+ A000367_Table::A000367_757,
+ A000367_Table::A000367_758,
+ A000367_Table::A000367_759,
+ A000367_Table::A000367_760,
+ A000367_Table::A000367_761,
+ A000367_Table::A000367_762,
+ A000367_Table::A000367_763,
+ A000367_Table::A000367_764,
+ A000367_Table::A000367_765,
+ A000367_Table::A000367_766,
+ A000367_Table::A000367_767,
+ A000367_Table::A000367_768,
+ A000367_Table::A000367_769,
+ A000367_Table::A000367_770,
+ A000367_Table::A000367_771,
+ A000367_Table::A000367_772,
+ A000367_Table::A000367_773,
+ A000367_Table::A000367_774,
+ A000367_Table::A000367_775,
+ A000367_Table::A000367_776,
+ A000367_Table::A000367_777,
+ A000367_Table::A000367_778,
+ A000367_Table::A000367_779,
+ A000367_Table::A000367_780,
+ A000367_Table::A000367_781,
+ A000367_Table::A000367_782,
+ A000367_Table::A000367_783,
+ A000367_Table::A000367_784,
+ A000367_Table::A000367_785,
+ A000367_Table::A000367_786,
+ A000367_Table::A000367_787,
+ A000367_Table::A000367_788,
+ A000367_Table::A000367_789,
+ A000367_Table::A000367_790,
+ A000367_Table::A000367_791,
+ A000367_Table::A000367_792,
+ A000367_Table::A000367_793,
+ A000367_Table::A000367_794,
+ A000367_Table::A000367_795,
+ A000367_Table::A000367_796,
+ A000367_Table::A000367_797,
+ A000367_Table::A000367_798,
+ A000367_Table::A000367_799,
+ A000367_Table::A000367_800,
+ A000367_Table::A000367_801,
+ A000367_Table::A000367_802,
+ A000367_Table::A000367_803,
+ A000367_Table::A000367_804,
+ A000367_Table::A000367_805,
+ A000367_Table::A000367_806,
+ A000367_Table::A000367_807,
+ A000367_Table::A000367_808,
+ A000367_Table::A000367_809,
+ A000367_Table::A000367_810,
+ A000367_Table::A000367_811,
+ A000367_Table::A000367_812,
+ A000367_Table::A000367_813,
+ A000367_Table::A000367_814,
+ A000367_Table::A000367_815,
+ A000367_Table::A000367_816,
+ A000367_Table::A000367_817,
+ A000367_Table::A000367_818,
+ A000367_Table::A000367_819,
+ A000367_Table::A000367_820,
+ A000367_Table::A000367_821,
+ A000367_Table::A000367_822,
+ A000367_Table::A000367_823,
+ A000367_Table::A000367_824,
+ A000367_Table::A000367_825,
+ A000367_Table::A000367_826,
+ A000367_Table::A000367_827,
+ A000367_Table::A000367_828,
+ A000367_Table::A000367_829,
+ A000367_Table::A000367_830,
+ A000367_Table::A000367_831,
+ A000367_Table::A000367_832,
+ A000367_Table::A000367_833,
+ A000367_Table::A000367_834,
+ A000367_Table::A000367_835,
+ A000367_Table::A000367_836,
+ A000367_Table::A000367_837,
+ A000367_Table::A000367_838,
+ A000367_Table::A000367_839,
+ A000367_Table::A000367_840,
+ A000367_Table::A000367_841,
+ A000367_Table::A000367_842,
+ A000367_Table::A000367_843,
+ A000367_Table::A000367_844,
+ A000367_Table::A000367_845,
+ A000367_Table::A000367_846,
+ A000367_Table::A000367_847,
+ A000367_Table::A000367_848,
+ A000367_Table::A000367_849,
+ A000367_Table::A000367_850,
+ A000367_Table::A000367_851,
+ A000367_Table::A000367_852,
+ A000367_Table::A000367_853,
+ A000367_Table::A000367_854,
+ A000367_Table::A000367_855,
+ A000367_Table::A000367_856,
+ A000367_Table::A000367_857,
+ A000367_Table::A000367_858,
+ A000367_Table::A000367_859,
+ A000367_Table::A000367_860,
+ A000367_Table::A000367_861,
+ A000367_Table::A000367_862,
+ A000367_Table::A000367_863,
+ A000367_Table::A000367_864,
+ A000367_Table::A000367_865,
+ A000367_Table::A000367_866,
+ A000367_Table::A000367_867,
+ A000367_Table::A000367_868,
+ A000367_Table::A000367_869,
+ A000367_Table::A000367_870,
+ A000367_Table::A000367_871,
+ A000367_Table::A000367_872,
+ A000367_Table::A000367_873,
+ A000367_Table::A000367_874,
+ A000367_Table::A000367_875,
+ A000367_Table::A000367_876,
+ A000367_Table::A000367_877,
+ A000367_Table::A000367_878,
+ A000367_Table::A000367_879,
+ A000367_Table::A000367_880,
+ A000367_Table::A000367_881,
+ A000367_Table::A000367_882,
+ A000367_Table::A000367_883,
+ A000367_Table::A000367_884,
+ A000367_Table::A000367_885,
+ A000367_Table::A000367_886,
+ A000367_Table::A000367_887,
+ A000367_Table::A000367_888,
+ A000367_Table::A000367_889,
+ A000367_Table::A000367_890,
+ A000367_Table::A000367_891,
+ A000367_Table::A000367_892,
+ A000367_Table::A000367_893,
+ A000367_Table::A000367_894,
+ A000367_Table::A000367_895,
+ A000367_Table::A000367_896,
+ A000367_Table::A000367_897,
+ A000367_Table::A000367_898,
+ A000367_Table::A000367_899,
+ A000367_Table::A000367_900,
+ A000367_Table::A000367_901,
+ A000367_Table::A000367_902,
+ A000367_Table::A000367_903,
+ A000367_Table::A000367_904,
+ A000367_Table::A000367_905,
+ A000367_Table::A000367_906,
+ A000367_Table::A000367_907,
+ A000367_Table::A000367_908,
+ A000367_Table::A000367_909,
+ A000367_Table::A000367_910,
+ A000367_Table::A000367_911,
+ A000367_Table::A000367_912,
+ A000367_Table::A000367_913,
+ A000367_Table::A000367_914,
+ A000367_Table::A000367_915,
+ A000367_Table::A000367_916,
+ A000367_Table::A000367_917,
+ A000367_Table::A000367_918,
+ A000367_Table::A000367_919,
+ A000367_Table::A000367_920,
+ A000367_Table::A000367_921,
+ A000367_Table::A000367_922,
+ A000367_Table::A000367_923,
+ A000367_Table::A000367_924,
+ A000367_Table::A000367_925,
+ A000367_Table::A000367_926,
+ A000367_Table::A000367_927,
+ A000367_Table::A000367_928,
+ A000367_Table::A000367_929,
+ A000367_Table::A000367_930,
+ A000367_Table::A000367_931,
+ A000367_Table::A000367_932,
+ A000367_Table::A000367_933,
+ A000367_Table::A000367_934,
+ A000367_Table::A000367_935,
+ A000367_Table::A000367_936,
+ A000367_Table::A000367_937,
+ A000367_Table::A000367_938,
+ A000367_Table::A000367_939,
+ A000367_Table::A000367_940,
+ A000367_Table::A000367_941,
+ A000367_Table::A000367_942,
+ A000367_Table::A000367_943,
+ A000367_Table::A000367_944,
+ A000367_Table::A000367_945,
+ A000367_Table::A000367_946,
+ A000367_Table::A000367_947,
+ A000367_Table::A000367_948,
+ A000367_Table::A000367_949,
+ A000367_Table::A000367_950,
+ A000367_Table::A000367_951,
+ A000367_Table::A000367_952,
+ A000367_Table::A000367_953,
+ A000367_Table::A000367_954,
+ A000367_Table::A000367_955,
+ A000367_Table::A000367_956,
+ A000367_Table::A000367_957,
+ A000367_Table::A000367_958,
+ A000367_Table::A000367_959,
+ A000367_Table::A000367_960,
+ A000367_Table::A000367_961,
+ A000367_Table::A000367_962,
+ A000367_Table::A000367_963,
+ A000367_Table::A000367_964,
+ A000367_Table::A000367_965,
+ A000367_Table::A000367_966,
+ A000367_Table::A000367_967,
+ A000367_Table::A000367_968,
+ A000367_Table::A000367_969,
+ A000367_Table::A000367_970,
+ A000367_Table::A000367_971,
+ A000367_Table::A000367_972,
+ A000367_Table::A000367_973,
+ A000367_Table::A000367_974,
+ A000367_Table::A000367_975,
+ A000367_Table::A000367_976,
+ A000367_Table::A000367_977,
+ A000367_Table::A000367_978,
+ A000367_Table::A000367_979,
+ A000367_Table::A000367_980,
+ A000367_Table::A000367_981,
+ A000367_Table::A000367_982,
+ A000367_Table::A000367_983,
+ A000367_Table::A000367_984,
+ A000367_Table::A000367_985,
+ A000367_Table::A000367_986,
+ A000367_Table::A000367_987,
+ A000367_Table::A000367_988,
+ A000367_Table::A000367_989,
+ A000367_Table::A000367_990,
+ A000367_Table::A000367_991,
+ A000367_Table::A000367_992,
+ A000367_Table::A000367_993,
+ A000367_Table::A000367_994,
+ A000367_Table::A000367_995,
+ A000367_Table::A000367_996,
+ A000367_Table::A000367_997,
+ A000367_Table::A000367_998,
+ A000367_Table::A000367_999,
+ A000367_Table::A000367_1000,
+ }};
+
+ static const std::vector<pfn_efloat> A000367_vect(A000367_data.begin(), A000367_data.end());
+
+ return A000367_vect;
+ }
+}

Added: sandbox/multiprecision/src/functions/tables/A002445.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/tables/A002445.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,7041 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <vector>
+#include <boost/array.hpp>
+#include "tables.h"
+
+using boost::multiprecision::mp_float;
+
+namespace A002445_Table
+{
+ static const mp_float& A002445_0(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A002445_1(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_2(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_3(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_4(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_5(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_6(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2730L));
+ return val;
+ }
+
+ static const mp_float& A002445_7(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_8(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_9(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_10(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(330L));
+ return val;
+ }
+
+ static const mp_float& A002445_11(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_12(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2730L));
+ return val;
+ }
+
+ static const mp_float& A002445_13(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_14(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(870L));
+ return val;
+ }
+
+ static const mp_float& A002445_15(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(14322L));
+ return val;
+ }
+
+ static const mp_float& A002445_16(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_17(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_18(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1919190L));
+ return val;
+ }
+
+ static const mp_float& A002445_19(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_20(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(13530L));
+ return val;
+ }
+
+ static const mp_float& A002445_21(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1806L));
+ return val;
+ }
+
+ static const mp_float& A002445_22(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(690L));
+ return val;
+ }
+
+ static const mp_float& A002445_23(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(282L));
+ return val;
+ }
+
+ static const mp_float& A002445_24(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(46410L));
+ return val;
+ }
+
+ static const mp_float& A002445_25(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_26(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1590L));
+ return val;
+ }
+
+ static const mp_float& A002445_27(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_28(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(870L));
+ return val;
+ }
+
+ static const mp_float& A002445_29(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(354L));
+ return val;
+ }
+
+ static const mp_float& A002445_30(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(56786730L));
+ return val;
+ }
+
+ static const mp_float& A002445_31(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_32(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_33(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(64722L));
+ return val;
+ }
+
+ static const mp_float& A002445_34(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_35(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4686L));
+ return val;
+ }
+
+ static const mp_float& A002445_36(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(140100870L));
+ return val;
+ }
+
+ static const mp_float& A002445_37(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_38(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_39(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3318L));
+ return val;
+ }
+
+ static const mp_float& A002445_40(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(230010L));
+ return val;
+ }
+
+ static const mp_float& A002445_41(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(498L));
+ return val;
+ }
+
+ static const mp_float& A002445_42(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3404310L));
+ return val;
+ }
+
+ static const mp_float& A002445_43(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_44(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(61410L));
+ return val;
+ }
+
+ static const mp_float& A002445_45(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(272118L));
+ return val;
+ }
+
+ static const mp_float& A002445_46(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1410L));
+ return val;
+ }
+
+ static const mp_float& A002445_47(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_48(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4501770L));
+ return val;
+ }
+
+ static const mp_float& A002445_49(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_50(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(33330L));
+ return val;
+ }
+
+ static const mp_float& A002445_51(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4326L));
+ return val;
+ }
+
+ static const mp_float& A002445_52(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1590L));
+ return val;
+ }
+
+ static const mp_float& A002445_53(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(642L));
+ return val;
+ }
+
+ static const mp_float& A002445_54(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(209191710L));
+ return val;
+ }
+
+ static const mp_float& A002445_55(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1518L));
+ return val;
+ }
+
+ static const mp_float& A002445_56(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1671270L));
+ return val;
+ }
+
+ static const mp_float& A002445_57(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_58(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1770L));
+ return val;
+ }
+
+ static const mp_float& A002445_59(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_60(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2328255930LL));
+ return val;
+ }
+
+ static const mp_float& A002445_61(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_62(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_63(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4357878L));
+ return val;
+ }
+
+ static const mp_float& A002445_64(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_65(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8646L));
+ return val;
+ }
+
+ static const mp_float& A002445_66(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4206930L));
+ return val;
+ }
+
+ static const mp_float& A002445_67(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_68(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4110L));
+ return val;
+ }
+
+ static const mp_float& A002445_69(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(274386L));
+ return val;
+ }
+
+ static const mp_float& A002445_70(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(679470L));
+ return val;
+ }
+
+ static const mp_float& A002445_71(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_72(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2381714790LL));
+ return val;
+ }
+
+ static const mp_float& A002445_73(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_74(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4470L));
+ return val;
+ }
+
+ static const mp_float& A002445_75(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2162622L));
+ return val;
+ }
+
+ static const mp_float& A002445_76(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_77(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_78(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1794590070L));
+ return val;
+ }
+
+ static const mp_float& A002445_79(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_80(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(230010L));
+ return val;
+ }
+
+ static const mp_float& A002445_81(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(130074L));
+ return val;
+ }
+
+ static const mp_float& A002445_82(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2490L));
+ return val;
+ }
+
+ static const mp_float& A002445_83(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1002L));
+ return val;
+ }
+
+ static const mp_float& A002445_84(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3404310L));
+ return val;
+ }
+
+ static const mp_float& A002445_85(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_86(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5190L));
+ return val;
+ }
+
+ static const mp_float& A002445_87(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2478L));
+ return val;
+ }
+
+ static const mp_float& A002445_88(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1043970L));
+ return val;
+ }
+
+ static const mp_float& A002445_89(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1074L));
+ return val;
+ }
+
+ static const mp_float& A002445_90(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(7225713885390LL));
+ return val;
+ }
+
+ static const mp_float& A002445_91(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_92(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1410L));
+ return val;
+ }
+
+ static const mp_float& A002445_93(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_94(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_95(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(12606L));
+ return val;
+ }
+
+ static const mp_float& A002445_96(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(868841610L));
+ return val;
+ }
+
+ static const mp_float& A002445_97(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_98(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(171390L));
+ return val;
+ }
+
+ static const mp_float& A002445_99(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(244713882L));
+ return val;
+ }
+
+ static const mp_float& A002445_100(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1366530L));
+ return val;
+ }
+
+ static const mp_float& A002445_101(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_102(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(281190L));
+ return val;
+ }
+
+ static const mp_float& A002445_103(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_104(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27030L));
+ return val;
+ }
+
+ static const mp_float& A002445_105(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(9225988926LL));
+ return val;
+ }
+
+ static const mp_float& A002445_106(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3210L));
+ return val;
+ }
+
+ static const mp_float& A002445_107(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_108(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(15270994830LL));
+ return val;
+ }
+
+ static const mp_float& A002445_109(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_110(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7590L));
+ return val;
+ }
+
+ static const mp_float& A002445_111(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(9366L));
+ return val;
+ }
+
+ static const mp_float& A002445_112(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1671270L));
+ return val;
+ }
+
+ static const mp_float& A002445_113(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1362L));
+ return val;
+ }
+
+ static const mp_float& A002445_114(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(625170L));
+ return val;
+ }
+
+ static const mp_float& A002445_115(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3102L));
+ return val;
+ }
+
+ static const mp_float& A002445_116(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(412410L));
+ return val;
+ }
+
+ static const mp_float& A002445_117(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(63042L));
+ return val;
+ }
+
+ static const mp_float& A002445_118(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_119(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1434L));
+ return val;
+ }
+
+ static const mp_float& A002445_120(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(9538864545210LL));
+ return val;
+ }
+
+ static const mp_float& A002445_121(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_122(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_123(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3486L));
+ return val;
+ }
+
+ static const mp_float& A002445_124(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_125(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(16566L));
+ return val;
+ }
+
+ static const mp_float& A002445_126(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(303940201110LL));
+ return val;
+ }
+
+ static const mp_float& A002445_127(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_128(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(131070L));
+ return val;
+ }
+
+ static const mp_float& A002445_129(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_130(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2291190L));
+ return val;
+ }
+
+ static const mp_float& A002445_131(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1578L));
+ return val;
+ }
+
+ static const mp_float& A002445_132(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(374416770L));
+ return val;
+ }
+
+ static const mp_float& A002445_133(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_134(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8070L));
+ return val;
+ }
+
+ static const mp_float& A002445_135(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(73743978L));
+ return val;
+ }
+
+ static const mp_float& A002445_136(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(69870L));
+ return val;
+ }
+
+ static const mp_float& A002445_137(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_138(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4940319930LL));
+ return val;
+ }
+
+ static const mp_float& A002445_139(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_140(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(7828173870LL));
+ return val;
+ }
+
+ static const mp_float& A002445_141(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11886L));
+ return val;
+ }
+
+ static const mp_float& A002445_142(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_143(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_144(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(231026334630LL));
+ return val;
+ }
+
+ static const mp_float& A002445_145(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3894L));
+ return val;
+ }
+
+ static const mp_float& A002445_146(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8790L));
+ return val;
+ }
+
+ static const mp_float& A002445_147(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1806L));
+ return val;
+ }
+
+ static const mp_float& A002445_148(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4470L));
+ return val;
+ }
+
+ static const mp_float& A002445_149(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_150(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(866054419230LL));
+ return val;
+ }
+
+ static const mp_float& A002445_151(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_152(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_153(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25233558L));
+ return val;
+ }
+
+ static const mp_float& A002445_154(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(20010L));
+ return val;
+ }
+
+ static const mp_float& A002445_155(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(20526L));
+ return val;
+ }
+
+ static const mp_float& A002445_156(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(561706691910LL));
+ return val;
+ }
+
+ static const mp_float& A002445_157(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_158(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(9510L));
+ return val;
+ }
+
+ static const mp_float& A002445_159(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4494L));
+ return val;
+ }
+
+ static const mp_float& A002445_160(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(230010L));
+ return val;
+ }
+
+ static const mp_float& A002445_161(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(282L));
+ return val;
+ }
+
+ static const mp_float& A002445_162(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(34098248730LL));
+ return val;
+ }
+
+ static const mp_float& A002445_163(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_164(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2490L));
+ return val;
+ }
+
+ static const mp_float& A002445_165(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(7305236862LL));
+ return val;
+ }
+
+ static const mp_float& A002445_166(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5010L));
+ return val;
+ }
+
+ static const mp_float& A002445_167(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_168(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2203871994870LL));
+ return val;
+ }
+
+ static const mp_float& A002445_169(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_170(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(330L));
+ return val;
+ }
+
+ static const mp_float& A002445_171(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_172(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5190L));
+ return val;
+ }
+
+ static const mp_float& A002445_173(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2082L));
+ return val;
+ }
+
+ static const mp_float& A002445_174(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(56213430L));
+ return val;
+ }
+
+ static const mp_float& A002445_175(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4686L));
+ return val;
+ }
+
+ static const mp_float& A002445_176(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(368521410L));
+ return val;
+ }
+
+ static const mp_float& A002445_177(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_178(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5370L));
+ return val;
+ }
+
+ static const mp_float& A002445_179(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2154L));
+ return val;
+ }
+
+ static const mp_float& A002445_180(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(21626561658972270LL));
+ return val;
+ }
+
+ static const mp_float& A002445_181(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_182(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(46110L));
+ return val;
+ }
+
+ static const mp_float& A002445_183(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15414L));
+ return val;
+ }
+
+ static const mp_float& A002445_184(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23970L));
+ return val;
+ }
+
+ static const mp_float& A002445_185(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_186(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1018290L));
+ return val;
+ }
+
+ static const mp_float& A002445_187(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_188(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_189(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1651635762L));
+ return val;
+ }
+
+ static const mp_float& A002445_190(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(63030L));
+ return val;
+ }
+
+ static const mp_float& A002445_191(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2298L));
+ return val;
+ }
+
+ static const mp_float& A002445_192(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(868841610L));
+ return val;
+ }
+
+ static const mp_float& A002445_193(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_194(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11670L));
+ return val;
+ }
+
+ static const mp_float& A002445_195(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(148218378L));
+ return val;
+ }
+
+ static const mp_float& A002445_196(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(171390L));
+ return val;
+ }
+
+ static const mp_float& A002445_197(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_198(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(233649143825370LL));
+ return val;
+ }
+
+ static const mp_float& A002445_199(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_200(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(9315635010LL));
+ return val;
+ }
+
+ static const mp_float& A002445_201(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_202(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_203(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(354L));
+ return val;
+ }
+
+ static const mp_float& A002445_204(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(15755919270LL));
+ return val;
+ }
+
+ static const mp_float& A002445_205(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5478L));
+ return val;
+ }
+
+ static const mp_float& A002445_206(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_207(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5213334L));
+ return val;
+ }
+
+ static const mp_float& A002445_208(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27030L));
+ return val;
+ }
+
+ static const mp_float& A002445_209(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(57822L));
+ return val;
+ }
+
+ static const mp_float& A002445_210(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(446617991732222310LL));
+ return val;
+ }
+
+ static const mp_float& A002445_211(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_212(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3210L));
+ return val;
+ }
+
+ static const mp_float& A002445_213(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_214(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_215(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(28446L));
+ return val;
+ }
+
+ static const mp_float& A002445_216(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(112409792943630LL));
+ return val;
+ }
+
+ static const mp_float& A002445_217(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_218(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_219(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(18438L));
+ return val;
+ }
+
+ static const mp_float& A002445_220(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27695910L));
+ return val;
+ }
+
+ static const mp_float& A002445_221(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2658L));
+ return val;
+ }
+
+ static const mp_float& A002445_222(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(90709710L));
+ return val;
+ }
+
+ static const mp_float& A002445_223(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_224(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(750400230L));
+ return val;
+ }
+
+ static const mp_float& A002445_225(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(41089818L));
+ return val;
+ }
+
+ static const mp_float& A002445_226(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6810L));
+ return val;
+ }
+
+ static const mp_float& A002445_227(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_228(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(285702690L));
+ return val;
+ }
+
+ static const mp_float& A002445_229(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_230(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7150110L));
+ return val;
+ }
+
+ static const mp_float& A002445_231(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1288550298L));
+ return val;
+ }
+
+ static const mp_float& A002445_232(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7010970L));
+ return val;
+ }
+
+ static const mp_float& A002445_233(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2802L));
+ return val;
+ }
+
+ static const mp_float& A002445_234(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1261596819210LL));
+ return val;
+ }
+
+ static const mp_float& A002445_235(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_236(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_237(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_238(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(207930L));
+ return val;
+ }
+
+ static const mp_float& A002445_239(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2874L));
+ return val;
+ }
+
+ static const mp_float& A002445_240(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(925269860885370LL));
+ return val;
+ }
+
+ static const mp_float& A002445_241(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_242(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(690L));
+ return val;
+ }
+
+ static const mp_float& A002445_243(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(63346038L));
+ return val;
+ }
+
+ static const mp_float& A002445_244(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_245(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2300826L));
+ return val;
+ }
+
+ static const mp_float& A002445_246(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(226590L));
+ return val;
+ }
+
+ static const mp_float& A002445_247(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_248(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_249(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3499986L));
+ return val;
+ }
+
+ static const mp_float& A002445_250(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8365830L));
+ return val;
+ }
+
+ static const mp_float& A002445_251(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3018L));
+ return val;
+ }
+
+ static const mp_float& A002445_252(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(22187634681030LL));
+ return val;
+ }
+
+ static const mp_float& A002445_253(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6486L));
+ return val;
+ }
+
+ static const mp_float& A002445_254(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15270L));
+ return val;
+ }
+
+ static const mp_float& A002445_255(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1475166L));
+ return val;
+ }
+
+ static const mp_float& A002445_256(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(131070L));
+ return val;
+ }
+
+ static const mp_float& A002445_257(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_258(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(472290L));
+ return val;
+ }
+
+ static const mp_float& A002445_259(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_260(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(48942109590LL));
+ return val;
+ }
+
+ static const mp_float& A002445_261(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(24623886L));
+ return val;
+ }
+
+ static const mp_float& A002445_262(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7890L));
+ return val;
+ }
+
+ static const mp_float& A002445_263(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_264(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6365085090LL));
+ return val;
+ }
+
+ static const mp_float& A002445_265(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7062L));
+ return val;
+ }
+
+ static const mp_float& A002445_266(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(870L));
+ return val;
+ }
+
+ static const mp_float& A002445_267(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7518L));
+ return val;
+ }
+
+ static const mp_float& A002445_268(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8070L));
+ return val;
+ }
+
+ static const mp_float& A002445_269(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_270(void)
+ {
+ static const mp_float val("115471236091149548610");
+ return val;
+ }
+
+ static const mp_float& A002445_271(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_272(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(69870L));
+ return val;
+ }
+
+ static const mp_float& A002445_273(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(78042678L));
+ return val;
+ }
+
+ static const mp_float& A002445_274(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_275(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1518L));
+ return val;
+ }
+
+ static const mp_float& A002445_276(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4940319930LL));
+ return val;
+ }
+
+ static const mp_float& A002445_277(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_278(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(16710L));
+ return val;
+ }
+
+ static const mp_float& A002445_279(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_280(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(15037922004270LL));
+ return val;
+ }
+
+ static const mp_float& A002445_281(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3378L));
+ return val;
+ }
+
+ static const mp_float& A002445_282(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(772590L));
+ return val;
+ }
+
+ static const mp_float& A002445_283(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_284(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(17070L));
+ return val;
+ }
+
+ static const mp_float& A002445_285(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1561971642L));
+ return val;
+ }
+
+ static const mp_float& A002445_286(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(36570L));
+ return val;
+ }
+
+ static const mp_float& A002445_287(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(498L));
+ return val;
+ }
+
+ static const mp_float& A002445_288(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(25727323650731430LL));
+ return val;
+ }
+
+ static const mp_float& A002445_289(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_290(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(19470L));
+ return val;
+ }
+
+ static const mp_float& A002445_291(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_292(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8790L));
+ return val;
+ }
+
+ static const mp_float& A002445_293(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3522L));
+ return val;
+ }
+
+ static const mp_float& A002445_294(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(670649070L));
+ return val;
+ }
+
+ static const mp_float& A002445_295(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_296(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(45062070L));
+ return val;
+ }
+
+ static const mp_float& A002445_297(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(244713882L));
+ return val;
+ }
+
+ static const mp_float& A002445_298(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_299(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(168918L));
+ return val;
+ }
+
+ static const mp_float& A002445_300(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(21340446944246430LL));
+ return val;
+ }
+
+ static const mp_float& A002445_301(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_302(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_303(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25494L));
+ return val;
+ }
+
+ static const mp_float& A002445_304(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_305(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_306(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(37200951384870LL));
+ return val;
+ }
+
+ static const mp_float& A002445_307(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_308(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1098809130L));
+ return val;
+ }
+
+ static const mp_float& A002445_309(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25998L));
+ return val;
+ }
+
+ static const mp_float& A002445_310(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(102630L));
+ return val;
+ }
+
+ static const mp_float& A002445_311(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_312(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(9549013762470LL));
+ return val;
+ }
+
+ static const mp_float& A002445_313(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_314(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_315(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(14047518416694378LL));
+ return val;
+ }
+
+ static const mp_float& A002445_316(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(9510L));
+ return val;
+ }
+
+ static const mp_float& A002445_317(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_318(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(292110L));
+ return val;
+ }
+
+ static const mp_float& A002445_319(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8142L));
+ return val;
+ }
+
+ static const mp_float& A002445_320(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(147436410L));
+ return val;
+ }
+
+ static const mp_float& A002445_321(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27006L));
+ return val;
+ }
+
+ static const mp_float& A002445_322(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(40890L));
+ return val;
+ }
+
+ static const mp_float& A002445_323(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3882L));
+ return val;
+ }
+
+ static const mp_float& A002445_324(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2489172157290LL));
+ return val;
+ }
+
+ static const mp_float& A002445_325(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8646L));
+ return val;
+ }
+
+ static const mp_float& A002445_326(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(19590L));
+ return val;
+ }
+
+ static const mp_float& A002445_327(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_328(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42330L));
+ return val;
+ }
+
+ static const mp_float& A002445_329(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3954L));
+ return val;
+ }
+
+ static const mp_float& A002445_330(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(19146039608325630LL));
+ return val;
+ }
+
+ static const mp_float& A002445_331(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_332(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5010L));
+ return val;
+ }
+
+ static const mp_float& A002445_333(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(177954L));
+ return val;
+ }
+
+ static const mp_float& A002445_334(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_335(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_336(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(143870967697108470LL));
+ return val;
+ }
+
+ static const mp_float& A002445_337(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_338(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1076430L));
+ return val;
+ }
+
+ static const mp_float& A002445_339(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(9534L));
+ return val;
+ }
+
+ static const mp_float& A002445_340(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1853610L));
+ return val;
+ }
+
+ static const mp_float& A002445_341(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(94254L));
+ return val;
+ }
+
+ static const mp_float& A002445_342(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(439494510L));
+ return val;
+ }
+
+ static const mp_float& A002445_343(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_344(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(88230L));
+ return val;
+ }
+
+ static const mp_float& A002445_345(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(64653847566LL));
+ return val;
+ }
+
+ static const mp_float& A002445_346(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(10410L));
+ return val;
+ }
+
+ static const mp_float& A002445_347(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_348(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(13097729190LL));
+ return val;
+ }
+
+ static const mp_float& A002445_349(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_350(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(48107155470LL));
+ return val;
+ }
+
+ static const mp_float& A002445_351(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(63042L));
+ return val;
+ }
+
+ static const mp_float& A002445_352(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(368521410L));
+ return val;
+ }
+
+ static const mp_float& A002445_353(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_354(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1935570L));
+ return val;
+ }
+
+ static const mp_float& A002445_355(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_356(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5370L));
+ return val;
+ }
+
+ static const mp_float& A002445_357(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(44458302L));
+ return val;
+ }
+
+ static const mp_float& A002445_358(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(10770L));
+ return val;
+ }
+
+ static const mp_float& A002445_359(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4314L));
+ return val;
+ }
+
+ static const mp_float& A002445_360(void)
+ {
+ static const mp_float val("88604023116809390190");
+ return val;
+ }
+
+ static const mp_float& A002445_361(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_362(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_363(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(47052894L));
+ return val;
+ }
+
+ static const mp_float& A002445_364(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(46110L));
+ return val;
+ }
+
+ static const mp_float& A002445_365(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_366(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(734400030L));
+ return val;
+ }
+
+ static const mp_float& A002445_367(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_368(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23970L));
+ return val;
+ }
+
+ static const mp_float& A002445_369(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(48946926L));
+ return val;
+ }
+
+ static const mp_float& A002445_370(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(49170L));
+ return val;
+ }
+
+ static const mp_float& A002445_371(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(477006L));
+ return val;
+ }
+
+ static const mp_float& A002445_372(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1018290L));
+ return val;
+ }
+
+ static const mp_float& A002445_373(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_374(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(690L));
+ return val;
+ }
+
+ static const mp_float& A002445_375(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(407656409622LL));
+ return val;
+ }
+
+ static const mp_float& A002445_376(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_377(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(354L));
+ return val;
+ }
+
+ static const mp_float& A002445_378(void)
+ {
+ static const mp_float val("9504947751577793970");
+ return val;
+ }
+
+ static const mp_float& A002445_379(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_380(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1966599030L));
+ return val;
+ }
+
+ static const mp_float& A002445_381(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_382(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11490L));
+ return val;
+ }
+
+ static const mp_float& A002445_383(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_384(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(171711773909130LL));
+ return val;
+ }
+
+ static const mp_float& A002445_385(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(107778L));
+ return val;
+ }
+
+ static const mp_float& A002445_386(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23190L));
+ return val;
+ }
+
+ static const mp_float& A002445_387(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_388(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11670L));
+ return val;
+ }
+
+ static const mp_float& A002445_389(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_390(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4890134114035170LL));
+ return val;
+ }
+
+ static const mp_float& A002445_391(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(282L));
+ return val;
+ }
+
+ static const mp_float& A002445_392(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(329240190L));
+ return val;
+ }
+
+ static const mp_float& A002445_393(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8693202L));
+ return val;
+ }
+
+ static const mp_float& A002445_394(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_395(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_396(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1518018487433428890LL));
+ return val;
+ }
+
+ static const mp_float& A002445_397(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_398(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23910L));
+ return val;
+ }
+
+ static const mp_float& A002445_399(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1806L));
+ return val;
+ }
+
+ static const mp_float& A002445_400(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(9315635010LL));
+ return val;
+ }
+
+ static const mp_float& A002445_401(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_402(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(734370L));
+ return val;
+ }
+
+ static const mp_float& A002445_403(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_404(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(24270L));
+ return val;
+ }
+
+ static const mp_float& A002445_405(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(9748437683754LL));
+ return val;
+ }
+
+ static const mp_float& A002445_406(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(51330L));
+ return val;
+ }
+
+ static const mp_float& A002445_407(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_408(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(267850627590LL));
+ return val;
+ }
+
+ static const mp_float& A002445_409(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_410(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(22487190L));
+ return val;
+ }
+
+ static const mp_float& A002445_411(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(34566L));
+ return val;
+ }
+
+ static const mp_float& A002445_412(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_413(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4962L));
+ return val;
+ }
+
+ static const mp_float& A002445_414(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2879154231044910LL));
+ return val;
+ }
+
+ static const mp_float& A002445_415(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11022L));
+ return val;
+ }
+
+ static const mp_float& A002445_416(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27030L));
+ return val;
+ }
+
+ static const mp_float& A002445_417(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_418(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(289110L));
+ return val;
+ }
+
+ static const mp_float& A002445_419(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5034L));
+ return val;
+ }
+
+ static const mp_float& A002445_420(void)
+ {
+ static const mp_float val("5145485882746933233510");
+ return val;
+ }
+
+ static const mp_float& A002445_421(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_422(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_423(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(225834L));
+ return val;
+ }
+
+ static const mp_float& A002445_424(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(54570L));
+ return val;
+ }
+
+ static const mp_float& A002445_425(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_426(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2328690L));
+ return val;
+ }
+
+ static const mp_float& A002445_427(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_428(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25710L));
+ return val;
+ }
+
+ static const mp_float& A002445_429(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4392099642LL));
+ return val;
+ }
+
+ static const mp_float& A002445_430(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(24605790L));
+ return val;
+ }
+
+ static const mp_float& A002445_431(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5178L));
+ return val;
+ }
+
+ static const mp_float& A002445_432(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(10903749915532110LL));
+ return val;
+ }
+
+ static const mp_float& A002445_433(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_434(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(870L));
+ return val;
+ }
+
+ static const mp_float& A002445_435(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(844998L));
+ return val;
+ }
+
+ static const mp_float& A002445_436(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_437(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(282L));
+ return val;
+ }
+
+ static const mp_float& A002445_438(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(307960049670LL));
+ return val;
+ }
+
+ static const mp_float& A002445_439(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_440(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(414801644070LL));
+ return val;
+ }
+
+ static const mp_float& A002445_441(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(3848006274LL));
+ return val;
+ }
+
+ static const mp_float& A002445_442(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(704370L));
+ return val;
+ }
+
+ static const mp_float& A002445_443(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5322L));
+ return val;
+ }
+
+ static const mp_float& A002445_444(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(90709710L));
+ return val;
+ }
+
+ static const mp_float& A002445_445(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11814L));
+ return val;
+ }
+
+ static const mp_float& A002445_446(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_447(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_448(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(750400230L));
+ return val;
+ }
+
+ static const mp_float& A002445_449(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_450(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(110199362466082890LL));
+ return val;
+ }
+
+ static const mp_float& A002445_451(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11454L));
+ return val;
+ }
+
+ static const mp_float& A002445_452(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6810L));
+ return val;
+ }
+
+ static const mp_float& A002445_453(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(38094L));
+ return val;
+ }
+
+ static const mp_float& A002445_454(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_455(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(559231926L));
+ return val;
+ }
+
+ static const mp_float& A002445_456(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4856945730LL));
+ return val;
+ }
+
+ static const mp_float& A002445_457(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_458(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_459(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(23189639802LL));
+ return val;
+ }
+
+ static const mp_float& A002445_460(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(293154510L));
+ return val;
+ }
+
+ static const mp_float& A002445_461(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_462(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2428917311730LL));
+ return val;
+ }
+
+ static const mp_float& A002445_463(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_464(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6513191130LL));
+ return val;
+ }
+
+ static const mp_float& A002445_465(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4454142L));
+ return val;
+ }
+
+ static const mp_float& A002445_466(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(14010L));
+ return val;
+ }
+
+ static const mp_float& A002445_467(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_468(void)
+ {
+ static const mp_float val("27010173501635144730");
+ return val;
+ }
+
+ static const mp_float& A002445_469(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_470(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(310530L));
+ return val;
+ }
+
+ static const mp_float& A002445_471(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_472(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_473(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(130686L));
+ return val;
+ }
+
+ static const mp_float& A002445_474(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(865410L));
+ return val;
+ }
+
+ static const mp_float& A002445_475(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(12606L));
+ return val;
+ }
+
+ static const mp_float& A002445_476(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(27147548730LL));
+ return val;
+ }
+
+ static const mp_float& A002445_477(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(85386L));
+ return val;
+ }
+
+ static const mp_float& A002445_478(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(14370L));
+ return val;
+ }
+
+ static const mp_float& A002445_479(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_480(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(178577083150876410LL));
+ return val;
+ }
+
+ static const mp_float& A002445_481(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_482(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_483(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(11409244266LL));
+ return val;
+ }
+
+ static const mp_float& A002445_484(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(61410L));
+ return val;
+ }
+
+ static const mp_float& A002445_485(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(64086L));
+ return val;
+ }
+
+ static const mp_float& A002445_486(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(16605847131510LL));
+ return val;
+ }
+
+ static const mp_float& A002445_487(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_488(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(498270L));
+ return val;
+ }
+
+ static const mp_float& A002445_489(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_490(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(65723094690LL));
+ return val;
+ }
+
+ static const mp_float& A002445_491(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5898L));
+ return val;
+ }
+
+ static const mp_float& A002445_492(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(226590L));
+ return val;
+ }
+
+ static const mp_float& A002445_493(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(354L));
+ return val;
+ }
+
+ static const mp_float& A002445_494(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1590L));
+ return val;
+ }
+
+ static const mp_float& A002445_495(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(27372510670045002LL));
+ return val;
+ }
+
+ static const mp_float& A002445_496(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_497(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_498(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(226816592730LL));
+ return val;
+ }
+
+ static const mp_float& A002445_499(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_500(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(342999030L));
+ return val;
+ }
+
+ static const mp_float& A002445_501(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_502(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15090L));
+ return val;
+ }
+
+ static const mp_float& A002445_503(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_504(void)
+ {
+ static const mp_float val("14493038256293268734790");
+ return val;
+ }
+
+ static const mp_float& A002445_505(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_506(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(32851590L));
+ return val;
+ }
+
+ static const mp_float& A002445_507(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3318L));
+ return val;
+ }
+
+ static const mp_float& A002445_508(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15270L));
+ return val;
+ }
+
+ static const mp_float& A002445_509(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6114L));
+ return val;
+ }
+
+ static const mp_float& A002445_510(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(5971862886990LL));
+ return val;
+ }
+
+ static const mp_float& A002445_511(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_512(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(131070L));
+ return val;
+ }
+
+ static const mp_float& A002445_513(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_514(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_515(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(68046L));
+ return val;
+ }
+
+ static const mp_float& A002445_516(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(487875570L));
+ return val;
+ }
+
+ static const mp_float& A002445_517(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_518(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(129630L));
+ return val;
+ }
+
+ static const mp_float& A002445_519(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15142386L));
+ return val;
+ }
+
+ static const mp_float& A002445_520(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(832015863030LL));
+ return val;
+ }
+
+ static const mp_float& A002445_521(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_522(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(20667935594670LL));
+ return val;
+ }
+
+ static const mp_float& A002445_523(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_524(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8276610L));
+ return val;
+ }
+
+ static const mp_float& A002445_525(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1464173668545126LL));
+ return val;
+ }
+
+ static const mp_float& A002445_526(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_527(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_528(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(217946878566690LL));
+ return val;
+ }
+
+ static const mp_float& A002445_529(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(282L));
+ return val;
+ }
+
+ static const mp_float& A002445_530(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(37463910L));
+ return val;
+ }
+
+ static const mp_float& A002445_531(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(848274L));
+ return val;
+ }
+
+ static const mp_float& A002445_532(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(870L));
+ return val;
+ }
+
+ static const mp_float& A002445_533(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(498L));
+ return val;
+ }
+
+ static const mp_float& A002445_534(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(522388230L));
+ return val;
+ }
+
+ static const mp_float& A002445_535(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_536(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(137190L));
+ return val;
+ }
+
+ static const mp_float& A002445_537(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15078L));
+ return val;
+ }
+
+ static const mp_float& A002445_538(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_539(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_540(void)
+ {
+ static const mp_float val("345605409620810598989730");
+ return val;
+ }
+
+ static const mp_float& A002445_541(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_542(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_543(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(45654L));
+ return val;
+ }
+
+ static const mp_float& A002445_544(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(69870L));
+ return val;
+ }
+
+ static const mp_float& A002445_545(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(72006L));
+ return val;
+ }
+
+ static const mp_float& A002445_546(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1337947899596989590LL));
+ return val;
+ }
+
+ static const mp_float& A002445_547(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_548(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(32910L));
+ return val;
+ }
+
+ static const mp_float& A002445_549(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(292866L));
+ return val;
+ }
+
+ static const mp_float& A002445_550(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(766590L));
+ return val;
+ }
+
+ static const mp_float& A002445_551(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(390462L));
+ return val;
+ }
+
+ static const mp_float& A002445_552(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(83985438810LL));
+ return val;
+ }
+
+ static const mp_float& A002445_553(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_554(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(33270L));
+ return val;
+ }
+
+ static const mp_float& A002445_555(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3193806L));
+ return val;
+ }
+
+ static const mp_float& A002445_556(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(16710L));
+ return val;
+ }
+
+ static const mp_float& A002445_557(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_558(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(799613240790LL));
+ return val;
+ }
+
+ static const mp_float& A002445_559(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_560(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(15037922004270LL));
+ return val;
+ }
+
+ static const mp_float& A002445_561(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(7486329018LL));
+ return val;
+ }
+
+ static const mp_float& A002445_562(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(16890L));
+ return val;
+ }
+
+ static const mp_float& A002445_563(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_564(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(872254110L));
+ return val;
+ }
+
+ static const mp_float& A002445_565(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(14982L));
+ return val;
+ }
+
+ static const mp_float& A002445_566(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_567(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(269216629206LL));
+ return val;
+ }
+
+ static const mp_float& A002445_568(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(290190L));
+ return val;
+ }
+
+ static const mp_float& A002445_569(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_570(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1418246821361370LL));
+ return val;
+ }
+
+ static const mp_float& A002445_571(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_572(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3254730L));
+ return val;
+ }
+
+ static const mp_float& A002445_573(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(16086L));
+ return val;
+ }
+
+ static const mp_float& A002445_574(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(72210L));
+ return val;
+ }
+
+ static const mp_float& A002445_575(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3570402L));
+ return val;
+ }
+
+ static const mp_float& A002445_576(void)
+ {
+ static const mp_float val("29663604169293338790");
+ return val;
+ }
+
+ static const mp_float& A002445_577(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_578(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_579(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_580(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(185996910L));
+ return val;
+ }
+
+ static const mp_float& A002445_581(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1165326L));
+ return val;
+ }
+
+ static const mp_float& A002445_582(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1061970L));
+ return val;
+ }
+
+ static const mp_float& A002445_583(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(14766L));
+ return val;
+ }
+
+ static const mp_float& A002445_584(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(149430L));
+ return val;
+ }
+
+ static const mp_float& A002445_585(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(3297710692122LL));
+ return val;
+ }
+
+ static const mp_float& A002445_586(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(17610L));
+ return val;
+ }
+
+ static const mp_float& A002445_587(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_588(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(670649070L));
+ return val;
+ }
+
+ static const mp_float& A002445_589(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_590(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(389730L));
+ return val;
+ }
+
+ static const mp_float& A002445_591(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_592(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(45062070L));
+ return val;
+ }
+
+ static const mp_float& A002445_593(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7122L));
+ return val;
+ }
+
+ static const mp_float& A002445_594(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(25467756676965330LL));
+ return val;
+ }
+
+ static const mp_float& A002445_595(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1119954L));
+ return val;
+ }
+
+ static const mp_float& A002445_596(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(35790L));
+ return val;
+ }
+
+ static const mp_float& A002445_597(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_598(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(44763270L));
+ return val;
+ }
+
+ static const mp_float& A002445_599(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_600(void)
+ {
+ static const mp_float val("42107247672297314156359710");
+ return val;
+ }
+
+ static const mp_float& A002445_601(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_602(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(150510L));
+ return val;
+ }
+
+ static const mp_float& A002445_603(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_604(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_605(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1518L));
+ return val;
+ }
+
+ static const mp_float& A002445_606(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2010074430L));
+ return val;
+ }
+
+ static const mp_float& A002445_607(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_608(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(620670L));
+ return val;
+ }
+
+ static const mp_float& A002445_609(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(106554L));
+ return val;
+ }
+
+ static const mp_float& A002445_610(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(330L));
+ return val;
+ }
+
+ static const mp_float& A002445_611(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7338L));
+ return val;
+ }
+
+ static const mp_float& A002445_612(void)
+ {
+ static const mp_float val("152167106353234711830");
+ return val;
+ }
+
+ static const mp_float& A002445_613(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_614(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(36870L));
+ return val;
+ }
+
+ static const mp_float& A002445_615(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1463321706L));
+ return val;
+ }
+
+ static const mp_float& A002445_616(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2110812338730LL));
+ return val;
+ }
+
+ static const mp_float& A002445_617(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_618(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2090369190L));
+ return val;
+ }
+
+ static const mp_float& A002445_619(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_620(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4207830L));
+ return val;
+ }
+
+ static const mp_float& A002445_621(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5213334L));
+ return val;
+ }
+
+ static const mp_float& A002445_622(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_623(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1074L));
+ return val;
+ }
+
+ static const mp_float& A002445_624(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1156891664364527910LL));
+ return val;
+ }
+
+ static const mp_float& A002445_625(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(16566L));
+ return val;
+ }
+
+ static const mp_float& A002445_626(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_627(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27118518L));
+ return val;
+ }
+
+ static const mp_float& A002445_628(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_629(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7554L));
+ return val;
+ }
+
+ static const mp_float& A002445_630(void)
+ {
+ static const mp_float val("4554106624556364764691012210");
+ return val;
+ }
+
+ static const mp_float& A002445_631(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_632(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(161670L));
+ return val;
+ }
+
+ static const mp_float& A002445_633(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_634(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_635(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_636(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(292110L));
+ return val;
+ }
+
+ static const mp_float& A002445_637(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_638(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(51986670L));
+ return val;
+ }
+
+ static const mp_float& A002445_639(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1020642L));
+ return val;
+ }
+
+ static const mp_float& A002445_640(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(37891157370LL));
+ return val;
+ }
+
+ static const mp_float& A002445_641(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7698L));
+ return val;
+ }
+
+ static const mp_float& A002445_642(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1755390L));
+ return val;
+ }
+
+ static const mp_float& A002445_643(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_644(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(52707210L));
+ return val;
+ }
+
+ static const mp_float& A002445_645(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(7969061562LL));
+ return val;
+ }
+
+ static const mp_float& A002445_646(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(19410L));
+ return val;
+ }
+
+ static const mp_float& A002445_647(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_648(void)
+ {
+ static const mp_float val("23764666736005761930");
+ return val;
+ }
+
+ static const mp_float& A002445_649(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_650(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(301064657190LL));
+ return val;
+ }
+
+ static const mp_float& A002445_651(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2353218L));
+ return val;
+ }
+
+ static const mp_float& A002445_652(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(19590L));
+ return val;
+ }
+
+ static const mp_float& A002445_653(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7842L));
+ return val;
+ }
+
+ static const mp_float& A002445_654(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2730L));
+ return val;
+ }
+
+ static const mp_float& A002445_655(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(17358L));
+ return val;
+ }
+
+ static const mp_float& A002445_656(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42330L));
+ return val;
+ }
+
+ static const mp_float& A002445_657(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(350322L));
+ return val;
+ }
+
+ static const mp_float& A002445_658(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(573330L));
+ return val;
+ }
+
+ static const mp_float& A002445_659(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(7914L));
+ return val;
+ }
+
+ static const mp_float& A002445_660(void)
+ {
+ static const mp_float val("92290209959160675732270");
+ return val;
+ }
+
+ static const mp_float& A002445_661(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_662(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_663(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(200903848194LL));
+ return val;
+ }
+
+ static const mp_float& A002445_664(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(85170L));
+ return val;
+ }
+
+ static const mp_float& A002445_665(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(895026L));
+ return val;
+ }
+
+ static const mp_float& A002445_666(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(63768926130LL));
+ return val;
+ }
+
+ static const mp_float& A002445_667(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(16638L));
+ return val;
+ }
+
+ static const mp_float& A002445_668(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_669(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_670(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(88770L));
+ return val;
+ }
+
+ static const mp_float& A002445_671(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_672(void)
+ {
+ static const mp_float val("12467426447728328684790");
+ return val;
+ }
+
+ static const mp_float& A002445_673(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_674(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_675(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(11135340678LL));
+ return val;
+ }
+
+ static const mp_float& A002445_676(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1076430L));
+ return val;
+ }
+
+ static const mp_float& A002445_677(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_678(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(619710L));
+ return val;
+ }
+
+ static const mp_float& A002445_679(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_680(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(42886974570LL));
+ return val;
+ }
+
+ static const mp_float& A002445_681(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_682(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(471270L));
+ return val;
+ }
+
+ static const mp_float& A002445_683(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8202L));
+ return val;
+ }
+
+ static const mp_float& A002445_684(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(14661976348110LL));
+ return val;
+ }
+
+ static const mp_float& A002445_685(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_686(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(235318470L));
+ return val;
+ }
+
+ static const mp_float& A002445_687(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_688(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(88230L));
+ return val;
+ }
+
+ static const mp_float& A002445_689(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(642L));
+ return val;
+ }
+
+ static const mp_float& A002445_690(void)
+ {
+ static const mp_float val("45207650798257176058830");
+ return val;
+ }
+
+ static const mp_float& A002445_691(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_692(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(10410L));
+ return val;
+ }
+
+ static const mp_float& A002445_693(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(618745101945726LL));
+ return val;
+ }
+
+ static const mp_float& A002445_694(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_695(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_696(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(222661396230LL));
+ return val;
+ }
+
+ static const mp_float& A002445_697(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(498L));
+ return val;
+ }
+
+ static const mp_float& A002445_698(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_699(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27439986L));
+ return val;
+ }
+
+ static const mp_float& A002445_700(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(554242538169870LL));
+ return val;
+ }
+
+ static const mp_float& A002445_701(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_702(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(137514053293890LL));
+ return val;
+ }
+
+ static const mp_float& A002445_703(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_704(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(519246666690LL));
+ return val;
+ }
+
+ static const mp_float& A002445_705(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4053126L));
+ return val;
+ }
+
+ static const mp_float& A002445_706(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_707(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_708(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1935570L));
+ return val;
+ }
+
+ static const mp_float& A002445_709(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_710(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(330L));
+ return val;
+ }
+
+ static const mp_float& A002445_711(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1135554L));
+ return val;
+ }
+
+ static const mp_float& A002445_712(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(91290L));
+ return val;
+ }
+
+ static const mp_float& A002445_713(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(402414L));
+ return val;
+ }
+
+ static const mp_float& A002445_714(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(119755772056830LL));
+ return val;
+ }
+
+ static const mp_float& A002445_715(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(198858L));
+ return val;
+ }
+
+ static const mp_float& A002445_716(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15433410L));
+ return val;
+ }
+
+ static const mp_float& A002445_717(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(20118L));
+ return val;
+ }
+
+ static const mp_float& A002445_718(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(21570L));
+ return val;
+ }
+
+ static const mp_float& A002445_719(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8634L));
+ return val;
+ }
+
+ static const mp_float& A002445_720(void)
+ {
+ static const mp_float val("8594590242330510848430");
+ return val;
+ }
+
+ static const mp_float& A002445_721(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_722(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_723(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(60774L));
+ return val;
+ }
+
+ static const mp_float& A002445_724(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_725(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(5650194L));
+ return val;
+ }
+
+ static const mp_float& A002445_726(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4443910573830LL));
+ return val;
+ }
+
+ static const mp_float& A002445_727(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_728(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(88577310L));
+ return val;
+ }
+
+ static const mp_float& A002445_729(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(92421869442LL));
+ return val;
+ }
+
+ static const mp_float& A002445_730(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(96690L));
+ return val;
+ }
+
+ static const mp_float& A002445_731(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_732(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(734400030L));
+ return val;
+ }
+
+ static const mp_float& A002445_733(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_734(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_735(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6663571987681686LL));
+ return val;
+ }
+
+ static const mp_float& A002445_736(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23970L));
+ return val;
+ }
+
+ static const mp_float& A002445_737(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_738(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(117717357030LL));
+ return val;
+ }
+
+ static const mp_float& A002445_739(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_740(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2985651570LL));
+ return val;
+ }
+
+ static const mp_float& A002445_741(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4920594L));
+ return val;
+ }
+
+ static const mp_float& A002445_742(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(69165870L));
+ return val;
+ }
+
+ static const mp_float& A002445_743(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8922L));
+ return val;
+ }
+
+ static const mp_float& A002445_744(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(25775974770LL));
+ return val;
+ }
+
+ static const mp_float& A002445_745(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_746(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(44790L));
+ return val;
+ }
+
+ static const mp_float& A002445_747(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66499734L));
+ return val;
+ }
+
+ static const mp_float& A002445_748(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8413170L));
+ return val;
+ }
+
+ static const mp_float& A002445_749(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8994L));
+ return val;
+ }
+
+ static const mp_float& A002445_750(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(163252124079274230LL));
+ return val;
+ }
+
+ static const mp_float& A002445_751(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_752(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_753(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(21126L));
+ return val;
+ }
+
+ static const mp_float& A002445_754(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(93810L));
+ return val;
+ }
+
+ static const mp_float& A002445_755(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(99726L));
+ return val;
+ }
+
+ static const mp_float& A002445_756(void)
+ {
+ static const mp_float val("693861185865178959810");
+ return val;
+ }
+
+ static const mp_float& A002445_757(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_758(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_759(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(422828826L));
+ return val;
+ }
+
+ static const mp_float& A002445_760(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(33432183510LL));
+ return val;
+ }
+
+ static const mp_float& A002445_761(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(9138L));
+ return val;
+ }
+
+ static const mp_float& A002445_762(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1389570L));
+ return val;
+ }
+
+ static const mp_float& A002445_763(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_764(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11490L));
+ return val;
+ }
+
+ static const mp_float& A002445_765(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(13173708858618LL));
+ return val;
+ }
+
+ static const mp_float& A002445_766(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_767(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_768(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(171711773909130LL));
+ return val;
+ }
+
+ static const mp_float& A002445_769(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_770(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15627810L));
+ return val;
+ }
+
+ static const mp_float& A002445_771(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(64806L));
+ return val;
+ }
+
+ static const mp_float& A002445_772(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23190L));
+ return val;
+ }
+
+ static const mp_float& A002445_773(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_774(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(514298778630LL));
+ return val;
+ }
+
+ static const mp_float& A002445_775(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(20526L));
+ return val;
+ }
+
+ static const mp_float& A002445_776(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(308099670L));
+ return val;
+ }
+
+ static const mp_float& A002445_777(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(402738L));
+ return val;
+ }
+
+ static const mp_float& A002445_778(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_779(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(776382L));
+ return val;
+ }
+
+ static const mp_float& A002445_780(void)
+ {
+ static const mp_float val("32695402455500348373810");
+ return val;
+ }
+
+ static const mp_float& A002445_781(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_782(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1410L));
+ return val;
+ }
+
+ static const mp_float& A002445_783(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(38585629362LL));
+ return val;
+ }
+
+ static const mp_float& A002445_784(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(329240190L));
+ return val;
+ }
+
+ static const mp_float& A002445_785(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(103686L));
+ return val;
+ }
+
+ static const mp_float& A002445_786(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(565058130L));
+ return val;
+ }
+
+ static const mp_float& A002445_787(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_788(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_789(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66318L));
+ return val;
+ }
+
+ static const mp_float& A002445_790(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(104610L));
+ return val;
+ }
+
+ static const mp_float& A002445_791(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2156046L));
+ return val;
+ }
+
+ static const mp_float& A002445_792(void)
+ {
+ static const mp_float val("25806314286368291130");
+ return val;
+ }
+
+ static const mp_float& A002445_793(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_794(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_795(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1532454L));
+ return val;
+ }
+
+ static const mp_float& A002445_796(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23910L));
+ return val;
+ }
+
+ static const mp_float& A002445_797(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_798(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1245000423030LL));
+ return val;
+ }
+
+ static const mp_float& A002445_799(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_800(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(14914331651010LL));
+ return val;
+ }
+
+ static const mp_float& A002445_801(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(142842L));
+ return val;
+ }
+
+ static const mp_float& A002445_802(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_803(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(221766L));
+ return val;
+ }
+
+ static const mp_float& A002445_804(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1181601330L));
+ return val;
+ }
+
+ static const mp_float& A002445_805(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(220242L));
+ return val;
+ }
+
+ static const mp_float& A002445_806(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2564670L));
+ return val;
+ }
+
+ static const mp_float& A002445_807(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_808(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(412590L));
+ return val;
+ }
+
+ static const mp_float& A002445_809(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(9714L));
+ return val;
+ }
+
+ static const mp_float& A002445_810(void)
+ {
+ static const mp_float val("24743736851520275624910204330");
+ return val;
+ }
+
+ static const mp_float& A002445_811(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_812(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11959890L));
+ return val;
+ }
+
+ static const mp_float& A002445_813(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(68334L));
+ return val;
+ }
+
+ static const mp_float& A002445_814(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(102810L));
+ return val;
+ }
+
+ static const mp_float& A002445_815(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_816(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(25981510876230LL));
+ return val;
+ }
+
+ static const mp_float& A002445_817(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_818(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(49110L));
+ return val;
+ }
+
+ static const mp_float& A002445_819(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(188316982014LL));
+ return val;
+ }
+
+ static const mp_float& A002445_820(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(921974790L));
+ return val;
+ }
+
+ static const mp_float& A002445_821(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_822(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2246790L));
+ return val;
+ }
+
+ static const mp_float& A002445_823(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_824(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_825(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1103090766162LL));
+ return val;
+ }
+
+ static const mp_float& A002445_826(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(719490L));
+ return val;
+ }
+
+ static const mp_float& A002445_827(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_828(void)
+ {
+ static const mp_float val("348265374941423358510");
+ return val;
+ }
+
+ static const mp_float& A002445_829(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_830(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(55110L));
+ return val;
+ }
+
+ static const mp_float& A002445_831(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(69846L));
+ return val;
+ }
+
+ static const mp_float& A002445_832(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27030L));
+ return val;
+ }
+
+ static const mp_float& A002445_833(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2390478L));
+ return val;
+ }
+
+ static const mp_float& A002445_834(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2537898090LL));
+ return val;
+ }
+
+ static const mp_float& A002445_835(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_836(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25730790L));
+ return val;
+ }
+
+ static const mp_float& A002445_837(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_838(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25170L));
+ return val;
+ }
+
+ static const mp_float& A002445_839(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_840(void)
+ {
+ static const mp_float val("802787680649929796414310788070");
+ return val;
+ }
+
+ static const mp_float& A002445_841(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(354L));
+ return val;
+ }
+
+ static const mp_float& A002445_842(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_843(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23646L));
+ return val;
+ }
+
+ static const mp_float& A002445_844(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_845(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8646L));
+ return val;
+ }
+
+ static const mp_float& A002445_846(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(919520393610LL));
+ return val;
+ }
+
+ static const mp_float& A002445_847(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_848(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(92605290L));
+ return val;
+ }
+
+ static const mp_float& A002445_849(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(71358L));
+ return val;
+ }
+
+ static const mp_float& A002445_850(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(33330L));
+ return val;
+ }
+
+ static const mp_float& A002445_851(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(282L));
+ return val;
+ }
+
+ static const mp_float& A002445_852(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1325024610L));
+ return val;
+ }
+
+ static const mp_float& A002445_853(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_854(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1486830L));
+ return val;
+ }
+
+ static const mp_float& A002445_855(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(29677461198LL));
+ return val;
+ }
+
+ static const mp_float& A002445_856(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(437070L));
+ return val;
+ }
+
+ static const mp_float& A002445_857(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_858(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2375532972870330LL));
+ return val;
+ }
+
+ static const mp_float& A002445_859(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_860(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1736209148190LL));
+ return val;
+ }
+
+ static const mp_float& A002445_861(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(258274254L));
+ return val;
+ }
+
+ static const mp_float& A002445_862(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25890L));
+ return val;
+ }
+
+ static const mp_float& A002445_863(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_864(void)
+ {
+ static const mp_float val("1214252494343571301710");
+ return val;
+ }
+
+ static const mp_float& A002445_865(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(22902L));
+ return val;
+ }
+
+ static const mp_float& A002445_866(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(51990L));
+ return val;
+ }
+
+ static const mp_float& A002445_867(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4326L));
+ return val;
+ }
+
+ static const mp_float& A002445_868(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(870L));
+ return val;
+ }
+
+ static const mp_float& A002445_869(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(138L));
+ return val;
+ }
+
+ static const mp_float& A002445_870(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2035743565485630LL));
+ return val;
+ }
+
+ static const mp_float& A002445_871(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_872(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_873(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1394106L));
+ return val;
+ }
+
+ static const mp_float& A002445_874(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1410L));
+ return val;
+ }
+
+ static const mp_float& A002445_875(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1176186L));
+ return val;
+ }
+
+ static const mp_float& A002445_876(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(539853967071510LL));
+ return val;
+ }
+
+ static const mp_float& A002445_877(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_878(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_879(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(43366386L));
+ return val;
+ }
+
+ static const mp_float& A002445_880(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(146424980356710LL));
+ return val;
+ }
+
+ static const mp_float& A002445_881(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_882(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(52870701923285610LL));
+ return val;
+ }
+
+ static const mp_float& A002445_883(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_884(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(96498690L));
+ return val;
+ }
+
+ static const mp_float& A002445_885(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(14322L));
+ return val;
+ }
+
+ static const mp_float& A002445_886(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(26610L));
+ return val;
+ }
+
+ static const mp_float& A002445_887(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_888(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1624968030228270LL));
+ return val;
+ }
+
+ static const mp_float& A002445_889(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_890(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(59070L));
+ return val;
+ }
+
+ static const mp_float& A002445_891(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(71120950811778LL));
+ return val;
+ }
+
+ static const mp_float& A002445_892(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_893(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(10722L));
+ return val;
+ }
+
+ static const mp_float& A002445_894(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(4883970L));
+ return val;
+ }
+
+ static const mp_float& A002445_895(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23694L));
+ return val;
+ }
+
+ static const mp_float& A002445_896(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(192852859110LL));
+ return val;
+ }
+
+ static const mp_float& A002445_897(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(12984219906LL));
+ return val;
+ }
+
+ static const mp_float& A002445_898(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_899(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(354L));
+ return val;
+ }
+
+ static const mp_float& A002445_900(void)
+ {
+ static const mp_float val("357004741097023204553137770");
+ return val;
+ }
+
+ static const mp_float& A002445_901(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(642L));
+ return val;
+ }
+
+ static const mp_float& A002445_902(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(57270L));
+ return val;
+ }
+
+ static const mp_float& A002445_903(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1806L));
+ return val;
+ }
+
+ static const mp_float& A002445_904(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(115770L));
+ return val;
+ }
+
+ static const mp_float& A002445_905(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(119526L));
+ return val;
+ }
+
+ static const mp_float& A002445_906(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2476110L));
+ return val;
+ }
+
+ static const mp_float& A002445_907(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_908(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_909(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(484386L));
+ return val;
+ }
+
+ static const mp_float& A002445_910(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4297697351310LL));
+ return val;
+ }
+
+ static const mp_float& A002445_911(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(10938L));
+ return val;
+ }
+
+ static const mp_float& A002445_912(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(471123735810LL));
+ return val;
+ }
+
+ static const mp_float& A002445_913(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23046L));
+ return val;
+ }
+
+ static const mp_float& A002445_914(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_915(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(9624054594LL));
+ return val;
+ }
+
+ static const mp_float& A002445_916(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_917(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1578L));
+ return val;
+ }
+
+ static const mp_float& A002445_918(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(3726456501173812770LL));
+ return val;
+ }
+
+ static const mp_float& A002445_919(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_920(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(4983626670LL));
+ return val;
+ }
+
+ static const mp_float& A002445_921(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_922(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_923(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11082L));
+ return val;
+ }
+
+ static const mp_float& A002445_924(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(133379136339029490LL));
+ return val;
+ }
+
+ static const mp_float& A002445_925(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_926(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_927(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(493962L));
+ return val;
+ }
+
+ static const mp_float& A002445_928(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6513191130LL));
+ return val;
+ }
+
+ static const mp_float& A002445_929(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_930(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(12259209165793590LL));
+ return val;
+ }
+
+ static const mp_float& A002445_931(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_932(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(14010L));
+ return val;
+ }
+
+ static const mp_float& A002445_933(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(78414L));
+ return val;
+ }
+
+ static const mp_float& A002445_934(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_935(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2840178L));
+ return val;
+ }
+
+ static const mp_float& A002445_936(void)
+ {
+ static const mp_float val("860030934465564643347930");
+ return val;
+ }
+
+ static const mp_float& A002445_937(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_938(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(439274310L));
+ return val;
+ }
+
+ static const mp_float& A002445_939(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(78918L));
+ return val;
+ }
+
+ static const mp_float& A002445_940(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(12731730L));
+ return val;
+ }
+
+ static const mp_float& A002445_941(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_942(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2730L));
+ return val;
+ }
+
+ static const mp_float& A002445_943(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(23406L));
+ return val;
+ }
+
+ static const mp_float& A002445_944(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(963390L));
+ return val;
+ }
+
+ static const mp_float& A002445_945(void)
+ {
+ static const mp_float val("1442806569060262870002");
+ return val;
+ }
+
+ static const mp_float& A002445_946(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(113043390L));
+ return val;
+ }
+
+ static const mp_float& A002445_947(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_948(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(865410L));
+ return val;
+ }
+
+ static const mp_float& A002445_949(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_950(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(12101823030LL));
+ return val;
+ }
+
+ static const mp_float& A002445_951(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(42L));
+ return val;
+ }
+
+ static const mp_float& A002445_952(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(52150441110330LL));
+ return val;
+ }
+
+ static const mp_float& A002445_953(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(11442L));
+ return val;
+ }
+
+ static const mp_float& A002445_954(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(205353330L));
+ return val;
+ }
+
+ static const mp_float& A002445_955(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(25278L));
+ return val;
+ }
+
+ static const mp_float& A002445_956(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(27489810L));
+ return val;
+ }
+
+ static const mp_float& A002445_957(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3818598L));
+ return val;
+ }
+
+ static const mp_float& A002445_958(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_959(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_960(void)
+ {
+ static const mp_float val("114467910299711778810");
+ return val;
+ }
+
+ static const mp_float& A002445_961(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_962(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(236910L));
+ return val;
+ }
+
+ static const mp_float& A002445_963(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(513114L));
+ return val;
+ }
+
+ static const mp_float& A002445_964(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(30L));
+ return val;
+ }
+
+ static const mp_float& A002445_965(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(127446L));
+ return val;
+ }
+
+ static const mp_float& A002445_966(void)
+ {
+ static const mp_float val("11515421944774011810");
+ return val;
+ }
+
+ static const mp_float& A002445_967(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_968(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1043970L));
+ return val;
+ }
+
+ static const mp_float& A002445_969(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2798922L));
+ return val;
+ }
+
+ static const mp_float& A002445_970(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(124647270L));
+ return val;
+ }
+
+ static const mp_float& A002445_971(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_972(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1212226840600230LL));
+ return val;
+ }
+
+ static const mp_float& A002445_973(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_974(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(58470L));
+ return val;
+ }
+
+ static const mp_float& A002445_975(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(43665282377178LL));
+ return val;
+ }
+
+ static const mp_float& A002445_976(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(498270L));
+ return val;
+ }
+
+ static const mp_float& A002445_977(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_978(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1782690L));
+ return val;
+ }
+
+ static const mp_float& A002445_979(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(24702L));
+ return val;
+ }
+
+ static const mp_float& A002445_980(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(757195773923490LL));
+ return val;
+ }
+
+ static const mp_float& A002445_981(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(798L));
+ return val;
+ }
+
+ static const mp_float& A002445_982(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(29490L));
+ return val;
+ }
+
+ static const mp_float& A002445_983(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_984(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3852030L));
+ return val;
+ }
+
+ static const mp_float& A002445_985(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_986(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3492210L));
+ return val;
+ }
+
+ static const mp_float& A002445_987(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(336813582L));
+ return val;
+ }
+
+ static const mp_float& A002445_988(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1590L));
+ return val;
+ }
+
+ static const mp_float& A002445_989(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(558078L));
+ return val;
+ }
+
+ static const mp_float& A002445_990(void)
+ {
+ static const mp_float val("190734866876644507968532551570");
+ return val;
+ }
+
+ static const mp_float& A002445_991(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_992(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(510L));
+ return val;
+ }
+
+ static const mp_float& A002445_993(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(83454L));
+ return val;
+ }
+
+ static const mp_float& A002445_994(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(870L));
+ return val;
+ }
+
+ static const mp_float& A002445_995(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(66L));
+ return val;
+ }
+
+ static const mp_float& A002445_996(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(452045469310890LL));
+ return val;
+ }
+
+ static const mp_float& A002445_997(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(6L));
+ return val;
+ }
+
+ static const mp_float& A002445_998(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(59910L));
+ return val;
+ }
+
+ static const mp_float& A002445_999(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(355730046L));
+ return val;
+ }
+
+ static const mp_float& A002445_1000(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(2338224387510LL));
+ return val;
+ }
+
+}
+
+namespace Tables
+{
+ const std::vector<pfn_efloat>& A002445(void)
+ {
+ static const boost::array<pfn_efloat, 1001u> A002445_data =
+ {{
+ A002445_Table::A002445_0,
+ A002445_Table::A002445_1,
+ A002445_Table::A002445_2,
+ A002445_Table::A002445_3,
+ A002445_Table::A002445_4,
+ A002445_Table::A002445_5,
+ A002445_Table::A002445_6,
+ A002445_Table::A002445_7,
+ A002445_Table::A002445_8,
+ A002445_Table::A002445_9,
+ A002445_Table::A002445_10,
+ A002445_Table::A002445_11,
+ A002445_Table::A002445_12,
+ A002445_Table::A002445_13,
+ A002445_Table::A002445_14,
+ A002445_Table::A002445_15,
+ A002445_Table::A002445_16,
+ A002445_Table::A002445_17,
+ A002445_Table::A002445_18,
+ A002445_Table::A002445_19,
+ A002445_Table::A002445_20,
+ A002445_Table::A002445_21,
+ A002445_Table::A002445_22,
+ A002445_Table::A002445_23,
+ A002445_Table::A002445_24,
+ A002445_Table::A002445_25,
+ A002445_Table::A002445_26,
+ A002445_Table::A002445_27,
+ A002445_Table::A002445_28,
+ A002445_Table::A002445_29,
+ A002445_Table::A002445_30,
+ A002445_Table::A002445_31,
+ A002445_Table::A002445_32,
+ A002445_Table::A002445_33,
+ A002445_Table::A002445_34,
+ A002445_Table::A002445_35,
+ A002445_Table::A002445_36,
+ A002445_Table::A002445_37,
+ A002445_Table::A002445_38,
+ A002445_Table::A002445_39,
+ A002445_Table::A002445_40,
+ A002445_Table::A002445_41,
+ A002445_Table::A002445_42,
+ A002445_Table::A002445_43,
+ A002445_Table::A002445_44,
+ A002445_Table::A002445_45,
+ A002445_Table::A002445_46,
+ A002445_Table::A002445_47,
+ A002445_Table::A002445_48,
+ A002445_Table::A002445_49,
+ A002445_Table::A002445_50,
+ A002445_Table::A002445_51,
+ A002445_Table::A002445_52,
+ A002445_Table::A002445_53,
+ A002445_Table::A002445_54,
+ A002445_Table::A002445_55,
+ A002445_Table::A002445_56,
+ A002445_Table::A002445_57,
+ A002445_Table::A002445_58,
+ A002445_Table::A002445_59,
+ A002445_Table::A002445_60,
+ A002445_Table::A002445_61,
+ A002445_Table::A002445_62,
+ A002445_Table::A002445_63,
+ A002445_Table::A002445_64,
+ A002445_Table::A002445_65,
+ A002445_Table::A002445_66,
+ A002445_Table::A002445_67,
+ A002445_Table::A002445_68,
+ A002445_Table::A002445_69,
+ A002445_Table::A002445_70,
+ A002445_Table::A002445_71,
+ A002445_Table::A002445_72,
+ A002445_Table::A002445_73,
+ A002445_Table::A002445_74,
+ A002445_Table::A002445_75,
+ A002445_Table::A002445_76,
+ A002445_Table::A002445_77,
+ A002445_Table::A002445_78,
+ A002445_Table::A002445_79,
+ A002445_Table::A002445_80,
+ A002445_Table::A002445_81,
+ A002445_Table::A002445_82,
+ A002445_Table::A002445_83,
+ A002445_Table::A002445_84,
+ A002445_Table::A002445_85,
+ A002445_Table::A002445_86,
+ A002445_Table::A002445_87,
+ A002445_Table::A002445_88,
+ A002445_Table::A002445_89,
+ A002445_Table::A002445_90,
+ A002445_Table::A002445_91,
+ A002445_Table::A002445_92,
+ A002445_Table::A002445_93,
+ A002445_Table::A002445_94,
+ A002445_Table::A002445_95,
+ A002445_Table::A002445_96,
+ A002445_Table::A002445_97,
+ A002445_Table::A002445_98,
+ A002445_Table::A002445_99,
+ A002445_Table::A002445_100,
+ A002445_Table::A002445_101,
+ A002445_Table::A002445_102,
+ A002445_Table::A002445_103,
+ A002445_Table::A002445_104,
+ A002445_Table::A002445_105,
+ A002445_Table::A002445_106,
+ A002445_Table::A002445_107,
+ A002445_Table::A002445_108,
+ A002445_Table::A002445_109,
+ A002445_Table::A002445_110,
+ A002445_Table::A002445_111,
+ A002445_Table::A002445_112,
+ A002445_Table::A002445_113,
+ A002445_Table::A002445_114,
+ A002445_Table::A002445_115,
+ A002445_Table::A002445_116,
+ A002445_Table::A002445_117,
+ A002445_Table::A002445_118,
+ A002445_Table::A002445_119,
+ A002445_Table::A002445_120,
+ A002445_Table::A002445_121,
+ A002445_Table::A002445_122,
+ A002445_Table::A002445_123,
+ A002445_Table::A002445_124,
+ A002445_Table::A002445_125,
+ A002445_Table::A002445_126,
+ A002445_Table::A002445_127,
+ A002445_Table::A002445_128,
+ A002445_Table::A002445_129,
+ A002445_Table::A002445_130,
+ A002445_Table::A002445_131,
+ A002445_Table::A002445_132,
+ A002445_Table::A002445_133,
+ A002445_Table::A002445_134,
+ A002445_Table::A002445_135,
+ A002445_Table::A002445_136,
+ A002445_Table::A002445_137,
+ A002445_Table::A002445_138,
+ A002445_Table::A002445_139,
+ A002445_Table::A002445_140,
+ A002445_Table::A002445_141,
+ A002445_Table::A002445_142,
+ A002445_Table::A002445_143,
+ A002445_Table::A002445_144,
+ A002445_Table::A002445_145,
+ A002445_Table::A002445_146,
+ A002445_Table::A002445_147,
+ A002445_Table::A002445_148,
+ A002445_Table::A002445_149,
+ A002445_Table::A002445_150,
+ A002445_Table::A002445_151,
+ A002445_Table::A002445_152,
+ A002445_Table::A002445_153,
+ A002445_Table::A002445_154,
+ A002445_Table::A002445_155,
+ A002445_Table::A002445_156,
+ A002445_Table::A002445_157,
+ A002445_Table::A002445_158,
+ A002445_Table::A002445_159,
+ A002445_Table::A002445_160,
+ A002445_Table::A002445_161,
+ A002445_Table::A002445_162,
+ A002445_Table::A002445_163,
+ A002445_Table::A002445_164,
+ A002445_Table::A002445_165,
+ A002445_Table::A002445_166,
+ A002445_Table::A002445_167,
+ A002445_Table::A002445_168,
+ A002445_Table::A002445_169,
+ A002445_Table::A002445_170,
+ A002445_Table::A002445_171,
+ A002445_Table::A002445_172,
+ A002445_Table::A002445_173,
+ A002445_Table::A002445_174,
+ A002445_Table::A002445_175,
+ A002445_Table::A002445_176,
+ A002445_Table::A002445_177,
+ A002445_Table::A002445_178,
+ A002445_Table::A002445_179,
+ A002445_Table::A002445_180,
+ A002445_Table::A002445_181,
+ A002445_Table::A002445_182,
+ A002445_Table::A002445_183,
+ A002445_Table::A002445_184,
+ A002445_Table::A002445_185,
+ A002445_Table::A002445_186,
+ A002445_Table::A002445_187,
+ A002445_Table::A002445_188,
+ A002445_Table::A002445_189,
+ A002445_Table::A002445_190,
+ A002445_Table::A002445_191,
+ A002445_Table::A002445_192,
+ A002445_Table::A002445_193,
+ A002445_Table::A002445_194,
+ A002445_Table::A002445_195,
+ A002445_Table::A002445_196,
+ A002445_Table::A002445_197,
+ A002445_Table::A002445_198,
+ A002445_Table::A002445_199,
+ A002445_Table::A002445_200,
+ A002445_Table::A002445_201,
+ A002445_Table::A002445_202,
+ A002445_Table::A002445_203,
+ A002445_Table::A002445_204,
+ A002445_Table::A002445_205,
+ A002445_Table::A002445_206,
+ A002445_Table::A002445_207,
+ A002445_Table::A002445_208,
+ A002445_Table::A002445_209,
+ A002445_Table::A002445_210,
+ A002445_Table::A002445_211,
+ A002445_Table::A002445_212,
+ A002445_Table::A002445_213,
+ A002445_Table::A002445_214,
+ A002445_Table::A002445_215,
+ A002445_Table::A002445_216,
+ A002445_Table::A002445_217,
+ A002445_Table::A002445_218,
+ A002445_Table::A002445_219,
+ A002445_Table::A002445_220,
+ A002445_Table::A002445_221,
+ A002445_Table::A002445_222,
+ A002445_Table::A002445_223,
+ A002445_Table::A002445_224,
+ A002445_Table::A002445_225,
+ A002445_Table::A002445_226,
+ A002445_Table::A002445_227,
+ A002445_Table::A002445_228,
+ A002445_Table::A002445_229,
+ A002445_Table::A002445_230,
+ A002445_Table::A002445_231,
+ A002445_Table::A002445_232,
+ A002445_Table::A002445_233,
+ A002445_Table::A002445_234,
+ A002445_Table::A002445_235,
+ A002445_Table::A002445_236,
+ A002445_Table::A002445_237,
+ A002445_Table::A002445_238,
+ A002445_Table::A002445_239,
+ A002445_Table::A002445_240,
+ A002445_Table::A002445_241,
+ A002445_Table::A002445_242,
+ A002445_Table::A002445_243,
+ A002445_Table::A002445_244,
+ A002445_Table::A002445_245,
+ A002445_Table::A002445_246,
+ A002445_Table::A002445_247,
+ A002445_Table::A002445_248,
+ A002445_Table::A002445_249,
+ A002445_Table::A002445_250,
+ A002445_Table::A002445_251,
+ A002445_Table::A002445_252,
+ A002445_Table::A002445_253,
+ A002445_Table::A002445_254,
+ A002445_Table::A002445_255,
+ A002445_Table::A002445_256,
+ A002445_Table::A002445_257,
+ A002445_Table::A002445_258,
+ A002445_Table::A002445_259,
+ A002445_Table::A002445_260,
+ A002445_Table::A002445_261,
+ A002445_Table::A002445_262,
+ A002445_Table::A002445_263,
+ A002445_Table::A002445_264,
+ A002445_Table::A002445_265,
+ A002445_Table::A002445_266,
+ A002445_Table::A002445_267,
+ A002445_Table::A002445_268,
+ A002445_Table::A002445_269,
+ A002445_Table::A002445_270,
+ A002445_Table::A002445_271,
+ A002445_Table::A002445_272,
+ A002445_Table::A002445_273,
+ A002445_Table::A002445_274,
+ A002445_Table::A002445_275,
+ A002445_Table::A002445_276,
+ A002445_Table::A002445_277,
+ A002445_Table::A002445_278,
+ A002445_Table::A002445_279,
+ A002445_Table::A002445_280,
+ A002445_Table::A002445_281,
+ A002445_Table::A002445_282,
+ A002445_Table::A002445_283,
+ A002445_Table::A002445_284,
+ A002445_Table::A002445_285,
+ A002445_Table::A002445_286,
+ A002445_Table::A002445_287,
+ A002445_Table::A002445_288,
+ A002445_Table::A002445_289,
+ A002445_Table::A002445_290,
+ A002445_Table::A002445_291,
+ A002445_Table::A002445_292,
+ A002445_Table::A002445_293,
+ A002445_Table::A002445_294,
+ A002445_Table::A002445_295,
+ A002445_Table::A002445_296,
+ A002445_Table::A002445_297,
+ A002445_Table::A002445_298,
+ A002445_Table::A002445_299,
+ A002445_Table::A002445_300,
+ A002445_Table::A002445_301,
+ A002445_Table::A002445_302,
+ A002445_Table::A002445_303,
+ A002445_Table::A002445_304,
+ A002445_Table::A002445_305,
+ A002445_Table::A002445_306,
+ A002445_Table::A002445_307,
+ A002445_Table::A002445_308,
+ A002445_Table::A002445_309,
+ A002445_Table::A002445_310,
+ A002445_Table::A002445_311,
+ A002445_Table::A002445_312,
+ A002445_Table::A002445_313,
+ A002445_Table::A002445_314,
+ A002445_Table::A002445_315,
+ A002445_Table::A002445_316,
+ A002445_Table::A002445_317,
+ A002445_Table::A002445_318,
+ A002445_Table::A002445_319,
+ A002445_Table::A002445_320,
+ A002445_Table::A002445_321,
+ A002445_Table::A002445_322,
+ A002445_Table::A002445_323,
+ A002445_Table::A002445_324,
+ A002445_Table::A002445_325,
+ A002445_Table::A002445_326,
+ A002445_Table::A002445_327,
+ A002445_Table::A002445_328,
+ A002445_Table::A002445_329,
+ A002445_Table::A002445_330,
+ A002445_Table::A002445_331,
+ A002445_Table::A002445_332,
+ A002445_Table::A002445_333,
+ A002445_Table::A002445_334,
+ A002445_Table::A002445_335,
+ A002445_Table::A002445_336,
+ A002445_Table::A002445_337,
+ A002445_Table::A002445_338,
+ A002445_Table::A002445_339,
+ A002445_Table::A002445_340,
+ A002445_Table::A002445_341,
+ A002445_Table::A002445_342,
+ A002445_Table::A002445_343,
+ A002445_Table::A002445_344,
+ A002445_Table::A002445_345,
+ A002445_Table::A002445_346,
+ A002445_Table::A002445_347,
+ A002445_Table::A002445_348,
+ A002445_Table::A002445_349,
+ A002445_Table::A002445_350,
+ A002445_Table::A002445_351,
+ A002445_Table::A002445_352,
+ A002445_Table::A002445_353,
+ A002445_Table::A002445_354,
+ A002445_Table::A002445_355,
+ A002445_Table::A002445_356,
+ A002445_Table::A002445_357,
+ A002445_Table::A002445_358,
+ A002445_Table::A002445_359,
+ A002445_Table::A002445_360,
+ A002445_Table::A002445_361,
+ A002445_Table::A002445_362,
+ A002445_Table::A002445_363,
+ A002445_Table::A002445_364,
+ A002445_Table::A002445_365,
+ A002445_Table::A002445_366,
+ A002445_Table::A002445_367,
+ A002445_Table::A002445_368,
+ A002445_Table::A002445_369,
+ A002445_Table::A002445_370,
+ A002445_Table::A002445_371,
+ A002445_Table::A002445_372,
+ A002445_Table::A002445_373,
+ A002445_Table::A002445_374,
+ A002445_Table::A002445_375,
+ A002445_Table::A002445_376,
+ A002445_Table::A002445_377,
+ A002445_Table::A002445_378,
+ A002445_Table::A002445_379,
+ A002445_Table::A002445_380,
+ A002445_Table::A002445_381,
+ A002445_Table::A002445_382,
+ A002445_Table::A002445_383,
+ A002445_Table::A002445_384,
+ A002445_Table::A002445_385,
+ A002445_Table::A002445_386,
+ A002445_Table::A002445_387,
+ A002445_Table::A002445_388,
+ A002445_Table::A002445_389,
+ A002445_Table::A002445_390,
+ A002445_Table::A002445_391,
+ A002445_Table::A002445_392,
+ A002445_Table::A002445_393,
+ A002445_Table::A002445_394,
+ A002445_Table::A002445_395,
+ A002445_Table::A002445_396,
+ A002445_Table::A002445_397,
+ A002445_Table::A002445_398,
+ A002445_Table::A002445_399,
+ A002445_Table::A002445_400,
+ A002445_Table::A002445_401,
+ A002445_Table::A002445_402,
+ A002445_Table::A002445_403,
+ A002445_Table::A002445_404,
+ A002445_Table::A002445_405,
+ A002445_Table::A002445_406,
+ A002445_Table::A002445_407,
+ A002445_Table::A002445_408,
+ A002445_Table::A002445_409,
+ A002445_Table::A002445_410,
+ A002445_Table::A002445_411,
+ A002445_Table::A002445_412,
+ A002445_Table::A002445_413,
+ A002445_Table::A002445_414,
+ A002445_Table::A002445_415,
+ A002445_Table::A002445_416,
+ A002445_Table::A002445_417,
+ A002445_Table::A002445_418,
+ A002445_Table::A002445_419,
+ A002445_Table::A002445_420,
+ A002445_Table::A002445_421,
+ A002445_Table::A002445_422,
+ A002445_Table::A002445_423,
+ A002445_Table::A002445_424,
+ A002445_Table::A002445_425,
+ A002445_Table::A002445_426,
+ A002445_Table::A002445_427,
+ A002445_Table::A002445_428,
+ A002445_Table::A002445_429,
+ A002445_Table::A002445_430,
+ A002445_Table::A002445_431,
+ A002445_Table::A002445_432,
+ A002445_Table::A002445_433,
+ A002445_Table::A002445_434,
+ A002445_Table::A002445_435,
+ A002445_Table::A002445_436,
+ A002445_Table::A002445_437,
+ A002445_Table::A002445_438,
+ A002445_Table::A002445_439,
+ A002445_Table::A002445_440,
+ A002445_Table::A002445_441,
+ A002445_Table::A002445_442,
+ A002445_Table::A002445_443,
+ A002445_Table::A002445_444,
+ A002445_Table::A002445_445,
+ A002445_Table::A002445_446,
+ A002445_Table::A002445_447,
+ A002445_Table::A002445_448,
+ A002445_Table::A002445_449,
+ A002445_Table::A002445_450,
+ A002445_Table::A002445_451,
+ A002445_Table::A002445_452,
+ A002445_Table::A002445_453,
+ A002445_Table::A002445_454,
+ A002445_Table::A002445_455,
+ A002445_Table::A002445_456,
+ A002445_Table::A002445_457,
+ A002445_Table::A002445_458,
+ A002445_Table::A002445_459,
+ A002445_Table::A002445_460,
+ A002445_Table::A002445_461,
+ A002445_Table::A002445_462,
+ A002445_Table::A002445_463,
+ A002445_Table::A002445_464,
+ A002445_Table::A002445_465,
+ A002445_Table::A002445_466,
+ A002445_Table::A002445_467,
+ A002445_Table::A002445_468,
+ A002445_Table::A002445_469,
+ A002445_Table::A002445_470,
+ A002445_Table::A002445_471,
+ A002445_Table::A002445_472,
+ A002445_Table::A002445_473,
+ A002445_Table::A002445_474,
+ A002445_Table::A002445_475,
+ A002445_Table::A002445_476,
+ A002445_Table::A002445_477,
+ A002445_Table::A002445_478,
+ A002445_Table::A002445_479,
+ A002445_Table::A002445_480,
+ A002445_Table::A002445_481,
+ A002445_Table::A002445_482,
+ A002445_Table::A002445_483,
+ A002445_Table::A002445_484,
+ A002445_Table::A002445_485,
+ A002445_Table::A002445_486,
+ A002445_Table::A002445_487,
+ A002445_Table::A002445_488,
+ A002445_Table::A002445_489,
+ A002445_Table::A002445_490,
+ A002445_Table::A002445_491,
+ A002445_Table::A002445_492,
+ A002445_Table::A002445_493,
+ A002445_Table::A002445_494,
+ A002445_Table::A002445_495,
+ A002445_Table::A002445_496,
+ A002445_Table::A002445_497,
+ A002445_Table::A002445_498,
+ A002445_Table::A002445_499,
+ A002445_Table::A002445_500,
+ A002445_Table::A002445_501,
+ A002445_Table::A002445_502,
+ A002445_Table::A002445_503,
+ A002445_Table::A002445_504,
+ A002445_Table::A002445_505,
+ A002445_Table::A002445_506,
+ A002445_Table::A002445_507,
+ A002445_Table::A002445_508,
+ A002445_Table::A002445_509,
+ A002445_Table::A002445_510,
+ A002445_Table::A002445_511,
+ A002445_Table::A002445_512,
+ A002445_Table::A002445_513,
+ A002445_Table::A002445_514,
+ A002445_Table::A002445_515,
+ A002445_Table::A002445_516,
+ A002445_Table::A002445_517,
+ A002445_Table::A002445_518,
+ A002445_Table::A002445_519,
+ A002445_Table::A002445_520,
+ A002445_Table::A002445_521,
+ A002445_Table::A002445_522,
+ A002445_Table::A002445_523,
+ A002445_Table::A002445_524,
+ A002445_Table::A002445_525,
+ A002445_Table::A002445_526,
+ A002445_Table::A002445_527,
+ A002445_Table::A002445_528,
+ A002445_Table::A002445_529,
+ A002445_Table::A002445_530,
+ A002445_Table::A002445_531,
+ A002445_Table::A002445_532,
+ A002445_Table::A002445_533,
+ A002445_Table::A002445_534,
+ A002445_Table::A002445_535,
+ A002445_Table::A002445_536,
+ A002445_Table::A002445_537,
+ A002445_Table::A002445_538,
+ A002445_Table::A002445_539,
+ A002445_Table::A002445_540,
+ A002445_Table::A002445_541,
+ A002445_Table::A002445_542,
+ A002445_Table::A002445_543,
+ A002445_Table::A002445_544,
+ A002445_Table::A002445_545,
+ A002445_Table::A002445_546,
+ A002445_Table::A002445_547,
+ A002445_Table::A002445_548,
+ A002445_Table::A002445_549,
+ A002445_Table::A002445_550,
+ A002445_Table::A002445_551,
+ A002445_Table::A002445_552,
+ A002445_Table::A002445_553,
+ A002445_Table::A002445_554,
+ A002445_Table::A002445_555,
+ A002445_Table::A002445_556,
+ A002445_Table::A002445_557,
+ A002445_Table::A002445_558,
+ A002445_Table::A002445_559,
+ A002445_Table::A002445_560,
+ A002445_Table::A002445_561,
+ A002445_Table::A002445_562,
+ A002445_Table::A002445_563,
+ A002445_Table::A002445_564,
+ A002445_Table::A002445_565,
+ A002445_Table::A002445_566,
+ A002445_Table::A002445_567,
+ A002445_Table::A002445_568,
+ A002445_Table::A002445_569,
+ A002445_Table::A002445_570,
+ A002445_Table::A002445_571,
+ A002445_Table::A002445_572,
+ A002445_Table::A002445_573,
+ A002445_Table::A002445_574,
+ A002445_Table::A002445_575,
+ A002445_Table::A002445_576,
+ A002445_Table::A002445_577,
+ A002445_Table::A002445_578,
+ A002445_Table::A002445_579,
+ A002445_Table::A002445_580,
+ A002445_Table::A002445_581,
+ A002445_Table::A002445_582,
+ A002445_Table::A002445_583,
+ A002445_Table::A002445_584,
+ A002445_Table::A002445_585,
+ A002445_Table::A002445_586,
+ A002445_Table::A002445_587,
+ A002445_Table::A002445_588,
+ A002445_Table::A002445_589,
+ A002445_Table::A002445_590,
+ A002445_Table::A002445_591,
+ A002445_Table::A002445_592,
+ A002445_Table::A002445_593,
+ A002445_Table::A002445_594,
+ A002445_Table::A002445_595,
+ A002445_Table::A002445_596,
+ A002445_Table::A002445_597,
+ A002445_Table::A002445_598,
+ A002445_Table::A002445_599,
+ A002445_Table::A002445_600,
+ A002445_Table::A002445_601,
+ A002445_Table::A002445_602,
+ A002445_Table::A002445_603,
+ A002445_Table::A002445_604,
+ A002445_Table::A002445_605,
+ A002445_Table::A002445_606,
+ A002445_Table::A002445_607,
+ A002445_Table::A002445_608,
+ A002445_Table::A002445_609,
+ A002445_Table::A002445_610,
+ A002445_Table::A002445_611,
+ A002445_Table::A002445_612,
+ A002445_Table::A002445_613,
+ A002445_Table::A002445_614,
+ A002445_Table::A002445_615,
+ A002445_Table::A002445_616,
+ A002445_Table::A002445_617,
+ A002445_Table::A002445_618,
+ A002445_Table::A002445_619,
+ A002445_Table::A002445_620,
+ A002445_Table::A002445_621,
+ A002445_Table::A002445_622,
+ A002445_Table::A002445_623,
+ A002445_Table::A002445_624,
+ A002445_Table::A002445_625,
+ A002445_Table::A002445_626,
+ A002445_Table::A002445_627,
+ A002445_Table::A002445_628,
+ A002445_Table::A002445_629,
+ A002445_Table::A002445_630,
+ A002445_Table::A002445_631,
+ A002445_Table::A002445_632,
+ A002445_Table::A002445_633,
+ A002445_Table::A002445_634,
+ A002445_Table::A002445_635,
+ A002445_Table::A002445_636,
+ A002445_Table::A002445_637,
+ A002445_Table::A002445_638,
+ A002445_Table::A002445_639,
+ A002445_Table::A002445_640,
+ A002445_Table::A002445_641,
+ A002445_Table::A002445_642,
+ A002445_Table::A002445_643,
+ A002445_Table::A002445_644,
+ A002445_Table::A002445_645,
+ A002445_Table::A002445_646,
+ A002445_Table::A002445_647,
+ A002445_Table::A002445_648,
+ A002445_Table::A002445_649,
+ A002445_Table::A002445_650,
+ A002445_Table::A002445_651,
+ A002445_Table::A002445_652,
+ A002445_Table::A002445_653,
+ A002445_Table::A002445_654,
+ A002445_Table::A002445_655,
+ A002445_Table::A002445_656,
+ A002445_Table::A002445_657,
+ A002445_Table::A002445_658,
+ A002445_Table::A002445_659,
+ A002445_Table::A002445_660,
+ A002445_Table::A002445_661,
+ A002445_Table::A002445_662,
+ A002445_Table::A002445_663,
+ A002445_Table::A002445_664,
+ A002445_Table::A002445_665,
+ A002445_Table::A002445_666,
+ A002445_Table::A002445_667,
+ A002445_Table::A002445_668,
+ A002445_Table::A002445_669,
+ A002445_Table::A002445_670,
+ A002445_Table::A002445_671,
+ A002445_Table::A002445_672,
+ A002445_Table::A002445_673,
+ A002445_Table::A002445_674,
+ A002445_Table::A002445_675,
+ A002445_Table::A002445_676,
+ A002445_Table::A002445_677,
+ A002445_Table::A002445_678,
+ A002445_Table::A002445_679,
+ A002445_Table::A002445_680,
+ A002445_Table::A002445_681,
+ A002445_Table::A002445_682,
+ A002445_Table::A002445_683,
+ A002445_Table::A002445_684,
+ A002445_Table::A002445_685,
+ A002445_Table::A002445_686,
+ A002445_Table::A002445_687,
+ A002445_Table::A002445_688,
+ A002445_Table::A002445_689,
+ A002445_Table::A002445_690,
+ A002445_Table::A002445_691,
+ A002445_Table::A002445_692,
+ A002445_Table::A002445_693,
+ A002445_Table::A002445_694,
+ A002445_Table::A002445_695,
+ A002445_Table::A002445_696,
+ A002445_Table::A002445_697,
+ A002445_Table::A002445_698,
+ A002445_Table::A002445_699,
+ A002445_Table::A002445_700,
+ A002445_Table::A002445_701,
+ A002445_Table::A002445_702,
+ A002445_Table::A002445_703,
+ A002445_Table::A002445_704,
+ A002445_Table::A002445_705,
+ A002445_Table::A002445_706,
+ A002445_Table::A002445_707,
+ A002445_Table::A002445_708,
+ A002445_Table::A002445_709,
+ A002445_Table::A002445_710,
+ A002445_Table::A002445_711,
+ A002445_Table::A002445_712,
+ A002445_Table::A002445_713,
+ A002445_Table::A002445_714,
+ A002445_Table::A002445_715,
+ A002445_Table::A002445_716,
+ A002445_Table::A002445_717,
+ A002445_Table::A002445_718,
+ A002445_Table::A002445_719,
+ A002445_Table::A002445_720,
+ A002445_Table::A002445_721,
+ A002445_Table::A002445_722,
+ A002445_Table::A002445_723,
+ A002445_Table::A002445_724,
+ A002445_Table::A002445_725,
+ A002445_Table::A002445_726,
+ A002445_Table::A002445_727,
+ A002445_Table::A002445_728,
+ A002445_Table::A002445_729,
+ A002445_Table::A002445_730,
+ A002445_Table::A002445_731,
+ A002445_Table::A002445_732,
+ A002445_Table::A002445_733,
+ A002445_Table::A002445_734,
+ A002445_Table::A002445_735,
+ A002445_Table::A002445_736,
+ A002445_Table::A002445_737,
+ A002445_Table::A002445_738,
+ A002445_Table::A002445_739,
+ A002445_Table::A002445_740,
+ A002445_Table::A002445_741,
+ A002445_Table::A002445_742,
+ A002445_Table::A002445_743,
+ A002445_Table::A002445_744,
+ A002445_Table::A002445_745,
+ A002445_Table::A002445_746,
+ A002445_Table::A002445_747,
+ A002445_Table::A002445_748,
+ A002445_Table::A002445_749,
+ A002445_Table::A002445_750,
+ A002445_Table::A002445_751,
+ A002445_Table::A002445_752,
+ A002445_Table::A002445_753,
+ A002445_Table::A002445_754,
+ A002445_Table::A002445_755,
+ A002445_Table::A002445_756,
+ A002445_Table::A002445_757,
+ A002445_Table::A002445_758,
+ A002445_Table::A002445_759,
+ A002445_Table::A002445_760,
+ A002445_Table::A002445_761,
+ A002445_Table::A002445_762,
+ A002445_Table::A002445_763,
+ A002445_Table::A002445_764,
+ A002445_Table::A002445_765,
+ A002445_Table::A002445_766,
+ A002445_Table::A002445_767,
+ A002445_Table::A002445_768,
+ A002445_Table::A002445_769,
+ A002445_Table::A002445_770,
+ A002445_Table::A002445_771,
+ A002445_Table::A002445_772,
+ A002445_Table::A002445_773,
+ A002445_Table::A002445_774,
+ A002445_Table::A002445_775,
+ A002445_Table::A002445_776,
+ A002445_Table::A002445_777,
+ A002445_Table::A002445_778,
+ A002445_Table::A002445_779,
+ A002445_Table::A002445_780,
+ A002445_Table::A002445_781,
+ A002445_Table::A002445_782,
+ A002445_Table::A002445_783,
+ A002445_Table::A002445_784,
+ A002445_Table::A002445_785,
+ A002445_Table::A002445_786,
+ A002445_Table::A002445_787,
+ A002445_Table::A002445_788,
+ A002445_Table::A002445_789,
+ A002445_Table::A002445_790,
+ A002445_Table::A002445_791,
+ A002445_Table::A002445_792,
+ A002445_Table::A002445_793,
+ A002445_Table::A002445_794,
+ A002445_Table::A002445_795,
+ A002445_Table::A002445_796,
+ A002445_Table::A002445_797,
+ A002445_Table::A002445_798,
+ A002445_Table::A002445_799,
+ A002445_Table::A002445_800,
+ A002445_Table::A002445_801,
+ A002445_Table::A002445_802,
+ A002445_Table::A002445_803,
+ A002445_Table::A002445_804,
+ A002445_Table::A002445_805,
+ A002445_Table::A002445_806,
+ A002445_Table::A002445_807,
+ A002445_Table::A002445_808,
+ A002445_Table::A002445_809,
+ A002445_Table::A002445_810,
+ A002445_Table::A002445_811,
+ A002445_Table::A002445_812,
+ A002445_Table::A002445_813,
+ A002445_Table::A002445_814,
+ A002445_Table::A002445_815,
+ A002445_Table::A002445_816,
+ A002445_Table::A002445_817,
+ A002445_Table::A002445_818,
+ A002445_Table::A002445_819,
+ A002445_Table::A002445_820,
+ A002445_Table::A002445_821,
+ A002445_Table::A002445_822,
+ A002445_Table::A002445_823,
+ A002445_Table::A002445_824,
+ A002445_Table::A002445_825,
+ A002445_Table::A002445_826,
+ A002445_Table::A002445_827,
+ A002445_Table::A002445_828,
+ A002445_Table::A002445_829,
+ A002445_Table::A002445_830,
+ A002445_Table::A002445_831,
+ A002445_Table::A002445_832,
+ A002445_Table::A002445_833,
+ A002445_Table::A002445_834,
+ A002445_Table::A002445_835,
+ A002445_Table::A002445_836,
+ A002445_Table::A002445_837,
+ A002445_Table::A002445_838,
+ A002445_Table::A002445_839,
+ A002445_Table::A002445_840,
+ A002445_Table::A002445_841,
+ A002445_Table::A002445_842,
+ A002445_Table::A002445_843,
+ A002445_Table::A002445_844,
+ A002445_Table::A002445_845,
+ A002445_Table::A002445_846,
+ A002445_Table::A002445_847,
+ A002445_Table::A002445_848,
+ A002445_Table::A002445_849,
+ A002445_Table::A002445_850,
+ A002445_Table::A002445_851,
+ A002445_Table::A002445_852,
+ A002445_Table::A002445_853,
+ A002445_Table::A002445_854,
+ A002445_Table::A002445_855,
+ A002445_Table::A002445_856,
+ A002445_Table::A002445_857,
+ A002445_Table::A002445_858,
+ A002445_Table::A002445_859,
+ A002445_Table::A002445_860,
+ A002445_Table::A002445_861,
+ A002445_Table::A002445_862,
+ A002445_Table::A002445_863,
+ A002445_Table::A002445_864,
+ A002445_Table::A002445_865,
+ A002445_Table::A002445_866,
+ A002445_Table::A002445_867,
+ A002445_Table::A002445_868,
+ A002445_Table::A002445_869,
+ A002445_Table::A002445_870,
+ A002445_Table::A002445_871,
+ A002445_Table::A002445_872,
+ A002445_Table::A002445_873,
+ A002445_Table::A002445_874,
+ A002445_Table::A002445_875,
+ A002445_Table::A002445_876,
+ A002445_Table::A002445_877,
+ A002445_Table::A002445_878,
+ A002445_Table::A002445_879,
+ A002445_Table::A002445_880,
+ A002445_Table::A002445_881,
+ A002445_Table::A002445_882,
+ A002445_Table::A002445_883,
+ A002445_Table::A002445_884,
+ A002445_Table::A002445_885,
+ A002445_Table::A002445_886,
+ A002445_Table::A002445_887,
+ A002445_Table::A002445_888,
+ A002445_Table::A002445_889,
+ A002445_Table::A002445_890,
+ A002445_Table::A002445_891,
+ A002445_Table::A002445_892,
+ A002445_Table::A002445_893,
+ A002445_Table::A002445_894,
+ A002445_Table::A002445_895,
+ A002445_Table::A002445_896,
+ A002445_Table::A002445_897,
+ A002445_Table::A002445_898,
+ A002445_Table::A002445_899,
+ A002445_Table::A002445_900,
+ A002445_Table::A002445_901,
+ A002445_Table::A002445_902,
+ A002445_Table::A002445_903,
+ A002445_Table::A002445_904,
+ A002445_Table::A002445_905,
+ A002445_Table::A002445_906,
+ A002445_Table::A002445_907,
+ A002445_Table::A002445_908,
+ A002445_Table::A002445_909,
+ A002445_Table::A002445_910,
+ A002445_Table::A002445_911,
+ A002445_Table::A002445_912,
+ A002445_Table::A002445_913,
+ A002445_Table::A002445_914,
+ A002445_Table::A002445_915,
+ A002445_Table::A002445_916,
+ A002445_Table::A002445_917,
+ A002445_Table::A002445_918,
+ A002445_Table::A002445_919,
+ A002445_Table::A002445_920,
+ A002445_Table::A002445_921,
+ A002445_Table::A002445_922,
+ A002445_Table::A002445_923,
+ A002445_Table::A002445_924,
+ A002445_Table::A002445_925,
+ A002445_Table::A002445_926,
+ A002445_Table::A002445_927,
+ A002445_Table::A002445_928,
+ A002445_Table::A002445_929,
+ A002445_Table::A002445_930,
+ A002445_Table::A002445_931,
+ A002445_Table::A002445_932,
+ A002445_Table::A002445_933,
+ A002445_Table::A002445_934,
+ A002445_Table::A002445_935,
+ A002445_Table::A002445_936,
+ A002445_Table::A002445_937,
+ A002445_Table::A002445_938,
+ A002445_Table::A002445_939,
+ A002445_Table::A002445_940,
+ A002445_Table::A002445_941,
+ A002445_Table::A002445_942,
+ A002445_Table::A002445_943,
+ A002445_Table::A002445_944,
+ A002445_Table::A002445_945,
+ A002445_Table::A002445_946,
+ A002445_Table::A002445_947,
+ A002445_Table::A002445_948,
+ A002445_Table::A002445_949,
+ A002445_Table::A002445_950,
+ A002445_Table::A002445_951,
+ A002445_Table::A002445_952,
+ A002445_Table::A002445_953,
+ A002445_Table::A002445_954,
+ A002445_Table::A002445_955,
+ A002445_Table::A002445_956,
+ A002445_Table::A002445_957,
+ A002445_Table::A002445_958,
+ A002445_Table::A002445_959,
+ A002445_Table::A002445_960,
+ A002445_Table::A002445_961,
+ A002445_Table::A002445_962,
+ A002445_Table::A002445_963,
+ A002445_Table::A002445_964,
+ A002445_Table::A002445_965,
+ A002445_Table::A002445_966,
+ A002445_Table::A002445_967,
+ A002445_Table::A002445_968,
+ A002445_Table::A002445_969,
+ A002445_Table::A002445_970,
+ A002445_Table::A002445_971,
+ A002445_Table::A002445_972,
+ A002445_Table::A002445_973,
+ A002445_Table::A002445_974,
+ A002445_Table::A002445_975,
+ A002445_Table::A002445_976,
+ A002445_Table::A002445_977,
+ A002445_Table::A002445_978,
+ A002445_Table::A002445_979,
+ A002445_Table::A002445_980,
+ A002445_Table::A002445_981,
+ A002445_Table::A002445_982,
+ A002445_Table::A002445_983,
+ A002445_Table::A002445_984,
+ A002445_Table::A002445_985,
+ A002445_Table::A002445_986,
+ A002445_Table::A002445_987,
+ A002445_Table::A002445_988,
+ A002445_Table::A002445_989,
+ A002445_Table::A002445_990,
+ A002445_Table::A002445_991,
+ A002445_Table::A002445_992,
+ A002445_Table::A002445_993,
+ A002445_Table::A002445_994,
+ A002445_Table::A002445_995,
+ A002445_Table::A002445_996,
+ A002445_Table::A002445_997,
+ A002445_Table::A002445_998,
+ A002445_Table::A002445_999,
+ A002445_Table::A002445_1000,
+ }};
+
+ static const std::vector<pfn_efloat> A002445_vect(A002445_data.begin(), A002445_data.end());
+
+ return A002445_vect;
+ }
+}

Added: sandbox/multiprecision/src/functions/tables/A006882.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/tables/A006882.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,7043 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <vector>
+#include <boost/array.hpp>
+#include "tables.h"
+
+using boost::multiprecision::mp_float;
+
+using boost::multiprecision::mp_float;
+
+namespace A006882_Table
+{
+ static const mp_float& A006882_0(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A006882_1(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(1L));
+ return val;
+ }
+
+ static const mp_float& A006882_2(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2L));
+ return val;
+ }
+
+ static const mp_float& A006882_3(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3L));
+ return val;
+ }
+
+ static const mp_float& A006882_4(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(8L));
+ return val;
+ }
+
+ static const mp_float& A006882_5(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(15L));
+ return val;
+ }
+
+ static const mp_float& A006882_6(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(48L));
+ return val;
+ }
+
+ static const mp_float& A006882_7(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(105L));
+ return val;
+ }
+
+ static const mp_float& A006882_8(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(384L));
+ return val;
+ }
+
+ static const mp_float& A006882_9(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(945L));
+ return val;
+ }
+
+ static const mp_float& A006882_10(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(3840L));
+ return val;
+ }
+
+ static const mp_float& A006882_11(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(10395L));
+ return val;
+ }
+
+ static const mp_float& A006882_12(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(46080L));
+ return val;
+ }
+
+ static const mp_float& A006882_13(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(135135L));
+ return val;
+ }
+
+ static const mp_float& A006882_14(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(645120L));
+ return val;
+ }
+
+ static const mp_float& A006882_15(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(2027025L));
+ return val;
+ }
+
+ static const mp_float& A006882_16(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(10321920L));
+ return val;
+ }
+
+ static const mp_float& A006882_17(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(34459425L));
+ return val;
+ }
+
+ static const mp_float& A006882_18(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(185794560L));
+ return val;
+ }
+
+ static const mp_float& A006882_19(void)
+ {
+ static const mp_float val(static_cast<boost::int32_t>(654729075L));
+ return val;
+ }
+
+ static const mp_float& A006882_20(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(3715891200LL));
+ return val;
+ }
+
+ static const mp_float& A006882_21(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(13749310575LL));
+ return val;
+ }
+
+ static const mp_float& A006882_22(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(81749606400LL));
+ return val;
+ }
+
+ static const mp_float& A006882_23(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(316234143225LL));
+ return val;
+ }
+
+ static const mp_float& A006882_24(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1961990553600LL));
+ return val;
+ }
+
+ static const mp_float& A006882_25(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(7905853580625LL));
+ return val;
+ }
+
+ static const mp_float& A006882_26(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(51011754393600LL));
+ return val;
+ }
+
+ static const mp_float& A006882_27(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(213458046676875LL));
+ return val;
+ }
+
+ static const mp_float& A006882_28(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1428329123020800LL));
+ return val;
+ }
+
+ static const mp_float& A006882_29(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6190283353629375LL));
+ return val;
+ }
+
+ static const mp_float& A006882_30(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(42849873690624000LL));
+ return val;
+ }
+
+ static const mp_float& A006882_31(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(191898783962510625LL));
+ return val;
+ }
+
+ static const mp_float& A006882_32(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(1371195958099968000LL));
+ return val;
+ }
+
+ static const mp_float& A006882_33(void)
+ {
+ static const mp_float val(static_cast<boost::int64_t>(6332659870762850625LL));
+ return val;
+ }
+
+ static const mp_float& A006882_34(void)
+ {
+ static const mp_float val("+4.6620662575398912000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000019");
+ return val;
+ }
+
+ static const mp_float& A006882_35(void)
+ {
+ static const mp_float val("+2.21643095476699771875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000020");
+ return val;
+ }
+
+ static const mp_float& A006882_36(void)
+ {
+ static const mp_float val("+1.678343852714360832000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000021");
+ return val;
+ }
+
+ static const mp_float& A006882_37(void)
+ {
+ static const mp_float val("+8.200794532637891559375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000021");
+ return val;
+ }
+
+ static const mp_float& A006882_38(void)
+ {
+ static const mp_float val("+6.377706640314571161600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000022");
+ return val;
+ }
+
+ static const mp_float& A006882_39(void)
+ {
+ static const mp_float val("+3.198309867728777708156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000023");
+ return val;
+ }
+
+ static const mp_float& A006882_40(void)
+ {
+ static const mp_float val("+2.5510826561258284646400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000024");
+ return val;
+ }
+
+ static const mp_float& A006882_41(void)
+ {
+ static const mp_float val("+1.31130704576879886034406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000025");
+ return val;
+ }
+
+ static const mp_float& A006882_42(void)
+ {
+ static const mp_float val("+1.071454715572847955148800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000026");
+ return val;
+ }
+
+ static const mp_float& A006882_43(void)
+ {
+ static const mp_float val("+5.638620296805835099479468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000026");
+ return val;
+ }
+
+ static const mp_float& A006882_44(void)
+ {
+ static const mp_float val("+4.7144007485205310026547200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000027");
+ return val;
+ }
+
+ static const mp_float& A006882_45(void)
+ {
+ static const mp_float val("+2.53737913356262579476576093750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000028");
+ return val;
+ }
+
+ static const mp_float& A006882_46(void)
+ {
+ static const mp_float val("+2.168624344319444261221171200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000029");
+ return val;
+ }
+
+ static const mp_float& A006882_47(void)
+ {
+ static const mp_float val("+1.192568192774434123539907640625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000030");
+ return val;
+ }
+
+ static const mp_float& A006882_48(void)
+ {
+ static const mp_float val("+1.040939685273333245386162176000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000031");
+ return val;
+ }
+
+ static const mp_float& A006882_49(void)
+ {
+ static const mp_float val("+5.843584144594727205345547439062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000031");
+ return val;
+ }
+
+ static const mp_float& A006882_50(void)
+ {
+ static const mp_float val("+5.2046984263666662269308108800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000032");
+ return val;
+ }
+
+ static const mp_float& A006882_51(void)
+ {
+ static const mp_float val("+2.98022791374331087472622919392187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000033");
+ return val;
+ }
+
+ static const mp_float& A006882_52(void)
+ {
+ static const mp_float val("+2.706443181710666438004021657600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000034");
+ return val;
+ }
+
+ static const mp_float& A006882_53(void)
+ {
+ static const mp_float val("+1.5795207942839547636049014727785937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000035");
+ return val;
+ }
+
+ static const mp_float& A006882_54(void)
+ {
+ static const mp_float val("+1.46147931812375987652217169510400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000036");
+ return val;
+ }
+
+ static const mp_float& A006882_55(void)
+ {
+ static const mp_float val("+8.68736436856175119982695810028226562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000036");
+ return val;
+ }
+
+ static const mp_float& A006882_56(void)
+ {
+ static const mp_float val("+8.184284181493055308524161492582400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000037");
+ return val;
+ }
+
+ static const mp_float& A006882_57(void)
+ {
+ static const mp_float val("+4.951797690080198183901366117160891406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000038");
+ return val;
+ }
+
+ static const mp_float& A006882_58(void)
+ {
+ static const mp_float val("+4.746884825265972078944013665697792000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000039");
+ return val;
+ }
+
+ static const mp_float& A006882_59(void)
+ {
+ static const mp_float val("+2.9215606371473169285018060091249259296875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000040");
+ return val;
+ }
+
+ static const mp_float& A006882_60(void)
+ {
+ static const mp_float val("+2.84813089515958324736640819941867520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000041");
+ return val;
+ }
+
+ static const mp_float& A006882_61(void)
+ {
+ static const mp_float val("+1.782151988659863326386101665566204817109375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000042");
+ return val;
+ }
+
+ static const mp_float& A006882_62(void)
+ {
+ static const mp_float val("+1.7658411549989416133671730836395786240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000043");
+ return val;
+ }
+
+ static const mp_float& A006882_63(void)
+ {
+ static const mp_float val("+1.12275575285571389562324404930670903477890625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000044");
+ return val;
+ }
+
+ static const mp_float& A006882_64(void)
+ {
+ static const mp_float val("+1.130138339199322632554990773529330319360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000045");
+ return val;
+ }
+
+ static const mp_float& A006882_65(void)
+ {
+ static const mp_float val("+7.297912393562140321551086320493608726062890625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000045");
+ return val;
+ }
+
+ static const mp_float& A006882_66(void)
+ {
+ static const mp_float val("+7.458913038715529374862939105293580107776000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000046");
+ return val;
+ }
+
+ static const mp_float& A006882_67(void)
+ {
+ static const mp_float val("+4.889601303686634015439227834730717846462136718750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000047");
+ return val;
+ }
+
+ static const mp_float& A006882_68(void)
+ {
+ static const mp_float val("+5.0720608663265599749067985915996344732876800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000048");
+ return val;
+ }
+
+ static const mp_float& A006882_69(void)
+ {
+ static const mp_float val("+3.37382489954377747065306720596419531405887433593750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000049");
+ return val;
+ }
+
+ static const mp_float& A006882_70(void)
+ {
+ static const mp_float val("+3.550442606428591982434759014119744131301376000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000050");
+ return val;
+ }
+
+ static const mp_float& A006882_71(void)
+ {
+ static const mp_float val("+2.3954156786760820041636777162345786729818007785156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000051");
+ return val;
+ }
+
+ static const mp_float& A006882_72(void)
+ {
+ static const mp_float val("+2.55631867662858622735302649016621577453699072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000052");
+ return val;
+ }
+
+ static const mp_float& A006882_73(void)
+ {
+ static const mp_float val("+1.748653445433539863039484732851242431276714568316406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000053");
+ return val;
+ }
+
+ static const mp_float& A006882_74(void)
+ {
+ static const mp_float val("+1.891675820705153808241239602722999673157373132800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000054");
+ return val;
+ }
+
+ static const mp_float& A006882_75(void)
+ {
+ static const mp_float val("+1.311490084075154897279613549638431823457535926237304687500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000055");
+ return val;
+ }
+
+ static const mp_float& A006882_76(void)
+ {
+ static const mp_float val("+1.4376736237359168942633420980694797515996035809280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000056");
+ return val;
+ }
+
+ static const mp_float& A006882_77(void)
+ {
+ static const mp_float val("+1.00984736473786927090530243322159250406230266320272460937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000057");
+ return val;
+ }
+
+ static const mp_float& A006882_78(void)
+ {
+ static const mp_float val("+1.121385426514015177525406836494194206247690793123840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000058");
+ return val;
+ }
+
+ static const mp_float& A006882_79(void)
+ {
+ static const mp_float val("+7.977794181429167240151889222450580782092191039301524414062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000058");
+ return val;
+ }
+
+ static const mp_float& A006882_80(void)
+ {
+ static const mp_float val("+8.9710834121121214202032546919535536499815263449907200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000059");
+ return val;
+ }
+
+ static const mp_float& A006882_81(void)
+ {
+ static const mp_float val("+6.46201328695762546452303027018497043349467474183423477539062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000060");
+ return val;
+ }
+
+ static const mp_float& A006882_82(void)
+ {
+ static const mp_float val("+7.356288397931939564566668847401913992984851602892390400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000061");
+ return val;
+ }
+
+ static const mp_float& A006882_83(void)
+ {
+ static const mp_float val("+5.363471028174829135554115124253525459800580035722414863574218750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000062");
+ return val;
+ }
+
+ static const mp_float& A006882_84(void)
+ {
+ static const mp_float val("+6.179282254262829234236001831817607754107275346429607936000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000063");
+ return val;
+ }
+
+ static const mp_float& A006882_85(void)
+ {
+ static const mp_float val("+4.5589503739486047652209978556154966408304930303640526340380859375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000064");
+ return val;
+ }
+
+ static const mp_float& A006882_86(void)
+ {
+ static const mp_float val("+5.31418273866603314144296157536314266853225679792946282496000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000065");
+ return val;
+ }
+
+ static const mp_float& A006882_87(void)
+ {
+ static const mp_float val("+3.966286825335286145742268134385482077522528936416725791613134765625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000066");
+ return val;
+ }
+
+ static const mp_float& A006882_88(void)
+ {
+ static const mp_float val("+4.6764808100261091644698061863195655483083859821779272859648000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000067");
+ return val;
+ }
+
+ static const mp_float& A006882_89(void)
+ {
+ static const mp_float val("+3.52999527454840466971061863960307904899505075341088595453568994140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000068");
+ return val;
+ }
+
+ static const mp_float& A006882_90(void)
+ {
+ static const mp_float val("+4.208832729023498248022825567687608993477547383960134557368320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000069");
+ return val;
+ }
+
+ static const mp_float& A006882_91(void)
+ {
+ static const mp_float val("+3.212295699839048249436662962038801934585496185603906218627477846679687500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000070");
+ return val;
+ }
+
+ static const mp_float& A006882_92(void)
+ {
+ static const mp_float val("+3.872126110701618388180999522272600273999343593243323792778854400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000071");
+ return val;
+ }
+
+ static const mp_float& A006882_93(void)
+ {
+ static const mp_float val("+2.9874350008503148719760965546960857991645114526116327833235543974121093750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000072");
+ return val;
+ }
+
+ static const mp_float& A006882_94(void)
+ {
+ static const mp_float val("+3.63979854405952128489013955093624425755938297764872436521212313600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000073");
+ return val;
+ }
+
+ static const mp_float& A006882_95(void)
+ {
+ static const mp_float val("+2.838063250807799128377291726961281509206285879981051144157376677541503906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000074");
+ return val;
+ }
+
+ static const mp_float& A006882_96(void)
+ {
+ static const mp_float val("+3.4942066022971404334945339688987944872570076585427753906036382105600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000075");
+ return val;
+ }
+
+ static const mp_float& A006882_97(void)
+ {
+ static const mp_float val("+2.75292135328356515452597297515244306393009730358161960983265537721525878906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000076");
+ return val;
+ }
+
+ static const mp_float& A006882_98(void)
+ {
+ static const mp_float val("+3.424322470251197624824643289520818597511867505371919882791565446348800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000077");
+ return val;
+ }
+
+ static const mp_float& A006882_99(void)
+ {
+ static const mp_float val("+2.725392139750729502980713245400918633290796330545803413734328823443106201171875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000078");
+ return val;
+ }
+
+ static const mp_float& A006882_100(void)
+ {
+ static const mp_float val("+3.424322470251197624824643289520818597511867505371919882791565446348800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000079");
+ return val;
+ }
+
+ static const mp_float& A006882_101(void)
+ {
+ static const mp_float val("+2.7526460611482367980105203778549278196237042938512614478716721116775372631835937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000080");
+ return val;
+ }
+
+ static const mp_float& A006882_102(void)
+ {
+ static const mp_float val("+3.49280891965622157732113615531123496946210485547935828044739675527577600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000081");
+ return val;
+ }
+
+ static const mp_float& A006882_103(void)
+ {
+ static const mp_float val("+2.835225442982683901950835989190575654212415422666799291307822275027863381079101562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000082");
+ return val;
+ }
+
+ static const mp_float& A006882_104(void)
+ {
+ static const mp_float val("+3.6325212764424704404139816015236843682405890496985326116652926254868070400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000083");
+ return val;
+ }
+
+ static const mp_float& A006882_105(void)
+ {
+ static const mp_float val("+2.97698671513181809704837778865010443692303619380013925587321338877925655013305664062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000084");
+ return val;
+ }
+
+ static const mp_float& A006882_106(void)
+ {
+ static const mp_float val("+3.850472553029018666838820497615105430335024392680444568365210183016015462400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000085");
+ return val;
+ }
+
+ static const mp_float& A006882_107(void)
+ {
+ static const mp_float val("+3.185375785191045363841764233855611747507648727366149003784338325993804508642370605468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000086");
+ return val;
+ }
+
+ static const mp_float& A006882_108(void)
+ {
+ static const mp_float val("+4.158510357271340160185926137424313864761826344094880133834426997657296699392000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000087");
+ return val;
+ }
+
+ static const mp_float& A006882_109(void)
+ {
+ static const mp_float val("+3.4720596058582394465875230149026168047833371128291024141249287753332469144201839599609375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000088");
+ return val;
+ }
+
+ static const mp_float& A006882_110(void)
+ {
+ static const mp_float val("+4.57436139299847417620451875116674525123800897850436814721786969742302636933120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000089");
+ return val;
+ }
+
+ static const mp_float& A006882_111(void)
+ {
+ static const mp_float val("+3.853986162502645785712150546541904653309504195240303679678670940619904075006404195556640625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000090");
+ return val;
+ }
+
+ static const mp_float& A006882_112(void)
+ {
+ static const mp_float val("+5.1232847601582910773490610013067546813865700559248923248840140611137895336509440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000091");
+ return val;
+ }
+
+ static const mp_float& A006882_113(void)
+ {
+ static const mp_float val("+4.35500436362798973785473011759235225823973974062154315803689816290049160475723674097900390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000092");
+ return val;
+ }
+
+ static const mp_float& A006882_114(void)
+ {
+ static const mp_float val("+5.840544626580451828177929541489700336780689863754377250367776029669720068362076160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000093");
+ return val;
+ }
+
+ static const mp_float& A006882_115(void)
+ {
+ static const mp_float val("+5.008255018172188198532939635231205096975700701714774631742432887335565345470822252125854492187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000094");
+ return val;
+ }
+
+ static const mp_float& A006882_116(void)
+ {
+ static const mp_float val("+6.775031766833324120686398268128052390665600241955077610426620194416875279300008345600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000095");
+ return val;
+ }
+
+ static const mp_float& A006882_117(void)
+ {
+ static const mp_float val("+5.8596583712614601922835393732205099634615698210062863191386464781826114542008620349872497558593750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000096");
+ return val;
+ }
+
+ static const mp_float& A006882_118(void)
+ {
+ static const mp_float val("+7.99453748486332246240994995639110182098540828550699158030341182941191282957400984780800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000097");
+ return val;
+ }
+
+ static const mp_float& A006882_119(void)
+ {
+ static const mp_float val("+6.972993461801137628817411854132406856519268086997480719774989309037307630499025821634827209472656250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000098");
+ return val;
+ }
+
+ static const mp_float& A006882_120(void)
+ {
+ static const mp_float val("+9.5934449818359869548919399476693221851824899426083898963640941952942953954888118173696000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000099");
+ return val;
+ }
+
+ static const mp_float& A006882_121(void)
+ {
+ static const mp_float val("+8.43732208877937653086906834350021229638831438526695167092773706393514223290382124417814092346191406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000100");
+ return val;
+ }
+
+ static const mp_float& A006882_122(void)
+ {
+ static const mp_float val("+1.170400287783990408496816673615657306592263772998223567356419491825904038249635041719091200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000102");
+ return val;
+ }
+
+ static const mp_float& A006882_123(void)
+ {
+ static const mp_float val("+1.037790616919863313296895406250526112455762669387835055524111658864022494647170013033911333585815429687500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000103");
+ return val;
+ }
+
+ static const mp_float& A006882_124(void)
+ {
+ static const mp_float val("+1.4512963568521481065360526752834150601744070785177972235219601698641210074295474517316730880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000104");
+ return val;
+ }
+
+ static const mp_float& A006882_125(void)
+ {
+ static const mp_float val("+1.29723827114982914162111925781315764056970333673479381940513957358002811830896251629238916698226928710937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000105");
+ return val;
+ }
+
+ static const mp_float& A006882_126(void)
+ {
+ static const mp_float val("+1.828633409633706614235426370857102975819752918932424501637669814028792469361229789181908090880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000106");
+ return val;
+ }
+
+ static const mp_float& A006882_127(void)
+ {
+ static const mp_float val("+1.6474926043602830098588214574227102035235232376531881506445272584466357102523823956913342420674819946289062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000107");
+ return val;
+ }
+
+ static const mp_float& A006882_128(void)
+ {
+ static const mp_float val("+2.34065076433114446622134575469709180904928373623350336209621736195685436078237413015284235632640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000108");
+ return val;
+ }
+
+ static const mp_float& A006882_129(void)
+ {
+ static const mp_float val("+2.125265459624765082717879680075296162545344976572612714331440163396160066225573290441821172267051773071289062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000109");
+ return val;
+ }
+
+ static const mp_float& A006882_130(void)
+ {
+ static const mp_float val("+3.042845993630487806087749481106219351764068857103554370725082570543910669017086369198695063224320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000110");
+ return val;
+ }
+
+ static const mp_float& A006882_131(void)
+ {
+ static const mp_float val("+2.784097752108442258360422380898637972934401919310122655774186614048969686755501010478785735669837822723388671875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000111");
+ return val;
+ }
+
+ static const mp_float& A006882_132(void)
+ {
+ static const mp_float val("+4.0165567115922439040358293150602095443285708913766917693571089931179620831025540073422774834561024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000112");
+ return val;
+ }
+
+ static const mp_float& A006882_133(void)
+ {
+ static const mp_float val("+3.70285001030422820361936176659518850400275455268246313217966819668512968338481634393678502844088430422210693359375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000113");
+ return val;
+ }
+
+ static const mp_float& A006882_134(void)
+ {
+ static const mp_float val("+5.382185993533606831408011282180680789400284994444766970938526050778069191357422369838651827831177216000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000114");
+ return val;
+ }
+
+ static const mp_float& A006882_135(void)
+ {
+ static const mp_float val("+4.9988475139107080748861383849035044804037186461213252284425520655249250725695020643146597883951938106998443603515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000115");
+ return val;
+ }
+
+ static const mp_float& A006882_136(void)
+ {
+ static const mp_float val("+7.31977295120570529071489534376572587358438759244488308047639542905817410024609442298056648585040101376000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000116");
+ return val;
+ }
+
+ static const mp_float& A006882_137(void)
+ {
+ static const mp_float val("+6.848421094057670062594009587317801138153094545186215562966296329769147349420217828111083910101415520658786773681640625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000117");
+ return val;
+ }
+
+ static const mp_float& A006882_138(void)
+ {
+ static const mp_float val("+1.010128667266387330118655557439670170554645487757393865105742569210028025833961030371318175047355339898880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000119");
+ return val;
+ }
+
+ static const mp_float& A006882_139(void)
+ {
+ static const mp_float val("+9.519305320740161387005673326371743582032801417808839632523151898379114815694102781074406635040967573715713615417480468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000119");
+ return val;
+ }
+
+ static const mp_float& A006882_140(void)
+ {
+ static const mp_float val("+1.41418013417294226216611778041553823877650368286035141114803959689403923616754544251984544506629747585843200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000121");
+ return val;
+ }
+
+ static const mp_float& A006882_141(void)
+ {
+ static const mp_float val("+1.342222050224362755567799939018415845066624999911046388185764417671455189012868492131491335540776427893915619773864746093750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000122");
+ return val;
+ }
+
+ static const mp_float& A006882_142(void)
+ {
+ static const mp_float val("+2.0081357905255780122758872481900642990626352296616990038302162275895357153579145283781805319941424157189734400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000123");
+ return val;
+ }
+
+ static const mp_float& A006882_143(void)
+ {
+ static const mp_float val("+1.91937753182083874046195391279633465844527374987279633510564311727018092028840194374803260982331029188829933627662658691406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000124");
+ return val;
+ }
+
+ static const mp_float& A006882_144(void)
+ {
+ static const mp_float val("+2.891715538356832337677277637393692590650194730712846565515511367728931430115396920864579966071565078635321753600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000125");
+ return val;
+ }
+
+ static const mp_float& A006882_145(void)
+ {
+ static const mp_float val("+2.783097421140216173669833173554685254745646937315554685903182520041762334418182818434647284243799923238034037601108551025390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000126");
+ return val;
+ }
+
+ static const mp_float& A006882_146(void)
+ {
+ static const mp_float val("+4.221904686000975213008825350594791182349284306840755985652646596884239887968479504462286750464485014807569760256000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000127");
+ return val;
+ }
+
+ static const mp_float& A006882_147(void)
+ {
+ static const mp_float val("+4.0911532090761177752946547651253873244761009978538653882776783044613906315947287430989315078383858871599100352736295700073242187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000128");
+ return val;
+ }
+
+ static const mp_float& A006882_148(void)
+ {
+ static const mp_float val("+6.24841893528144331525306151888029094987694077412431885876591696338867503419334966660418439068743782191520324517888000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000129");
+ return val;
+ }
+
+ static const mp_float& A006882_149(void)
+ {
+ static const mp_float val("+6.095818281523415485189035600036827113469390486802259428533740673647472041076145827217407946679194971868265952557708059310913085937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000130");
+ return val;
+ }
+
+ static const mp_float& A006882_150(void)
+ {
+ static const mp_float val("+9.3726284029221649728795922783204364248154111611864782881488754450830125512900244999062765860311567328728048677683200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000131");
+ return val;
+ }
+
+ static const mp_float& A006882_151(void)
+ {
+ static const mp_float val("+9.20468560510035738263544375605560894133877963507141173708594841720768278202498019909828599948558440752108158836213916955947875976562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000132");
+ return val;
+ }
+
+ static const mp_float& A006882_152(void)
+ {
+ static const mp_float val("+1.424639517244169075877698026304706336571942496500344699798629067652617907796083723985754041076735823396666339900784640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000134");
+ return val;
+ }
+
+ static const mp_float& A006882_153(void)
+ {
+ static const mp_float val("+1.408316897580354679543222894676508168024833284165925995774150107832775465649821970462037757921294414350725483019407292942600250244140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000135");
+ return val;
+ }
+
+ static const mp_float& A006882_154(void)
+ {
+ static const mp_float val("+2.1939448565560203768516549605092477583207914446105308376898887641850315780059689349380612232581731680308661634472083456000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000136");
+ return val;
+ }
+
+ static const mp_float& A006882_155(void)
+ {
+ static const mp_float val("+2.18289119124954975329199548674858766043849159045718529344993266714080197175722405421615852477800634224362449868008130406103038787841796875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000137");
+ return val;
+ }
+
+ static const mp_float& A006882_156(void)
+ {
+ static const mp_float val("+3.422553976227391787888581738394426502980434653592428106796226472128649261689311538503375508282750142128151214977645019136000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000138");
+ return val;
+ }
+
+ static const mp_float& A006882_157(void)
+ {
+ static const mp_float val("+3.4271391702617931126684329141952826268884317970177809107163942874110590956588417651193688839014699573224904629277276473758177089691162109375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000139");
+ return val;
+ }
+
+ static const mp_float& A006882_158(void)
+ {
+ static const mp_float val("+5.40763528243927902486395914666319387470908675267603640873803782596326583346911223083533330308674522456247891966467913023488000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000140");
+ return val;
+ }
+
+ static const mp_float& A006882_159(void)
+ {
+ static const mp_float val("+5.449151280716251049142808333570499376752606557258271648039066916983583962097558406539796525403337232142759836055086959327550157260894775390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000141");
+ return val;
+ }
+
+ static const mp_float& A006882_160(void)
+ {
+ static const mp_float val("+8.652216451902846439782334634661110199534538804281658253980860521541225333550579569336533284938792359299966271463486608375808000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000142");
+ return val;
+ }
+
+ static const mp_float& A006882_161(void)
+ {
+ static const mp_float val("+8.773133561953164189119921417048503996571696557185817353342897736343570178977069034529072405899372943749843336048690004517355753190040588378906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000143");
+ return val;
+ }
+
+ static const mp_float& A006882_162(void)
+ {
+ static const mp_float val("+1.40165906520826112324473821081509985232459528629362863714489940448967850403519389023251839216008436220659453597708483055688089600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000145");
+ return val;
+ }
+
+ static const mp_float& A006882_163(void)
+ {
+ static const mp_float val("+1.430020770598365762826547190978906151441186538821288228594892331024001939173262252628238802161597789831224463775936470736328987769976615905761718750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000146");
+ return val;
+ }
+
+ static const mp_float& A006882_164(void)
+ {
+ static const mp_float val("+2.2987208669415482421213706657367637578123362695215509649176350233630727466177179799813301631425383540188150390024191221132846694400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000147");
+ return val;
+ }
+
+ static const mp_float& A006882_165(void)
+ {
+ static const mp_float val("+2.35953427148730350866380286511519514987795778905512557718157234618960319963588271683659402356663635322152036523029517671494282982046141624450683593750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000148");
+ return val;
+ }
+
+ static const mp_float& A006882_166(void)
+ {
+ static const mp_float val("+3.815876639122970081921475305123027837968478207405774601763274138782700759385411846769008070816613667671232964744015742708052551270400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000149");
+ return val;
+ }
+
+ static const mp_float& A006882_167(void)
+ {
+ static const mp_float val("+3.940422233383796859468550784742375900296189507722059713893225818136637343391924137117112019356282709879939009934592945113954525800170565128326416015625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000150");
+ return val;
+ }
+
+ static const mp_float& A006882_168(void)
+ {
+ static const mp_float val("+6.410672753726589737628078512606686767787043388441701330962300553154937275767491902571933558971910961687671380769946447749528286134272000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000151");
+ return val;
+ }
+
+ static const mp_float& A006882_169(void)
+ {
+ static const mp_float val("+6.6593135744186166925018508262146152715005602680502809164795516326509171103323517917279193127121177796970969267894620772425831486022882550668716430664062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000152");
+ return val;
+ }
+
+ static const mp_float& A006882_170(void)
+ {
+ static const mp_float val("+1.089814368133520255396773347143136750523797376035089226263591094036339336880473623437228705025224863486904134730890896117419808642826240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000154");
+ return val;
+ }
+
+ static const mp_float& A006882_171(void)
+ {
+ static const mp_float val("+1.1387426212255834544178164912826992114265958058365980367180033291833068258668321563854742024737721403282035744809980152084817184109912916164350509643554687500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000155");
+ return val;
+ }
+
+ static const mp_float& A006882_172(void)
+ {
+ static const mp_float val("+1.87448071318965483928245015708619521090093148678035346917337668174250365943441463231203337264338676519747511173713234132196207086566113280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000156");
+ return val;
+ }
+
+ static const mp_float& A006882_173(void)
+ {
+ static const mp_float val("+1.970024734720259376142822529919069635768010744097314603522145759487120808749619630546870370279625802767792183852126566310673372851014934496432638168334960937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000157");
+ return val;
+ }
+
+ static const mp_float& A006882_174(void)
+ {
+ static const mp_float val("+3.261596440949999420351463273329979666967620786997815036361675426231956367415881460222938068399492971443606694422610273900214003306250371072000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000158");
+ return val;
+ }
+
+ static const mp_float& A006882_175(void)
+ {
+ static const mp_float val("+3.447543285760453908249939427358371862594018802170300556163755079102461415311834353457023147989345154843636321741221491043678402489276135368757116794586181640625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000159");
+ return val;
+ }
+
+ static const mp_float& A006882_176(void)
+ {
+ static const mp_float val("+5.7404097360719989798185753610607642138630125851161544639965487501682432066519513699923710003831076297407477821837940820643766458190006530867200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000160");
+ return val;
+ }
+
+ static const mp_float& A006882_177(void)
+ {
+ static const mp_float val("+6.10215161579600341760239278642431819679141327984143198440984649001135670510194680561893097194114092407323628948196203914731077240601875960270009672641754150390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000161");
+ return val;
+ }
+
+ static const mp_float& A006882_178(void)
+ {
+ static const mp_float val("+1.0217929330208158184077064142688160300676162401506754945913856775299472907840473438586420380681931580938531052287153466074590429557821162494361600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000163");
+ return val;
+ }
+
+ static const mp_float& A006882_179(void)
+ {
+ static const mp_float val("+1.09228513922748461175082830876995295722566297709161632520936252171203285021324847820578864397746422540910929581727120500736862826067735796888331731402873992919921875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000164");
+ return val;
+ }
+
+ static const mp_float& A006882_180(void)
+ {
+ static const mp_float val("+1.839227279437468473133871545683868854121709232271215890264494219553905123411285218945555668522747684568935589411687623893426277320407809248985088000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000165");
+ return val;
+ }
+
+ static const mp_float& A006882_181(void)
+ {
+ static const mp_float val("+1.977036102001747147268999238873614852578449988535825548628946164298779458885979745552477445599210247990487825429260881063337217151826017923678804338392019271850585937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000166");
+ return val;
+ }
+
+ static const mp_float& A006882_182(void)
+ {
+ static const mp_float val("+3.347393648576192621103646213144641314501510802733612920281379479588107324608539098480911316711400785915462772729271475486035824723142212833152860160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000167");
+ return val;
+ }
+
+ static const mp_float& A006882_183(void)
+ {
+ static const mp_float val("+3.6179760666631972795022686071387151802185634790205607539909714806667664097613429343610337254465547538225927205355474123459071073878416128003322119392573952674865722656250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000168");
+ return val;
+ }
+
+ static const mp_float& A006882_184(void)
+ {
+ static const mp_float val("+6.15920431338019442283070903218614001868277987702984777331773824244211747727971194120487682274897744608445150182185951489430591749058167161300126269440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000169");
+ return val;
+ }
+
+ static const mp_float& A006882_185(void)
+ {
+ static const mp_float val("+6.693255723326914967079196923206623083404342436188037394883297239233517858058484428567912392076126294571796532990762712839928148667506983680614592087626181244850158691406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000170");
+ return val;
+ }
+
+ static const mp_float& A006882_186(void)
+ {
+ static const mp_float val("+1.14561200228871616264651187998662204347499705712755168583709931309423385077402642106410708903130980497170797933886586977034090065324819092001823486115840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000172");
+ return val;
+ }
+
+ static const mp_float& A006882_187(void)
+ {
+ static const mp_float val("+1.251638820262133098843809824639638516596612035567162992843176583736667839456936588142199617318235617084925951669272627301066563800823805948274928720386095892786979675292968750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000173");
+ return val;
+ }
+
+ static const mp_float& A006882_188(void)
+ {
+ static const mp_float val("+2.153750564302786385775442334374849441732994467399797169373746708617159639455169671600521327378862433346811001157067835168240893228106598929634281538977792000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000174");
+ return val;
+ }
+
+ static const mp_float& A006882_189(void)
+ {
+ static const mp_float val("+2.365597370295431556814800568568916796367596747221938056473603743262302216573610151588757276731465316290510048654925265599015805583556993242239615281529721237367391586303710937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000175");
+ return val;
+ }
+
+ static const mp_float& A006882_190(void)
+ {
+ static const mp_float val("+4.0921260721752941329733404353122139392926894880596146218101187463726033149648223760409905220198386233589409021984288868196576971334025379663051349240578048000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000176");
+ return val;
+ }
+
+ static const mp_float& A006882_191(void)
+ {
+ static const mp_float val("+4.51829097726427427351626908596663108106210978719390168786458314963099723365559538953452639855709875411487419293090725729412018866459385709267766518772176756337171792984008789062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000177");
+ return val;
+ }
+
+ static const mp_float& A006882_192(void)
+ {
+ static const mp_float val("+7.856882058576564735308813635799450763441963817074460073875427993035398364732458961998701802278090156849166532220983462693742778496132872895305859054190985216000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000178");
+ return val;
+ }
+
+ static const mp_float& A006882_193(void)
+ {
+ static const mp_float val("+8.7203015861200493478863993359155979864498718892842302575786454787878246609552991018016359492152005954417071923566510065776519641226661441888678938123030113973074156045913696289062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000179");
+ return val;
+ }
+
+ static const mp_float& A006882_194(void)
+ {
+ static const mp_float val("+1.524235119363853558649909845345093448107740980512445254331833030648867282758097038627748149641949490428738307250870791762586099028249777341689336656513051131904000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000181");
+ return val;
+ }
+
+ static const mp_float& A006882_195(void)
+ {
+ static const mp_float val("+1.700458809293409622837847870503541607357725018410424900227835868363625808886283324851319010096964116111132902509546946282642133003919898116829239293399087222474946042895317077636718750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000182");
+ return val;
+ }
+
+ static const mp_float& A006882_196(void)
+ {
+ static const mp_float val("+2.987500833953152974953823296876383158291172321804392698490392740071779874205870195710386373298221001240327082211706751854668754095369563589711099846765580218531840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000183");
+ return val;
+ }
+
+ static const mp_float& A006882_197(void)
+ {
+ static const mp_float val("+3.3499038543080169569905603048919769664947182862685370534488366606763428435059781499570984498910193087389318179438074841768050020177221992901536014079962018282756437045037746429443359375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000184");
+ return val;
+ }
+
+ static const mp_float& A006882_198(void)
+ {
+ static const mp_float val("+5.91525165122724289040857012781523865341652119717269754301097762534212415092762298750656501913047758245584762277917936867224413310883173590762797769659584883269304320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000185");
+ return val;
+ }
+
+ static const mp_float& A006882_199(void)
+ {
+ static const mp_float val("+6.666308670072953744411215006735034163324489389674388736363184954745922258576896518414625915283128424390474317708176893511841954015267176587405666801912441638268530971962511539459228515625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000186");
+ return val;
+ }
+
+ static const mp_float& A006882_200(void)
+ {
+ static const mp_float val("+1.18305033024544857808171402556304773068330423943453950860219552506842483018552459750131300382609551649116952455583587373444882662176634718152559553931916976653860864000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000188");
+ return val;
+ }
+
+ static const mp_float& A006882_201(void)
+ {
+ static const mp_float val("+1.339928042684663702626654216353741866828222367324552136009000175903930373973956200201339808971908813302485337859343555595880232757068702494068539027184400769291974725364464819431304931640625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000189");
+ return val;
+ }
+
+ static const mp_float& A006882_202(void)
+ {
+ static const mp_float val("+2.389761667095806127725062331637356415980274563657769807376434960638218156974759686952652267728712943312162439602788464943586629775968021306681702989424722928407989452800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000190");
+ return val;
+ }
+
+ static const mp_float& A006882_203(void)
+ {
+ static const mp_float val("+2.720053926649867316332108059198095989661291405668840836098270357084978659167131086408719812212974891004045235854467417859636872496849466062959134225184333561662708692489863583445549011230468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000191");
+ return val;
+ }
+
+ static const mp_float& A006882_204(void)
+ {
+ static const mp_float val("+4.8751138008754445005591271565402070885997601098618504070479273197019650402285097613834106261665744043568113767896884684849167247429747634656306740984264347739522984837120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000192");
+ return val;
+ }
+
+ static const mp_float& A006882_205(void)
+ {
+ static const mp_float val("+5.57611054963222799848082152135609677880564738162112371400145423202420625129261872713787561503659852655829273350165820661225558861854140542906622516162788380140855281960422034606337547302246093750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000193");
+ return val;
+ }
+
+ static const mp_float& A006882_206(void)
+ {
+ static const mp_float val("+1.0042734429803415671151801942472826602515505826315411838518730278586047982870730108449825889903143272975031436186758245078928452970528012739199188642758455634341734876446720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000195");
+ return val;
+ }
+
+ static const mp_float& A006882_207(void)
+ {
+ static const mp_float val("+1.15425488377387119568553005492071203321276900799557260879830102602901069401757207651754025231257589499756659583484324876873690684403807092381670860845697194689157043365807361163511872291564941406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000196");
+ return val;
+ }
+
+ static const mp_float& A006882_208(void)
+ {
+ static const mp_float val("+2.088888761399110459599574804034347933323225211873605662411895897945897980437111862557563785099853800778806538726845714976417118217869826649753431237693758771943080854300917760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000197");
+ return val;
+ }
+
+ static const mp_float& A006882_209(void)
+ {
+ static const mp_float val("+2.412392707087390798982757814784288149414687226710746752388449144400632350496725639921659127333283620544914185294822389926660135304039568230776920991675071369003382206345373848317398130893707275390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000198");
+ return val;
+ }
+
+ static const mp_float& A006882_210(void)
+ {
+ static const mp_float val("+4.386666398938131965159107088472130659978772944934571891064981385686385758917934911370883948709692981635493731326376001450475948257526635964482205599156893421080469794031927296000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000199");
+ return val;
+ }
+
+ static const mp_float& A006882_211(void)
+ {
+ static const mp_float val("+5.0901486119543945858536189891948479952649900483596756475396276946853342595480911002347007586732284393497689309720752427452528854915234889669393032924344005885971364553887388199497100561857223510742187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000200");
+ return val;
+ }
+
+ static const mp_float& A006882_212(void)
+ {
+ static const mp_float val("+9.29973276574883976613730702756091699915499864326129240905776053765513780890602201210627397126454912106724671041191712307500901030595646824470227587021261405269059596334768586752000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000201");
+ return val;
+ }
+
+ static const mp_float& A006882_213(void)
+ {
+ static const mp_float val("+1.0842016543462860467868208446985026229914428803006109129259406989679761972837434043499912615973976575815007822970520267047388646096945031499580716012885273253711900649978013686492882419675588607788085937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000203");
+ return val;
+ }
+
+ static const mp_float& A006882_214(void)
+ {
+ static const mp_float val("+1.99014281187025170995338370389803623781916970965791657553836075505819949110588871059074262985061351190839079602815026433805192820547468420436628703622549940727578753615640477564928000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000204");
+ return val;
+ }
+
+ static const mp_float& A006882_215(void)
+ {
+ static const mp_float val("+2.331033556844515000591664816101780639431602192646313462790772502781148824160048319352481212434404963800226681938661857415188558910843181772409853942770333749548058639745272942595969720230251550674438476562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000205");
+ return val;
+ }
+
+ static const mp_float& A006882_216(void)
+ {
+ static const mp_float val("+4.298708473639743693499308800419758273689406572861099803162859230925710900788719614876004080477325185722124119420804570970192164923825317881431179998247078719715701078097834315402444800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000206");
+ return val;
+ }
+
+ static const mp_float& A006882_217(void)
+ {
+ static const mp_float val("+5.058342818352597551283912650940863987566576758042500214255976331035092948427304852994884230982658771446491899806896230590959172836529704446129383055811624236519287248247242285433254292899645864963531494140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000207");
+ return val;
+ }
+
+ static const mp_float& A006882_218(void)
+ {
+ static const mp_float val("+9.3711844725346412518284931849150730366429063288371975708950331234180497637194087604296888954405689048742305803373539647150189195339391929815199723961786316089802283502532788075773296640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000208");
+ return val;
+ }
+
+ static const mp_float& A006882_219(void)
+ {
+ static const mp_float val("+1.107777077219218863731176870556049213277080310011307546922058816496685355705579762805879646585202270946781726057710274499420058851200005273702334889222745707797723907366146060509882690145022444427013397216796875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000210");
+ return val;
+ }
+
+ static const mp_float& A006882_220(void)
+ {
+ static const mp_float val("+2.0616605839576210754022685006813160680614393923441834655969072871519709480182699272945315569969251590723307276742178722373041622974666224559343939271592989539756502370557213376670125260800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000211");
+ return val;
+ }
+
+ static const mp_float& A006882_221(void)
+ {
+ static const mp_float val("+2.44818734065447368884590088392886876134234748512498967869774998445767463610933127580099401895329701879238761458753970664371833006115201165488216010518226801423296983527918279372684074522049960218369960784912109375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000212");
+ return val;
+ }
+
+ static const mp_float& A006882_222(void)
+ {
+ static const mp_float val("+4.576886496385918787393036071512521671096395451004087293625134177477375504600559238593860056533173853140574215436763676366815240300375901852174354518293643677825943526263701369620767807897600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000213");
+ return val;
+ }
+
+ static const mp_float& A006882_223(void)
+ {
+ static const mp_float val("+5.459457769659476326126358971161377337793434891828726983495982465340614438523808745036216662265852351907024380530213545815491876036368985990387217034556457671739522732672577630010854861841714112869650125503540039062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000214");
+ return val;
+ }
+
+ static const mp_float& A006882_224(void)
+ {
+ static const mp_float val("+1.0252225751904458083760400800188048543255925810249155537720300557549321130305252694450246526634309431034886242578350635061666138272842020148870554120977761838330113498830691067950519889690624000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000216");
+ return val;
+ }
+
+ static const mp_float& A006882_225(void)
+ {
+ static const mp_float val("+1.22837799817338217337843076851130990100352285066146357128659605470163824866785696763314874900981677917908048561929804780848567210818302184783712383277520297614139261485132996675244234391438567539567127823829650878906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000217");
+ return val;
+ }
+
+ static const mp_float& A006882_226(void)
+ {
+ static const mp_float val("+2.317003019930407526929850580842498970775839233116309151524787926006146575448987108945755715019353931413884290822707243523936547249662296553644745231340974175462605650735736181356817495070081024000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000218");
+ return val;
+ }
+
+ static const mp_float& A006882_227(void)
+ {
+ static const mp_float val("+2.7884180558535775335690378445206734752779968710015223068205730441727188244760353165272476602522840887365127023558065685252624756855754595945902711003997107558409612357125190245280441206856554831481738016009330749511718750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000219");
+ return val;
+ }
+
+ static const mp_float& A006882_228(void)
+ {
+ static const mp_float val("+5.28276688544132916140005932432089765336891345150518486547651647129401419202369060839632303024412696362365618307577251523457532772923003614231001912745742112005474088367747849349354388875978473472000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000220");
+ return val;
+ }
+
+ static const mp_float& A006882_229(void)
+ {
+ static const mp_float val("+6.385477347904692551873096663952342258386612834593486082619112271155526108050120874847397141977730563206614088394797041922851069319967802471611720819915337630875801229781668566169221036370151056409318005666136741638183593750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000221");
+ return val;
+ }
+
+ static const mp_float& A006882_230(void)
+ {
+ static const mp_float val("+1.215036383651505707122013644593806460274850093846192519059598788397623264165448839931154296956149201633440922107427678503952325377722908312731304399315206857612590403245820053503515094414750488985600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000223");
+ return val;
+ }
+
+ static const mp_float& A006882_231(void)
+ {
+ static const mp_float val("+1.4750452673659839794826853293729910616873075647910952850850149346369265309595779220897487397968557601007278544191981166841785970129125623709423075094004429927323100840795654387850900594015048940305524593088775873184204101562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000224");
+ return val;
+ }
+
+ static const mp_float& A006882_232(void)
+ {
+ static const mp_float val("+2.81888441007149324052307165545763098783765221772316664421826918908248597286384130864027796893826614778958293928923221412916939487631714728553662620641127990966120973553030252412815501904222113444659200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000225");
+ return val;
+ }
+
+ static const mp_float& A006882_233(void)
+ {
+ static const mp_float val("+3.436855472962742672194656817439069173731426625963252014248084797704038817135816558469114563726673921034695900796731611874136131040086270324295576496903032173066282495905387472369259838405506403091187230189684778451919555664062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000226");
+ return val;
+ }
+
+ static const mp_float& A006882_234(void)
+ {
+ static const mp_float val("+6.5961895195672941828239876737708565115401061894722099474707499024530171765013886622182504473155427858276240779368033810622563840105821246481557053230023949886072307811409079064598827445587974546050252800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000227");
+ return val;
+ }
+
+ static const mp_float& A006882_235(void)
+ {
+ static const mp_float val("+8.07661036146244527965744352098181255826885257101364223348299927460449122026916891240241922475768371443153536687231928790421990794420273526209460476772212560670576386537766056006776062025294004726428999094575922936201095581054687500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000228");
+ return val;
+ }
+
+ static const mp_float& A006882_236(void)
+ {
+ static const mp_float val("+1.556700726617881427146461091009922136723465060715441547603096976978912053654327724283507105566468097455319282393085597930692506626497381416964746456228565217311306464349254265924532327715876199286785966080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000230");
+ return val;
+ }
+
+ static const mp_float& A006882_237(void)
+ {
+ static const mp_float val("+1.914156655666599531278814114472689576309718059330233209335470828081264419203793032239373356267571040320273881948739671233300118182776048257116421329950143768789266036094505552736059266999946791201636727854144937358796596527099609375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000231");
+ return val;
+ }
+
+ static const mp_float& A006882_238(void)
+ {
+ static const mp_float val("+3.7049477293505577966085773966036146854018468445027508832953708052098106876972999837947469112481940719436598920955437230750481657710637677723760965658239852172009093851512251529003869399637853543025505992704000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000232");
+ return val;
+ }
+
+ static const mp_float& A006882_239(void)
+ {
+ static const mp_float val("+4.57483440704317287975636573358972808738022616179925737031177527911422196189706534705210232147949478636545457785748781424758728245683475533450824697858084360740634582626586827103918164812987283097191177957140640028752386569976806640625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000233");
+ return val;
+ }
+
+ static const mp_float& A006882_240(void)
+ {
+ static const mp_float val("+8.891874550441338711860585751848675244964432426806602119908889932503545650473519961107392586995665772664783741029304935380115597850553042653702631757977564521282182524362940366960928655913084850326121438248960000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000234");
+ return val;
+ }
+
+ static const mp_float& A006882_241(void)
+ {
+ static const mp_float val("+1.10253509209740466402128414179512446905863450499362102624513784226652749281719274863955665947655824351407455326365456323366853507209717603561648752183798330938492934413007425332044277719929935226423073887670894246929325163364410400390625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000236");
+ return val;
+ }
+
+ static const mp_float& A006882_242(void)
+ {
+ static const mp_float val("+2.151833641206803968270261751947379409281392647287197713017951363665858047414591830587989006052951116984877665329091794361987974679833836322196036885430570614150288170895831568804544734730966533778921388056248320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000237");
+ return val;
+ }
+
+ static const mp_float& A006882_243(void)
+ {
+ static const mp_float val("+2.679160273796693333571720464562152459812481847134499093775684956707661807545778379194122682528036531739201164430680588657814540225196137766548064678066299441805378306236080435568675948594297426002080695470402730200382601469755172729492187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000238");
+ return val;
+ }
+
+ static const mp_float& A006882_244(void)
+ {
+ static const mp_float val("+5.250474084544601682579438674751605758646598059380762419763801327344693635691604066634693174769200725443101503402983978243250658218794560626158330000450592298526703136985829027883089152743558342420568186857245900800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000239");
+ return val;
+ }
+
+ static const mp_float& A006882_245(void)
+ {
+ static const mp_float val("+6.5639426708018986672507151381772735265405805254795227797504281439337714284871570290256005721936895027610428528551674422116456235517305375280427584612624336324231768502783970671432560740560286937050977039024866889909373736009001731872558593750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000240");
+ return val;
+ }
+
+ static const mp_float& A006882_246(void)
+ {
+ static const mp_float val("+1.291616624797972013914541913988895016627063122607667555261895126526794634380134600392134520993223378459002969837134058647839661921823461914034949180110845705437568971698513940859239931574915352235459773966882491596800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000242");
+ return val;
+ }
+
+ static const mp_float& A006882_247(void)
+ {
+ static const mp_float val("+1.6212938396880689708109266391297865610555233897934421265983557515516415428363277861693233413318413071819775846552263582262764690172774427694265613399318211072085246820187640755843842502918390873451591328639142121807615312794223427772521972656250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000243");
+ return val;
+ }
+
+ static const mp_float& A006882_248(void)
+ {
+ static const mp_float val("+3.20320922949897059450806394669245964123511654406701553704949991378645069326273380897249361206319397857832736519609246544664236156612218554680667396667489734948517104981231457333091503030579007354394023943786857916006400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000244");
+ return val;
+ }
+
+ static const mp_float& A006882_249(void)
+ {
+ static const mp_float val("+4.037021660823291737319207331433168537028253240585670895229905821363587441662456187561615119916284854883124185791513631983428407853020832495872137736430234556949226458226722548205116783226679327489446240831146388330096212885761633515357971191406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000245");
+ return val;
+ }
+
+ static const mp_float& A006882_250(void)
+ {
+ static const mp_float val("+8.008023073747426486270159866731149103087791360167538842623749784466126733156834522431234030157984946445818412990231163616605903915305463867016684916687243373712927624530786433327287575764475183859850598594671447900160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000246");
+ return val;
+ }
+
+ static const mp_float& A006882_251(void)
+ {
+ static const mp_float val("+1.0132924368666462260671210401897253027940915633870033947027063611622604478572765030779653950989874985756641706336699216278405303711082289564639065718439888737942558410149073595994843125898965111998510064486177434708541494343261700123548507690429687500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000248");
+ return val;
+ }
+
+ static const mp_float& A006882_252(void)
+ {
+ static const mp_float val("+2.01802181458435147454008028641624957397812342276221978834118494568546393675552229965267097559981220650434624007353825323138468778665697689448820459900518533017565776138175818119847646909264774633268235084585720487084032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000249");
+ return val;
+ }
+
+ static const mp_float& A006882_253(void)
+ {
+ static const mp_float val("+2.563629865272614951949816231680005016069051655369118588597847093740518933078909552787252449600438371396430351703184901718436541838903819259853683626765291850699467277767715619786695310852438173335623046315002890981260998068845210131257772445678710937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000250");
+ return val;
+ }
+
+ static const mp_float& A006882_254(void)
+ {
+ static const mp_float val("+5.1257754090442527453318039274972739179044334938160382623866097620410783993590266411177842780235230045210394497867871632077171069781087213120000396814731707386461707139096657802441302314953252756850131711484773003719344128000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000251");
+ return val;
+ }
+
+ static const mp_float& A006882_255(void)
+ {
+ static const mp_float val("+6.53725615644516812747203139078401279097608172119125240092451008903832327935121935960749374648111784706089739684312149938201318168920473911262689324825149421928364155830767483045607304267371734200583876810325737200221554507555528583470731973648071289062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000252");
+ return val;
+ }
+
+ static const mp_float& A006882_256(void)
+ {
+ static const mp_float val("+1.312198504715328702804941805439302122983534974416905795170972099082516070235910820126152775174021889157386099145417513781175579386395832655872010158457131709093419702760874439742497339262803270575363371814010188895215209676800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000254");
+ return val;
+ }
+
+ static const mp_float& A006882_257(void)
+ {
+ static const mp_float val("+1.680074832206408208760312067431491287280853002346151867037599092882849082793263375419125892845647286694650630988682225341177387694125617951945111564800634014355895880485072431427210771967145356895500563402537144604569395084417708459519781172275543212890625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000255");
+ return val;
+ }
+
+ static const mp_float& A006882_258(void)
+ {
+ static const mp_float val("+3.3854721421655480532367498580333994772975202339956169515411080156328914612086499159254741599489764740260561357951771855554329948169012482521497862088193998094610228331230560545356431352980324380844374992801462873496552409661440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000256");
+ return val;
+ }
+
+ static const mp_float& A006882_259(void)
+ {
+ static const mp_float val("+4.35139381541459726068920825464756243405740927607653333562738165056657912443455214233553606247022647253914513426068696363364943412778535049553783895283364209718177033045633759739647589939490647435934645921257120452583473326864186491015623323619365692138671875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000257");
+ return val;
+ }
+
+ static const mp_float& A006882_260(void)
+ {
+ static const mp_float val("+8.802227569630424938415549630886838640973552608388604074006880840645517799142489781406232815867338832467745953067460682444125786523943245455589444142930439504598659366119945741792672151774884339019537498128380347109103626511974400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000258");
+ return val;
+ }
+
+ static const mp_float& A006882_261(void)
+ {
+ static const mp_float val("+1.13571378582320988503988335446301379528898382105597520059874661079787715147741810914957491230472910933271688004203929750838250230735197647933537596668958058736444205624910411292048020974207058980778942585448108438124286538311552674155077687464654445648193359375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000260");
+ return val;
+ }
+
+ static const mp_float& A006882_262(void)
+ {
+ static const mp_float val("+2.306183623243171333864874003292351723935070783397814267389802780249125663375332322728432997757242774106549439703674698800360956069273130309364434365447775150204848753923425784349680103765019696823118824509635650942585150146137292800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000261");
+ return val;
+ }
+
+ static const mp_float& A006882_263(void)
+ {
+ static const mp_float val("+2.986927256715041997654893222237726281610027449377214777574703586398416908385609627063382019361437557545045394510563352447045981068335698140652038792393596944768482607935143816980862951621645651194486189997285251922668735957593835330278543180320411920547485351562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000262");
+ return val;
+ }
+
+ static const mp_float& A006882_264(void)
+ {
+ static const mp_float val("+6.088324765361972321403267368691808551188586868170229665909079339857691751310877332003063114079120923641290520817701204832952924022881064016722106724782126396540800710357844070683155473939651999613033696705438118488424796385802452992000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000263");
+ return val;
+ }
+
+ static const mp_float& A006882_265(void)
+ {
+ static const mp_float val("+7.9153572302948612937854670389299746462665727408496191605729645039558048072218655117179623513078095274943702954529928839846718498310896000727279027998430319036364789110281311149992868217973609756653884034928059175950721502876236636252381394278490915894508361816406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000264");
+ return val;
+ }
+
+ static const mp_float& A006882_266(void)
+ {
+ static const mp_float val("+1.619494387586284637493269120072021074616164106933281091131815104402146005848693370312814788345046165688583278537508520485565477790086363028448080388792045621479852988955186522801719356067947431897066963323646539517920995838623452495872000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000266");
+ return val;
+ }
+
+ static const mp_float& A006882_267(void)
+ {
+ static const mp_float val("+2.1134003804887279654407196993943032305531749218068483158729815225561998835282380916286959477991851438409968688859491000239073839049009232194183500475580895182709398692445110077048095814198953805026587037325791799978842641267955181879385832272357074543833732604980468750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000267");
+ return val;
+ }
+
+ static const mp_float& A006882_268(void)
+ {
+ static const mp_float val("+4.34024495873124282848196124179301647997131980658119332423326447979775129567449823243834363276472372404540318648052283490131548047743145291624085544196268226556600601039989988110860787426209911748413946170737272590802826884751085268893696000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000268");
+ return val;
+ }
+
+ static const mp_float& A006882_269(void)
+ {
+ static const mp_float val("+5.685047023514678227035535991370675690188040539660421969698320295676177686690960466481192099579808036932281577303203079064310862704183483460235361627931260804148828248267734610725937774019518573552151913040637994194308670501079943925554788881264053052291274070739746093750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000269");
+ return val;
+ }
+
+ static const mp_float& A006882_270(void)
+ {
+ static const mp_float val("+1.171866138857435563690129535284114449592256347776922197542981409545392849832114522758352780846475405492258860349741165423355179728906492287385030969329924211702821622807972967899324126050766761720717654660990635995167632588827930226012979200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000271");
+ return val;
+ }
+
+ static const mp_float& A006882_271(void)
+ {
+ static const mp_float val("+1.5406477433724777995266302536614531120409589862479743537882448001282441530932502864164030589861279780086483074491680344264282437928337240177237830011693716779243324552805560795067291367592895334326331684340128964266576497057926648038253477868225583771709352731704711914062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000272");
+ return val;
+ }
+
+ static const mp_float& A006882_272(void)
+ {
+ static const mp_float val("+3.18747589769222473323715233597279130289093726595322837731690943396346855154335150190271956390241310293894410015129596995152608886262565902168728423657739385583167481403768647268616162285808559188035202067789452990685596064161197021475530342400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000273");
+ return val;
+ }
+
+ static const mp_float& A006882_273(void)
+ {
+ static const mp_float val("+4.205968339406864392707700592495766995871818032456969985841908304350106537944573281916780351032129379963609879336228733984149105554436066568385927593192384680733427602915918097053370543352860426271088549824855207244775383696813974914443199458025584369676653295755386352539062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000274");
+ return val;
+ }
+
+ static const mp_float& A006882_274(void)
+ {
+ static const mp_float val("+8.7336839596766957690697974005654481699211681087118457538483318490599038312287831152134516050926119020527068344145509576671814834835943057194231588082220591649787889904632609351600828466311545217521645366574310119447853321580167983884295313817600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000275");
+ return val;
+ }
+
+ static const mp_float& A006882_275(void)
+ {
+ static const mp_float val("+1.156641293336887707994617662936335923864749958925666746106524783696279297934757652527114596533835579489992716817462901845641004027469918306306130088127905787201692590801877476689676899422036617224549351201835181992313230516623843101471879850957035701661079656332731246948242187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000277");
+ return val;
+ }
+
+ static const mp_float& A006882_276(void)
+ {
+ static const mp_float val("+2.410496772870768032263264082556063694898242398004469428062139590340533457419144139798912643005560884966547086298416064316142089441472028378560791831069288329534145761367860018104182865670198648003597412117450959296760751675612636355206550661365760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000278");
+ return val;
+ }
+
+ static const mp_float& A006882_277(void)
+ {
+ static const mp_float val("+3.203896382543178951145090926333650509105357386224096886715073650838693655279278697500107432398724555187279825584372238112425581156091673708467980344114299030548688476521200610430405011399041429712001702829083454118707648531048045391077107187150988893601190648041665554046630859375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000279");
+ return val;
+ }
+
+ static const mp_float& A006882_278(void)
+ {
+ static const mp_float val("+6.7011810285807351296918741495058570718171138664524250100127480611466830116252207086409771475554592602070008999095966587988750086472922388923990012903726215561049252166026508503296283665631522414500008056865136668449948896582031290674742108385968128000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000280");
+ return val;
+ }
+
+ static const mp_float& A006882_279(void)
+ {
+ static const mp_float val("+8.93887090729546927369480368447088492040394710756523031393505548583995529822918756602529973639244150897251071338039854433366737142549576964662566516007889429523084084949414970310082998180332558889648475089314283699119433940162404664110512905215125901314732190803624689579010009765625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000281");
+ return val;
+ }
+
+ static const mp_float& A006882_280(void)
+ {
+ static const mp_float val("+1.8763306880026058363137247618616399801087918826066790028035694571210712432550617984194736013155285928579602519746870644636850024212418268898717203613043340357093790606487422380922959426376826276060002255922238267165985691042968761388927790348071075840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000283");
+ return val;
+ }
+
+ static const mp_float& A006882_281(void)
+ {
+ static const mp_float val("+2.51182272495002686590823983533631866263350913722582971821575059152102743880240170605310922592627606402127551045989199095776053137056431127070181190998216929695986627870785606657133322488673449047991221500097313719452560937185635710615054126365450378269439745615818537771701812744140625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000284");
+ return val;
+ }
+
+ static const mp_float& A006882_282(void)
+ {
+ static const mp_float val("+5.291252540167348458404703828449824743906793108950834787906065869081420905979274271542915555709790631859447910568617521787591706827901951829438251418878221980700448951029453111420274558238265009848920636170071191340807964874117190711677636878156043386880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000285");
+ return val;
+ }
+
+ static const mp_float& A006882_283(void)
+ {
+ static const mp_float val("+7.108458311608576030520318734001781815252830858349098102550574174004507651810796828130299109371361261180209694601494334410462303778697000896086127705249539110396421568743232668396873026429458608058151568452753978260507474522353490610406031776142245705025144800927664618939161300659179687500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000286");
+ return val;
+ }
+
+ static const mp_float& A006882_284(void)
+ {
+ static const mp_float val("+1.5027157214075269621869358872797502272695292429420370797653227068191235372981138931181880178215805394480832066014873761876760447391241543195604634029614150425189275020923646836433579745396672627970934606723002183407894620242492821621164488733963163218739200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000288");
+ return val;
+ }
+
+ static const mp_float& A006882_285(void)
+ {
+ static const mp_float val("+2.02591061880844416869829083919050781734705679462949295922691363959128468076607709601713524617083795943635976296142588530698175657692864525538454639599611864646298014709182131049310881253239570329657319700903488380424463023887074482396571905620054002593216626826438441639766097068786621093750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000289");
+ return val;
+ }
+
+ static const mp_float& A006882_286(void)
+ {
+ static const mp_float val("+4.297766963225527111854636637620085649990853634814226048128822941502693316672605734318017730969720342821517970880253895896753487953895081353942925332469647021604132655984162995220003807183448371599687297522778624454657861389352946983653043777913464680559411200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000290");
+ return val;
+ }
+
+ static const mp_float& A006882_287(void)
+ {
+ static const mp_float val("+5.8143634759802347641640947084767574357860530005866447929812421456269870337986412655691781565103049435823525196992922908310376413757852118829536481565088605153487530221535271611152222919679756684611650754159301165181820887855590376447816136912955498744253171899187832750612869858741760253906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000291");
+ return val;
+ }
+
+ static const mp_float& A006882_288(void)
+ {
+ static const mp_float val("+1.237756885408951808214135351634584667197365846826497101861101007152775675201710451483589106519279458732597175613513122018265004530721783429935562495751258342221990204923438942623361096468833131020709941686560243842941464080133648731292076608039077828001110425600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000293");
+ return val;
+ }
+
+ static const mp_float& A006882_289(void)
+ {
+ static const mp_float val("+1.680351044558287846843423370749782898942169317169540345171578980086199252767807325749492487231478128695299878193095472050169878357601926234173604317231060688935789623402369349562299242378744968185276706795203803673754623659026561879341886356784413913708916667886528366492711938917636871337890625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000294");
+ return val;
+ }
+
+ static const mp_float& A006882_290(void)
+ {
+ static const mp_float val("+3.589494967685960243820992519740295534872360955796841595397192920743049458084960309302408408905910430324531809279188053852968513139093171946813131237678649192443771594277972933607747179759616079960058830891024707144530245832387581320747022163313325701203220234240000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000295");
+ return val;
+ }
+
+ static const mp_float& A006882_291(void)
+ {
+ static const mp_float val("+4.8898215396646176343143620088818682359217127129633624044492948320508398255543193179310231378436013545033226455419078236659943460206216053414451885631423866048031478041008948072262907953221478574191552167740430686906259548477672950688848892982426444888929475035497975464937917422503232955932617187500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000296");
+ return val;
+ }
+
+ static const mp_float& A006882_292(void)
+ {
+ static const mp_float val("+1.048132530564300391195729815764166296182729399092677745855980332856970441760808410316303255400525845654763288309522911725066805836615206208469434321402165564193581305529168096613462176489807895348337178620179214486202831783057173745658130471687491104751340308398080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000298");
+ return val;
+ }
+
+ static const mp_float& A006882_293(void)
+ {
+ static const mp_float val("+1.4327177111217329668541080686023873931250618248982651845036433857908960688874155601537897793881751968694735351437789923341363433840421303650434402490007192752073223066015621785173032030293893222238124785147946191263534047703958174551832725643850948352456336185400906811226809804793447256088256835937500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000299");
+ return val;
+ }
+
+ static const mp_float& A006882_294(void)
+ {
+ static const mp_float val("+3.08150963985904315011544565834664891077722443333247257281658217859949309877677672632993157087754598622500406762999736047169640915964870625290013690492236675872912903825575420404357879888003521232411130514332689058943632544218809081223490358676122384796894050669035520000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000300");
+ return val;
+ }
+
+ static const mp_float& A006882_295(void)
+ {
+ static const mp_float val("+4.226517247809112252219618802377042809718932383449882294285747988083143403217875902453679849195116830764946928674148027385702212982924284576878148734552121861861600804474608426626044448936698500560246811618644126422742544072667661492790654064936029763974619174693267509311908892414066940546035766601562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000301");
+ return val;
+ }
+
+ static const mp_float& A006882_296(void)
+ {
+ static const mp_float val("+9.121268533982767724341719148706080775900584322664118815537083248654499572379259109936597449797536119226012040184792186996221371112560170508584405238570205605838221953237032443968993244684904228479369463224247596144731523308876748804215314616813222589988063899803451392000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000302");
+ return val;
+ }
+
+ static const mp_float& A006882_297(void)
+ {
+ static const mp_float val("+1.2552756225993063389092267843059817144865229178846150414028671524606935907557091430287429152109496987371892378162219641335535572559285125193328101741619801929728954389289587027079352013341994546663933030507373055475545355895822954633588242572860008399004618948839004502656369410469778813421726226806640625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000304");
+ return val;
+ }
+
+ static const mp_float& A006882_298(void)
+ {
+ static const mp_float val("+2.71813802312686478185383230631441207121837412815390740703005080809904087256901921476110604003966576352935158797506807172487396859154293081155815276109392127053979014206463566830275998691610146008685210004082578365112999394604527114365616375581034033181644304214142851481600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000305");
+ return val;
+ }
+
+ static const mp_float& A006882_299(void)
+ {
+ static const mp_float val("+3.753274111571925953338588085074885326314703524474998973794572785857473836359570337655941316480739599224195821070503672759325136195226252432805102420744320776988957362397586521096726251989256369452515976121704543587188061412851063435442884529285142511302381065702862346294254453730463865213096141815185546875000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000306");
+ return val;
+ }
+
+ static const mp_float& A006882_300(void)
+ {
+ static const mp_float val("+8.1544140693805943455614969189432362136551223844617222210901524242971226177070576442833181201189972905880547639252042151746219057746287924346744582832817638116193704261939070049082799607483043802605563001224773509533899818381358134309684912674310209954493291264242855444480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000307");
+ return val;
+ }
+
+ static const mp_float& A006882_301(void)
+ {
+ static const mp_float val("+1.129735507583149711954915013607540483220725760866974691112166408543099624744230671634438336260702619366482942142221605500556865994763101982274335828644040553873676166081673542850114601848766167205207308812633067619743606485268170094068308243314827895902016700776561566234570590572869623429141938686370849609375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000309");
+ return val;
+ }
+
+ static const mp_float& A006882_302(void)
+ {
+ static const mp_float val("+2.462633048952939492359572069520857336523846960107440110769226032137731030547531408573562072275937181757592538705411672982735815543937895315271686401551092671109049868710559915482300548145987922838688002636988159987923774515117015656152484362764168340625697396180134234423296000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000310");
+ return val;
+ }
+
+ static const mp_float& A006882_303(void)
+ {
+ static const mp_float val("+3.423098587976943627223392491230847664158799055426933314069864217885591862975018935052348158869928936680443314690931464666687303964132199006291237560791442878237238783227470834835847243601761486631778145702278194887823127650362555385026973977243928524583110603352981545690748889435794958990300074219703674316406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000311");
+ return val;
+ }
+
+ static const mp_float& A006882_304(void)
+ {
+ static const mp_float val("+7.4864044688169360567730990913434063030324947587266179367384471376987023328644954820636286997188490325430813176644514858675168792535712017584259266607153217201715116008801021430661936663638032854296115280164440063632882745259557275947035524628030717555021200843876080726468198400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000312");
+ return val;
+ }
+
+ static const mp_float& A006882_305(void)
+ {
+ static const mp_float val("+1.044045069332967806303134709825408537568433711905214660791308586455105518207380775190966188455328325687535210980734096723339627709060320696918827456041390077862357828884378604624933409298537253422692334439194849440786053933360579392433227063059398199997848734022659371435678411277917462492041522637009620666503906250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000314");
+ return val;
+ }
+
+ static const mp_float& A006882_306(void)
+ {
+ static const mp_float val("+2.2908397674579824333725683219510823287279433961703450886419648241358029138565356175114703821139678039581828832053221546754601650515927877380783335581788884463724825498693112557782552619073238053414611275730318659471662120049424526439792870536177399571836487458226080702299268710400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000315");
+ return val;
+ }
+
+ static const mp_float& A006882_307(void)
+ {
+ static const mp_float val("+3.20521836285221116535062355916400421033509149554900900862931736041717394089665897983626619855785795986073309771085367694065265706681518453954080029004706753903743853467504231619854556654650936800766546672832818778321318557541697873477000708359235247399339561344956427030753272262320660985056747449561953544616699218750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000316");
+ return val;
+ }
+
+ static const mp_float& A006882_308(void)
+ {
+ static const mp_float val("+7.055786483770585894787510431609333572482065660204662873017251658338272974678129701935328776911020836191203280272392236400417308358905786233281267359190976414827246253597478667797026206674557320451700272924938147117271932975222754143456204125142639068125638137133632856308174762803200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000317");
+ return val;
+ }
+
+ static const mp_float& A006882_309(void)
+ {
+ static const mp_float val("+9.904124741213332500933426797816773009935432721246437836664590643689067477370676247694062553543781095969665271926537861746616710336458920227181072896245438695625685072145880757053505800628713947143686292190534100250128743428038464290439321888300369144639592445559153595250276112905708424438253496191464364528656005859375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000318");
+ return val;
+ }
+
+ static const mp_float& A006882_310(void)
+ {
+ static const mp_float val("+2.1872938099688816273841282337988934074694403546634454906353480140848646221502202075999519208424164592192730168844415932841293655912607937323171928813492026885964463386152183870170781240691127693400270846067308256063542992223190537844714232787942181111189478225114261854555341764689920000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000320");
+ return val;
+ }
+
+ static const mp_float& A006882_311(void)
+ {
+ static const mp_float val("+3.08018279451734640779029573412101640608991957630764216720268769018729998546228031303285345415211592084656589956915327500319779691463872419065331367073233143433958805743736891544364030399553003756168643687125610517779003920611996239432662910726141480398291325056889676812283587111367532000029683731554541736841201782226562500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000321");
+ return val;
+ }
+
+ static const mp_float& A006882_312(void)
+ {
+ static const mp_float val("+6.824356687102910677438480089452547431304653906549949930782285803944777621108687047711849993028339352764131812679457771046483620644733676444829641789809512388420912576479481367493283747095631840340884503973000175891825413573635447807550840629837960506691117206235649698621266630583255040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000322");
+ return val;
+ }
+
+ static const mp_float& A006882_313(void)
+ {
+ static const mp_float val("+9.6409721468392942563836256477987813510614482738429199833444124702862489544969373797928313114961228322497512656514497507600091043428192067167448717893921973894829106197789647053385941515060090175680785474070316092064828227151554822942423491057282283364665184742806468842244762765858037516009291007976571563631296157836914062500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000323");
+ return val;
+ }
+
+ static const mp_float& A006882_314(void)
+ {
+ static const mp_float val("+2.142847999750313952715682748088099893429661326656684278265637742438660173028127732981520897810898556767937389181349740108595856882446374403676507522000186889964166549014557149392891096588028397867037734247522055230033179862121530611570963957769119599101010802757994005367077722003142082560000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000325");
+ return val;
+ }
+
+ static const mp_float& A006882_315(void)
+ {
+ static const mp_float val("+3.036906226254377690760842079056616125584356206260519794753489928140168420666535274634741863121278692158671648680206671489402867867988050115774634613658542177687116845230373882181657157724392840533944742433214956900042089155273976922686339968304391925986953319398403768530710027124528181754292666751262004254385828971862792968750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000326");
+ return val;
+ }
+
+ static const mp_float& A006882_316(void)
+ {
+ static const mp_float val("+6.771399679210992090581557483958395663237729792235122319319415266106166146768883636221606037082439439386682149813065178743162907748530543115617763769520590572286766294886000592081535865218169737259839240222169694526904848364304036732564246106550417933159194136715261056959965601529928980889600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000327");
+ return val;
+ }
+
+ static const mp_float& A006882_317(void)
+ {
+ static const mp_float val("+9.6269927372263772797118693906094731181024091738458477493685630722043338935129168205921317060944534541429891263162551486214070911415221188670055917252975787032681603993802852065158531899863253044926048335132914133731334226222185068449156976995249224053786420224929399462423507859847543361611077536015005534864030778408050537109375000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000328");
+ return val;
+ }
+
+ static const mp_float& A006882_318(void)
+ {
+ static const mp_float val("+2.153305097989095484804935279898769820909598073930768897543574054621760834672504996318470719792215741724964923640554726840325804664032712710766448878707547801987191681773748188281928405139377976448628878390649962859555741779848683680955430261883032902744623735475453016113269061286517415922892800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000330");
+ return val;
+ }
+
+ static const mp_float& A006882_319(void)
+ {
+ static const mp_float val("+3.0710106831752143522280863356044219246746685264568254320485716200331825120306204657688900142441306518716135312948853924102288620741455559185747837603699276063425431674023109808785571676056377721331409418907399608660295618164877036835281075661484502473157868051752478428513099007291366332353933733988786765621625818312168121337890625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000331");
+ return val;
+ }
+
+ static const mp_float& A006882_320(void)
+ {
+ static const mp_float val("+6.89057631356510555137579289567606342691071383657846047213943697478963467095201598821910630333509037351988775564977512588904257492490468067445263641186415296635901338167599420250217089644600952463561241085007988115057837369551578777905737683802570528878279595352144965156246099611685573095325696000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000332");
+ return val;
+ }
+
+ static const mp_float& A006882_321(void)
+ {
+ static const mp_float val("+9.857944292992438070652157137290194378205685969926409636875914900306515863618291695118136945723659392507879435456582109636834647258007234498625055870787467616359563567361418248620168508014097248547382423469275274379954893430925528824125225287336525293883675644612545575552704781340528592685612728610400551764541887678205966949462890625000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000333");
+ return val;
+ }
+
+ static const mp_float& A006882_322(void)
+ {
+ static const mp_float val("+2.218765572967963987543005312407692423465249855378264272028898705882262364046549148206552229673899100273403857319227590536271709125819307177173748924620257255167602308899670133205699028655615066932667196293725721730486236329956083664856475341844277102988060297033906787803112440749627545366948741120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000335");
+ return val;
+ }
+
+ static const mp_float& A006882_323(void)
+ {
+ static const mp_float val("+3.1841160066365574968206467553447327841604365682862303127109205127990046239487082175231582334687419837800450576524760214126975910643363367430558930462643520400841390322577380943043144280885534112808045227805759136247254305781889458101924477678096976699244272332098522209035236443729907354374529113411593782199470297200605273246765136718750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000336");
+ return val;
+ }
+
+ static const mp_float& A006882_324(void)
+ {
+ static const mp_float val("+7.18880045641620331963933721220092345202740953142557624137363180705853005951081924018922922414343308488582849771429739333752033756765455525404294651576963350674303148083493123158646485284419281686184171599167133840677540570905771107413498010757545781368131536238985799248208430802879324698891392122880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000337");
+ return val;
+ }
+
+ static const mp_float& A006882_325(void)
+ {
+ static const mp_float val("+1.0348377021568811864667101954870381548521418846930248516310491666596765027833301706950264258773411447285146437370547069591267170959093094414931652400359144130273451854837648806489021891287798586662614699036871719280357649379114073883125455245381517427254388507932019717936451844212219890171721961858767979214827846590196713805198669433593750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000339");
+ return val;
+ }
+
+ static const mp_float& A006882_326(void)
+ {
+ static const mp_float val("+2.34354894879168228220242393117750104536093550724473785468780396910108079940052707230168872707075918567278009025486095022803163004705538501281800056414090052319822826275218758149718754202720685829696039941328485632060878226115281381016800351506959924726010880813909370554915948441738659851838593832058880000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000340");
+ return val;
+ }
+
+ static const mp_float& A006882_327(void)
+ {
+ static const mp_float val("+3.383919286053001479746142339242614766366503962946191264833530774977142164101489658172736412618905543262242885020168891756344364903623441873682650334917440130599418756531911159721910158451110137838675006585057052204676951346970302159782023865239756198712185042093770447765219753057395904086153081527817129203248705834994325414299964904785156250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000341");
+ return val;
+ }
+
+ static const mp_float& A006882_328(void)
+ {
+ static const mp_float val("+7.686840552036717885623950494262203428783868463762740163375997018651545022033728797149539024792090129006718696035943916747943746554341662842043041850382153716090188701827175267310775137849238495214030110075574328731596805816581229297351051529428285531013156890696227354201243108889028043140305877691531264000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000342");
+ return val;
+ }
+
+ static const mp_float& A006882_329(void)
+ {
+ static const mp_float val("+1.1133094451114374868364808296108202581345798038092969261302316249674797719893900975388302797516199237332779091716355653878372960532921123764415919601878378029672087708989987715485084421304152353489240771664837701753387169931532294105682858516638797893763088788488504773147572987558832524443443638226518355078688242197131330613046884536743164062500000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000344");
+ return val;
+ }
+
+ static const mp_float& A006882_330(void)
+ {
+ static const mp_float val("+2.53665738217211690225590366310652713149867659304170425391407901615500985727113050305934787818138974257221716969186149252682143636293274873787420381062611072630976227160296783821255579549024870342062993632493952848142694591947180566812584700471133422523434177392975502688641022593337925423630093963820531712000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000345");
+ return val;
+ }
+
+ static const mp_float& A006882_331(void)
+ {
+ static const mp_float val("+3.685054263318858081428751546011815054425459150608772825491066678642358045284881222853528225977861947557149879358113721433741449936396891966021669388221743127821461031675685933825562943451674429004938695421061279280371153247337189348981026169007442102835582388989695079911846658881973565590779844252977575531045808167250470432918518781661987304687500000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000346");
+ return val;
+ }
+
+ static const mp_float& A006882_332(void)
+ {
+ static const mp_float val("+8.4217025088114281154896001615136700765756062888984581229947423336346327261401532701570349555622139453397610033769801551890471687249367258097423566512786876113484107417218532228656852410276256953564913885987992345583374604526463948181778120556416296277780146894467866892628819500988191240645191195988416528384000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000347");
+ return val;
+ }
+
+ static const mp_float& A006882_333(void)
+ {
+ static const mp_float val("+1.227123069685179741115774264821934413123677897152721350888525203987905229079865447210224899250628028536530909826251869237435902828820165024685215906277840461564546523548003415963912460169407584858644585575213406000363594031363284053210681714279478220244248935533568461610644937407697197341729688136241532651838254119694406654161866754293441772460937500000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000349");
+ return val;
+ }
+
+ static const mp_float& A006882_334(void)
+ {
+ static const mp_float val("+2.812848637943016990573526453945565805576252500492085013080243939433967330530811192232449675157779457743480175127911371833141754354128866420453947121527081662190369187735098976437138870503226982249068123791998944342484711791183895869271389226584304295677856906275226754213802571333005587437549385946013112048025600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000350");
+ return val;
+ }
+
+ static const mp_float& A006882_335(void)
+ {
+ static const mp_float val("+4.110862283445352132737843787153480283964320955461616525476559433359482517417549248154253412489603895597378547917943761945410274476547552832695473286030765546241230853885811443479106741567515409276459361676964910101218040005067001578255783742836252037818233934037454346395660540315785611094794455256409134383658151300976262291442253626883029937744140625000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000351");
+ return val;
+ }
+
+ static const mp_float& A006882_336(void)
+ {
+ static const mp_float val("+9.4511714234885370883270488852571011067362084016534056439496196364981302305835256059010309085301389780180933884297822093593562946298729911727252623283309943849596404707899325608287866048908426603568688959411164529907486316183778901207518678013232624334775992050847618941583766396788987737901659367786040564813660160000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000352");
+ return val;
+ }
+
+ static const mp_float& A006882_337(void)
+ {
+ static const mp_float val("+1.385360589521083668732653356270722855695976161990564769085600529042145608369714096627983400008996512816316570648347047775603262498596525304618374497392367989083294797759518456452458971908252692926166804885137174704110479481707579531872199121335816936744744835770622114735337602086419750938945731421409878287292796988429000392216039472259581089019775390625000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000354");
+ return val;
+ }
+
+ static const mp_float& A006882_338(void)
+ {
+ static const mp_float val("+3.1944959411391255358545425232169001740768384397588511076549714371363680179372316547945484470831869745701155652892663867634624275848970710163811386669758761021163584791269972055601298724531048192006216868280973611108730374870117268608141313168472627025154285313186495202255313042114677855410760866311681710907017134080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000355");
+ return val;
+ }
+
+ static const mp_float& A006882_339(void)
+ {
+ static const mp_float val("+4.69637239847647363700369487775775048080935918914801456720018579345287361237333078756886372603049817844731317449789649195929505987024222078265628954616012748299236936440476756737383591476897662901970546856061502224693452544298869461304675502132841941556468499326240896895279447107296295568302602951857948739392258179077431132961237381095997989177703857421875000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000356");
+ return val;
+ }
+
+ static const mp_float& A006882_340(void)
+ {
+ static const mp_float val("+1.086128619987302682190544457893746059186125069518009376602690288626365126098658762630146472008283571353839292198350571499577225378865004145569587146771797874719561882903179049890444156634055638528211373521553102777696832745583987132676804647728069318855245700648340836876680643431899047083965869454597178170838582558720000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000358");
+ return val;
+ }
+
+ static const mp_float& A006882_341(void)
+ {
+ static const mp_float val("+1.601462987880477510218259953315392913955991483499472967415263355567429901819305798560982530576399878850533792503782703758119615415752597286885794735240603471700397953262025740474478046936221030495719564779169722586204673176059144863048943462272991020707557582702481458412902914635880367887911876065835605201327600390654040163397819469537353143095970153808593750000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000359");
+ return val;
+ }
+
+ static const mp_float& A006882_342(void)
+ {
+ static const mp_float val("+3.7145598803565751730916620459966115224165477377515920679812007871021687312574129681951009342683298140301303793183589545285541107957183141778479880419595487315409016395288723506253190156884702837664828974437116114997231679898972359937546718952299970704849402962173256621182478005370947410271632735347223493442679523508224000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000360");
+ return val;
+ }
+
+ static const mp_float& A006882_343(void)
+ {
+ static const mp_float val("+5.49301804843003786004863163987179769486905078840319227823435330959628456324021888906417007987705158445733090828797467389035028087603140869401827594187526990793236497968874828982745970099123813460031810719255214847068202899388286688025787607559635920102692250866951140235625699720106966185553773490581612584055366933994335776045452078051312128081917762756347656250000000000000000000000000000000000000000000000000000000000000000E+000000000000000361");
+ return val;
+ }
+
+ static const mp_float& A006882_344(void)
+ {
+ static const mp_float val("+1.2778085988426618595435317438228343637112924217865476713855330707631460435525500610591147213883054560263648504855154803578226141137271000771797078864340847636500701639979320886151097413968337776156701167206367943559047697885246491818516071319591189922468194618987600277686772433847605909133441660959444881744281756086829056000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000363");
+ return val;
+ }
+
+ static const mp_float& A006882_345(void)
+ {
+ static const mp_float val("+1.89509122670836306171677791575577020472982252199910133599085189181071817431787551672713867755758279663777916335935126249217084690223083599943630519994696811823666591799261815999047359684197715643710974698143049122238530000288958907368896724608074392435428826549098143381290866403436903334016051854250656341499101592228045842735680966927702684188261628150939941406250000000000000000000000000000000000000000000000000000000000000000E+000000000000000364");
+ return val;
+ }
+
+ static const mp_float& A006882_346(void)
+ {
+ static const mp_float val("+4.421217751995610034020619833627006898441071779381454942993944424840485310691823211264536936003536877851222382679883562038066244833495766267041789287061933282229242767432845026608279705233044870550218603853403308471430503468295286169206560676578551713173995338169709696079623262111271644560170814691967929083521487606042853376000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000365");
+ return val;
+ }
+
+ static const mp_float& A006882_347(void)
+ {
+ static const mp_float val("+6.575966556678019824157219367672522610412484151336881635888256064583192064883028043043171211124812304333093696856948880847832838750741000918043979043815979370281230735434385015166943381041660732836770822025563804541676991010026874085700716343900181417509380281253705575330793064199260545690356999342497775050018825250313190742928129552391283141332678496837615966796875000000000000000000000000000000000000000000000000000000000000000E+000000000000000366");
+ return val;
+ }
+
+ static const mp_float& A006882_348(void)
+ {
+ static const mp_float val("+1.5385837776944722918391757021021984006574929792247463201618926598444888881207544775200588537292308334922253891725994795892470532020565266609305426718975527822157764830666300692596813374210996149514760741409843513480578152069667595868838831154493359961845503776830589742357088952147225323069394435128048393210654776869029129748480000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000368");
+ return val;
+ }
+
+ static const mp_float& A006882_349(void)
+ {
+ static const mp_float val("+2.29501232828062891863086955931771039103395696881657169092500136653953403064417678702206675268255949421224970020307515941589366072400860932039734868629177680022814952666660037029326323998353959576003301688692176778504526986249937905590955000402116331471077371815754324579044677940554193044593459277053172349245657001235930356928191721378455781632510479539632797241210937500000000000000000000000000000000000000000000000000000000E+000000000000000369");
+ return val;
+ }
+
+ static const mp_float& A006882_350(void)
+ {
+ static const mp_float val("+5.385043221930653021437114957357694402301225427286612120566624309455711108422640671320205988052307917222788862104098178562364686207197843313256899351641434737755217690733205242408884680973848652330166259493445229718202353224383658554093590904072675986645926321890706409824981133251528863074288052294816937623729171904160195411968000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000370");
+ return val;
+ }
+
+ static const mp_float& A006882_351(void)
+ {
+ static const mp_float val("+8.0554932722650075043943521532051634725291889605461666351467547965537644475610605224474543019157838246849964477127938095497867491412702187145946938888841365688008048385997672997293539723422239811177158892730954049255088972173728204862425205141142832346348157507329767927244681957134521758652304206245663494585225607433811555281795294203837979353011178318411111831665039062500000000000000000000000000000000000000000000000000000000E+000000000000000371");
+ return val;
+ }
+
+ static const mp_float& A006882_352(void)
+ {
+ static const mp_float val("+1.895535214119589863545864464989908429610031350404887466439451756928410310164769516304712507794412386862421679460642558853952369544933640846266428571777785027689836627138088245327927407702794725620218523341692720860807228334983047811040943998233581947299366065305528656258393358904538159802149394407775562043552668510264388785012736000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000373");
+ return val;
+ }
+
+ static const mp_float& A006882_353(void)
+ {
+ static const mp_float val("+2.843589125109547649051206310081422705802803703072796822206804443183478849989054364423951368576271690113803746042616214771074722446868387206251926942776100208786684108025717856804461952236805065334553708913402677938704640717732605631643609741482341981826089960008740807831737273086848618080426338480471921358858463942413547901447373885395480671161294594639912247657775878906250000000000000000000000000000000000000000000000000000000E+000000000000000374");
+ return val;
+ }
+
+ static const mp_float& A006882_354(void)
+ {
+ static const mp_float val("+6.710194657983348116952360206064275840819510980433301631195659219526572497983284087718682277592219849492972745290674658342991388189065088595783157144093358998022021660068832388460863023267893328695573572629592231847257588305839989251084941753746880093439755871181571443154712490522065085699608856203525489634176446526335936298945085440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000375");
+ return val;
+ }
+
+ static const mp_float& A006882_355(void)
+ {
+ static const mp_float val("+1.00947413941388941541317824007890506055999531459084287188341557733013499174611429937050273584457644999040032984512875624373152646863827745821943406468551557411927285834912983916558399304406579819376656666425795066824014745479507499923348145822623140354826193580310298678026673194583125941855135016056753208239475469955680950501381772931539563826225958109716884791851043701171875000000000000000000000000000000000000000000000000E+000000000000000377");
+ return val;
+ }
+
+ static const mp_float& A006882_356(void)
+ {
+ static const mp_float val("+2.388829298242071929635040233358882199331745909034255380705654682151459809282049135227850890822830266419498297323480178370104934195307171540098803943297235803295839710984504330292067236283370025015624191856134834537623701436879036173386239264333889313264553090140639433763077646625855170509060752808455074309766814963375593322424450416640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000378");
+ return val;
+ }
+
+ static const mp_float& A006882_357(void)
+ {
+ static const mp_float val("+3.6038226777075852130250463170816910661991832730893090526237936110685819205336280487526947669651379264657291775471096597901215494930386505258433796109272905996058041043063935258211348551673148995517466429914008838856173264136184177472635288058676461106672951108170776628055522330466175961242283200732260895341492742774178099328993292936559624285962667045168927870690822601318359375000000000000000000000000000000000000000000000000E+000000000000000379");
+ return val;
+ }
+
+ static const mp_float& A006882_358(void)
+ {
+ static const mp_float val("+8.55200888770661750809344403542479827360765035434263426292624376210222611722973590411570618914573235378180390441805903856497566441919967411355371811700410417579910616532452550244560070589446468955593460684496270764469285114402694950072273656631532374148710006270348917287181797492056151042243749505426916602896519756888462409427953249157120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000380");
+ return val;
+ }
+
+ static const mp_float& A006882_359(void)
+ {
+ static const mp_float val("+1.293772341297023091475991627832327092765506795039061949891941906373620909471572469502217421340484515601196774739412367864653636268000875538777773280322897325258483673445995275769787413005066048939077044833912917314936620182489011971267606841306484953729558944783330880947193251663735717008597966906288166142759589465592993765910859216422490511866059746921564510557800531387329101562500000000000000000000000000000000000000000000000E+000000000000000382");
+ return val;
+ }
+
+ static const mp_float& A006882_360(void)
+ {
+ static const mp_float val("+3.078723199574382302913639852752927378498754127563348334653447754356801402202704925481654228092463647361449405590501253883391239190911882680879338522121477503287678219516829180880416254122007288240136458464186574752089426411849701820260185163873516546935356022573256102233854470971402143752077498219536899770427471124798464673940631696965632000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000383");
+ return val;
+ }
+
+ static const mp_float& A006882_361(void)
+ {
+ static const mp_float val("+4.6705181520822533602283297764747008048834795300910136391099102820087714831923766149030048910391491013203203568092786479913996269274831606949877615419656593441831260611400429455289325609482884366700681318504256315069211988587853332162760606971164106829637077906678244802193676385060859384010386605317002797753621179707907074949382017712851907478364756863868478831136599183082580566406250000000000000000000000000000000000000000E+000000000000000384");
+ return val;
+ }
+
+ static const mp_float& A006882_362(void)
+ {
+ static const mp_float val("+1.114497798245926393654737626696559711016548994177932097144548087077162107597379183024358830569471840344844684823761453905787628587110101530478320545007974856190139515465092163478710683992166638342929397964035540060256372361089592058934187029322212989990598880171518709008655318491647576038252054355472357716894744547177044211966508674301558784000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000386");
+ return val;
+ }
+
+ static const mp_float& A006882_363(void)
+ {
+ static const mp_float val("+1.6953980892058579697628837088603163921727030694230379509968974323691840483988327112097907754472111237792762895217681492208780645746763873322805574397335343419384747601938355892270025196242287025112347318617045042370123951857390759575082100330532570779158259280124202863196304527777091956395770337730072015584564488233970268206625672429765242414646406741584257815702585503458976745605468750000000000000000000000000000000000000000E+000000000000000387");
+ return val;
+ }
+
+ static const mp_float& A006882_364(void)
+ {
+ static const mp_float val("+4.05677198561517207290324496117547734810023833880767283360615503696087007165446022620866614327287749885523465275849169221706696805708076957094108678382902847653210783629293547506250688973148656356826300858908936581933319539436611509452044078673285528356577992382432810079150535930959717677923747785391938208949687015172444093155809157445767397376000000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000388");
+ return val;
+ }
+
+ static const mp_float& A006882_365(void)
+ {
+ static const mp_float val("+6.188203025601381589634525537340154831430366203394088521138675628147521776655739395915736330382320601794358456754453744656204935697568813762824034655027400348075432874707499900678559196628434764166006771295221440465095242427947627244904966620644388334392764637245334045066651152638638564084456173271476285688366038205399147895418370436864313481345938460678254102731443708762526512145996093750000000000000000000000000000000000000000E+000000000000000389");
+ return val;
+ }
+
+ static const mp_float& A006882_366(void)
+ {
+ static const mp_float val("+1.484778546735152978682587655790224709404687232003608257099852743527678446225532442792371808437873164581015882909607959351446510308891561662964437762881424422410751468083214383872877521641724082265984261143606707889875949514337998124594481327944225033785075452119704084889690961507312566701200916894534493844755854475531145380950261516251508674396160000000000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000391");
+ return val;
+ }
+
+ static const mp_float& A006882_367(void)
+ {
+ static const mp_float val("+2.2710705103957070433958708722038368231349443966456304872578939555301404920326563583010752332503116608585295536288845242888272114010077546509564207183950559277436838650176524635490312251626355584489244850653462686506899539710567791988801227497764905187221446218690375945394609730183803530189954155906317968476303360213814872776185419503292030476539594150689192557024398411158472299575805664062500000000000000000000000000000000E+000000000000000392");
+ return val;
+ }
+
+ static const mp_float& A006882_368(void)
+ {
+ static const mp_float val("+5.46398505198536296155192257330802693060924901377327838612745809618185668210995938947592825505137324565813844910735729041332315793672094691970913096740364187447156540254622893265218927964154462273882208100847268503474349421276383309850769128683474812432907766380051103239406273834691024546041937417188693734870154446995461500189696237980555192177786880000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000393");
+ return val;
+ }
+
+ static const mp_float& A006882_369(void)
+ {
+ static const mp_float val("+8.380250183360158990130763518432157877367944823622376497981628695906218415600501962130967610693650028567974052890583894625772410069718614662029192450877756373374193461915137590495925220850125210676531349891127731321045930153199515243867652946675250014084713654696748723850610990437823502640093083529431330367755939918897688054412419796714759245843110241604312053542003013717476278543472290039062500000000000000000000000000000000E+000000000000000394");
+ return val;
+ }
+
+ static const mp_float& A006882_370(void)
+ {
+ static const mp_float val("+2.02167446923458429577421135212396996432542213509611300286715949558728697238068497410609345436900810089351122616972219745292956843658675036029237845793934749355447919894210470508131003346737151041336416997313489346285509285872261824644784577612885680600175873560618908198580321318835679082035516844359816681901957145388320755070187608052805421105781145600000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000396");
+ return val;
+ }
+
+ static const mp_float& A006882_371(void)
+ {
+ static const mp_float val("+3.109072818026618985338513265338330572503507529563901680751184246181207032187786227950588983567344160598718373622406624906161564135865606039612830399275647614521825774370516046073988256935396453160993130809608388320108040086837020155474899243216517755225428765892493776548576677452432519479474533989419023566437453709911042268187007744581175680207793899635199771864083118089183699339628219604492187500000000000000000000000000000000E+000000000000000397");
+ return val;
+ }
+
+ static const mp_float& A006882_372(void)
+ {
+ static const mp_float val("+7.520629025552653580280066229901168267290570342557540370665833323584707537256148103674667650252710135323861761351366574524897994584102711340287647863534372676022662620064629502902473324498622018737714712300061803681820945434448139876785986287199347318326542496455023384987187953060687261851721226610185180566752805808445532088610979019564361665135058616320000000000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000398");
+ return val;
+ }
+
+ static const mp_float& A006882_373(void)
+ {
+ static const mp_float val("+1.1596841611239288815312654479711973035438083085273353269201917238255902230060442630255696908706193719033219533611576710899982634226778710527755857389298165602166410138402024851855976198369028770290504377919839288434002989523902085179921374177197611226990849296779001786526191006897573297658440011780532957902811702337968187660337538887287785287175071245639295149053030030472655198536813259124755859375000000000000000000000000E+000000000000000400");
+ return val;
+ }
+
+ static const mp_float& A006882_374(void)
+ {
+ static const mp_float val("+2.81271525555669243902474476998303693196667330811652009862902166302068061893379939077432570119451359061112429874541109887231184997445441404126758030096185538083247581990417143408552502336248463500790530240022311457700103359248360431391795887141255589705412689367417874598520829444469703593254373875220925753196554937235862900114050615331707126276051192250368000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000401");
+ return val;
+ }
+
+ static const mp_float& A006882_375(void)
+ {
+ static const mp_float val("+4.348815604214733305742245429891989888289281156977507475950718964345963336272665986345886340764822644637457325104341266587493487835042016447908446520986812100812403801900759319445991074388385788858939141719939733162751121071463281942470515316449104210121568486292125669947321627586589986621915004417699859213554388376738070372626577082732919482690651717114735680894886261427245699451304972171783447265625000000000000000000000000E+000000000000000402");
+ return val;
+ }
+
+ static const mp_float& A006882_376(void)
+ {
+ static const mp_float val("+1.05758093608931635707330403351362188641946916385181155708451214529577591271910857093114646364913711006978273632827457317598925559039485967951661019316165762319301090828396845921615740878429422276297239370248389108095238863077383522203315253565112101729235171202149120849043831871120608551063644577083068083201904656400684450442883031364721879479795248286138368000000000000000000000000000000000000000000000000000000000000000000000E+000000000000000404");
+ return val;
+ }
+
+ static const mp_float& A006882_377(void)
+ {
+ static const mp_float val("+1.639503482788954456264826527069280187885058996180520318433421049558428177774795076852399150468338137028321411564336657503485044913810840200861484338412028162006276233316586263431138635044421442399820056428417279402357172643941657292311384274301312287215831319332131377570140253600144424956461956665472846923510004418030252530480219560190310644974375697352255351697372120558071628693141974508762359619140625000000000000000000000000E+000000000000000405");
+ return val;
+ }
+
+ static const mp_float& A006882_378(void)
+ {
+ static const mp_float val("+3.997655938417615829737089246681490730665593439359847685779455909218032950078230398119733632593738276063778743320877886605239386131692569588572786530151065815669581233313400775837075005204632162044035648195389108286000029024325097139285316584761237445365089471441236768093856844728359003230205765013739973545031996011945872226740978585586487044336260385216030310400000000000000000000000000000000000000000000000000000000000000000000E+000000000000000406");
+ return val;
+ }
+
+ static const mp_float& A006882_379(void)
+ {
+ static const mp_float val("+6.213718199770137389243692537592571912084373595524172006862665777826442793766473341270592780275001539337338149828835931938208320223343084361265025642581586734003786924269861938404015426818357266695318013863701488934933684320538881137860146399601973568548000700268777920990831561144547370584990815762142089840102916744334657090520032133121277344452883892965047782933040336915091472747008083388209342956542968750000000000000000000000E+000000000000000407");
+ return val;
+ }
+
+ static const mp_float& A006882_380(void)
+ {
+ static const mp_float val("+1.51910925659869401530009391373896647765292550695674212059619324550285252102972755128549878038562054490423592246193359690999096673004317644365765888145740500995444086865909229481808850197776022157673354631424786114868001102924353691292842030220927022923873399914766997187566560099677642122747819070522118994711215848453943144616157186252286507684777894638209151795200000000000000000000000000000000000000000000000000000000000000E+000000000000000409");
+ return val;
+ }
+
+ static const mp_float& A006882_381(void)
+ {
+ static const mp_float val("+2.367426634112422345301846856822769898504146339894709534614675661351874704425026343024095849284775586487525835084786490068457370005093715141641974769823584545655442818146817398531929877617794118610916163282070267284209733726125313713524715778248351929616788266802404387897506824796072548192881500805376136229079211279591504351488132242719206668236548763219683205297488368364649851116610079770907759666442871093750000000000000000E+000000000000000410");
+ return val;
+ }
+
+ static const mp_float& A006882_382(void)
+ {
+ static const mp_float val("+5.8029973602070111384463587504828519446341754365747549006774581978208966303335592459106053410730704815341812238045863401961654929087649340147722569271672871380259641182777325662050980775550440464231221469204268295879576421317103110073865655544394122756919638767440992925650425958076859290889666884939449455979684454109406281243372045148373445935585155751795895985766400000000000000000000000000000000000000000000000000000000000000E+000000000000000411");
+ return val;
+ }
+
+ static const mp_float& A006882_383(void)
+ {
+ static const mp_float val("+9.06724400865057758250607346163120871127088048179673751757420778297768011794785089378228710276069049624722394837473225696219172711950892899248876336842432880986034599350231063637729143127615147427980890537032912369852328017105995152279966143069118789043229906185320880564745113896895785957873614808459060175737337920083546166619954648961456153934598176313138667628938045083660892977661660552257671952247619628906250000000000000000E+000000000000000412");
+ return val;
+ }
+
+ static const mp_float& A006882_384(void)
+ {
+ static const mp_float val("+2.228350986319492277163401760185415146739523367644705881860143947963224306048086750429672450972059064909125589940961154635327549276965734661672546660032238261001970221418649305422757661781136913826478904417443902561775734578576759426836441172904734313865714128669734128344976356790151396770163208381674859109619883037801201199745486533697540323926469980868962405853429760000000000000000000000000000000000000000000000000000000000000E+000000000000000414");
+ return val;
+ }
+
+ static const mp_float& A006882_385(void)
+ {
+ static const mp_float val("+3.490888943330472369264838282728015353839288985491743944266069996446406845409922594106180534562865841055181220124271918930443814941010937662108173896843366591796233207498389595005257201041318317597726428567576712623931462865858081336277869650816107337816435138813485390174268688503048775937813417012567381676588750992321652741486825398501606192648202978805583870371411473572094437963997393126192037016153335571289062500000000000000E+000000000000000415");
+ return val;
+ }
+
+ static const mp_float& A006882_386(void)
+ {
+ static const mp_float val("+8.6014348071932401898507307943157024664145601991085647039801556391380458213456148566585356607521479905492247771721100568923643402090877357940560301077244396874676050546759863189318445744751884873702085710513334638884543354733062913875886629274122744515216565366651737354116087372099843915328299843532649561631327485259126366310175780200725056503561741261541948865942388736000000000000000000000000000000000000000000000000000000E+000000000000000416");
+ return val;
+ }
+
+ static const mp_float& A006882_387(void)
+ {
+ static const mp_float val("+1.350974021068892806905492415415741941935804837385304906430969088624759449173640043919091866875829080488355132188093232626081756382171232875235863298078382871025142251301876773267034536802990188910320127855652187785461476129087077477139535554865833539734960398720818845997441982450679876287933792383863576708839846634028479610955401429220121596554854552797760957833736240272400547492066991139836318325251340866088867187500000000E+000000000000000418");
+ return val;
+ }
+
+ static const mp_float& A006882_388(void)
+ {
+ static const mp_float val("+3.3373567051909771936620835481944925569688493572541231051443003879855617786820985643835118363718334203330992135427787020742373640011260414880937396817970825987374307612142826917455556948963731330996409255679173839887202821636428410583844012158359624871904027362260874093397041900374739439147380339290668029912955064280541030128348202717881321923381955609478276159985646829568000000000000000000000000000000000000000000000000000000E+000000000000000419");
+ return val;
+ }
+
+ static const mp_float& A006882_389(void)
+ {
+ static const mp_float val("+5.25528894195799301886236549596723615413028081742883608601646975475031425728545977084526736214697512309970146421168267491545803232664609588466750822952490936828780335756430064800876434816363183486114529735848701048544514214214873138607279330842809246956899595102398531093004931173314471876006245237322931339738700340637078568661651155966627301059838421038329012597323397465963812974414059553396327828522771596908569335937500000000E+000000000000000420");
+ return val;
+ }
+
+ static const mp_float& A006882_390(void)
+ {
+ static const mp_float val("+1.301569115024481105528212583795852097217851249329108011006277151314369093686018440109569616185015033929908693281683693808952571960439156180356558475900862213507597996873570249780766721009585521908859960971487779755600910043820708012769916474176025370004257067128174089642484634114614838126747833232336053166605247506941100175005579905997371555011896268769652770239440226353152000000000000000000000000000000000000000000000000000000E+000000000000000422");
+ return val;
+ }
+
+ static const mp_float& A006882_391(void)
+ {
+ static const mp_float val("+2.054817976305575270375184908923189336264939799614674909632439674107372874598614770400499538599467273131983272506767925891944090639718623490904995717744239563000531112807641553371426860131980047430707811267168421099809050577580153971954462183595384155601477416850378256573649280887659585035184418877932661538378318331890977203467056019829512747143968226259866439255534484091918508729958972853779641809524036943912506103515625000000E+000000000000000423");
+ return val;
+ }
+
+ static const mp_float& A006882_392(void)
+ {
+ static const mp_float val("+5.1021509308959659336705933284797402210939768973701034031446064331523268472491922852295128954452589330052420776642000797310940820849214922269977092255313798769497841477443953791406055463575752458827310470082320966419555673717771754100580725787700194504166877031424424313985397657292901654568515062707573284130925702272091126860218732315096964956466333735770388593386056873043558400000000000000000000000000000000000000000000000E+000000000000000424");
+ return val;
+ }
+
+ static const mp_float& A006882_393(void)
+ {
+ static const mp_float val("+8.07543464688091081257447669206813409152121341248567239485548791924197539717255604767396318669590638340869426095159794875534027621409419031925663317073486148259208727333403130474970756031868158640268169827997189492224956876989000510978103638152985973151380624822198654833444167388850216918827476619027535984582679104433154040962553015792998509627579512920127510627425052248123973930873876331535399231142946518957614898681640625E+000000000000000425");
+ return val;
+ }
+
+ static const mp_float& A006882_394(void)
+ {
+ static const mp_float val("+2.0102474667730105778662137714210176471110268975638207408389749346620167778161817603804280808054320196040653785996948314140510683414590679374370974348593636715182149542112917793813985852648846468777960325212434460769304935444802071115628805960353876634641749550381223179710246676973403251899994934706783873947584726695203903982926180532148204192847735491893533105794106407979162009600000000000000000000000000000000000000000000000E+000000000000000427");
+ return val;
+ }
+
+ static const mp_float& A006882_395(void)
+ {
+ static const mp_float val("+3.18979668551795977096691829336691296615087929793184059596791772810058028188315963883121545874488302144643423307588118975835940910456720517610637010244027028562387447296694236537613448632587922662905927082058889849428857966410655201836350937070429459394795346804768468659210446118595835682936853264515876713910158246251095846180208441238234411302893907603450366697832895638008969702695181150956482696301463874988257884979248046875E+000000000000000428");
+ return val;
+ }
+
+ static const mp_float& A006882_396(void)
+ {
+ static const mp_float val("+7.960579968421121888350206534827229882559666514352730133722340741261586440152079771106495199989510797632098899254791532399642230632177909032250905842043080139212131218676715446350338397648943201636072288784124046464644754436141620161789007160300135147318132821950964379165257684081467687752397994143886414083243551771300745977238767490730688860367703254789839109894466137559748155801600000000000000000000000000000000000000000000000E+000000000000000429");
+ return val;
+ }
+
+ static const mp_float& A006882_397(void)
+ {
+ static const mp_float val("+1.266349284150630029073866562466664447561899081278940716599263338055930371907614376615992537121718559514234390531124832334068685414513180454914228930668787303392678165767876119054325391071374052971736530515773792702232566126650301151290313220169604953797337526814930820577065471090825467661259307460128030554223328237616850509335427511715790612872488813185697955790396595682895609719699869169297236304316811583703383803367614746094E+000000000000000431");
+ return val;
+ }
+
+ static const mp_float& A006882_398(void)
+ {
+ static const mp_float val("+3.1683108274316065115633822008612374932587472727123865932214916150221114031805277489003850895958252974575753619034070298950576077916068077948358605251331458954064282250333327476474346822642793942511567709360813704929286122655843648243920248497994537886326168631364838229077725582644241397254544016692667928051309336049776968989410294613108141664263458954063559657379975227487797660090368000000000000000000000000000000000000000E+000000000000000432");
+ return val;
+ }
+
+ static const mp_float& A006882_399(void)
+ {
+ static const mp_float val("+5.05273364376101381600472758424199114577197733430297345923106071884316218391138136269781022311565705246179521821918808101293405480390759001510777343336846134053678588141382571502675831037478247135722875675793743288190793884533470159364834974847672376565137673199157397410249122965239361596842463676591084191135107966809123353224835577174600454536123036461093484360368241677475348278160247798549597285422407821897650137543678283E+000000000000000433");
+ return val;
+ }
+
+ static const mp_float& A006882_400(void)
+ {
+ static const mp_float val("+1.2673243309726426046253528803444949973034989090849546372885966460088445612722110995601540358383301189830301447613628119580230431166427231179343442100532583581625712900133330990589738729057117577004627083744325481971714449062337459297568099399197815154530467452545935291631090233057696558901817606677067171220523734419910787595764117845243256665705383581625423862951990090995119064036147200000000000000000000000000000000000000000E+000000000000000435");
+ return val;
+ }
+
+ static const mp_float& A006882_401(void)
+ {
+ static const mp_float val("+2.02614619114816654021789576128103844945456291105549235715165534825610803574846392644182189946937847803717988250589442048618655597636694359605821714678075299755525113844694411172573008246028777101424873145993291058564508347697921533905298824913916623002620206952862116361509898309060984000333827934313024760645178294690458464643159066447014782268985337620898487228507664912667614659542259367218388511454385536580957705155014991760E+000000000000000436");
+ return val;
+ }
+
+ static const mp_float& A006882_402(void)
+ {
+ static const mp_float val("+5.094643810510023270593918578984869889160065614521517641900158516955555136314288620231819224070087078311781181940678504071252633328903746934096063724414098599813536585853599058217074969080961265955860087665218843752629208523059658637622375958477521692121247915923465987235698273689194016678530677884181002830650541236804136613497175373787789179613564199813420392906700016580037863742531174400000000000000000000000000000000000000000E+000000000000000437");
+ return val;
+ }
+
+ static const mp_float& A006882_403(void)
+ {
+ static const mp_float val("+8.165369150327111157078119917962584951301888531553634199321171053472115384066309623560542254861595266489834926498754514559331820584758782692114615101526434580147662087941184770254692232314959717187422387783529629660149686412226237816383542644030839907005594340200343289368848901855157655213453265752814897854000685276025476125119310377814695725440109106122209035308858895980504870779553052498901057011611737124212595517747104167938E+000000000000000438");
+ return val;
+ }
+
+ static const mp_float& A006882_404(void)
+ {
+ static const mp_float val("+2.0582360994460494013199431059098874352206665082666931273276640408500442750709726025736549665243151796379595975040341156447860638648771137613748097446632958343246687806848540195196982875087083514461674754167484128760622002433161020895994398872249187636169841580330802588432221025704343827381263938652091251435828186596688711918528588510102668285638799367246218387343068066983352969519825944576000000000000000000000000000000000E+000000000000000440");
+ return val;
+ }
+
+ static const mp_float& A006882_405(void)
+ {
+ static const mp_float val("+3.30697450588248001861663856677484690527726485527922185072507427665620673054685539754201961321894608292838314523199557839652938733682730699030641911611820600495980314561617983195315035408755868546090606705232950001236062299695162631563533477083249016233726570778113903219438380525133885036144857262989003363087027753679031783067332070301495176880324418797949465930008785287210447266571898626205492808970275353530610118468757718E+000000000000000441");
+ return val;
+ }
+
+ static const mp_float& A006882_406(void)
+ {
+ static const mp_float val("+8.356438563750960569358969009994142986995906023562774096950316005851179756788148766449039164088719629330115965866378509517831419291401081871181727563332981087358155249580507319249975047285355906871439950191998556276812532987863374483773725942133170180284955681614305850903481736435963593916793159092749048082946243758255617038922606935101683323969352543101964665261285635195241305625049333497856000000000000000000000000000000000E+000000000000000442");
+ return val;
+ }
+
+ static const mp_float& A006882_407(void)
+ {
+ static const mp_float val("+1.34593862389416936757697189667736269044784679609864329324510523059907613933257014679960198258011105575185194010942220040738746064608871394505471258026010984401863988026578519160493219411363638498258876929029810650503077355975931191046358125172882349607126714306692358610311420873729491209710956906036524368776420295747365935708404152612708536990292038450765432633513575611894652037494762740865635573250902068886958318216784391552E+000000000000000444");
+ return val;
+ }
+
+ static const mp_float& A006882_408(void)
+ {
+ static const mp_float val("+3.409426934010391912298459356077610338694329657613611831555728930387281340769564696711207978948197608766687314073482431883275219070891641403442144845839856283642127341828846986253989819292425210003547499678335410960939513459048256789379680184390333433556261918098636787168620548465873146318051608909841611617842067453368291751880423629521486796179495837585601583426604539159658452695020128067125248000000000000000000000000000000000E+000000000000000445");
+ return val;
+ }
+
+ static const mp_float& A006882_409(void)
+ {
+ static const mp_float val("+5.504888971727152713389815057410413403931693396043451069372480393150221409870211900410372108752654218025074435047536799666214714042502840035273774453263849262036237110287061433664172673924772814578788066397319255605575863859415585713796047319570888098931482615143717467161737113735536190477178137456893846682955590096067266770473729841859779162902944372636306194710705242526491268333535796101404494945961894617476595215066481614485E+000000000000000446");
+ return val;
+ }
+
+ static const mp_float& A006882_410(void)
+ {
+ static const mp_float val("+1.3978650429442606840423683359918202388646751596215808509378488614587853497155215256515952713687610195943417987701277970721428398190655729754112793867943410762932722101498272643641358259098943361014544748681175184939852005182097852836456688756000367077580673864204410827391344248710079899904011596530350607633152476558809996182709736881038095864335932934100966492049078610554599656049582525075213516800000000000000000000000000E+000000000000000448");
+ return val;
+ }
+
+ static const mp_float& A006882_411(void)
+ {
+ static const mp_float val("+2.26250936737985976520321398859567990901592598577385838951208944158474099945665709106866293669734088360830559280453762466281424747146866725449752130029144204669689345232798224923597496898308162679188189528929821405389168004621980572837017544834363500866083935482406787900347395374530537428612021449478337098669474752948364664266470296500436923595311013715352184602609985467838791128508321219767724742279033868778288063339232394E+000000000000000449");
+ return val;
+ }
+
+ static const mp_float& A006882_412(void)
+ {
+ static const mp_float val("+5.759203976930354018254557544286299384122461657640913105863937309210195640827948685684572518039295400728688210932926523937228500054550160658694471073592685234328281505817288329180239602748764664737992436456644176195219026135024315368620155767472151235963237632052217260885233830468552918760452777770504450344858820342229718427276411594987695496106404368849598194724220387548495058292428000330987968921600000000000000000000000000E+000000000000000450");
+ return val;
+ }
+
+ static const mp_float& A006882_413(void)
+ {
+ static const mp_float val("+9.3441636872788208302892737729001580242357743212460351486849293937449803277559937861135779285600178493023020982827403898574228420571655957610747629702036556528581699581145666893445766219001271186504722275448016240425726385908877976581688246016592125857692665354234003402843474289681111958016764858634553221750493072967674606342052232454680449444863448664440452240877923998217420736073936663764070318561240987805432970159102978868E+000000000000000451");
+ return val;
+ }
+
+ static const mp_float& A006882_414(void)
+ {
+ static const mp_float val("+2.384310446449166563557386823334527945026699126263338025827670046013020995302770755873413022468268295901676919326231580910012599022583766512699511024467371687011908543408357368280619195537988571201528868693050688944820676819900066562608744487733470611688780379669617946006486805813980908366827449996988842442771551621683103428892434400324905935388051408703733652615827240445076954133065192137029019133542400000000000000000000000000E+000000000000000453");
+ return val;
+ }
+
+ static const mp_float& A006882_415(void)
+ {
+ static const mp_float val("+3.877827930220710644570048615753565580057846343317104586704245698404166836018737421237134840352407407460455370787337261790830479453723722240846026632634517095936140532617545176077999298088552754239945974431092673977667645015218436028140062209688573223094245612200711141218004183021766146257695741633333958702645462528158496163195167646869238651961833119574278767996433845926022960547068371546208918220291500993925468261602773623054E+000000000000000454");
+ return val;
+ }
+
+ static const mp_float& A006882_416(void)
+ {
+ static const mp_float val("+9.918731457228532904398729185071636251311068365255486187443107391414167340459526344433398173467996110950975984397123376585652411933948468692829965861784266217969539540578766652047375853438032456198360093763090866010454015570784276900452377068971237744625326379425610655386985112186160578806002191987473584561929654746201710264192527105351608691214293860207531994881841320251520129193551199290040719595536384000000000000000000000000E+000000000000000455");
+ return val;
+ }
+
+ static const mp_float& A006882_417(void)
+ {
+ static const mp_float val("+1.61705424690203633878571027276923684688412192516323261265567045623453757061981350465588522842695388891100988961831963816677630993220279217443279310580859362900537060210151633842452570730292649851805747133776564504868740797134608782373440594144013503403030042028769654588790774432007648298945912426110026077900315787424209290005238490874447251786808441086247424625451291375115157454812751093476911889786155591446692026508835660E+000000000000000457");
+ return val;
+ }
+
+ static const mp_float& A006882_418(void)
+ {
+ static const mp_float val("+4.146029749121526754038668799359943953048026576676793226351218889611121948312082011973160436509622374377507961477997571412802708188390459913602925730225823279111267527961924460555803106737097566690914519192971981992369778508587827744389093614829977377253386426599905253951759776893815121940908916250763958346886595683912314890432476330036972432927574833566748373860609671865135414002904401303237020790934208512000000000000000000E+000000000000000458");
+ return val;
+ }
+
+ static const mp_float& A006882_419(void)
+ {
+ static const mp_float val("+6.7754572945195322595121260429031023884444708664339446470272592116227124208970185845081591071089367945371314375007592839187927386159296992108734031133380073055325028228053534579987627135992620287906608049052380527540002393999401079814471608946341657925869587610054485272703334487011204637258337306540100926640232314930743692512194927676393398498672736815137670918064091086173250973566542708166826081820399192816163959107202141574E+000000000000000459");
+ return val;
+ }
+
+ static const mp_float& A006882_420(void)
+ {
+ static const mp_float val("+1.741332494631041236696240895731176460280171162204253155067511933636671218291074445028727383334041397238553343820758979993377137439123993163713228806694845777226732361744008273433437304829580978010184098061048232436795306973606887652643419318228590498446422299171960206659739106295402351215181744825320862505692370187243172253981640058615528421829581430098034317021456062183356873881219848547359548732192367575040000000000000000000E+000000000000000461");
+ return val;
+ }
+
+ static const mp_float& A006882_421(void)
+ {
+ static const mp_float val("+2.852467520992723081254605064062206105535122234768690696398476128093161929197644824077934984092862390500132335187819658529811742957306403367777702710715301075629183688401053805817479102425289314120868198865105220209434100787374785460189254736640983798679109638383293829980810381903171715228576000605338249011553780458584309454763406455176162076794122219917295945650498234727893865987151448013823378044638806017560502678413210160269E+000000000000000462");
+ return val;
+ }
+
+ static const mp_float& A006882_422(void)
+ {
+ static const mp_float val("+7.348423127342994018858136579985564662382322304501948314384900359946752541188334158021229557669654696346695110923602895572051519993103251150869825564252249179896810566559714913889105426380831727202976893817623540883276195428621065894155229522924651903443902102505672072104099028566597922128066963162854039774021802190166186911802521047357529940120833635013704817830544582413766007778747760869857295649851791166668800000000000000000E+000000000000000463");
+ return val;
+ }
+
+ static const mp_float& A006882_423(void)
+ {
+ static const mp_float val("+1.20659376137992186337069794209831318264135670530715616457655540218340749605060376058496649827128079118155597778444771555811036727094060862456996824663257235499114470019364575986079366032589737987312724811993950814859062463305953424966005475359913614684126337703613329008188279154504163554168764825605807933188724913398116289936492093053951655848391369902501618501016075328989910531256506250984728891288221494542809263296878789E+000000000000000465");
+ return val;
+ }
+
+ static const mp_float& A006882_424(void)
+ {
+ static const mp_float val("+3.115731405993429463995849909913879416850104657108826085299197752617423077463853683001001332451933591250998727031607627722549844477075778487968806039242953652276247680221319123488980700785472652334062202978672381334509106861735331939121817317720052407060214491462404958572137988112237518982300392381050112864185244128630463250604268924079592694611233461245810842760150902943436787298189050608819493355537159454667571200000000000E+000000000000000466");
+ return val;
+ }
+
+ static const mp_float& A006882_425(void)
+ {
+ static const mp_float val("+5.1280234858646679193254662539178310262257659975554136994503604592794818582150659824861076176529433625216129055839027911219690609014975866544223650481884325087123649758229944794083730563850638644607908045097429096315101546905030205610552327027963286240753693524035664828480018640664269510521725050882468371605208088194199423223009139547929453735566332208563187862931832014820711975784015156668509778797494135180693936901173485656E+000000000000000467");
+ return val;
+ }
+
+ static const mp_float& A006882_426(void)
+ {
+ static const mp_float val("+1.327301578953200951662232061623312631578144583928359912337458242615022230999601668958426567624523709872925457715464849409806233747234281635874711372717498255869681511774281946606305778534611349894310498468914434448500879523099251406065894177348742325407651373362984512351730782935813183086459967154327348080142913998796577344757418561657906487904385454490715419015824284653904071389028535559357104169458829927688385331200000000000E+000000000000000469");
+ return val;
+ }
+
+ static const mp_float& A006882_427(void)
+ {
+ static const mp_float val("+2.189666028464213201551974090422913848198402080956161649665303916112338753457833174521567952737806815796728710684326491809080789004939469501438349875576460681220179844676418642707375295076422270124757673525660222412654836052844789779570584364094032322480182713476322888176096795956364308099277659672681399467542385365892315371622490258696587674508682385305648121747189227032844401365977447189745367554652999572215631105680107837521E+000000000000000470");
+ return val;
+ }
+
+ static const mp_float& A006882_428(void)
+ {
+ static const mp_float val("+5.680850757919700073114353223747778063154458819213380424804321278392295148678295143142065709432961478256120959022189555473970680438162725401543764675230892535122236870393926731474988732128136577547648933446953779439583764358864796017962027079052617152744747877993573712865407750965280423610048659420521049783011671914849351035561751443895839768230769745220261993387727938318709425545042132194048405845283792090506289217536000000000E+000000000000000471");
+ return val;
+ }
+
+ static const mp_float& A006882_429(void)
+ {
+ static const mp_float val("+9.3936672621114746346579688479143004087711449273019334770641538001219332523341043186975265172451912397679661688357606498609565848311903241611705209662230163224345715336618359772146400158778515388352104194250823541502892466667041481543578069219633986634399838408134251902754552546528028817459011599958032037157568332196780329442604832098083611236422474329612304422954417839709024818600432484440076268094613681648050574433676626E+000000000000000472");
+ return val;
+ }
+
+ static const mp_float& A006882_430(void)
+ {
+ static const mp_float val("+2.442765825905471031439171886211544567156417292261753582665858149708686913931666911551088255056173435650132012379541508853807392588409971922663818810349283790102561854269388494534245154815098728345489041382190125159021018674311862287723671643992625375680241587537236696532125332915070582152320923550824051406695018923385220945291553120875211100339230990444712657156723013477045052984368116843440814513472030598917704363540480000E+000000000000000474");
+ return val;
+ }
+
+ static const mp_float& A006882_431(void)
+ {
+ static const mp_float val("+4.0486705899700455675375845734510634761803634636671333286146502878525532317559989613586339289326774243399934187682128400900722880622430297134644945364421200349693003310082513061795098468433540132379756907722104946387746653133494878545282147833662248239426330353905862570087212147553580420324833999581911808014911951176812321989762682634274036442898086436062903206293354088914589696816786400793672871548778496790309797580914625904E+000000000000000475");
+ return val;
+ }
+
+ static const mp_float& A006882_432(void)
+ {
+ static const mp_float val("+1.055274836791163485581722254843387253011572270257077547711650720674152746818480105790070126184266924200857029347961931824844793598193107870590769726070890597324306721044375829638793906880122650645251265877106134068697080067302724508296626150204814162293864365816086252901878143819310491489802638973955990207692248174902415448365950948218091195346547787872115867891704341822083462889247026476366431869819917218732448285049487360000E+000000000000000477");
+ return val;
+ }
+
+ static const mp_float& A006882_433(void)
+ {
+ static const mp_float val("+1.753074365457029730743774120304310485186097379767868731290143574640155549350347550268288491227849324739217150326636159759001300730951231865930126134279437975141707043326572815575727763683172287732043474104367144178589430080680328241010717001197575348767160104324123849284776285989070032200065312181896781287045687485955973542156724158064065777977487142681523708832502232050001733872166851154366035338062108911020414235253603301686E+000000000000000478");
+ return val;
+ }
+
+ static const mp_float& A006882_434(void)
+ {
+ static const mp_float val("+4.579892791673649527424674586020300678070223652915716557068564127725822921192203659128904347639718451031719507370154784119826404216158088158363940611147665192387491169332591100632365555859732303800390493906640621858145327492093824366007357491888893464355371347641814337594151144175807533065743453146968997501384357079076483045908227115266515787804017399364982866649996843507842228939332094907430314315018440729298825557114775142400E+000000000000000479");
+ return val;
+ }
+
+ static const mp_float& A006882_435(void)
+ {
+ static const mp_float val("+7.6258734897380793287354174233237506105595236019902289811121245496846766396740118436670549368411445626155946039208672949516556581796378586167960486841155551918664256384705917477544157720217994516343891123539970771768640208509594278483966189552094527671371464538099387443887768440524546400702841079912509985986487405639084849083817500875786861342020690706646281334213847094175075423439258025214922537205701737629388019233531743E+000000000000000480");
+ return val;
+ }
+
+ static const mp_float& A006882_436(void)
+ {
+ static const mp_float val("+1.996833257169711193957158119504851095638617512671252418881893959688458793639800795380202295570917244649829705213387485876244312238244926437046678106460382023880946149829009719875711382354843284456970255343295311130151362786552907423579207866463557550458941907571831051191049898860652084416664145572078482910603579686477346608015987022256200883482551586123132529859398623769419211817548793379639617041348040157974287942902041962E+000000000000000482");
+ return val;
+ }
+
+ static const mp_float& A006882_437(void)
+ {
+ static const mp_float val("+3.3325067150155406666573774139924790168145118140697300647459984282122036915375431756825030073995801738630148419134190078938735226245017442155398732749584976188456280040116485937686796923735263603642280420986967227262895771118692699697493224834265308592389330003149432312978954808509226777107141551921766863876094996264280079049628247882718858406463041838804424943051451180154507960042955757018921148758891659344042564405053371963E+000000000000000483");
+ return val;
+ }
+
+ static const mp_float& A006882_438(void)
+ {
+ static const mp_float val("+8.74612966640333502953235256343124779889714470550008559470269554343544951614232748376528605460061753156625410883463718813795008760351277779426445010629647326459854413625106257305561585471421358592152971840363346275006296900510173451527693045511038207101016555516462000421679855700965612974498895760570375514844367902677077814311002315748215986965357594721932048078416597211005614776086371500282152264110441589192738118991094379393E+000000000000000484");
+ return val;
+ }
+
+ static const mp_float& A006882_439(void)
+ {
+ static const mp_float val("+1.462970447891822352662588684742698288381570686376611498423493309985157420584981454124618820248415696325863515599990944465410476432156265710622004367706780454673230693761113732664450384951978072199896110481327861276841124352110609516719952570224247047205891587138260078539776116093555055515003514129365565324160570336001895470278680082051357884043727536723514254999958706808782899445885757733130638430515343845203468577381843029193E+000000000000000486");
+ return val;
+ }
+
+ static const mp_float& A006882_440(void)
+ {
+ static const mp_float val("+3.848297053217467412994235127909749031514743670420037661669186039111597787102624092856725864024271713889151807887240362780698038545545622229476358046770448236423359419950467532144470976074253977805473076097598723610027706362244763186721849400248568111244472844272432801855391365084248697087795141346509652265315218771779142382968410189292150342647573416776501011545033027728424705014780034601241469962085942992448047723560815269333E+000000000000000487");
+ return val;
+ }
+
+ static const mp_float& A006882_441(void)
+ {
+ static const mp_float val("+6.4516996752029365752420160997152994517627267269208567080476054970345442247797682126895689972955132207970581037959600650924602010658091317838430392615869018051089473594865115610502261976382232984015418472226558682308693583928077879687349908346889294781779818992797269463604126719725777948211654973105021430795481151817683590239289791618464882686328384369506978645498178970267325865563561916031061154785726663573472964262539277E+000000000000000488");
+ return val;
+ }
+
+ static const mp_float& A006882_442(void)
+ {
+ static const mp_float val("+1.700947297522120596543451926536109071929516702325656646457780229287326221899359849042672831898728097539005099086160240349068533037131165025428550256672538120499124863618106649207856171424820258190019099635138635835632246212112185328531057434909867105170056997168415298420082983367237924112805452475157266301269326697126380933272037303667130451450227450215213447102904598255963719616532775293748729723241986802662037093813880349E+000000000000000490");
+ return val;
+ }
+
+ static const mp_float& A006882_443(void)
+ {
+ static const mp_float val("+2.8581029561149009028322131321738776571308879400259395216650892351863030915774373182214790658019123568130967399816103088359598690721534453802424663928829974996632636802525246215452502055537329211918830383196365496262751257680138500701496009397671957588328459813809190372376628136838519631057763153085524493842398150255233830476005377686979943030043474275691591539955693283828425358444657928801760091570076911963048523168304899971E+000000000000000491");
+ return val;
+ }
+
+ static const mp_float& A006882_444(void)
+ {
+ static const mp_float val("+7.55220600099821544865292655382032427936705415832591551027254421803572842523315772974946737363035275307318263994255146714986428668486237271290276313962606925501611439446439352248288140112620194636368480238001554311020717318177810285867789501099980994695505306742776392498516844615053638306085620898969826237763581053524113134372784562828205920443900987895554770513689641625647891509740552230424435997119442140381944469653362874976E+000000000000000492");
+ return val;
+ }
+
+ static const mp_float& A006882_445(void)
+ {
+ static const mp_float val("+1.271855815471130901760334843817375557423245133311543087140964709657904875751959606608558184281850998781828049291816587432002141737108283194207897544832933887350152337712373456587636341471411149930387952052238264583692430966766163281216572418196402112680616461714508971570759952089314123582070460312305839975986717686357905456182239307070607464836934605268275823528028351130364928450787277831678324074868422582355659280989568048719E+000000000000000494");
+ return val;
+ }
+
+ static const mp_float& A006882_446(void)
+ {
+ static const mp_float val("+3.368283876445204090099205243003864628597706154613358317581554721243934877653988347468262448639137327870639457414377954348839471861448618229954632360273226887737187019931119511027365104902286068078203421861486932227152399239073033874970341174905915236341953668072782710543385126983139226845141869209405425020425571498717544579302619150213798405179798406014174276491055801650389596133442862947692984547152711946103472334653998422393E+000000000000000495");
+ return val;
+ }
+
+ static const mp_float& A006882_447(void)
+ {
+ static const mp_float val("+5.6851954951559551308686967518636687416819057459025975995201122521708347946112594415402550837398739645547713803344201458210495735648740258781093020254032144764551809495743093509467344463772078401888341456735050426891051664214447498670380787093379174436823555838638551029212969858392341324118549575960071046926606280580198373891346097026056153678210976855491929311702867295527312301750191319076021086146618489431297969860233691E+000000000000000496");
+ return val;
+ }
+
+ static const mp_float& A006882_448(void)
+ {
+ static const mp_float val("+1.508991176647451432364443948865731353611772357266784526276536515117282825188986779665781576990333522886046476921641323548280083393928980967019675297402405645706259784929141540940259566996224158499035132993946145637764274859104719175986712846357850025881195243296606654323436536888446373626623557405813630409150656031425459971527573379295781685520549685894350075867992999139374539067782402600566457077124414951854355605924991293E+000000000000000498");
+ return val;
+ }
+
+ static const mp_float& A006882_449(void)
+ {
+ static const mp_float val("+2.5526527773250238537600448415867872650151756799102663221845304012247048227804554892515745325992034100850923497701546454736512585306284376192710766094060432999283762463588648985750837664233663202447865314074037641674082197232286926903000973404927249322133776571548709412116623466418161254529228759606071900070046219980509069877214397564699213001516728608115876260954587415691763223485835902265133467679831701754652788467244927608E+000000000000000499");
+ return val;
+ }
+
+ static const mp_float& A006882_450(void)
+ {
+ static const mp_float val("+6.79046029491353144563999776989579109125297560770053036824441431802777271335044050849601709645650085298720914614738595596726037527268041435158853883831082540567816903218113693423116805148300871324565809847275765536993923686597123629194020780861032511646537859483472994445546441599800868131980600832616133684117795214141456987187408020683101758484247358652457534140596849612718542580502081170254905684705986728334460022666246081954E+000000000000000500");
+ return val;
+ }
+
+ static const mp_float& A006882_451(void)
+ {
+ static const mp_float val("+1.151246402573585758045780223555641056521844231639530111305223210952341875073985425652460114202240737948376649746339745108616717597313425366291255550842125528267697687107848069257362778656938210430398725664739097639501107095176140403325343900562218944428233323376846794486459718335459072579268217058233842693159084521120959051462369330167934506368404460226026019369051892447698521379211199192157519392360409749134840759872746235130E+000000000000000502");
+ return val;
+ }
+
+ static const mp_float& A006882_452(void)
+ {
+ static const mp_float val("+3.069288053300916213429278991992897573246344974680639726446475271748553266434399109840199727598338385550218534058618452097201689623251547286918019554916493083366532402545873894272487959270319938387037460509686460227212535063418998803956973929491866952642351124865297934893869916031099923956552315763424924252212434367919385582087084253487619948348798061109108054315497760249487812463869406889552173694871060012071759302451432290434E+000000000000000503");
+ return val;
+ }
+
+ static const mp_float& A006882_453(void)
+ {
+ static const mp_float val("+5.2151462036583434839473844127070539860439543693270714042126611456141086940851539782056443173361505429061462233509190453420337307158298169092993876453148286430526705225985517537358533873159300932497062272612681123069400151411479160270638078695468518182598969548971159790236625240596295987840850232737993074000106528806779445031245330656607433138488722048238978677418050727880743018478267323404735628473926561635808286422235404E+000000000000000504");
+ return val;
+ }
+
+ static const mp_float& A006882_454(void)
+ {
+ static const mp_float val("+1.393456776198615960896892662364775498253840618505010435806699773373843182961217195867450676329645627039799214462612777252129567088956202468260780877932087859848405710755826747999709533508725252027715007071397652943154490918792225456996466163989307596499627410688845262441816941878119365476274751356594915610504445203035401054267536251083379456550354319743535056659235983153267466858596710727856686857471461245480578723312950259E+000000000000000506");
+ return val;
+ }
+
+ static const mp_float& A006882_455(void)
+ {
+ static const mp_float val("+2.3728915226645462851960599077817095636499992380438174889167608212544194558087450600835681643879484970222965316246681656306253474757025666937312213786182470325889650877823410479498132912287481924286163334038769910996577068892223017923140325806438175773082531144781877704557664484471314674467586855895786848670048470607084647489216625448756382078012368531948735298225213081185738073407611632149154710955636585544292770322117109025E+000000000000000507");
+ return val;
+ }
+
+ static const mp_float& A006882_456(void)
+ {
+ static const mp_float val("+6.35416289946568878168983054038337627203751322038284758727855096658472491430315041315557508406318405930148441794951426426971082592564028325526916080337032064090873004104656997087867547279978714924638043224557329742078447858969254808390388570779124264003830099274113439673468525496422430657181286618607281518390027012584142880745996530494021032186961569803051985836611608317889964887520100091902649207006986327939143897830705318494E+000000000000000508");
+ return val;
+ }
+
+ static const mp_float& A006882_457(void)
+ {
+ static const mp_float val("+1.084411425857697652334599377856241270588049651786024592434959695313269691304596492458190651125292463139189514952473351693195783796396072979035168170028538893893157045116529858913064674091537923939877664365571784932543572048374591919087512889354224632829871673316531811098285266940339080623168719314437458984221215106743768390257199783008166660965165241910057203128892237810188229954727851589216370290672591959374179603720751882460E+000000000000000510");
+ return val;
+ }
+
+ static const mp_float& A006882_458(void)
+ {
+ static const mp_float val("+2.910206607955285462013942387495586332593181054935344194973576342695804010750842889225253388500938299160079863420877533035527558273943249730913275647943606853536198358799329046662433366542302514354842237968472570218719291194079187022427979654168389129137541854675439553704485846773614732409890292713221349354226323717635374393816664109662616327416283989697978095131681166095936039184842058420914133368091997381961279052064630358706E+000000000000000511");
+ return val;
+ }
+
+ static const mp_float& A006882_459(void)
+ {
+ static const mp_float val("+4.9774484446868322242158111443601474319991479016978528792764650014879078830880979003830950886650924058088798736318526842717686476254579749737714219004309935229695908370848720524109668540801590708840384794379744928403749957020393769086116841621358910646891109805228810129411293752561563800603444216532679367375753773399538969112805470040074849738301084603671625623616153715487639754922008387945031396341871970935274843810782511E+000000000000000512");
+ return val;
+ }
+
+ static const mp_float& A006882_460(void)
+ {
+ static const mp_float val("+1.338695039659431312526413498247969712992863285270258329687845117640069844945387729043616558710431617613636737173603665196342676806013894876220106798054059152626651245047691361464719348609459156603227429465497382300610873949276426030316870640917458999403269253150702194704063489515862776908549534648081820702944108910112272221155665490444803510611490635261069923760573336404130578025027346873620501349322318795702188363949729965E+000000000000000514");
+ return val;
+ }
+
+ static const mp_float& A006882_461(void)
+ {
+ static const mp_float val("+2.2946037330006296553634889375500279661516071826827101773464503656859255341036131320766068358746075990778936217442840874492853465553361264629086254960986880140889813758961260161614557197309533316775417390209062411994128730186401527548699863987446457808216801620210481469658606419930880912078187783821565188360222489537187464761003321688474505729356800002292619412487046862839801927019045866842659473713602978601161702996770737757E+000000000000000515");
+ return val;
+ }
+
+ static const mp_float& A006882_462(void)
+ {
+ static const mp_float val("+6.18477108322657266387203036190562007402702837794859348315784444349712268364769130818150850124219407337500172574204893320710316684378419432813689340700975328513512875212033408996700339057570130350691072413059790622882223764565708826006394236103866057724310394955624413953277332156328602931749885007413801164760178316471869766173917456585499221902508673490614304777384881418708327047562634255612671623386911283614411024144775243832E+000000000000000516");
+ return val;
+ }
+
+ static const mp_float& A006882_463(void)
+ {
+ static const mp_float val("+1.062401528379291530433295378085662948328194125582094812111406519312583522289972880151468965009943318373064746867603532489019115455120626552326693604693692550523198377039906345482753998235431392566701825166679589675328160207630390725504803702618770996520437915015745292045193477242799786229220094390938468221078301265571779618434453794176369615269219840106148278798150269749482829220981823634815133632939817909233786848750485158180E+000000000000000518");
+ return val;
+ }
+
+ static const mp_float& A006882_464(void)
+ {
+ static const mp_float val("+2.869733782617129716036622087924207714348541167368147376185239821782664925212528766996219944576378050046000800744310705008095869415515866168255518540852525524302699740983835017744689573227125404827206575996597428490173518267584888952669669255521938507840800232594097280743206821205364717603319466434400037404487227388429475715046976998556716389627640244996450374167065849782806637500690622946042796332515268355970867152031757131382E+000000000000000519");
+ return val;
+ }
+
+ static const mp_float& A006882_465(void)
+ {
+ static const mp_float val("+4.9401671069637056165148235080983327097261026839567408763180403148035133786483738927043306872962364304347510729343564260739388868663109134683191252618256703599328724532355645064948060917947559754351634870250600919902759449654813168735973372171772851338200363048232156080101496691790190059658734389178638772280141008849087752257202101429201187110018722564935894964113987543350951558775654799018903713931701532779371088466897559E+000000000000000520");
+ return val;
+ }
+
+ static const mp_float& A006882_466(void)
+ {
+ static const mp_float val("+1.337295942699582447673065892972680794886420183993556677302321756950721855149038405420238494172592171321436373146848788533772675147630393634407071640037276894325058079298467118269025341123840438649478264414414401676420859512694558251944065873073223344653812908388849332826334378681699958403146871358430417430491047963008135683211891281327429837566480354168345874361852685998787893075321830292855943090952115053882424092846798823E+000000000000000522");
+ return val;
+ }
+
+ static const mp_float& A006882_467(void)
+ {
+ static const mp_float val("+2.3070580389520505229124225782819213754420899534077979892405248270132407478287906078929224309673424130130287510603444509765294601665671965897050314972725880580886514356610086245330744448681510405282213484407030629594588662988797749799699564804217921574939569543524416889407398955066018757860628959746424306654825851132523980304113381367436954380378743437825062948241232182744894377948230791141828034406104615807966298314041160452E+000000000000000523");
+ return val;
+ }
+
+ static const mp_float& A006882_468(void)
+ {
+ static const mp_float val("+6.25854501183404585510994837911214612006844646108984524977486582252937828209749973736671615272773136178432222632725233033805611969091024220902509527537445586544127181111682611349903859645957325287955827745945939984564962251941053261909822828598268525297984441125981487762724489223035580532672735795745435357469810446687807499743165119661237163981112805750785869201347057047432733959250616577056581366565589845216974475452301849268E+000000000000000524");
+ return val;
+ }
+
+ static const mp_float& A006882_469(void)
+ {
+ static const mp_float val("+1.082010220268511695245926189214221125082340188148257256953806143869209910731702795101780620123683591703110484247301547507992316818120015200571659772220843799243577523325013044906011914643162838007735812418689736527986208294174614465605909589317820521864665811591295152113207010992596279743663498212107299982111332418115374676262917586132793160439763067233995452272513789370735546325772024104551734813646306481393619390928530425221E+000000000000000526");
+ return val;
+ }
+
+ static const mp_float& A006882_470(void)
+ {
+ static const mp_float val("+2.941516155562001551901675738182708676432169836712227267394186936588807792585824876562356591782033740038631446373808595258886376254727813838241794779425994256757397751224908273344548140335999428853392390405945917927455322584122950330976167294411862068900526873292112992484805099348267228503561858240003546180108109099432695248792876062407814670711230187028693585246331168122933849608477897912165932422858272272519780034625818691563E+000000000000000527");
+ return val;
+ }
+
+ static const mp_float& A006882_471(void)
+ {
+ static const mp_float val("+5.0962681374646900846083123511989814991378222861782916802524269376239786795463201649293867207825497169216503808047902887626438122133452715946925175271601742944372501348608114415073161179692969670164356764920286590468150410655624341330038341656869346579825759725950001664532050217751284775926550765790253829157443756893234147251983418306854557856712840466721185802035399479361644231943862335324386709722741035273639473312733783E+000000000000000528");
+ return val;
+ }
+
+ static const mp_float& A006882_472(void)
+ {
+ static const mp_float val("+1.388395625425264732497590948422238495275984162928171270210056234069917278100509341737432311321119925298234042688437656962194369592231528131650127135889069289189491738578156705018626722238591730418801208271606473261758912259706032556220750962962398896521048684193877332452828006892382131853681197089281673797011027494932232157430237501456488524575700648277543372236268311354024777015201567814542320103589104512629336176343386422E+000000000000000530");
+ return val;
+ }
+
+ static const mp_float& A006882_473(void)
+ {
+ static const mp_float val("+2.4105348290207984100197317421171182490921899413623319647593979414961419154254094380115999189301460161039406301206658065847305231769123134642895607903467624412688193137891638118329605237994774653987740749807295557291435144240110313449108135603699200932257584350374350787323659752996357699013258512218790061191470897010499751650188156859142205866225173540759120884362743953738057721709446884608434913698856509684431470876923079372E+000000000000000531");
+ return val;
+ }
+
+ static const mp_float& A006882_474(void)
+ {
+ static const mp_float val("+6.58099526451575483203858109552141046760816493227953182079566654949140789819641427983542915566210844591362936234319449400080131186717744334402160262411418843075819084086046278178829066341092480218511772720741468326073724411100659431648635956444177076950977076307897855582640475266989130498644887420319513379783227032597878042621932575690375560648882107283555558439991179581807744305205543144093059729101235538986305347586765164226E+000000000000000532");
+ return val;
+ }
+
+ static const mp_float& A006882_475(void)
+ {
+ static const mp_float val("+1.145004043784879244759372577505631168318790222147107683260714022210667409827069483055509961491819357649371799307316258127746998509033348895537541375414712159602689174049852810620656248804751796064417685615846538971343169351405239888832636441175712044282235256642781662397873838267326990703129779330392527906594867607998738203383937450809254778645695743186058242007230337802557741781198727018900658400695684210010494866653846270179E+000000000000000534");
+ return val;
+ }
+
+ static const mp_float& A006882_476(void)
+ {
+ static const mp_float val("+3.132553745909499300050364601468191382581486507765057146698737277557910159541493197201664278095163620254887576475360579144381424448776463031754282849078353693040898840249580284131226355783600205840116038150729389232110928196839138894647507152674282886286650883225593792573368662270868261173549664120720883687768160675165899482880399060286187668688678830669724458174358014809404862892778385365882964310521881165574813454513002181716E+000000000000000535");
+ return val;
+ }
+
+ static const mp_float& A006882_477(void)
+ {
+ static const mp_float val("+5.4616692888538739975022071947018606728806293596417036491536058859448835448751214341747825163159783359875034826958985512693531828880890742317140723607281770013048273602177979066605303067986660672272723603875879908933069178062029942697316758244081464512262621741860685296378582085351497456539290474059723581144575184901539812301413816403601452941399686949974978143744887113182004282963179278801561405713184136817500605139388467E+000000000000000536");
+ return val;
+ }
+
+ static const mp_float& A006882_478(void)
+ {
+ static const mp_float val("+1.497360690544740665424074279501795480873950550711697316121996418672681056260833748262395524929488210481836261555222356831014320886515149329178547201859453065273549645639299375814726198064560898391575466236048648052949023678089108391641508418978307219645019122181833832850070220565475028840956739449704582402753180802729299952816830750816797705633188481060128291007343131078895524462748068204892056940429459197144760831257215042E+000000000000000538");
+ return val;
+ }
+
+ static const mp_float& A006882_479(void)
+ {
+ static const mp_float val("+2.6161395893610056448035572462621912623098214632683760479445772193675992179951831669697208253153536229380141682113354060580201746033946665569910406607887967836250123055443251972903940169565610462018634606256546476378940136291712342552014727198915021501373795814351268256965340818883367281682320137074607595368251513567837570092377218057325095958930450049038014530853800927214180051539362874545947913336615201535582789861767075734E+000000000000000539");
+ return val;
+ }
+
+ static const mp_float& A006882_480(void)
+ {
+ static const mp_float val("+7.18733131461475519403555654160861830819496264341614711738558280962886907005200199165949851966154341031281405546506731278886874025527271678005702656892537471331303829906863700391068575070989231227956223793303351065415531365482772027987924041109587465429609178647280239768033705871428013843659234935858199553321526785310063977352078760392062898703930470908861579683524702917869851742119072738348187331406140414629485199003463220572E+000000000000000540");
+ return val;
+ }
+
+ static const mp_float& A006882_481(void)
+ {
+ static const mp_float val("+1.258363142482643715150511035452113997171024123832088879061341642515815223855683103312435716976685092633184814909652330313907703984232834613912690557839411252923630918966820419896679522156105863223096324560939885513827020555631363676751908378267812534216079578670296003160032893388289966248919598593288625337212897802612987121443344188557337115624554647358728498934067824599002060479043354265660094631491191193861532192350996342850E+000000000000000542");
+ return val;
+ }
+
+ static const mp_float& A006882_482(void)
+ {
+ static const mp_float val("+3.464293693644312003525138253055354024549971994126582910579850914241114891765064959979878286476863923770776374734162444764234732803041449487987486806222030611816884460151083035884950531842168094518748998683722152135302861181626961174901793878148211583370716241079890755681922462300283026726437512390836521847009759105194508370837019625089743171752944869780712814074589068064132685397013930598838262937377596798514118659196692723162E+000000000000000543");
+ return val;
+ }
+
+ static const mp_float& A006882_483(void)
+ {
+ static const mp_float val("+6.0778939781911691441769683012337106063360465181089892858662801333513875312229493889990645129973889974182826560136207554161742102438445911851982953943643563516211373386097426281009620920139913193675552476293396470317845092836994865587117174670335345402636643649775296952629588750654405369822816612055840603787382963866207277965713524307319382684665989467426586498515475928131799521137794011031382570701024534663512004890553123E+000000000000000544");
+ return val;
+ }
+
+ static const mp_float& A006882_484(void)
+ {
+ static const mp_float val("+1.676718147723847009706166914478791347882186445157266128720647842492699607614291440630261090654802139105055765371334623265889610676672061552185943614211462816119372078713124189368316057411609357747074515362921521633486584811907449208652468237023734406351426660682667125750050471753336984935595755997164876573952723406914142051485117498543435695128425316973865002012101108943040219732154742409837719261690756850480833431051199278E+000000000000000546");
+ return val;
+ }
+
+ static const mp_float& A006882_485(void)
+ {
+ static const mp_float val("+2.9477785794227170349258296260983496440729825612828598036451458646754229526431304536645462888037336637478670881666060663768444919682646267248211732662667128305362516092257251746289666146267857898932642951002297288104154870025942509809751829715112642520278772170141019022025350544067386604364066056847082692836880737475110529813371059289049900602063004891701894451780005825143922767751830095350220546789996899311803322371918264829E+000000000000000547");
+ return val;
+ }
+
+ static const mp_float& A006882_486(void)
+ {
+ static const mp_float val("+8.14885019793789646717197120436692595070742612346431338558234851451452009300545640146306890058233839605057101970468626907222350788862621914362368596506770928634014830254578356033001603902042147865078214466379859513874480218587020315405099563193534921486793357091776223114524529272121774678699537414622130014941023575760273037021767104292109747832414704049298390977881138946317546789827204811181131561181707829333685047490882849112E+000000000000000548");
+ return val;
+ }
+
+ static const mp_float& A006882_487(void)
+ {
+ static const mp_float val("+1.435568168178863196008879027909896276663542507344752724375186036096930977937204530934634042647418294245211271937137154325523267588544873214987911380671889148471154533692928160044306741323244679678019711713811877930672342170263400227734914107125985690737576204685867626372634571496081727632530016968452927141156091915037882801911170587376730159320468338225882259801686283684509038789514125643555740628672848996484821799512419497194E+000000000000000550");
+ return val;
+ }
+
+ static const mp_float& A006882_488(void)
+ {
+ static const mp_float val("+3.976638896593693475979921947731059863945223948250584932164186075083085805386662723913977623484181137272678657615886899307245071849649594942088358750953042131733992371642342377441047827041965681581581686595933714427707463466704659139176885868384450416855551582607867968798879702847954260432053742583355994472912195049710132420666223468945495569422183755760576147972059958058029628334356759478563922018566734207148383031755508303671E+000000000000000551");
+ return val;
+ }
+
+ static const mp_float& A006882_489(void)
+ {
+ static const mp_float val("+7.0199283423946410284834184464793927928847228609158408221946597165139924821129301562703604685458754588590831197726006846518087785079844300212908866514855379360239456697584187026166599650706664836255163902805400830809877532125880271136237299838460700277067476409138926929621830546158396481230717829757348137202532894645352469013456241722722104790770901739245642504302459272172491996807240743969875716742102315928107785996157313E+000000000000000552");
+ return val;
+ }
+
+ static const mp_float& A006882_490(void)
+ {
+ static const mp_float val("+1.948553059330909803230161754388219333333159734642786616760451176790712044639464734717849035507248757263612542231784580660550085206328301521623295787966990644549656262104747764946113435250563183974975026432007520069576657098685282978196674075508380704259220275477855304711451054395497587611706333865844437291726975574357964886126449499783292829016870040322682312506309379448434517883834812144496321789097699761502707685560199068E+000000000000000554");
+ return val;
+ }
+
+ static const mp_float& A006882_491(void)
+ {
+ static const mp_float val("+3.4467848161157687449853584572213818613063989247096778436975779208083703087174487067287469900560248502998098118083469361640381102474203551404538253458793991265877573238513835829847800428496972434601285476277451807927649868273807213127892514220684203836040130916887213122444318798163772672284282454410857935366443651270868062285607014685856553452268512753969610469612507502636693570432355205289208976920372237120700922924113240885E+000000000000000555");
+ return val;
+ }
+
+ static const mp_float& A006882_492(void)
+ {
+ static const mp_float val("+9.58688105190807623189239583159003911999914589444251015446141978981030325962616649481181725469566388573697370778038013684990641921513524348638661527679759397118430880955535900353487810143277086515687713004547699874231715292553159225272763645150123306495536375535104809918033918762584813104959516261995463147529671982584118723974213153893380071876300059838759697753104214688629782798846727575092190320236068282659332181295617941849E+000000000000000556");
+ return val;
+ }
+
+ static const mp_float& A006882_493(void)
+ {
+ static const mp_float val("+1.699264914345073991277781719410141257624054669881871176942905914958526562197702212417272266097620251197806237221515039528870788351978235084243735895518543769407764360658732106411496561124900741025843373980478374130833138505898695607205100951079731249116778454202539606936504916749473992743615125002455296213565672007653795470680425824012728085196837678770701796151896619879988993022315111620758002562174351290050555500158782775663E+000000000000000558");
+ return val;
+ }
+
+ static const mp_float& A006882_494(void)
+ {
+ static const mp_float val("+4.735919239642589658554843540805479325279578071854600016303941376166289810255326248437037723819657959554065011643507787603853771092276810282274987946738011421765048551920347347746229782107788807387497302242465637378704673545212606572847452407041609134087949695143417760995087558687168976738500010334257587948796579593965546496432612980233297555068922295603472906900334820561831127026302834220955420181966177316337100975600352632734E+000000000000000559");
+ return val;
+ }
+
+ static const mp_float& A006882_495(void)
+ {
+ static const mp_float val("+8.4113613260081162568250195110801992252390706159152623258673842790447064828786259514654977171832202434291408742464994456679104023422922636670064926828167916585684335852607239267369079775682586680779247012033679519476240356041985432556652497078446696831280533483025710543356993379098962640808948687621537162571500764378862875798681078288630040217243465099149738909518882684059455154604598025227521126827630388857502497257859747E+000000000000000560");
+ return val;
+ }
+
+ static const mp_float& A006882_496(void)
+ {
+ static const mp_float val("+2.349015942862724470643202396239517745338670723639881608086754922578479745886641819224770711014550347938816245775179862651511470461769297900008394021582053665195464081752492284482129971925463248464198661912262956139837518078425452860132336393892638130507623048791135209453563429108835812462296005125791763622603103478606911062230576038195715587314185458619322561822566070998668239005046205773593888410255223948903202083897774905E+000000000000000562");
+ return val;
+ }
+
+ static const mp_float& A006882_497(void)
+ {
+ static const mp_float val("+4.1804465790260337796420346970068590149438180961098853759560899866852191219906770978783523654400604609842830145005102244969514699641192550425022268633599454543085114918745797915882432648514245580347285764980738721179691456952866759980656291047988008325146425141063778140048425709412184432482047497747903969798035879896294849271944495909449129987970002154277420238030884693977549211838485218538078000033332303262178741137156294455E+000000000000000563");
+ return val;
+ }
+
+ static const mp_float& A006882_498(void)
+ {
+ static const mp_float val("+1.169809939545636786380314793327279837178658020372661040827203951444082913451547625973935814085246073273530490396039571600452712289961110354204180222747862725267341112712741157672100726018880697735170933632306952157639084003055875524345903524158533788992796278297985334307874587696200234606223410552644298284056345532346241708990826867021466362482464358392422635787637903357336783024513010475249756428307101526553794637781091903106E+000000000000000565");
+ return val;
+ }
+
+ static const mp_float& A006882_499(void)
+ {
+ static const mp_float val("+2.086042842933990856041375313806422648456965229958832802602088903355924341873347871841297830354590170031157224235754602023978783512095508266208611204816612781699947234445415316002533389160860854459329559672538862186866603701948051323034748923294601615424806614539082529188416442899668003180854170137620408092921990406825112978670030345881511586399703107498443269877741146229479705670740412405050092201663281932782719182744099093329E+000000000000000566");
+ return val;
+ }
+
+ static const mp_float& A006882_500(void)
+ {
+ static const mp_float val("+5.849049697728183931901573966636399185893290101863305204136019757220414567257738129869679070426230366367652451980197858002263561449805551771020901113739313626336705563563705788360503630094403488675854668161534760788195420015279377621729517620792668944963981391489926671539372938481001173031117052763221491420281727661731208544954134335107331812412321791962113178938189516786683915122565052376248782141535507632768973188905459515532E+000000000000000567");
+ return val;
+ }
+
+ static const mp_float& A006882_501(void)
+ {
+ static const mp_float val("+1.04510746430992941887672903221701774687693958020937523410364654058131809527854728379249021300764967518560976934211305561401337053955984964137051421361312300363167356445715307331726922796959128808412410939594196995562016845467597371284040921057059540932782811388408034712339663789273366959360793923894782445455391719381938160231368520328663730478625125685672007820874831426096933254104094661493009619303330424832414231055479364E+000000000000000569");
+ return val;
+ }
+
+ static const mp_float& A006882_502(void)
+ {
+ static const mp_float val("+2.936222948259548333814590131251472391318431631135379212476281918124648112763384541194578893353967643916561530894059324717136307847802386989052492359097135440421026192908980305756972822307390551315279043417090449915674100847670247566108217845637919810371918658527943189112765215117462588861620760487137188692981427286189066689566975436223880569830985539564980815826971137426915325391527656292876888635050824831650024540830540676E+000000000000000570");
+ return val;
+ }
+
+ static const mp_float& A006882_503(void)
+ {
+ static const mp_float val("+5.2568905454789449769499470320515992667910060884531574275413420991240300192510928374762257714284778661836171397908286697384872538139860436960936864944740087082673180292194799587858642166870441790631442702615881088767694473270201477755872583291700949089189754128369241460306850886004503580558479343719075570064062034849114894596378365725317856430748438219893019933900040207326757426814359614730983838509575203690704358220906120381E+000000000000000571");
+ return val;
+ }
+
+ static const mp_float& A006882_504(void)
+ {
+ static const mp_float val("+1.479856365922812360242553426150742085224489542092231123088046086734822648832745808762067762250399692533947011570605899657436699155292403042482456148984956261972197201226126074101514302442924837862900637882213586757499746827225804773318541794201511584427447003898083367312833668419201144786256863285517143101262639352239289611541755619856835807194816711940750331176793453263165323997329938771609951872065615715151612368578592501105E+000000000000000573");
+ return val;
+ }
+
+ static const mp_float& A006882_505(void)
+ {
+ static const mp_float val("+2.654729725466867213359723251186057629729458074668844500908377760057635159721801882925494014571381322422726655594368478217936063176062952066527311679709374397674995604755837379186861429426957310426887856482101994982768570900145174626671565456230897929004082583482646693745495969743227430818203206857813316288235132759880302177117107469128551749752796130104597506661952030470001250054125160543914683844733547786380570090155759079271E+000000000000000574");
+ return val;
+ }
+
+ static const mp_float& A006882_506(void)
+ {
+ static const mp_float val("+7.488073211569430542827320336322754951235917082986689482825513198878202603093693792336062876987022444221771878547265852266629697725779559394961228113863878685579317838204197934953662370361199679586277227684000748992948718945762572152991821478659648617202881839724301838602938362201157792618459728224716744092388955122330805434401283436475589184405772562420196675754574873511616539426489490184346356472652015518667158585007678055595E+000000000000000575");
+ return val;
+ }
+
+ static const mp_float& A006882_507(void)
+ {
+ static const mp_float val("+1.34594797081170167717337968835133121827283524385710416196054752434922102597895355464322546538769033046832241438634481845649358403026391669772934702161265281962122277161120955124773874471946735638643214323642571145626366544637360353572248368630906525000506986982570187372896645665981630742482902587691135135813521230925931320379837348684817573712466763796303093587760967944829063377744145639576474470927990872769494903570896985E+000000000000000577");
+ return val;
+ }
+
+ static const mp_float& A006882_508(void)
+ {
+ static const mp_float val("+3.803941191477270715756278730851959515227845878157238257275360705030126922371596446506719941509407401664660114302011052951447886444696016172640303881842850372274293461807732550956460484143489437229828831663472380488417949224447386653719845311159101497539063974579945334010292687998188158650177541938156105998933589202144049160675851985729599305678132461709459911283324035743901202028656661013647949088107223883482916561183900452E+000000000000000578");
+ return val;
+ }
+
+ static const mp_float& A006882_509(void)
+ {
+ static const mp_float val("+6.8508751714315615368125026137082759010087313912326601843791868989375350222328735931340176188233437820837610892264951259435523427140433359914423763400084028518720239075010566158509902106220888440069396090734068713123820571220416419968274419633131421225258056374128225372804392643984650047923797417134787784129082306541299042073337210480572145019645582772318274636170332683917993259271770130544425505702347354239672905917586565527E+000000000000000579");
+ return val;
+ }
+
+ static const mp_float& A006882_510(void)
+ {
+ static const mp_float val("+1.940010007653408065035702152734499352766201397860191511210433959565364730409514187718427170169797774848976658294025637005238422086794968248046554979739853689859889665521943600987794846913179612987212704148370914049093154104468167193397121108691141763744922627035772120345249270879075960911590546388459614059456130493093465071944684512722095645895847555471824554754495258229389613034614897116960454034934684180576287446203789230643E+000000000000000581");
+ return val;
+ }
+
+ static const mp_float& A006882_511(void)
+ {
+ static const mp_float val("+3.500797212601527945311188835604928985415461740919889354217764505357080396360998406091483003218728672644801916594739009357155247126876144691627054309744293857306604216733039930699855997627887399287546140236510911240627231189363279060378822843253015624610686680717952316550304464107615617448906048015587655768996105864260381049947531455557236610503889279665463833908304000148209455548787453670820143341389949801647285492388673498450E+000000000000000582");
+ return val;
+ }
+
+ static const mp_float& A006882_512(void)
+ {
+ static const mp_float val("+9.932851239185449292982795022000636686162951157044180537397421872974667419696712641118347111269364607226760490465411261466820721084390237429998361496268050892082635087472351237057509616195479618494529045239659079931356949014877016030193260076498645830374003850423153256167676266900868919867343597508913223984415388124638541168356784705137129706986739484015741720343015722134474818737228273238837524658865583004550591724563400860895E+000000000000000583");
+ return val;
+ }
+
+ static const mp_float& A006882_513(void)
+ {
+ static const mp_float val("+1.79590897006458383594463987266532856951813187309190323871371319124818224333319218232493078065120780906678338321310111180022064177608746222680467886089882274879828796318404948444902612678310623583451116994133009746644176960014336215797433611858879701542528226720830953839030619008720681175128880263199646740949500230836557547862308363670086238118849520046838294679495995207603145069652796373313073353413304424824505745759538950E+000000000000000585");
+ return val;
+ }
+
+ static const mp_float& A006882_514(void)
+ {
+ static const mp_float val("+5.105485536941320936593156641308327256687756894720708796222274842708979053724110297534830415192453408114554892099221388393945850637376582039019157809081778158530474434960788535847559942724476523906187929253184767084717471793646786239519335679320303956812237979117500773670185601187046624811814609119581397127989509496064210160535387338440484669391184094784091244256310081177120056830935332444762487674656909664339004146425588042E+000000000000000586");
+ return val;
+ }
+
+ static const mp_float& A006882_515(void)
+ {
+ static const mp_float val("+9.2489311958326067551148953442264421330183791464233016793756229349281385531659397389733935203537202166939344235474707257711363051468504304680440961336289371563111830103978548449124845529329971145477325251978500019521751134407383151135678310107323046294402036761227941227100768789491150805191373335547818071588992618880827137149088807290094412631207502824121721759940437531915619710871190132256232777007851778784620459066162559492E+000000000000000587");
+ return val;
+ }
+
+ static const mp_float& A006882_516(void)
+ {
+ static const mp_float val("+2.634430537061721603282068826915096864450882557675885738850693818837833191721640913527972494239305958587110324323198236411276058928886316332133885429486197529801724808439766884497340930445829886335592971494643339815714215445521741699591977210529276841715114797224630399213815770212516058402896338305704000918042586899969132442836259866635290089405850992908591082036256001887393949324762631541497443640122965386798926139555603429930E+000000000000000589");
+ return val;
+ }
+
+ static const mp_float& A006882_517(void)
+ {
+ static const mp_float val("+4.781697428245457692394400892965070582770502018700846968237197057357847631986790845049244450022873352030764096974042365223677469760921672551978797701086160509812881616375690954819754513866359508221177715527288451009274533648861708913714568632548601493420585300555484561441109746416692496628394001447822194301150918396138762990607891336897881133033427896007093014988920620400037539052040529837647234571305936963164877733720604325752E+000000000000000590");
+ return val;
+ }
+
+ static const mp_float& A006882_518(void)
+ {
+ static const mp_float val("+1.3646350181979717905001116523420201757855571648761088127246593981579975933118099932074897520159604865481231479994166864610409985251631118600453526524738503204372934507717992461696226019709398811218371592342252500245399636007802622003886441950541654040084294649623585467927565689700833182527003032423546724755460600141840106053891826109170802663122308143266501804947806089776700657502270431384956758055836960703618437402898025E+000000000000000592");
+ return val;
+ }
+
+ static const mp_float& A006882_519(void)
+ {
+ static const mp_float val("+2.48170096525939254235269406344887163245789054770573957651510527276872292100114444858055786956187126970396656632952798755108860680591834805447699600686371730459288555889898360555145259269664058476679123435866270607381348296375922692621786112029272417508528377098829648738793595839026340575013648675141971884229732664759601799212549560385000030804434907802768127477924980198761948276800903498573891474250778128388257154380099364E+000000000000000593");
+ return val;
+ }
+
+ static const mp_float& A006882_520(void)
+ {
+ static const mp_float val("+7.096102094629453310600580592178504914084897257355765826168228870421587485221411964678946710482994530050240369596966769597413192330848181672235833792864021666273925944013356080082037530248887381833553228017971300127607810724057363442020949814281660100843833217804264443322334158644433254914041576860244296872839512073756855148023749576768817384823600234498580938572859166683884341901180624320177514189035219565881587449506973398E+000000000000000594");
+ return val;
+ }
+
+ static const mp_float& A006882_521(void)
+ {
+ static const mp_float val("+1.29296620290014351456575360705686212051056097535469031936436984711250464184159625771047065004173493151576658105768408151411716414588345933638251491957599671569289337618637045849230680079494974466349823310086326986445682462411855722855950564367250929521943284468490246992911463432132723439582110959748967351683690718339752537389738320960585016049110586965242194415998914683554975052213270722756997458084655404890281977432031768907E+000000000000000596");
+ return val;
+ }
+
+ static const mp_float& A006882_522(void)
+ {
+ static const mp_float val("+3.704165293396574628133503069117179565152316368339709761259815470360068667285577045562410182872123144686225472929616653729849686396702750832907105239875019309794989342774971873802823590789919213317114785025381018666611277197957943716734935803055026572640480939693826039414258430812394159065129703121047522967622225302501078387268397279073322674877919322408259249935032485008987626472416285895132662406676384613390188648642640114204E+000000000000000597");
+ return val;
+ }
+
+ static const mp_float& A006882_523(void)
+ {
+ static const mp_float val("+6.762213241167750581178891364907388890270233901105030370275654300398399276831548427825761499718273691827459218931687746318832768482970492329280553029382462823073832357454717497914764568157587164590095759117514901391109192784140054305366214516407223613997633777702039917729269537500541435890144403194870992493057024569169057705483314186238596339368483698282166767956743237949925195230754058800190967057827477675761747419695261513883E+000000000000000598");
+ return val;
+ }
+
+ static const mp_float& A006882_524(void)
+ {
+ static const mp_float val("+1.9409826137398051051419556082174020921398137770100079149001433064686759816576423718747029358249925278155821478151191265544412356718722414364433231456945101183325744156140852618726795615739176677781681473532996537813043092517299625075691063608008339240636120123995648446530714177456945393501279644354289020350340460585105650749286401742344210816360297249419278469659570221447095162715461338090495151010984255374164588518887434E+000000000000000600");
+ return val;
+ }
+
+ static const mp_float& A006882_525(void)
+ {
+ static const mp_float val("+3.55016195161306905511891796657637916739187279808014094439471850770915962033656292460852478735209368820941608993913606681738720345355950847287229034042579298211376198766372668640525139828273326140980027353669532323033232621167352851031726262111379239734875773329357095680786650718778425384232581167730727105885493789881375529537873994777526307816845394159813755317729019992371072749614588087010025770535942577977491739534001229E+000000000000000601");
+ return val;
+ }
+
+ static const mp_float& A006882_526(void)
+ {
+ static const mp_float val("+1.0209568548271374853046686499223535004655420467072641632374753792025235663519198876060937442439460696309962097507526605676360899634047989955691879746353123222429341426130088477450294493878806932513164455078356178889660666664099602789813499457812386440574599185221711082875155657342353276981673092930356024704279082267765572294124647316473054889405516353194540475040933936481172055588332663835600449431777718326810573560934790388E+000000000000000603");
+ return val;
+ }
+
+ static const mp_float& A006882_527(void)
+ {
+ static const mp_float val("+1.87093534850008739204766976838575182121551696458823427769601665356272711991736866126869256293455337368636227939792470721276305622002586096520369700940439290157395256749878396373556748689500042876296474415383843534238513591355194952493719740132696859340279532544571189423774564928796230177490570275394093184801655227267484904066459595247756364219477522722221849052443193535979555339046887921854283581072441738594138146734418647935E+000000000000000604");
+ return val;
+ }
+
+ static const mp_float& A006882_528(void)
+ {
+ static const mp_float val("+5.390652193487285922408650471590026482458062006614354781893870002189324430338137006560174969608035247651659987483974047797118555006777338696605312506074449061442692272996686716093755492768010060366950832281372062453740831998644590273021527713724940040623388369797063451758082187076762530246323393067227981043859355437380222171297813783097772981606112634486717370821613118462058845350639646505197037299978635276555982840173569325062E+000000000000000605");
+ return val;
+ }
+
+ static const mp_float& A006882_529(void)
+ {
+ static const mp_float val("+9.897247993565462303932173074760627134230084742671759329011928097346826464362880218111383657923787346800856458015021701155516567403936804505927557179749238449326209082068567168161152005674552268156083496573805322961217368982689812986917774253019663859100787271607815920517674484733320576389251167568347529476007561522449951425115712588606311667210360952005535814874244938053318477435580371066091601438732167971629907962250746475781E+000000000000000606");
+ return val;
+ }
+
+ static const mp_float& A006882_530(void)
+ {
+ static const mp_float val("+2.8570456625482615388765847499427140357027728635056080344037511011603419480792126134768927338922586812553797933665062453324728341535919895092008156282194580025646269046882439595296904111670453319944839411091271931004826409592816328447014096882742182215303958359924436294317835591506841410305513983256308299532454583818115177507878413050418196802512396962779602065354549527848911880358390126477544297689886766965746709052919917E+000000000000000608");
+ return val;
+ }
+
+ static const mp_float& A006882_531(void)
+ {
+ static const mp_float val("+5.25543868458326048338798390269789300827617499835870420370533381969116485257668939581714472235753108115125477920597652331357929729149044319264753286244684561659221702257840916629357171501318725439088033668069062649240642292980829069605333812835344150918251804122375025379488515139339322606269236997879253815176001516842092420673644338454995149528870166551493951769822406210631211151829317703609464036396678119293548112795514637E+000000000000000609");
+ return val;
+ }
+
+ static const mp_float& A006882_532(void)
+ {
+ static const mp_float val("+1.5199482924756751386823430869695238669938751633849834743027955858173019163781411103697069344306816184278620500709813225168755477697109384188948339142127516573643815132941457864697952987408681166210654566700556667294567649903378286733811499541618840938541705847479800108577088534681639630282533439092356015351265838591237274434191315742822480698936595184198748298768620348815621120350663547286053566371019760025777249216153396068E+000000000000000611");
+ return val;
+ }
+
+ static const mp_float& A006882_533(void)
+ {
+ static const mp_float val("+2.80114881888287783764579542013797697341120127412518934057494292589539086642337544797053813701656406625361879731678548692613776545636440622168113501568416871364365167303429208563447372410202880659033921945080810392045262342158781894099642922241238432439428211597225888527267378569267858949141503319869642283488808808476835260219052432396512414698887798771946276293315342510266435543925026336023844331399429437583461144120009301981E+000000000000000612");
+ return val;
+ }
+
+ static const mp_float& A006882_534(void)
+ {
+ static const mp_float val("+8.116523881820105240563712084417257449747293372475811752776928428264392233459273529374235029859839842404783347379040262240115425090256411156898413101896093850325797280990738499748706895276235742756489538618097260335299125048404005115855340755224461061181270922554213257980165277519995562570872856475318112197575957807720704547858162606667204693232141828362131591542443266267541678267254334250752604442124551853765051081425913500817E+000000000000000613");
+ return val;
+ }
+
+ static const mp_float& A006882_535(void)
+ {
+ static const mp_float val("+1.498614618102339643140500549773817680774992681656976297207594465354034113536505864664237903303861775445686056564480235505483704519154957328599407233391030261799353645073346265814443442394585411525831482406182335597442153530549483133433089633990625613550940932045158503620880475345583045377907042761302586216665127125351068642171930513321341418639049723429912578169237082429925430159998890897727567172986947491071517121042049765601E+000000000000000615");
+ return val;
+ }
+
+ static const mp_float& A006882_536(void)
+ {
+ static const mp_float val("+4.3504568006555764089421496772476499930645492476470350994884336375497142371341706117445899760048741555289638741951655805607018678483774363800975494226163063037746273426110358358653068958680623581174783926993001315397203310259445467420984626448003111287931612144890583062773685887507176215379878510707705081379007133849382976376519751571736217155724280200021025330667495907194023395512483231584033959809787597936180673796442896E+000000000000000616");
+ return val;
+ }
+
+ static const mp_float& A006882_537(void)
+ {
+ static const mp_float val("+8.04756049920956388366448795228540094576171070049796271600478227895116318969103649324695754074173773414333412375125886466444749326786212085457881684330983250586252907404386944742356128565892365989371506052119914215826436445905072442653569133452965954476855280508250116444412815260578095367936081962819488798349173266313523860846326685653560341809169701481863054476880313264869955995919404412079703571893990802705404693999580724E+000000000000000617");
+ return val;
+ }
+
+ static const mp_float& A006882_538(void)
+ {
+ static const mp_float val("+2.3405457587527001080108765263592356962687274952341048835247772970017462595781837891185894070906222956745825643169990823416576049024270607724924815893675727914307495103247372796955351099770175486672033752722234707683695380919581661472489729029025673872907207333951133687772243007478860803874374638760745333781905838010968041290567626345594084829779662747611311627899112798070384586785715978592210270377665727689665202502486278244E+000000000000000619");
+ return val;
+ }
+
+ static const mp_float& A006882_539(void)
+ {
+ static const mp_float val("+4.33763510907395493329515900628183110976556206756840190392657764835467695924346866986011011445979663870325709270192852805413719887137768314061798227854399972065990317090964563216129953297015985268271241762092633762330449244342834046590273762931148649463024996193946812763538507425451593403317548177959704462310204390542989360996170083567269024235142469098724186363038488849764906281800558978110960225250861042658213130065774010304E+000000000000000620");
+ return val;
+ }
+
+ static const mp_float& A006882_540(void)
+ {
+ static const mp_float val("+1.263894709726458058325873324233987275985112847426416637103379740380942980172219246124038279828936039664274584731179504464495106647310612817145940058258489307372604735575358131035588959387589476280289822647000674214919550569657409719514445367567386389136989196033361219139701122403858483409216230493080248024222915252592274229690651822662080580808101788371010827906552091095800767686428662843979354600393949295241920935134259025178E+000000000000000622");
+ return val;
+ }
+
+ static const mp_float& A006882_541(void)
+ {
+ static const mp_float val("+2.346660594009009618912681022398470630383169078554505430024278507759880234950716550394319571922749981538462087151743333677288224589415326579074328412692303848877007615462118286999263047336856480301347417932921148654207730411894732192053381057457514193594965229409252257050743325171693120311947935642762001141098205752837572442989280152098925421112120757824097848224038224677228142984541024071580294818607158240780933033655837395749E+000000000000000623");
+ return val;
+ }
+
+ static const mp_float& A006882_542(void)
+ {
+ static const mp_float val("+6.8503093267174026761262334173482110358393116330511781731003181928647109525334283139922874766728333349803682492429929141975634780284235214689309951157610120459595176668184410702128921598807349614391708387467436542448639640875431606797682938922152342291224814425008178077371800834289129800779519692724949442912882006690501263249233328788284767479799116929708786872535123337392401608604433526143681019341352051802112114684276839E+000000000000000624");
+ return val;
+ }
+
+ static const mp_float& A006882_543(void)
+ {
+ static const mp_float val("+1.274236702546892223069585795162369552298060809655096448503183229713614967578239086864115527554053239975384913323396630186767505952052522332437360328091920989940215135195930229840599834703913068803631647937576183719234797613658839580284985914199430207122066119569223975578553625568229364329387729054019766619616325723790801836543179122589716503663881571498485131585652755999734881640605776070868100086503686924744046637275119705E+000000000000000626");
+ return val;
+ }
+
+ static const mp_float& A006882_544(void)
+ {
+ static const mp_float val("+3.7265682737342670558126709790374268034965855283798409261665730969184027581781850028118043873100213342293203275881881453234745320474623956790984613429739905530019776107492319421958133349751198190229089362782285479092059964636234794097939518773650874206426299047204448874090259653853286611624058712842372496944607811639632687207582930860826913509010719609761580058659107095541466475080811838222162474521695516180348990388246600505E+000000000000000627");
+ return val;
+ }
+
+ static const mp_float& A006882_545(void)
+ {
+ static const mp_float val("+6.94459002888056261572924258363491406002443141262027564434234860193920157330140302340942962516959015786584777761251163451788290743868624671178361378810096939517417248681781975263126909913632622497979248125979020126982964699444067571255317323238689462881526035165227066690311725934685003559516312334440772807690897519465987000916032621811395494496815456466674396714180752019855510494130147958623114547144509373985505417314940239711E+000000000000000628");
+ return val;
+ }
+
+ static const mp_float& A006882_546(void)
+ {
+ static const mp_float val("+2.034706277458909812473718354554435034709135698495393145686948910917447905965289011535245195471271648489208898863150727346617094497914468040787759893263798841939079775469080640438914080896415421186508279207912787158426474069138419757747497725041337731670875927977362908525328177100389448994673605721193538333175586515523944721534028025001149477591985290692982271202787247416564069539412326366930071108884575183447054875198264387604E+000000000000000630");
+ return val;
+ }
+
+ static const mp_float& A006882_547(void)
+ {
+ static const mp_float val("+3.798690745797667750803895693248297990833363982703290777455264685260743260595867453804958004967765816352618734354043864081281950368961376951345636742091230259160272350289347404689304197227570445063946487249105240094596816905959049614766585758115631361961947412353792054796005140862726969470554228469391027258069209431478948895010698441308333354897580546872708950026568713548609642402891909333668436572880466275700714632712723111219E+000000000000000631");
+ return val;
+ }
+
+ static const mp_float& A006882_548(void)
+ {
+ static const mp_float val("+1.11501904004748257723559765829583039902060636277547544383644800318276145246897837832131436711825686337208647657700659858594616778485712848635169242150856176538261571695705619096052491633123565081020653700593620736281770778988785402724562875332265307695564000853159487387187984105101341804908113593521405900658022141050712170740064735770062991372040793929975428461912741158427711010759795484907767896766874720052898607160864888E+000000000000000633");
+ return val;
+ }
+
+ static const mp_float& A006882_549(void)
+ {
+ static const mp_float val("+2.085481219442919595191338735593315596967516826504106636822940312208148050067131232138921944727303433177587685160370081380623790752559795946288754571408085412278989520308851725174428004277936174340106621499758776811933652481371518238506855581205481617717109129382231838083006822333637106239334271429695673964679995977881942943360873444278275011838771720233117213564586223738186693679187658224183971678511375985359692333359284988E+000000000000000634");
+ return val;
+ }
+
+ static const mp_float& A006882_550(void)
+ {
+ static const mp_float val("+6.1326047202611541747957871206270671946133349952651149411004640175051879885793810807672290191504127485464756211735362922227039228167142066749343083182970897096043864432638090502828870398217960794561359535326491404954973928443831971498509581432745919232560200469237718062953391257805737992699462476436773245361912177577891693907035604673534645254622436661486485654052007637135241055917887516699272343221781096029094233938475688642E+000000000000000635");
+ return val;
+ }
+
+ static const mp_float& A006882_551(void)
+ {
+ static const mp_float val("+1.149100151913048696950427643311916893929101771403762756889440112026689575586989308908545991544744191680850814523363914840723708704660447566405103768845855062165723225690177300571109830357142832061398748446367086023375442517235706549417277425244220371362127130289609742783736759105834045537873183557762316354538677783812950561791841267797329531523163217848447584674087009279740868217232399681525368394859768167933190475680966028420E+000000000000000637");
+ return val;
+ }
+
+ static const mp_float& A006882_552(void)
+ {
+ static const mp_float val("+3.385197805584157104487274490586141091426560917386343447487456137662863769695818356583510418571027837197654542887792033306932565394826242084563738191699993519701621316681622595756153645981631435859787046350022325553514560850099524826717728895087574741637323065901922037075027197430876737197010328699309883143977552202299621503668365377979112418055158503714054008103670821569865306286667390921799833345842316500806001713403858013060E+000000000000000638");
+ return val;
+ }
+
+ static const mp_float& A006882_553(void)
+ {
+ static const mp_float val("+6.354523840079159294135864867514900423427932795862808045598603819507593352996050878264259333242435379995105004314202449069202109136772275042220223841717578493776449438066680472158237361874999861299535078908409985709266197120313457218277544161600538653632563030501541877594064277855262271824438705074425609440598888144485616606708882210919232309323092594701915143247701161316967001241295170238835287223574517968670543330515742137167E+000000000000000639");
+ return val;
+ }
+
+ static const mp_float& A006882_554(void)
+ {
+ static const mp_float val("+1.87539958429362303588595006778472216465031474823203426990805070026522652841148336954726477188834942180750061675983678645204064122873373811484831095820179640991469820944161891804890911987382381546632202367791236835664706671095513675400162180787851640686707697850966480853956506737670571240714372209941767526176356392007399031303227441940042827960255781105758592048943363514970537968281373457067710767359664334144652494922573733E+000000000000000641");
+ return val;
+ }
+
+ static const mp_float& A006882_555(void)
+ {
+ static const mp_float val("+3.526760731243933408245405001470769735002502701703858465307225119826714310912808237436663929949551635897283277394382359233407170570908612648432224232153256064045929438127007662047821735840624923021241968794167542068642739401773968756144037009688298952766072481928355742064705674209670560862563481316306213239532382920189517216723429627060173931674316390059562904502474144530916685688918819482553584409083857472612151548436236886E+000000000000000642");
+ return val;
+ }
+
+ static const mp_float& A006882_556(void)
+ {
+ static const mp_float val("+1.04272216886725440795258823768830552354557500001701105406887618934746594979678475346827921316992227852497034291846925326733459652317595839185566089276019880391257220444954011843519347064984604139927504516491927680629576909129105603522490172518045512221809480005137363354799817746144837609837190948727622744554054153956113861404594457718663812345902214294801777179212510114323619110364443642129647186651973369784426787176950996061E+000000000000000644");
+ return val;
+ }
+
+ static const mp_float& A006882_557(void)
+ {
+ static const mp_float val("+1.964405727302870908392690585819218742396394004849049165176124391743479871178434188252221808981900261194786785508670974093007794007996097245176748897309363627673582697036743267760636706863228082122831776618351320932234005846788100597172228614396382516690702372434094148330041060534786502400447859093182560774419537286545561089714950302272516879942594229263176537807878098503720593928727782451782346515859708612244968412478983945573E+000000000000000645");
+ return val;
+ }
+
+ static const mp_float& A006882_558(void)
+ {
+ static const mp_float val("+5.818389702279279596375442366300744821384308500094921681704329136558859999866058924352998009488166314169334513485058433231727048599321847826554587781601909325832152900828433860868379566226140911007954752020249564579130391529404092676554951626506939581976968984286664875197829830234881938628915254939001349146116221790751153466376370740701440728901343557649939166600058064379257946358335955230834313015180114033971014724473865580230E+000000000000000646");
+ return val;
+ }
+
+ static const mp_float& A006882_559(void)
+ {
+ static const mp_float val("+1.0981028015623048377915140374729432769995842487106184833334535349846052479887447112329919912208822460078858130993470745179913568504698183600538026335959342678695327276435394866781959191365444979066629631296583884011188092683545482338192757954475778268301026261906586289164929528389456548418503532330890514729005213431789686491506572189703369358879101741581156846346038570635798120061588303905463317023655771142449373425757520E+000000000000000648");
+ return val;
+ }
+
+ static const mp_float& A006882_560(void)
+ {
+ static const mp_float val("+3.25829823327639657397024772512841709997521276005315614175442431647296159992499299763767888531337313593482732755163272260976714721562023478287056915769706922246600562446392296208629255708663891016445466113133975616431301925646629189887077291084388616590710263120053233011078470493153388563219254276584075552182508420282064594117076761479280680818475239228396593329603251605238444996066813492926721528850086385902376824570536472E+000000000000000649");
+ return val;
+ }
+
+ static const mp_float& A006882_561(void)
+ {
+ static const mp_float val("+6.160356716764530140010393750223211783967667635266569691500674331263635441216857830017085070749149400104239411487337088045931511931135680999901832774473191242748078602080256520264679106356014633256379223157383558930276519995469015591726137212460911608516875732929594908221525465426485123662780481637629578762971924735234014121735186998423590210331176077027028990800127638126682745354551038490964920850270887610914098491849968863E+000000000000000650");
+ return val;
+ }
+
+ static const mp_float& A006882_562(void)
+ {
+ static const mp_float val("+1.83116360710133487457127922152217041018606957114987375166598646585780441915784606467237553354611570239537295808401759010668913673517857194797325986662575290302589516094872470469249641708269106751242351955581294296434391682213405604716537437589426402523979167873469916952226100417152204372529220903440250460326569732198520301893797139951355742619983084446358885451237027402144006087789549183024817499213748548877135775408641497540E+000000000000000652");
+ return val;
+ }
+
+ static const mp_float& A006882_563(void)
+ {
+ static const mp_float val("+3.468280831538430468825851681375668234373796878655078736314879648501426753405090958299618894831771112258686788667370780569859441217229388402944731852028406669667168252971184420909014336878436238523341502637606943677745680757449055778141815250615493235595001037639361933328718837035111124622145411161985452843553193625936749950536910280112481288416452131366217321820471860265322385634612234670413250438702509724944637450911532470137E+000000000000000653");
+ return val;
+ }
+
+ static const mp_float& A006882_564(void)
+ {
+ static const mp_float val("+1.032776274405152869258201480938504111344943238128528795939616366743801692405025180475219800920009256150990348359385920820172673118640714578656918564776924637306604870775080733446567979234637762077006865029478499831889969087683607610601271148004364910235242506806370331610555206352738432661064805895403012596241853289599654502681015869325646388376704596277464113944976834548092194335133057392259970695565541815667045773304738046131E+000000000000000655");
+ return val;
+ }
+
+ static const mp_float& A006882_565(void)
+ {
+ static const mp_float val("+1.9595786698192132148866061999772525524211952364401194860179070014033061156738763914392846755799506784261580355970644910219705842877346044476637734963960497683619500629287191978135931003363164747656879489902479231779263096279587165146501256165977536781111755862662394923307261429248377854115121573065217808566075543986542637220533543082635519279552954542219127868285666010499071478835559125887834864978669179945937201597650158E+000000000000000656");
+ return val;
+ }
+
+ static const mp_float& A006882_566(void)
+ {
+ static const mp_float val("+5.84551371313316524000142038211193327021237872780747298501822863576991757901244252148974407320725238981460537171412431184217732985150644451519815907663739344715538356858695695130757476246804973335585885606684830904849722503628921907600319469770470539193147258852405607691574246795649952886162680136798105129472888961913404448517454982038315855821214801493044688492856888354220181993685310484019143413690096667667547907690481734E+000000000000000657");
+ return val;
+ }
+
+ static const mp_float& A006882_567(void)
+ {
+ static const mp_float val("+1.1110811057874938928407057153871021972228176990615477485721532697956745675870879139460744110538320346676316061835355664094573212911455207218253595724565602186612256856805837851603072878906914411921450670774705724418842175590525922638066212246109263354890365574129577921515217230383830243283273931927978497456964833440369675304042518927854339431506525225438245501317972627952973528499762024378402368442905425029346393305867639844E+000000000000000659");
+ return val;
+ }
+
+ static const mp_float& A006882_568(void)
+ {
+ static const mp_float val("+3.32025178905963785632080677703957809748063111739464465549035386511731318487906735220617463358171935741469585113362260912635672335565566048463255435553003947798425786695739154834270246508185224854612783024596983953954642382061227643516981458829627266261707643028166385168814172179929173239340402317701323713540600930366813726757914429797763406106450007248049383063942712585197063372413256354922873458975974907235167211568193624974E+000000000000000660");
+ return val;
+ }
+
+ static const mp_float& A006882_569(void)
+ {
+ static const mp_float val("+6.322051491930840250263615520552611502197832707660206689375552105137388289570530230353163398896304277258823839184317372869812158146618012907186295967277827644182374151522521737562148468098034300383305431670807557194321197911009249981059674768036170848932618011679729837342158604088399408428182867267019765053012990227570345248000193269949119136527212853274361690249926425305241937716364591871310947644013186841698097791038687071640E+000000000000000661");
+ return val;
+ }
+
+ static const mp_float& A006882_570(void)
+ {
+ static const mp_float val("+1.892543519763993578102859862912559515563959736914947453629501703116868515381068390757519541141580033726376635146164887202023332312723726476240555982652122502451026984165713182555340405096655781671292863240202808537541461577748997568046794315328875417691733565260548395462240781425596287464240293210897545167181425303090838242520112249847251414806765041313881483464473461735623261222755561223060378716163056971240453105938703662355E+000000000000000663");
+ return val;
+ }
+
+ static const mp_float& A006882_571(void)
+ {
+ static const mp_float val("+3.6098914018925097829005244622355411677549624760739780196334402520334487133447727615316563007697897423147884121742452199086627423017188853700033749973156395848281356405193599121479867752839775855188674014840311151579574040071862817391850742925486535547405248846691257371223725629344760622124924172094682858452704174199426671366081103571409470269570385392196605251327079888492931464360441819585185511047315296866096138386830903E+000000000000000664");
+ return val;
+ }
+
+ static const mp_float& A006882_572(void)
+ {
+ static const mp_float val("+1.082534893305004326674835841585984042902584969515349943476074974182848790797971119513301177532983779291487435303606315479557346082877971544409598022077014071401987434942787940421654711715287107115979517773396006483473716022472426608922766348368116738919671599329033682204401726975441076429545447716633395835627775273367959474721504206912627809269469603631540208541678820112776505419416181019590536625645268587549539176596938494E+000000000000000666");
+ return val;
+ }
+
+ static const mp_float& A006882_573(void)
+ {
+ static const mp_float val("+2.0684677732844081056020005168609650891235934987903894052499612644151661127465547923576390603410895223463737601758425110076637513388849213170119338734618614821065217220175932296607964222377191565023110210503498289855095924961177394365530475696303784868663207589154090473711194785614547836477581550610253277893399491816271482692764472346417626464463830829728654809010416776106449729078533162622311297830111665104273087295654107521E+000000000000000667");
+ return val;
+ }
+
+ static const mp_float& A006882_574(void)
+ {
+ static const mp_float val("+6.21375028757072483511355773070354840626083772501810867555267035180955205918035422600634875903932689313313787864270025085265916651571955666491109264672206076984740787657160277802029804524574799484572243201929307721513912996899172873521667883963299008139891498014865333585326591283903177870559086989347569209650343006913208738490143414767848362520675552484504079702923642744733714110744887905244968023120384169253435487366642696053E+000000000000000668");
+ return val;
+ }
+
+ static const mp_float& A006882_575(void)
+ {
+ static const mp_float val("+1.189368969638534660721150297195054926246066261804473908018727727038720514829269005605642459696126475349164912101109443829406657019858829757281861977240570352211249990160116107054957942786688514988828837103951151666668015685267700176018002352537467629948134436376360202238393700172836500597460939160089563478870470779435610254833957159919013521706670272709397651518098964626120859422015656850782899625231420743495702519500111182492E+000000000000000670");
+ return val;
+ }
+
+ static const mp_float& A006882_576(void)
+ {
+ static const mp_float val("+3.579120165640737505025409252885243882006242529610430597118338122642301986087884034179656885206652290444687418098195344491131679913054464638988789364511907003432106936905243200139691674061550845031136120843112812475920138862139235751484807011628602286885775028565624321451481165795282304534420341058641998647585975719820082333703226069062806568119091182310743499088840182209666193277890554334211015813173412814899788407231861929270E+000000000000000671");
+ return val;
+ }
+
+ static const mp_float& A006882_577(void)
+ {
+ static const mp_float val("+6.8626589548143449923610372148154669244398023306118144492680589850134173705648821623445569924466497627646815428234014908956764110045854476995163436086780909322589124432238699377071073298791927314855423900897981451166744505039946300156238735741411882248007356978915983669155316499972666084473496189537167812730826163973434711703919328127327080202474874735332244492594310258927173588650303400290173308375852976899702035375156415E+000000000000000672");
+ return val;
+ }
+
+ static const mp_float& A006882_578(void)
+ {
+ static const mp_float val("+2.068731455740346277904686548167670963799608182114828885134399434887250547958796971755841679649445023877029327660756909115874110989745480561335520252687882247983757809531230569680741787607576388427996677847319205611081840262316478264358218452721332121819977966510930857798956113829673172020894957131895075218304693966056007588880464667918302196372834703375609742473349625317187059714620740405173967140014232607012077699380016195E+000000000000000674");
+ return val;
+ }
+
+ static const mp_float& A006882_579(void)
+ {
+ static const mp_float val("+3.9734795348375057505770405473781553492506455494242405661262061523227686575570667719974984986266102126407506132947494632285966419716549742180199629494246146497779103046266206939324151440000525915301290438619931260225545068418128907790462227994277479821596259690792354544440928253484173662910154293742020163571148348940618698076569290985722379437232952471757369561212105639918833507828525668768010345549618873624927478482215564418E+000000000000000675");
+ return val;
+ }
+
+ static const mp_float& A006882_580(void)
+ {
+ static const mp_float val("+1.199864244329400841184718197937249159003772745626600753377951672234605317816102243618388174196678113848677010043239007287206984374052378725574601746558971703830579529528113730414830236812394305288238073151445139254427467352143557393327766702578372630655587220576339897523394546021210439772119075136499143626616722500312484401550669507392615273896244127957853650634542782683968494634480029435000900941208254912067005065640409393168E+000000000000000677");
+ return val;
+ }
+
+ static const mp_float& A006882_581(void)
+ {
+ static const mp_float val("+2.308591609740590841085260558026708257914625064215483768919325774499528590040655794530546627702060533544276106324249438135814648985531540020669598473615701111520965886988066623174733198664030555679004974483818006219104168475093289542625855446467521577634742688035035799032017931527430489815079964466411371503483719073449946358248675806270470245303234538609103171506423337679284226804837341355421401076432856557608286499816724292689E+000000000000000678");
+ return val;
+ }
+
+ static const mp_float& A006882_582(void)
+ {
+ static const mp_float val("+6.983209901997112895695059911994790105401957379546816384659678732405402949689715057859019173824666622599300198451651022411544649056984844182844182164973215316293972861853621911014311978248134856777545585741410710460767859989475504029167602209006128710415517623754298203586156257843444759473733017294425015906909324951818659217024896533025020894076140824714708246693038995220696638772673771311705243477832043588229969482027182668241E+000000000000000679");
+ return val;
+ }
+
+ static const mp_float& A006882_583(void)
+ {
+ static const mp_float val("+1.34590890847876446035270690532957091436422641243762703727996692653322516799370232821130868395030129105631296998703742243317994035856488783205037591011795374801672311211404284131086945482112981396085990012406589762573773022097938780335087372529056507976105498712442587083566645408049197556219161928391782958653100821982131872685897799505568415301178573600910714898824480586702270422722017001021067682756035537308563102939315026E+000000000000000681");
+ return val;
+ }
+
+ static const mp_float& A006882_584(void)
+ {
+ static const mp_float val("+4.078194582766313931085914988604957421554743109655340768641252379724755322618793593789667197513605307597991315895764197088342075049279149002781002384344357744715680151322515196032358195296910756358086622072983854909088430233853694353033879690059579166882662292272510150894315254580571739532660082099944209289635045771862096982742539575286612202140466241633389616068734773208886837043241482446035862191053913455526302177503874678E+000000000000000682");
+ return val;
+ }
+
+ static const mp_float& A006882_585(void)
+ {
+ static const mp_float val("+7.8735671146007720930633353961779898490307245127601181680878065202193672327631586200361558011092625526794308744241689212341026510976045938174946990741900294258978302058671506216685863107036094116710304157257855011105657217927294186496026112929498057166021716746778913443886487563708780570388209728109193030812063980859547145521250212710757522951189465556532768215812321143220828197292379945597324594412280789325509415219499290364E+000000000000000683");
+ return val;
+ }
+
+ static const mp_float& A006882_586(void)
+ {
+ static const mp_float val("+2.389822025501059963616346183322505049031079462258029690423773894518706619054613045960744977742972710252422911114917819493768455978877581315629667397225793638403388568674993904874961902443989703225838760534768538976725820117038264890877853498374913391793240103271690948424068739184215039366138808110567306643726136822311188831887128191117954750454313217597166315016278577100407686507339508713377015243957593284938413076017270561455E+000000000000000685");
+ return val;
+ }
+
+ static const mp_float& A006882_587(void)
+ {
+ static const mp_float val("+4.621783896270653218628177877556480041381035288990189364667542427368768565631974109961223455251137118422825923286987156764418256194293896570869388356549547273002026330844017414919460164383018724650894854031036089151902078692332168747316732828961535955645474773035922219156136819989705419481787911040009630908668155676455417442097387486121466597234821628168473494268183251107062615181062702806562953692000882333407402673384608344385E+000000000000000686");
+ return val;
+ }
+
+ static const mp_float& A006882_588(void)
+ {
+ static const mp_float val("+1.4052153509946232586064115557936329688302747238077214579691790499769994920041124710249180469128679536284246717355716778623358521155800178135902444295687666593811924783808964160664775986370659454967931911944439009183147822288184997558361778570444490743744251807237542776733524186403184431472896191690135763065109684515189790331496313763773573932671361719471337932295718033350397196663156311234656849634470648515437868886981550E+000000000000000688");
+ return val;
+ }
+
+ static const mp_float& A006882_589(void)
+ {
+ static const mp_float val("+2.72223071490341474577199676988076674437342978521522153578918248972020468515723275076716061514291976275104446881603543533424235289843910508024206974200768334379819350886712625738756203682159802881937706902428025651047032434978364739216955563625834467787518464131815818708296458697393649207477307960256567260520554369343224087339536122932554382577130993899123088812395993490205988034164593195306557972458851969437696017462353431E+000000000000000689");
+ return val;
+ }
+
+ static const mp_float& A006882_590(void)
+ {
+ static const mp_float val("+8.290770570868277225777828179182434516098620870465556602018156394864297002824263579047016476785920926407705563239872899387781527481922105100182442134455723290349035622447288854792217831958689078431079828047219015418057215150029148559433449356562249538809108566270150238272779269977878814569008753097180100208414713863961976295582825120626408620276103414488089380054473639676734346031262223628447541284337682624108342643319115031E+000000000000000690");
+ return val;
+ }
+
+ static const mp_float& A006882_591(void)
+ {
+ static const mp_float val("+1.60883835250791811475125009099953314592469700306219592765140685142464096892792455570339192354946557978586728107027694228253723056297751110242306321752654085618473236374047161811604916376156443503225184779334963159768796169072213560877220738102868170462423412301903148856603207090159646681619089004511631250967647632281845435617665848653139640103084417394381745488126032152711738928191274578426175761723181513937678346320250878007E+000000000000000692");
+ return val;
+ }
+
+ static const mp_float& A006882_592(void)
+ {
+ static const mp_float val("+4.908136177954020117660474282076001233530383555315609508394748585759663825671964038795833754257265188433361693438004756437566664269297886219308005743597788187886629088488795002036992956519543934431199258203953657127489871368817255947184602019084851726974992271231928941057485327826904258224853181833530619323381510607465489966985032471410833903203453221376948912992248394688626732850507236388040944440327908113472138844844916098827E+000000000000000693");
+ return val;
+ }
+
+ static const mp_float& A006882_593(void)
+ {
+ static const mp_float val("+9.540411430371954420474913039627231555333453228158821850972842628948120945742592615321114106648330888130192976746742267735445777238456640837368764879932387277175462916980996695428171541106077099741253457414563315374289612825982264160019189769500082508421708349502856727196570180446467048220011977967539733182381504594313434332127584825131180658112905951486837507445873706655806118441742582500672222670184663776504325936790877065827E+000000000000000694");
+ return val;
+ }
+
+ static const mp_float& A006882_594(void)
+ {
+ static const mp_float val("+2.9154328897046879498903217235531447327170478318574720479864806599412403124491466390447252500288155219294168459021748253239145985759629444142689554116970861836046576785623442312099738161726090970521323593731484723337289835930774500326276535993364019258231454091117657909881462847291811293855627900091171878780886173008345010403891092880180353385028512134979076543173955464450442793132012984144963209975547774194024504738378801E+000000000000000696");
+ return val;
+ }
+
+ static const mp_float& A006882_595(void)
+ {
+ static const mp_float val("+5.67654480107131288018257325857820277542340467075449900132884136422413196271684260611606289345575687843746482116431164930259023745688170129823441510355977042991940043560369303377976206695811587434604580716166517264770231963145944717521141791285254909251091646795419975268195925736564789369090712689068614124351699523361649342761591297095305249157717904113466831693029485546020464047283683658789997248875987494702007393239057185E+000000000000000697");
+ return val;
+ }
+
+ static const mp_float& A006882_596(void)
+ {
+ static const mp_float val("+1.7375980022639940181346317472376742606993605077870533405999424733249792262196913968706562490171740510699324401576961958930531007512739148709042974253714633654283759764231571618011443944388750218430708861863964895109024742214741602194460815452044955477905946638306124114289351856985919531137954228454338439753408159112973626200719091356587490617476993232447529619731677456812463904706679738550398073145426473419638604824073765769E+000000000000000699");
+ return val;
+ }
+
+ static const mp_float& A006882_597(void)
+ {
+ static const mp_float val("+3.38889724623957378946899623537118705692777258844043590379331829444180678174195503585128954739308685642716649823509405463364637176175837567504594581682518294666188206005540474116651795397399517698458934687551410807067828481998128996360121649397297180822901713136865725235112967664729179253347155475373962632237964615446904657628670004365897233747157588755739698520738602870974217036228359144297628357578964534337098413763717139693E+000000000000000700");
+ return val;
+ }
+
+ static const mp_float& A006882_598(void)
+ {
+ static const mp_float val("+1.039083605353868422844509784848129207898217583656657897678765599048337577279375455328652436912270082539819599214302325144045754249261801092800769860372135092526168833901047982757084347874447263062156389939465100727519679584441547811228756764032288337578775608970706222034503241047757987962049662861569438697253807914955822846803001663123931938925124195300362271259954311917385341501459448365313804774096503110494388568479611193029E+000000000000000702");
+ return val;
+ }
+
+ static const mp_float& A006882_599(void)
+ {
+ static const mp_float val("+2.029949450497504699891928744987341047099735780475821106372197658370642262263431066474922438888459026999872732442821338725554176685293267029352521544278284585050467353973187439958744254430423111013769018778432950734336292607168792688197128679889810113129181261689825694158326676311727783727549461297490036167105408046526958899195733326151724430145473956646880794139224231197135560047007871274342793861897997560679219498444665666766E+000000000000000703");
+ return val;
+ }
+
+ static const mp_float& A006882_600(void)
+ {
+ static const mp_float val("+6.2345016321232105370670587090887752473893055019399473860725935942900254636762527319719146214736204952389175952858139508642745254955708065568046191622328105551570130034062878965425060872466835783729383396367906043651180775066492868673725405841937300254726536538242373322070194462865479277722979771694166321835228474897349370808180099787435916335507451718021736275597258715043120490087566901918828286445790186629663314108776671E+000000000000000704");
+ return val;
+ }
+
+ static const mp_float& A006882_601(void)
+ {
+ static const mp_float val("+1.219999619749000324635049175737391969306941204065968484929690792680755999620322070951428385771963875226923512198135624574058060187861253484640865448111249035615330879737885651415205296912684289719275180285838203391336111856908444405606474336613775877990637938275585242189154332463348398020257226239791511736430350235962702298416635729017186382517429847944775357277673762949478471588251730635880019111000696533968210918565244065E+000000000000000706");
+ return val;
+ }
+
+ static const mp_float& A006882_602(void)
+ {
+ static const mp_float val("+3.7531699825381727433143693428714426989283619121678483264157013437625953291331041446470926021271195381338283923620599984202932643483336255471963807356641519542045218280505853137185886645225035141805088804613479438278010826590028706941582694316846254753345374996021908739886257066645018525189233822559888125744807541888204321226524420072036421633975485934249085237909549746455958535032715274955134628440365692351057315093483556292E+000000000000000707");
+ return val;
+ }
+
+ static const mp_float& A006882_603(void)
+ {
+ static const mp_float val("+7.35659770708647195754934652969647357492085546051778996412603547986495867771054208783711316620494216761834877855475781618157010293280335851238441865211083168476044520481945047803368794038348626700722933712360436644975675449715791976580704024978106854428354676780177901040060062475399084006215107422594281577067501192285509485945231344597363388658010198310699540438437279058535518367715793573435651523933420009982831183894842171632E+000000000000000708");
+ return val;
+ }
+
+ static const mp_float& A006882_604(void)
+ {
+ static const mp_float val("+2.266914669453056336961879083094351390152730594949380389155083611632607578796394903366843931684780201032832348986684239045857131666393509830506613964341147780339531184142553529486027553371592122565027363798654158071991853926037733899271594736737513787102060649759723287889129926825359118921429722882617242794986375530047541002082074972350999866692119350428644748369736804685939895515976002607290131557798087818003861831646406800049E+000000000000000710");
+ return val;
+ }
+
+ static const mp_float& A006882_605(void)
+ {
+ static const mp_float val("+4.450741612787315534317354650466366512827117553613262928296251465318300000014877963141453465553990011409101011025628478789849912274346031899992573284527053169280069348915767539210381203932009191539373748959780641702102836470780541458313259351117546469291545794520076301292363377976164458237601399906695403541258382213327332389968649634814048501380961699779732219652545538304139886124680551119285691719797191060396128662563795138379E+000000000000000711");
+ return val;
+ }
+
+ static const mp_float& A006882_606(void)
+ {
+ static const mp_float val("+1.37375028968855214019889872435517694243255474053932451582798066864936019275061531144030742260097680182589640348593064886178942178983446695728700806239073555488575589759038743886853269734318482627440658246198441979162706347917886674295858641046293335498384875375439231246081273565616762606638641206686604913376174357120880984726173743324470591921542432635975871751206050363967957668268145758001781972402564121771034026997772252E+000000000000000713");
+ return val;
+ }
+
+ static const mp_float& A006882_607(void)
+ {
+ static const mp_float val("+2.701600158961900529330634272833084473286060355043250597475824639448208100009030923626862253591271936925324313692556486625438896750528041363295491983707921273753002094791870896300701390786729579264399865618586849513176421737763788665196148426128350706859968297273686314884464570431531826150224049743364109949543838003489690760710970328332127440338243751766297457329095141750612910877681094529406414873916894973660450098176223648E+000000000000000714");
+ return val;
+ }
+
+ static const mp_float& A006882_608(void)
+ {
+ static const mp_float val("+8.3524017613063970124093042440794758099899328224790930562341224653881099719237410935570691294139389551014501331944583450796796844821935591003050090193356721737053958573495556283206787998465637437483920213688652723330925459534075097971882053756146347983018004228267052597617414327894991664836293853665455787332714009129495638713513635941278119888297799042673330024733278621292518262307032620865083439220758986036788688414645529266E+000000000000000715");
+ return val;
+ }
+
+ static const mp_float& A006882_609(void)
+ {
+ static const mp_float val("+1.645274496807797422362356272155348444231210756221339613862777205423958732905499832488759112437084609587522507038766900354892288121071577190246954618078124055715578275728249375847127146989118313772019518161719391353524440838298147297104454391512165580477720693039674965764638923392802882125486446293708742959272197344125221673272980929954265611165990444825675151513418941326123262724507786568408506658215389038959214109789320202238E+000000000000000717");
+ return val;
+ }
+
+ static const mp_float& A006882_610(void)
+ {
+ static const mp_float val("+5.094965074396902177569675588888480244093859021712246764302814703886747082873482067069812168942502762611884581248619590498604607534138071051186055501794760025960291472983228933275614067906403883686519133035007816123186453031578580976284805279124927226964098257924290208454662274001594491555013925073592803027295554556899233961524331792417965313186165741603073131508729995898843614000728989872770089792466298148244109993293377285253E+000000000000000718");
+ return val;
+ }
+
+ static const mp_float& A006882_611(void)
+ {
+ static const mp_float val("+1.0052627175495642250633996822869178994252697720512385040701568725140387858052603976506318176990586964579762518006865761168391880419747336632408892716457337980422183264699603686425946868103512897147039255968105481170034333522001679985308216332139331696718873434472414040821943821930025609786722186854560419481153125772605104423697913482020562884224201617884875175746989731502613135246742575932975975681696027028040798210812746E+000000000000000720");
+ return val;
+ }
+
+ static const mp_float& A006882_612(void)
+ {
+ static const mp_float val("+3.11811862553090413267264146039974990938544172128789501975332259877868921471857102504672504739281169071847336372415518938514601981089249948332586596709839313588769838146573610716467580955871917681614970941742478346739010925532609155748630083082445546290202813384966560757425331168897582883166852214503879545270487938882233118445289105695979477166993343386108075648334275749009229176844614180213529495298937446672539531589554689E+000000000000000721");
+ return val;
+ }
+
+ static const mp_float& A006882_613(void)
+ {
+ static const mp_float val("+6.162260458578828699638640052418806723476903702674092029950061628511057756986246237598373042495229809287394423538208711596224222697305117355666651235188348181998798341260857059779105430147453405951135063908448659957231046448987029830993936611601410330088669415331589807023851562843105698799260700541845537141946866098606929011726820964478605048029435591763428482732904705411101851906253199046914273092879664568189009303228213565E+000000000000000722");
+ return val;
+ }
+
+ static const mp_float& A006882_614(void)
+ {
+ static const mp_float val("+1.91452483607597513746100185668544644436266121687076754212854007565011517783720260937868917909918637810114264532663128628247965616388799468276208170379841338543504680621996196979911094706905357456511592158229881704897752708277022021629658871012621565422184527418369468305059153337703115890264447259705382040796079594473691134725407510897331398980533912839070358448077245309891666714582593106651107110113547592256939272395986579572E+000000000000000724");
+ return val;
+ }
+
+ static const mp_float& A006882_615(void)
+ {
+ static const mp_float val("+3.789790182025979650277763632237566134938295777144566598419287901534300520546541436122999421134566332711747570475998357631677896958842647173734990509640834131929260979875427091764149839540683844659948064303695925873697093566127023346061271016134867353004531690428927731319668711148510004761545330833235005342297322650643261342211994893154342104538102888934508516880736393827827638922345717413852277952120993709436240721485351342518E+000000000000000725");
+ return val;
+ }
+
+ static const mp_float& A006882_616(void)
+ {
+ static const mp_float val("+1.179347299022800684675977143718235009727399309592392805951180686600470949547716807377272534325098808910303869521204872350007468196955004724581442329539822645427988832631496573396252343394537001932111407694696071302170156682986455653238698645437748843000656688897155924759164384560251193884028995119785153371303850301957937389908510267127561417720088903088673408040155831108932666961828773536970819798299453168302745917959277330167E+000000000000000727");
+ return val;
+ }
+
+ static const mp_float& A006882_617(void)
+ {
+ static const mp_float val("+2.3383005423100294442213801610905783052569284944981975912247006352466634211772160660878906428400274272831482509836909866587452624236059133061944891444483946594003540245831385156184804509966019321551879556753803862640711067303003734045198042169552131568037960529946484102242355947786306729378734691241059982961974480754468922481448008490762290785000094824725917549154143549917696532150873076443468554964586531187221605251564617E+000000000000000728");
+ return val;
+ }
+
+ static const mp_float& A006882_618(void)
+ {
+ static const mp_float val("+7.28836630796090823129753874817869236011532773328098754077829664319091046820488986959154426212911063906567791364104611112304615345718192919791331359655610394874497098566264882358883948217823867194044849955322172064741156830085629593701515762880528784974405833738442361501163589658235237820329918984027224783465779486610005306963459345084832956151014942108800166168816303625320388182410182045847966635349062058011096977298833390E+000000000000000729");
+ return val;
+ }
+
+ static const mp_float& A006882_619(void)
+ {
+ static const mp_float val("+1.4474080356899082259730343197150679709540387380943843089680896932176846577086967449084043079179769774882687673589047207417633174402120603365343887804135562941688191412169627411678393991668965960040613445630604590974600150660559311373977588102952769440615497568036873659288018331679723865485436773878216129453462203587016263016016317255781857995915058696505342962926414857399054153401390434318507035523079062804890173650718498407E+000000000000000731");
+ return val;
+ }
+
+ static const mp_float& A006882_620(void)
+ {
+ static const mp_float val("+4.51878711093576310340447402387078926327150319463421227528254391877836449028703171914675744252004859622072030645744858889628861514345279610270625442986478444822188201111084227062508047895050797660307806972299746680139517234653090348094939772985927846684131616917834264130721425588105847448604549770096879365748783281698203290317344793952596432813629264107456103024666108247698640673094312868425739313916418475966880125925276701826E+000000000000000732");
+ return val;
+ }
+
+ static const mp_float& A006882_621(void)
+ {
+ static const mp_float val("+8.988403901634330083292543125430572099624580563566126558691836994881821724371006785881190752170637030202149045298798315806350201303716894689878554326368184586788366866957338622652282668826427861185220949736605450995226693560207332363240082211933669822622223989750898542417859383973108520466456236578372216390600028427537099332946133015840533815463251450529817979977303626444812629262263459711792869059832098001836797837096187511297E+000000000000000733");
+ return val;
+ }
+
+ static const mp_float& A006882_622(void)
+ {
+ static const mp_float val("+2.810685583002044650317582842847630921754874987062480035225742317480142712958533729309283129247470226849288030616533022293491518619227639175883290255375895926794010610910943892328800057907215961447114559367704424350467797199542221965150525387972471206375298657228929122893087267158018371130320299570002589654957432012162824465773884618385149812100774022748376960813423193300685544986646626041608098532560122920513994383255221085362E+000000000000000735");
+ return val;
+ }
+
+ static const mp_float& A006882_623(void)
+ {
+ static const mp_float val("+5.5997756307181876418912543671432464180661136911016968460650144478113749342831372276039818386023068698159388552211513507473561754122156253917943393453273789975691525581144219619123721026788645575183926516859051959700262300880091680622985712180346762994936455456148097919263263962152466082506022353883258908113438177103556128844254408688686525670336056536800766015258601592751182680303901354004469574242753970551443250525109248E+000000000000000736");
+ return val;
+ }
+
+ static const mp_float& A006882_624(void)
+ {
+ static const mp_float val("+1.753867803793275861798171693936921695175041991926987541980863206107609052886125047088992672650421421553955731104716605911138707618398046845751173119354559058319462621208428988813171236134102759942999485045447560794691905452514346506253927842094822032778186362110851772685286454706603463585319866931681615944693437575589602466642904001872333482750882990194987223547576072619627780071667494649963453484317516702400732495151257957E+000000000000000738");
+ return val;
+ }
+
+ static const mp_float& A006882_625(void)
+ {
+ static const mp_float val("+3.4998597691988672761820339794645290112913210569385605287906340298821093339269607672524886491264417936349617845132195942170976096326347658698714620908296118734807203488215137261952325641742903484489954073036907474812663938050057300389366070112716726871835284660092561199539539976345291301566263971177036817570898860689722580527659005430429078543960035335500478759536625995469489175189938346252793483901721231594652031578193280122E+000000000000000739");
+ return val;
+ }
+
+ static const mp_float& A006882_626(void)
+ {
+ static const mp_float val("+1.097921245174590689485655480404512981179576286946294201280020367023363267106714279477709413079163809892776287671552595300372830969117177325440234372715953970507983600876476546997045193819948327724317677638450173057477132813273980912914958829151358592519144662681393209700989320646333768204410236699232691581378091922319091144118457905172080760202052751862062001940782621459886990324863851650877121881182765455702858541964687481248E+000000000000000741");
+ return val;
+ }
+
+ static const mp_float& A006882_627(void)
+ {
+ static const mp_float val("+2.194412075287689782166135305124259690079658302700477451551727536736082552372204401067310383002279004609121038889788685574120201239661998200409406730950166644672411658711089106324410817737280048477520120379414098670754028915738592734413252596067338774864072348187803587211129156516849764608204750992800208461695358565245605799084219640487903224706294215535880018222946449915936971284409134310050151440637921220984682379952718663657E+000000000000000742");
+ return val;
+ }
+
+ static const mp_float& A006882_628(void)
+ {
+ static const mp_float val("+6.894945419696429529969916416940341521807739082022727584038527904906721317430165675120015114137148726126635086577350298486341378486055873603764671860656190934790137013504272715141443817189275498108715015569467086800956394067360600133105941447070531961020228481639149356922212933658976064323696286471181303131054417272163892385063915644480667174068891281693749372188114862768090299240144988367508325413827767061813951643538237382239E+000000000000000743");
+ return val;
+ }
+
+ static const mp_float& A006882_629(void)
+ {
+ static const mp_float val("+1.38028519535595687298249910692315934506010507239860031702603662060699592544211656827133823090843349389913713346167708322612160657974739686805751683376765481949894693332927504787805440435674915049236015571865146806390428418799957482994593588292635608938950150701012845635580023944909850193856078837447133112240638053753948604762397415386689112834025906157206853146223331699712435493789334548102154525616125244799936521699026003E+000000000000000745");
+ return val;
+ }
+
+ static const mp_float& A006882_630(void)
+ {
+ static const mp_float val("+4.343815614408750603881047342672415158738875621674318377944272580091234429981004375325609521906403697459780104543730688046395068446215200370371743272213400288917786318507691810539109604829243563808490459808764264684602528262437178083856743111654435135442743943432664094860994148205154920523928660476844220972564282881463252202590266856022820319663401507467062104478512363543896888521291342671530245010711493248942789535429089550E+000000000000000746");
+ return val;
+ }
+
+ static const mp_float& A006882_631(void)
+ {
+ static const mp_float val("+8.7095995826960878685195693646851354673292630068351680004342910760301442895397555457921442370322153465035553121431823951568273375182060742374429312210739019110383551493077255521105232914910871396067925825846907634832360332262773171769588554212653069240477545092339105596050995109238115472323185746429140993823842611918741569605072769109000830198270346785197524335266922302518546796581070099852459505663775029468759945192085408488E+000000000000000747");
+ return val;
+ }
+
+ static const mp_float& A006882_632(void)
+ {
+ static const mp_float val("+2.745291468306330381652821920568966380322969392898169214860780270617660159747994765205785217844847136794581026071637794845321683258008006634074941748038868982596040953296861224260717270252081932326965970599139015280668797861860296548997461646565603005599814172249443707952148301665657909771122913421365547654660626781084775392037048653006422442027269752719183250030419813759742833545456128568407114846769663733331842986391184596112E+000000000000000749");
+ return val;
+ }
+
+ static const mp_float& A006882_633(void)
+ {
+ static const mp_float val("+5.513176535846623620772887407845690750819423483326661344274906251127081335278665260486427302041392314336750512586634456134271704649024444992301375462939779909687278809511790274485961243513858159371099704776109253284888409032233541773014955481660939282922228604345065384230027990414772709398057657748964624909049237334456341356001106284599752551550512951503003290422396181749424012223581737320660686708516959365372504530659006357332E+000000000000000750");
+ return val;
+ }
+
+ static const mp_float& A006882_634(void)
+ {
+ static const mp_float val("+1.7405147909062134619678890976407246851247625950974392822217346915715965412802286811404678281136330847277643705294183619319339471855770762060035130682566429349658899643902100161812947493398199450952964253598541356879440178444194280120643906839225923055502821852061473108416620232560271147948919271091457572130548373792077475985514888460060718282452890232239621805192861619236769564678191855123701108128519668069323884533720110E+000000000000000752");
+ return val;
+ }
+
+ static const mp_float& A006882_635(void)
+ {
+ static const mp_float val("+3.50086710026260599919078350398201362677033391191242995361456546946569664790195244040888133679628411960383657549251287964526253245213052257011137341896676024265142204403998682429858538963129993120064831253282937583590413973546829902586449673085469644465561516375911651898606777391338067046776661267059253681724626570737977676106070249072084287023457572420440708941822157541088424776197440319861953605990826919701154037696846903E+000000000000000753");
+ return val;
+ }
+
+ static const mp_float& A006882_636(void)
+ {
+ static const mp_float val("+1.1069674070163517618115774660995008997393490104819713834930232638395354002542254412053375386802706418868581396567100781887099904100270204670182343114112249066383060173521735702913034605801254850806085265288672302975323953490507562156729524749747687063299794697911096896952970467908332450095512656414167015875028765731761274726787469060598616827640038187704399468102659989834585443135330019858673904769738508892089990563445990175E+000000000000000755");
+ return val;
+ }
+
+ static const mp_float& A006882_637(void)
+ {
+ static const mp_float val("+2.23005234286728002148452909203654268025270270188821788045247820404964876471354370454045741153923298418764389858873070433403223317200714287716094486788182627456895584205347160707819889319513805617481297508341231240747093701149330647947568441755444163524562685931455722259412517198282348708796733227116744595258587125560091779679566748658917690833942473631820731595940714353673326582437769483752064447016156747849635122012891477650E+000000000000000756");
+ return val;
+ }
+
+ static const mp_float& A006882_638(void)
+ {
+ static const mp_float val("+7.062452056764324240357864233714815740337046686874977426685488423296235853621958314890053496780126695238154931009810298843969738815972390579576334906803614904352392390706867378458516078501200594814282399254172929298256682326943824655993436790339024346385269017267279820255995158525516103160937074792238556128268352536863693275690405260661917536034344363755406860649497073514465512720340552669833951243093168673153413979478541732178E+000000000000000757");
+ return val;
+ }
+
+ static const mp_float& A006882_639(void)
+ {
+ static const mp_float val("+1.425003447092191933728614089811350772681477026506571225609133572387725560651954427201352285973569876895904451198198920069446596996912564298505843770576486989449562783072168356922969092751693217895705491078300467628373928750344222840384962342817288204921955563102002065237645984897024208249211125321275997963702371732328986472152431523930484044428892406507334474898061164719972556861777347001175691816433241618759168429662376542189E+000000000000000759");
+ return val;
+ }
+
+ static const mp_float& A006882_640(void)
+ {
+ static const mp_float val("+4.5199693163291675138290331095774820738157098795999855530787125909095909463180533215296342379392810849524191558462785912601406328422223299709288543403543135387855311300523951222134502902407683806811407355226706747508842766892440477798357995458169755816865721710510590849638369014563303060229997278670326759220917456235927636964418593668236272230619803928034603908156781270492579281410179537086937287955796279508181849468662667E+000000000000000760");
+ return val;
+ }
+
+ static const mp_float& A006882_641(void)
+ {
+ static const mp_float val("+9.13427209586095029520041631569075845288826773990712155615454619900532084377902787836066815309058291090274753218045507764515268675020953715342245856939528160237169743949259916787623188453835352671147219781190599749787688328970646840686760861745881739354973515948383323817331076318992517487744331330937914694733220280422880328649708606839440272478920032571201398409657206585502408948399279427753618454333707877624626963413583363E+000000000000000761");
+ return val;
+ }
+
+ static const mp_float& A006882_642(void)
+ {
+ static const mp_float val("+2.9018203010833255438782392563487434913896857427031907250765334833639573875361902324220251807570184565394530980533108555890102862847067358413363244865074692919003109854936376684610350863345733003972923522055545731900677056344946786746545833084144983234427793338147799325467832907349640564667658252906349779419829006903465542931156737135007686772057914121798215709036653575656235898665335262809813738867621211444252747358881432269E+000000000000000763");
+ return val;
+ }
+
+ static const mp_float& A006882_643(void)
+ {
+ static const mp_float val("+5.87333695763859103981386769098915768520715615676027916060737320596042130254991492578590962243724481171046666319203261492583317758038473238965064086012116607032500145359374126494441710175816131767547662319305555639113483595528125918561587234102601958405247970754810477214543882073112188744619605045793079148713460640311912051321762634197760095203945580943282499177409583834478048953820736672045576666136574165312635137474934102758E+000000000000000764");
+ return val;
+ }
+
+ static const mp_float& A006882_644(void)
+ {
+ static const mp_float val("+1.868772273897661650257586081088590808454957618300854826949287563286388557573306509679784216407519886011407795146332190999322624367351137881820592969310810223983800274657902658488906595599465205455856274820377145134403602428614573066477551650618936920297149890976718276560128439233316852364597191487168925794636988044583180964766493871494495028120529669443805091661960490272261591874047590924952004783074806017009876929911964238135E+000000000000000766");
+ return val;
+ }
+
+ static const mp_float& A006882_645(void)
+ {
+ static const mp_float val("+3.788302337676891220679944660688006706958615721110380058591755717844471740144695127131911706472022903553250997758861036627162399539348152391324663354778152115359625937567963115889149030634014049900682421959520833872281969191156412174722237659961782631713849411368527578033808039371573617402796452545365360509201821130011832731025368990575552614065448997084172119694291815732383415752143751534693969496580903366266496636713324962792E+000000000000000767");
+ return val;
+ }
+
+ static const mp_float& A006882_646(void)
+ {
+ static const mp_float val("+1.20722688893788942606640060838322966226190262142235221820923976588300700819235600525314060379925784636336943566453059538556241534130883507165610305817478340469353497742900511738383366075725452272448315353396363575682472716888501420094449836629983325051195882957096000665784297174472268662752978570071112606333549427680073490323915504098544378816586216646069808921362647671588098835063474373751899508986632468698838049672312889E+000000000000000769");
+ return val;
+ }
+
+ static const mp_float& A006882_647(void)
+ {
+ static const mp_float val("+2.451031612476948619779924195465140339402224371558415897908865949445373215873617747254346874087398818598953395549983090697774072501958254597187057190541464418637677981606472135980279422820207090285741527007809979515366434066678198677045287765995273362718860569155437342987873801473408130459609304796851388249453578271117655776973413736902382541300345501113459361442206804778852069991637007242946998264287844477974423323953521250E+000000000000000770");
+ return val;
+ }
+
+ static const mp_float& A006882_648(void)
+ {
+ static const mp_float val("+7.8228302403175234809102759423233282114571289868168423739958736829218854130864669140403511126191908444346339431061582580984444514116812512643315478169725964624141066537399531606472421217070093072546508349000843597042242320543748920221203494136229194633174932156198208431428224569058030093463930113406080968904140029136687621729897246655856757473147868386653236181042995691189088045121131394191230881823337839716847056187658752579E+000000000000000771");
+ return val;
+ }
+
+ static const mp_float& A006882_649(void)
+ {
+ static const mp_float val("+1.590719516497539654237170802856876080272043617141411917742854001190047217101977917968071121282721833270720753711939025862855373053770907233574400116661410407695853010062600416251201345410314401595446251028068676705472815709274150941402391760130932412404540509381878835599130097156241876668286438813156550973895372297955358599255745515249646269303924230222635125575992216301474993424572417700672601873522811066205400737245835291851E+000000000000000773");
+ return val;
+ }
+
+ static const mp_float& A006882_650(void)
+ {
+ static const mp_float val("+5.084839656206390262591679362510163337447133841430947543097317893899225518506203494126228223202474048882512063019002867763988893417592813321815506081032187700569169324930969554420707379109556049715523042685054833807745750835343679814378227118854897651156370590152883548042834596988771956075155457371395262978769101893884695412443321032630689235754611445132460351767794719927290722932873540622430007318516959581595058652197818917681E+000000000000000774");
+ return val;
+ }
+
+ static const mp_float& A006882_651(void)
+ {
+ static const mp_float val("+1.0355584052398983149083981926598263282571003947590591584505979547747207383333876245972142999550519134592392106664723058367188478580048606090569344759465781754100003095507528709795320758621146754386355094192727085352628030267374722628529570358452370004753558716076031219750336932487134617110544716673649146840058873659689384481154903304275197213168546738749354667499709328122602207193966439231378638196633500040997158799470387E+000000000000000776");
+ return val;
+ }
+
+ static const mp_float& A006882_652(void)
+ {
+ static const mp_float val("+3.31531545584656645120977494435662649601553126461297779809945126682229503806604467817030080152801307987139786508838986978212075850827051428582370996483298638077109839985499214948230121117943054441452102383065575164265022954464407923897460408149339326855395362477968007332392815723667931536100135820614971146215745443481282140891304531327520938171200666222636414935260215739259355135223354848582436477167305764719997824123297793E+000000000000000777");
+ return val;
+ }
+
+ static const mp_float& A006882_653(void)
+ {
+ static const mp_float val("+6.762196386216535996351840198068665923518865577776656304682404644678926421317021188619809378706488994888832045652064157113774076512771739777141782127931155485427302021366416247496344455379608830614289876507850786735266103764595693876429809444069397613104073841597648386496970016914098904973185699987892892886558444499777168066194151857691703780199061020403328597877310191264059241297660084818090250742401675526771144696054163200E+000000000000000778");
+ return val;
+ }
+
+ static const mp_float& A006882_654(void)
+ {
+ static const mp_float val("+2.16821630812365445909119281360923372839415744705688747995704112850178095489519321952337672419932055423589420376780697483750697606440891634292870631700077309302429835350516486576142499211134757604709674958524886157429325012219722782228939106929667919763428567060591076795384901483278827224609488826682191129625097520036758520142913163488198693563965235709604215367660181093475618258436074070972913456067417970126878576976636756905E+000000000000000780");
+ return val;
+ }
+
+ static const mp_float& A006882_655(void)
+ {
+ static const mp_float val("+4.429238632971831077610455329734976179904856953443709879566975042264696805962648878545975143052750291652184989902102022909522020115865489554027867293794906842954882823995002642110105618273643784052359869112642265311599297965810179489061525185865455436583168366246459693155515361078734782757436633492069844840695781147354045083357169466788065976030384968364180231609638175277958803049967355555849114236273097470035099775915476896470E+000000000000000781");
+ return val;
+ }
+
+ static const mp_float& A006882_656(void)
+ {
+ static const mp_float val("+1.422349898129117325163822485727657325826567285269318186851818980297168306411246752007335131074754283578746597671681375493404576298252249120961231343952507149023939719899388151939494794825044009886895467727923253192736372080161381451421840541458621553648091399917477463777724953730309106593438246703035173810340639731441135892137510352482583429779611946255003652811850787973200055775340645905582312271802261884032323464966737125297E+000000000000000783");
+ return val;
+ }
+
+ static const mp_float& A006882_657(void)
+ {
+ static const mp_float val("+2.9100097818624930179900691516358793501974910184125173908755026027679058015174603132047056689856569416154855383656810290515559672161236266369963088120232537958213580153647167358663393912057839661224004340070059683097207387635372879243134220471136042218351416166239240184031735922287287522716358682042898880603371282138116076197656603396797593462519629242152664121675322811576189336038285526001928680532314250378130605527764683E+000000000000000784");
+ return val;
+ }
+
+ static const mp_float& A006882_658(void)
+ {
+ static const mp_float val("+9.35906232968959199957795195608798520393881273707211366948496889035536745618600362820826516247188318594815261267966345074660211204249979921592490224320749704057752335693797403976187574994878958505577217764973500600820532828746188995035571076279772982300444141145700171165743019554543392138482366330597144367204140943288267417026481811933539896794984660635792403550197818486365636700174145005873161474845888319693268839948113028E+000000000000000785");
+ return val;
+ }
+
+ static const mp_float& A006882_659(void)
+ {
+ static const mp_float val("+1.9176964462473828988554555709280444917801465811338489605869562152240499232000063464019010358615479245246049697829837981449753823954254699537805675071233242514462749321253483289359176588046116336746618860106169331161059668451710727421225451290478651821893583253551659281276913972787322477470080371466270362317621674929018494214255701638489614091800435670578605656184037732828708772449230161635271000470795090999188069042796926235E+000000000000000787");
+ return val;
+ }
+
+ static const mp_float& A006882_660(void)
+ {
+ static const mp_float val("+6.17698113759513071972144829101807023459961640646759502186007946763454252108276239461745500723144290272578072436857787749275739394804986748251043548051694804678116541557906286624283799496620112613680963724882510396541551666972484736723476910344650168318293133156162112969390392905998638811398361778194115282354733022570256495237477995876136331884689876019622986343130560201001320222114935703876286573398286290997557434365754598774E+000000000000000788");
+ return val;
+ }
+
+ static const mp_float& A006882_661(void)
+ {
+ static const mp_float val("+1.267597350969520096143456132383437409066676890129474162947978058263096999235204194971656584704483178110763885026552290573828727763376235639448955122208517330205987730134855245426641572469848289858951506653017792789746044084658079082543002330300638885427165853059764678492404013601242015760772312553920470949194792712808122467562301878304163491468008797825245833873764894139977649858894113684091413131119555515046331363728876824151E+000000000000000790");
+ return val;
+ }
+
+ static const mp_float& A006882_662(void)
+ {
+ static const mp_float val("+4.089161513087976536455598768653962495304946061081547904471372607574067148956788705236755214787215201604466839531998554900205394793609012273421908288102219606969131505113339617452758752667625145502567979858722218825105072035357848957109417146481584114267100541493793187857364401037710988931457154971645043169188332609415097998472104332700022517076646979249904169591524308530628739870400874359661017115896655246403830215501295443885E+000000000000000791");
+ return val;
+ }
+
+ static const mp_float& A006882_663(void)
+ {
+ static const mp_float val("+8.4041704369279182374311141577021900221120677815584137003450945262843331049294038126620831565907234708743645577260416865044844650711844422895465724602424698992656986507940902771786336254750941617648484891095079661960162722812830643172601054498932358103821096057862398184046386101762345644939204322324927223931614756859178519599380614531566039484328983295813798785830612481480518185644679737255260690593226530647571769415224533E+000000000000000792");
+ return val;
+ }
+
+ static const mp_float& A006882_664(void)
+ {
+ static const mp_float val("+2.715203244690416420206517582386231096882484184558147808568991411429180586907307700277205462618710893865365981449247040453736382142956384149552147103299873819027503319395257505988631811771303096613705138626191553299869767831477611707520652985263771851873354759551878676737289962289040096650487550901172308664341052852651625070985477276912814951338893594221936368608772140864337483273946180574814915364955379083612143263092860174E+000000000000000794");
+ return val;
+ }
+
+ static const mp_float& A006882_665(void)
+ {
+ static const mp_float val("+5.5887733405570656278916909148719563647045250747363451107294878599790815147780535354202852991328311081314524308878177215254821692723376541225484706860612424830116896027780700343237913609409376175736242452578227975203508210670532377709779701241790018139041028878478494792390846757671959853884570874346076603914523813311353715533588108663491416257078773891716176192577357300184544593453712025274748359244495642880635226661124314738E+000000000000000795");
+ return val;
+ }
+
+ static const mp_float& A006882_666(void)
+ {
+ static const mp_float val("+1.808325360963817335857540709869229910523734466915726440506948280011834270880266928384618838104061455314333743645198528942188430507208951843601729970797715963472317210717241498988428786639687862344727622325043574497713265375764089397208754888185672053347654269861551198707035114884500704369224708900180757570451141199865982297276327866423934757591703133751809621493442245815648763860448156262826733633060282469685687413219844876376E+000000000000000797");
+ return val;
+ }
+
+ static const mp_float& A006882_667(void)
+ {
+ static const mp_float val("+3.727711818151562773803757840219594895257918224849142188856568402606047370356961708125330294521598349123678771402174420257496606904649215299739829947602848736168796965052972712893968837747605390921607371586967805946073997651724509593242306072827394209874036626194515602652469478736719722254100877318883309481098738347867292826090326847854877464347154218577468952044909731922309124383362592085825715561607859380138369618296991793052E+000000000000000798");
+ return val;
+ }
+
+ static const mp_float& A006882_668(void)
+ {
+ static const mp_float val("+1.2079613411238299803528371941926455802298546238997052622586414510479052929480183081609253838535130521499749407549926173333818715788155798315259556204928742635995078967591173213242704294753114920462780517131291077644724612710104117173354482653080289316362330522675162007362994567428464705186421055453207460570613623215104761745805870147711884180712576933462088271576194202048533742587793683835682580668842686897500391920308563E+000000000000000800");
+ return val;
+ }
+
+ static const mp_float& A006882_669(void)
+ {
+ static const mp_float val("+2.49383920634339549567471399510690898492754729242407612434504426134344569076880738273584596703494929556374109806805468715226523001921032503552594623494630580449692516962043874492606515245314800652655533159168146217792350442900369691787910276272152672640573050292413093817450208127486549418799348692633293404285505595472321890065442866121491302364824617222832672891804461065602480421246957410541740371071565792531256927464068750E+000000000000000801");
+ return val;
+ }
+
+ static const mp_float& A006882_670(void)
+ {
+ static const mp_float val("+8.093340985529660868364009201090725387540025980128025257132897722020965462751722664678200071818537449404832103058450536133658539578064384871223902657302257566116702908286086052872611877484586996710062946477965022021965490515769758506147503377563793841962761450192358544933206360177071352474902107153648998582311127554120190369689932998966962401077426545419599141956050115372517607533821768169907329048124600221325262586606737728E+000000000000000802");
+ return val;
+ }
+
+ static const mp_float& A006882_671(void)
+ {
+ static const mp_float val("+1.67336610745641837759773309071673592888638423321655507943552469936145205850586975381575264388045097732327027680366469507916996934289012809883790992364897119481743678881531439784538971729606231237931862749801826112138667147186148063189687795378614443341824516746209185951509089653543474660014362972756939874275574254561927988233912163167520663886797318156520723510400793375019264362656708422473507788989020646788473398328390131890E+000000000000000804");
+ return val;
+ }
+
+ static const mp_float& A006882_672(void)
+ {
+ static const mp_float val("+5.438725142275932103540614183132967460426897458646032972793307269198088790969157630663750448262057166000047173255278760281818538596459266633462462585707117084430424354368249827530395181669642461789162300033192494798760809626597277716131122269722869461798975694529264942195114674038991948863134216007252127047313077716368767928431634975305798733524030638521970623394465677530331832262728228210177725120339731348730576458199727753693E+000000000000000805");
+ return val;
+ }
+
+ static const mp_float& A006882_673(void)
+ {
+ static const mp_float val("+1.126175390318169568123274370052363280140536588954741568460108122670257235374450344318001529331543507738560896288866339788281389367765056210517913378615757614112134958872706589749947279740249936231281436306166289734693229900562776465266598862898075203690478997701987821453656173368347584461896662806654205353874614733201775360814228858117414067958145951193384469224997339413879649160679647683246707419896108952886425970750065587626E+000000000000000807");
+ return val;
+ }
+
+ static const mp_float& A006882_674(void)
+ {
+ static const mp_float val("+3.6657007458939782377863739594316200683277288871274262236626890994395118451132122430673678021286265298840317947740578844299456950140135457109536997827665969149061060148442003837554863524453390192458953902223717414943647856883265651806723764097932140172525096181127245710395072903022805735337524615888879336298890143808325495837629219733561083463951966503638082001678698666554436549450788258136597867311089789290444085328266165E+000000000000000808");
+ return val;
+ }
+
+ static const mp_float& A006882_675(void)
+ {
+ static const mp_float val("+7.60168388464764458483210199785345214094862197544450558710572982802423633877753982414651032298791867723528604994984779357089937823241412942099591530565636389525691097239076948081214413824668706956114969506662245570917930182879874114054954232456200762491073323448841779481217917023634619511780247394491588613865364944911198368549604479229254495871748517055534516726873204104368763183458762186191527508429873543198337530256294271E+000000000000000809");
+ return val;
+ }
+
+ static const mp_float& A006882_676(void)
+ {
+ static const mp_float val("+2.4780137042243292887435887965757751661895447276981401271959778312211100072965314763135406342389515342016054932672631298746432898294731569006047010531502195144765276660346794594187087742530491770102252837903232972501905951253087580621345264530202126756626965018442018100227069282443416677088166640340882431338049737214428035186237352539887292421631529356459343433134800298590799107428732862500340158302296697560340201681907927580E+000000000000000811");
+ return val;
+ }
+
+ static const mp_float& A006882_677(void)
+ {
+ static const mp_float val("+5.14633998990645538393133305254678709942221707737593028247057909357240800135239446094718748866282094448828865581604695624749887906334436561801423466192935835708892872830855093850982158159300714609289834356010340251511438733809674775215204015372847916206456639974865884708784529825000637409475227486070805491586852067704881295508082232438205293705173746046596867824093159178657652675201582000051664123207024388745274507983511221905E+000000000000000812");
+ return val;
+ }
+
+ static const mp_float& A006882_678(void)
+ {
+ static const mp_float val("+1.680093291464095257768153204078375562676511325379339006238872969567912584947048340940580550014009140188688524435204402055008150504382800378609987314035848830815085757571512673485884548943567342012932742409839195535629223494959337966127208935147704194099308228250368827195395297349663650706577698215111828844719772183138220785626892502204358426186617690367943484766539460244456179483668088077523062732895716094591065674033357489957E+000000000000000814");
+ return val;
+ }
+
+ static const mp_float& A006882_679(void)
+ {
+ static const mp_float val("+3.494364853146483205689375142679268440507685395538256661797523204535665032918275838983140304802055421307547997299095883292051738884010824254631665335450034324463382606521506087248168853901651852197077975277310210307762669002567691723711235264381637351041840585429339357172646957511754328010336794630420769287874725539716143996499878358255413944258129735656392732525592550823085461664618741780350799396575695599580413909208041196737E+000000000000000815");
+ return val;
+ }
+
+ static const mp_float& A006882_680(void)
+ {
+ static const mp_float val("+1.14246343819558477528234417877329538262002770125795052424243361930618055776399287183959477400952621532830819661593899339740554234298030425745479137354437720495425831514862861797040149328162579256879426483869065296422787197657234981696650207590043885198752959521025080249286880219777128248047283478627604361440944508453399013422628690149896372980690002945020156964124683296623020204889429989271568265836908694432192465834268309E+000000000000000817");
+ return val;
+ }
+
+ static const mp_float& A006882_681(void)
+ {
+ static const mp_float val("+2.379662464992755063074464472164581807985733754361552786684113302288787887417345846347518547570199741910440186160684296521887234180011371317404164093441473374959563555041145645416002989507024911346210101163848253219586377590748598063847351215043895036059493438677380102234572578065504697375039357143316543885042688092546694061616417161971936896039786349982003450849928527110521199393605363152418894389068048703314261872170676054E+000000000000000818");
+ return val;
+ }
+
+ static const mp_float& A006882_682(void)
+ {
+ static const mp_float val("+7.7916006484938881674255872992338745094685889225792225753333972836681514039504313859460363587449687885390619009207039349703057987791256750358416771675726525377880417093136471745581381841806879053191768861998702532160340868802234257517115441576409929705549518393339104730013652309888001465168247332424026174502724154765218127154232766682229326372830582008503747049533034008296899779734591252683209557300771729602755261698970986954E+000000000000000819");
+ return val;
+ }
+
+ static const mp_float& A006882_683(void)
+ {
+ static const mp_float val("+1.625309463590051708079859234488409374854256154228940553305249385463242127106047213055355167990446423724830647147747374524448980944947766609787044075820526315097381908093102475819130041833298014449461499094908356948977495894481292477607740879874980309628634018616650609826213070818739708307151880928885199473484155967209392044084012921626832899995174077037708356930501184016485979185832463033102104867733477264363640858692571745549E+000000000000000821");
+ return val;
+ }
+
+ static const mp_float& A006882_684(void)
+ {
+ static const mp_float val("+5.329454843569819506519101712675970164476514823044188241528043742029015560302095067987088869381558651360718340229761491519689166364921961724515707182619694335847020529170534667397766517979590527238316990160711253199767315426072823214170696203826439191859587058104394763532933817996339300217508117537803390335986332185940919897349521241064485923901611809381656298188059526167507944933846041683531533719372786304828459900209615507671E+000000000000000822");
+ return val;
+ }
+
+ static const mp_float& A006882_685(void)
+ {
+ static const mp_float val("+1.1133369825591854200347035756245604217751654656468242790140958290423208570676423409429182900734558002515089932962069515492475519472892201277041251919370605258417066070437751959361040786558091398978811268800122245100495846877196853471613025027143615120956143027524056677309559535108367001903990384362863616393366468375384335501975488513143805364966942427708302244973933110512928957422952371776749418343974319260890939882044116E+000000000000000824");
+ return val;
+ }
+
+ static const mp_float& A006882_686(void)
+ {
+ static const mp_float val("+3.65600602268889618147210377489571553283088916860831313368823800703190467436723721663914296439574923483345278139761638318250676812633646574301777512727711031439105608301098678183486783133399910168548545525024791969504037838228595672492109759582493728561567672185961480778359259914548875994921056863093312577048662387955547104958177157137023734379650570123581622055700883495091045022461838459490263213148973140511232349154379623E+000000000000000825");
+ return val;
+ }
+
+ static const mp_float& A006882_687(void)
+ {
+ static const mp_float val("+7.648625070181603835638413564540730097595386748993682796826838345520744288054702882277848652804641347727866783944941757143330681877876942277327340068607605812532524390390735596081035020365408791098443341665683982384040646804634238334998148193647663588096870259909026937311667400619448130308041394057287304462242763773889038489857160608529794285732289447835603642297092046922382193749568279410626850402310357332232075698964308005E+000000000000000826");
+ return val;
+ }
+
+ static const mp_float& A006882_688(void)
+ {
+ static const mp_float val("+2.51533214360996057285280739712825228658765174800251943597750774883795041596465920504773035950427547356541551360156007162956465647091948843119622928756665189630104658511155890590238906795779138195961399321217056875018778032701273822674571514592755685250358558463941498775511170821209626684505687121808199053009479722913416408211225884110272329253199592245024155974322207844622638975453744860129301090646493520671727856218213181192E+000000000000000828");
+ return val;
+ }
+
+ static const mp_float& A006882_689(void)
+ {
+ static const mp_float val("+5.269902673355125042754866945968563037243221470056647447013691620063792814469690285889437721782397888584500214138064870671754839813857213229078537307270640404834909304979216825699833129031766657066827462407656263862604005648392990212813724105423240212198743609077319559807738839026799761782240520505470952774485264240209547519511583659277028262869547429558730909542696420329521331493452544513921899927191836201907900156586408216113E+000000000000000829");
+ return val;
+ }
+
+ static const mp_float& A006882_690(void)
+ {
+ static const mp_float val("+1.735579179090872795268437104018494077745479706121738410824480346698185787015614851482933948057950076760136704385076449424399612964934447017525398208420989808447722143726975645072648456890876053552133655316397692437629568425638789376454543450690014228227474053401196341551027078666346424123089241140476573465765410088102573216657458600360879071847077186490666676222823234127896208930630839534892177525460805292634922207905670950228E+000000000000000831");
+ return val;
+ }
+
+ static const mp_float& A006882_691(void)
+ {
+ static const mp_float val("+3.6415027472883914045436130596642770587350660358091433858864609094640808347985559875496014657516369410118896479694028256341825943113753343412932692793240125197409223297406388265585846921609507600331777765236904783290593679030395562370542833568474589866293318338724278158271475377675186353915281996692804283671693175899847973359825043085604265296428572738250830584940032264476992400619757082591200328496895588155183590082012080E+000000000000000832");
+ return val;
+ }
+
+ static const mp_float& A006882_692(void)
+ {
+ static const mp_float val("+1.201020791930883974325758475980797901799871956636242980290540399915144564614805477226190292056101453118014599434472903001684532171734637336127575560227324947445823723459067146390272732168486229058076489478947203166839661350542042248506544067877489845933412044953627868353310738437111725493177754869209788838309663780966980665926961351449728317718177413051541339946193678016504176579996540958145386847618877262503366167870724297E+000000000000000834");
+ return val;
+ }
+
+ static const mp_float& A006882_693(void)
+ {
+ static const mp_float val("+2.5235614038708552433487238503473440017034007628157363664193174102586080185153992993718738157658844001212395260427961581644885378577831066985162356105715406761804591745102627068050991916675388767029921991309175014820381419568064124722786183662952890777341269608735924763682132436728904143263290423708113368584483370898594645538358754858323755850425000907607825595363442359282555733629491658235701827648348642591542227926834371975E+000000000000000835");
+ return val;
+ }
+
+ static const mp_float& A006882_694(void)
+ {
+ static const mp_float val("+8.33508429600033478182076382330673743849111137905552628321635037541110327842675001194976062686934408463902132007524194683169065327183838311272537438797763513527401664080592599594849276124929442966305083698389358997786724977276177320463541583106977953077787959197817740637197652475355537492265361879231593453786906663991084582153311177906111452496415124657769689922658412543453898546517599424952898472247500820177336120502282662504E+000000000000000836");
+ return val;
+ }
+
+ static const mp_float& A006882_695(void)
+ {
+ static const mp_float val("+1.753875175690244394127363075991404081183863530156936774661425600129732572868202513063452301957289658084261470599743329924319533811159259155468783749347220769945419126284632581229543938208939519308579578395987663530016508659980456668233639764575225909025218237807146771075908204352658837956798684447713879116621594277452327864915933462653501031604537563078743878877759243970137623487249670247381277021560230660112184840914988852327E+000000000000000838");
+ return val;
+ }
+
+ static const mp_float& A006882_696(void)
+ {
+ static const mp_float val("+5.801218670016233008147251621021489257189813519822646293118579861286127881785018008317033396301063482908758838772368394994856694677199514646456860574032434054150715582000924493180150961829508923045483382540789938624595605841842194150426249418424566553421404196016811474834895661228474540946166918679451890438356870381377948691787045798226535709375049267618077041861702551302439133883762491997672173366842605708434259398695887331035E+000000000000000839");
+ return val;
+ }
+
+ static const mp_float& A006882_697(void)
+ {
+ static const mp_float val("+1.22245099745610034270677206396600864458515288051938493193901364329042360328913715160522625446423089168473024500802110095725071506637800363136174227329501287665195713102038890911699212493163084495807996614200340148042150653600637829775884691590893245859057711175158129943990801843380321005588868306005657374428525121138427252184640562346949021902836268146588448357779819304718592357061302016242475008402748077009819283411774723E+000000000000000841");
+ return val;
+ }
+
+ static const mp_float& A006882_698(void)
+ {
+ static const mp_float val("+4.049250631671330639686781631472999501518489836836207112596768743177717261485942569805289310618142311070313669463113139706409972884685261223226888680674638969797199476236645296239745371356997228285747401013471377159967732877605851516997522094060347454288140128819734409434757171537475229580424509238257419525973095526201808186867357967162121925143784388797417775219468380809102515450866219414375177010056138784487113060289729357E+000000000000000842");
+ return val;
+ }
+
+ static const mp_float& A006882_699(void)
+ {
+ static const mp_float val("+8.5449324722181413955203367271224004256502186348305006742537053666000609869910686897205315187049739328762644126060674956911824983139822453832185784903321400077971803458325184747277749532720996062569789633326037763481463306866845843013343399422034378855481340111435532830849570488522844382906618945897954504725539059675760649277063753080517366310082551434465325402088093693998296057585850109353490030873520905829863679104830531382E+000000000000000843");
+ return val;
+ }
+
+ static const mp_float& A006882_700(void)
+ {
+ static const mp_float val("+2.834475442169931447780747142031099651062942885785344978817738120224402083040159798863702517432699617749219568624179197794486981019279682856258822076472247278858039633365651707367821759949898059800023180709429964011977413014324096061898265465842243218001698090173814086604330020076232660706297156466780193668181166868341265730807150577013485347600649072158192442653627866566371760815606353590062623907039297149140979142202810549943E+000000000000000845");
+ return val;
+ }
+
+ static const mp_float& A006882_701(void)
+ {
+ static const mp_float val("+5.989997663024917118259756045712802698380803263016180972651847461986642751880739151494092594612186726946261353236853314479518931318101554013636223521722830145465823422428595450784170242243741823986142253296155247220050577811365893595235372299484609957769241941811630851442554891245451391241753988107446610781260288083270821514322169090944267378336786855556019310686375367949280553636768092665679651164233815498673443905248620249880E+000000000000000846");
+ return val;
+ }
+
+ static const mp_float& A006882_702(void)
+ {
+ static const mp_float val("+1.9898017604032918763420844937058319550461859058213121751300521603975302622941921788023191672377551316599521371741737968517298606755343373650936930976835175897583438226226874985722108754848284379796162728580198347364081439360555154354525823570212547390371920593020174887962396740935153278158206038396796959550631791415755685430266197050634667140156556486550510947428467623295929760925556602202239619827415865986969673578263730E+000000000000000848");
+ return val;
+ }
+
+ static const mp_float& A006882_703(void)
+ {
+ static const mp_float val("+4.21096835710651673413660850013610029696170469390037522377424876577660985457215962350034709401236726904322173132550788007910180871662539247158626513577114959226247386596730260190127168029735050226225800406719713879569555620139022319745046672653768080031177708509357648856411608854555232804295305363953496737922598252253938752456848487093381996697076115945588157541252188366834422920664796914397279476845637229556743106538978003E+000000000000000849");
+ return val;
+ }
+
+ static const mp_float& A006882_704(void)
+ {
+ static const mp_float val("+1.4008204393239174809448274835689056963525148776982037712915567209198613046551112938768326937353796126886063045706183529836178219155761735050259599407691963831898740511263719989948364563413192203376498560920459636544313333309830828665586179793429633362821832097486203121125527305618347907823377051031345059523644781156692002542907402723646805666670215766531559706989641206800334551691591847950376692358500769654826650199097665962E+000000000000000851");
+ return val;
+ }
+
+ static const mp_float& A006882_705(void)
+ {
+ static const mp_float val("+2.96873269176009429756630899259595070935800180919976453276084537987250994747337253456774470127871892467547132058448305545576677514522090169246831692071866046254504407550694833434039653460963210409489189286737398285096536712198010735420257904220906496421980284499097142443770184242461439127028190281587215200235431767839026820482078183400834307671438661741639651066582792798618268159068681824650082031176174246837503890109979492514E+000000000000000852");
+ return val;
+ }
+
+ static const mp_float& A006882_706(void)
+ {
+ static const mp_float val("+9.889792301626857415470482033996474216248755036549318625318390449694220810865085734770438817771780065581560510268565572064341822723967784945483277181830526465320510800952186312903545381769713695583807984009844503400285213316740565037903842934161321154152213460825259403514622277766553622923304198028129612023693215496624553795292626322894644800669172331171281153134686692001036193494263844652965944805101543376307615040562952169641E+000000000000000853");
+ return val;
+ }
+
+ static const mp_float& A006882_707(void)
+ {
+ static const mp_float val("+2.098894013074386668379380457765337151516107279104233524661917683569864532863674381939395503804054279745558223653229520207227110027671177496575100062948092947019346161383412472378660349969009897595088568257233405875632514555239935899421223382841808929703400611408616797077455202594202374628089305290821611465664502598621919620808292756643898555237071338513392333040740345086231155884615580500276079960415551925141152503077555012077E+000000000000000855");
+ return val;
+ }
+
+ static const mp_float& A006882_708(void)
+ {
+ static const mp_float val("+7.0019729495518150501531012800695037451041185658769175867254204383835083340924807002174706829824202864317448412701444250215540104885691917414021602447360127374469216470741479095357101302929572964733360526789699084074019310282523200468359207973862153771397671302642836576883525726587199650296993722039157653127747965716101840870671794366094085188737740104692670564193581779367336249939388020142998889220118927104257914487185701E+000000000000000856");
+ return val;
+ }
+
+ static const mp_float& A006882_709(void)
+ {
+ static const mp_float val("+1.488115855269740147880980744555624040424920060884901568985299637651033953800345136795031412197074484339600780570139729826924021009618864845071745944630197899436716428420839442916470188128028017394917794894378484765823452819665114552689647378434842531159711033488709309127915738639289483611315317451192522529156132342422941011153079564460524075663083579005995164125884904666137889522192446574695740691934626314925077124681986503E+000000000000000858");
+ return val;
+ }
+
+ static const mp_float& A006882_710(void)
+ {
+ static const mp_float val("+4.9714007941817886856087019088493476590239241817726114865750485112522909172056612971544041849175184033665388373018025417653033474468841261363955337737625690435873143694226450157703541925079996804960685974020686349692553710300591472332535037661442129177692346624876413969587303265876911751710865542647801933720701055658432307018176973999926800484003795474331796100577443063350808737456965494301529211346284438244023119285901847966E+000000000000000859");
+ return val;
+ }
+
+ static const mp_float& A006882_711(void)
+ {
+ static const mp_float val("+1.058050373096785245143377309379048692742118163289165015548548042369885141152045392261267334072119958365456154985369347906942978937839012904846011366632070706499505380607216843913610303759027920367786552169903102668500474954781896446962339286067173039654554544810472318789948090172534822847645190707797883518230010095462711058929839570331432617796452424673262561693504167217624039450278829514608671631965519309911729835648892404033E+000000000000000861");
+ return val;
+ }
+
+ static const mp_float& A006882_712(void)
+ {
+ static const mp_float val("+3.539637365457433544153395759100735533225034017422099378441434540011631133050430843573935779661273103196975652158883409736895983382181497809113620046918949159034167831028923251228492185065695772513200841350272868098109824173402112830076494681494679597451695079691200674634615992530436116721813626636523497680913915162880380259694200548794788194461070237772423882361113946110577582106935943194268879847855452002974446093156211575204E+000000000000000862");
+ return val;
+ }
+
+ static const mp_float& A006882_713(void)
+ {
+ static const mp_float val("+7.543899160180078797872280215872617179251302504251746560861147542097281056414083646822836091934215303145702385045683450576503439826792162011552061044086664137341473363729456097104041465801869072222318116971409122026408386427594921666841479109658943772736973904498667632972329882930173286903710209746598909484979971980649129850169756136463114564888705787920362064874684712261659401280488054439159828735914152679670633728176602840756E+000000000000000863");
+ return val;
+ }
+
+ static const mp_float& A006882_714(void)
+ {
+ static const mp_float val("+2.52730107893660755052552457199792517072267428843937895620718426156830462899800762231179014667814899568264061564144275455214373213487758943570712471350012969955039583135465120137714342013690678157442540072409482782205041445980910856067461720258720123258051028689951728168911581866673138733937492941847777734417253542629659150542165919183947877084520414976951065200583535752295239362435226344070798021136879273012375451051353506E+000000000000000865");
+ return val;
+ }
+
+ static const mp_float& A006882_715(void)
+ {
+ static const mp_float val("+5.393887899528756340478680354348921283164681290539998791015720492599555955336069807478327805732963941749177205307663667162199959476156395838259723646521964858199153455066561109429389648048336386638957453634557522248881996295730368991791657563406144797506936341716547357575215866295073900136152799968818220281760679966164127842871375637571126913895424638363058876385399569267086471915548958923999277546178619165964503115646271031E+000000000000000866");
+ return val;
+ }
+
+ static const mp_float& A006882_716(void)
+ {
+ static const mp_float val("+1.80954757251861100617627559355051442223743479052259533264434393128290611436257345757524174502155468090877068079927301225933491220857235403596630129486609286487808341524993026018603468881802525560728858691845189672058809675322332172944302591705243608252764536542005437368940692616537967333499244946363008857842753536522835951788190798135706679992516617123496962683617811598643391383503622062354691383134005559476860822952769110632E+000000000000000868");
+ return val;
+ }
+
+ static const mp_float& A006882_717(void)
+ {
+ static const mp_float val("+3.867417623962118296123213814068176560029076485317179133158271593193881619975962051961961036710535146234160056205594849355297370944404135816032221854556248803328793027282724315460872377650657189220132494255977743452448391344038674567114618472962205819812473357010764455381429776133567986397621557577642663942022407535739679663338776332138497997263019465706313214368331491164501000363448603548507482000610069941996548733918376329327E+000000000000000869");
+ return val;
+ }
+
+ static const mp_float& A006882_718(void)
+ {
+ static const mp_float val("+1.299255157068362702434565876169269355166478179595223448838638942661126590112327742539023572925476260892497348813878022802202466965754950197823804329713854676982463892149449926813572906571342133526033205407448461845382253468814345001740092608443649107254849372371599040308994172986742605454524578714886403599310970392233962133839209930614373962346269310946708192068375887278259550133556006407706684130902159917043860708800882214339E+000000000000000871");
+ return val;
+ }
+
+ static const mp_float& A006882_719(void)
+ {
+ static const mp_float val("+2.7806732716287630549125907323150189466609059929430517967407972755064008847627167153606499853948747701423610804118226966864588097090265736517271675134259428895934021866162787828163672395308225190492752633700479975423103933763638070137554106820598259844451683436907396434192480090400353822198898998983250753743141110181968296779405801828075800600321109958428392011308303421472762192613195459513768795584386402882955185396873125E+000000000000000872");
+ return val;
+ }
+
+ static const mp_float& A006882_720(void)
+ {
+ static const mp_float val("+9.35463713089221145752887430841873935719864289308560883163820038716011144880875974628096972506342907842598091145992176417585776215343564142433139117393975367427374002347603947305772492731366336138743907893362892528675222497546328401252866678079427357223491548107551309022475804550454675927257696674718210591503898682408452736364231150042349252889313903881629898289230638840346876096160324613548812574249555140271579710336635194E+000000000000000873");
+ return val;
+ }
+
+ static const mp_float& A006882_721(void)
+ {
+ static const mp_float val("+2.0048654288443381625919779179991286605425132209119403454501148356401150379139187517750286394697047092726423389769241643109368018002081596028952877771801048233968429765503370024106007797017230362345274648898046062280057936243583048569176511017651345347849663758010232829052778145178655105805406178266923793448804740441199141977951583118042652232831520280026870640153286766881861540874113926309427301616342596478610688671145523707E+000000000000000875");
+ return val;
+ }
+
+ static const mp_float& A006882_722(void)
+ {
+ static const mp_float val("+6.75404800850417667233584725067832981589742016880780957644278067952960046603992453681486014149579579462355821807406351373496930427478053310836726442758450215282564029694970049954767739752046494692173101499008008405703510643228449105704569741573346551915360897733652045114227530885428276019480056999146548047065814848698902875654974890330576160586084638602536786564824521242730444541427754370982242678608178811276080550863050610302E+000000000000000876");
+ return val;
+ }
+
+ static const mp_float& A006882_723(void)
+ {
+ static const mp_float val("+1.449517705054456491554000034713370021572237058719332869760433026167803172411763257533345706336596504804120411080316170796807307701550499392893293062901215787315917472045893652742864363724345755197563357115328730302848188790411054411551461746576192268649530689704139833540515859896416764149730866688698590266348582733898697965005899459434483756433718916245942747283082633245558589405198436872171593906861569725403552790923821364050E+000000000000000878");
+ return val;
+ }
+
+ static const mp_float& A006882_724(void)
+ {
+ static const mp_float val("+4.889930758157023910771153409491110786709732202216854133344573211979430737412905364653958742442956155307456149885621983944117776294941105970457899445571179558645763574991583161672518435804816621571333254852817980857293417056973971525301084928991029035867212899591640806627007323610500718381035612673821007860756499504580056819742018205993371402643252783482366334729329533797368418479936941645911436993123214593638823188248486418588E+000000000000000879");
+ return val;
+ }
+
+ static const mp_float& A006882_725(void)
+ {
+ static const mp_float val("+1.05090033616448095637665002516719326563987186757151633057631394397165729999852836171167563709403246598298729803322922382768529808362411205984763747060338144580404016723327289823857666370015067251823343390861332946956493687304801444837480976626773939477090975003550137931687399842490215400855487834930647794310272248207655602462927710809000072341444621427830849178023490910302997731876886673232440558247463805091757577341977048E+000000000000000881");
+ return val;
+ }
+
+ static const mp_float& A006882_726(void)
+ {
+ static const mp_float val("+3.550089730421999359219857375290546431151265578809436100808160151897066715361769294738774047013586168753213164816961560343429505590127242934552434997484676359576824355443889375374248384394296867260787943023145854102395020783363103327368587658447487080039596565103531225611207316941223521544631854801194051706909218640325121251132705217551187638319001520808197959013493241536889471816434219634931703257007453794981785634668401139E+000000000000000882");
+ return val;
+ }
+
+ static const mp_float& A006882_727(void)
+ {
+ static const mp_float val("+7.6400454439157765528582456829654950412018684772449237232898023726739485709893011896438818816736160276963176567015764572272721170679472946750923244112865831109953720157858939701944523451000953892075570645156189052437370910670590650396848670007664653999845138827580950276336739685490386596421939655994580946463567924446965622990548445758143052592230239778033027352423077891790279351074496611439984285845906186301707758727617314545E+000000000000000883");
+ return val;
+ }
+
+ static const mp_float& A006882_728(void)
+ {
+ static const mp_float val("+2.584465323747215533512056169211517801878121341373269481388340590581064568783368046569827506225890730852339183986748015930016680069612632856354172678168844389771928130763151465272452823839048119365853622520850181786543575130288339222324331815349770594268826299395370732244958926733210723684491990295269269642629911170156688270824609398377264600696233107148368114161823079838855535482364111894230279971101426362746739942038596029843E+000000000000000885");
+ return val;
+ }
+
+ static const mp_float& A006882_729(void)
+ {
+ static const mp_float val("+5.569593128614601107033661102881845885036162119911549394278265929679308508251200567250389891740066084190615571735449237318681373342533577818142304495827919087915626199507916704271755759577969538732309100031886181922684339387886058413930268043558753276588710620530651275144948323072249182879159400922004950997194101692183793916010981695768628533973584479818607693991642378311511364693330802973974854438166560981394495611243302230379E+000000000000000886");
+ return val;
+ }
+
+ static const mp_float& A006882_730(void)
+ {
+ static const mp_float val("+1.8866596863354673394638010035244079953710285792024867214134886311241771352118586739959740795449002335222076043103260516289121764508172219851385460550632564045335075354571005696488905614025051271370731444402206327041768098451104876322967622252053325338162431985586206345388200165152438282896791529155465668391198351542143824377019648608154031585082501682183087233381308482823645409021258016827881043789040412448051201576881751E+000000000000000888");
+ return val;
+ }
+
+ static const mp_float& A006882_731(void)
+ {
+ static const mp_float val("+4.07137257701727340924160626620662934196143450965534260721741239459557451953162761466003501086198830754333998293861339247995608391339204538506202458645020885326632275184028711082265346025149573281331795212330879898548225209254470870058302593984144864518634746360790608213095722416581415268466552207398561917894888833698635335260402761960686745833469025474740222430789057854571480759082481697397561859429975607739937629181885393E+000000000000000889");
+ return val;
+ }
+
+ static const mp_float& A006882_732(void)
+ {
+ static const mp_float val("+1.3810348903975620924875023345798666526115929199762202800746736779828976629750805493650530262268669709382559663551586697923637131619982064931214157123063036881185275159545976169829878909466337530643375417302415031394574248066208769468412299488503034147534900213449103044824162520891584823080451399341800869262357193328849279443978382781168751120280391231358019854835117809426908439403560868318008924053577581911973479554277441745E+000000000000000891");
+ return val;
+ }
+
+ static const mp_float& A006882_733(void)
+ {
+ static const mp_float val("+2.98431609895366140897409739312945930765773149557736613109036328523855612281668304154580566296183742942926820749400361668780780950851636926725046402186800308944421457709893045223300498636434637215216205890638534965635849078383527147752735801390378185692159269082459515820199164531354177391785982768023145885816953515101099700745875224517183384695932795672984583041768379407400895396407459084192412842962172120473374282190321993098E+000000000000000892");
+ return val;
+ }
+
+ static const mp_float& A006882_734(void)
+ {
+ static const mp_float val("+1.013679609551810575885826713581622123016909203262545685574810479639446884623709123233948921250520356668679879304686463627594965460906683565951119132832826907078999196710674650865513111954829174749223755629997263304361749808059723678981462782456122706429061675667164163490093529033442326014105132711688183803857017990337537111188013296137786332228580716381678657344897647211935079452221367734541855025532594512338853399283964224088E+000000000000000894");
+ return val;
+ }
+
+ static const mp_float& A006882_735(void)
+ {
+ static const mp_float val("+2.193472332730941135595961583950152591128432649249364106351417014650338750270262035536167162276950510630512132508092658265538739988759531411429091056072982270741497714167713882391258664977794583531839113296193231997423490726118924535982608140219279664837370627756077441278463859305453203829626973344970122260754608335993082800482182900201297877515106048196436685356997588644396581163594824268814234395771965085479300974098866649277E+000000000000000895");
+ return val;
+ }
+
+ static const mp_float& A006882_736(void)
+ {
+ static const mp_float val("+7.4606819263013258385196846119607388254044517360123362458306051301463290708304991470018640604038298250814839116824923722990989457922731910454002368176496060361014340877905654303701765039875427261542868414367798579201024785873195662773035660788770631193178939329103282432870883736861355194638137767580250327963876524088842731383437778595741074052023540725691549180584466834798421847683492665262280529879198956108139610187299766E+000000000000000896");
+ return val;
+ }
+
+ static const mp_float& A006882_737(void)
+ {
+ static const mp_float val("+1.616589109222703616934223687371262459661654862496781346380994339797299658949183120190155198598112526334687441658464289141702051371715774650223240108325787933536483815341605131322357636088634608062965426499294411982101112665149647383019182199341609112985142152656229074222227864308119011222435079355242980106176146343626902023955368797448356535728633157520773837108107222830920280317569385486116090749683938267998244817910864720E+000000000000000898");
+ return val;
+ }
+
+ static const mp_float& A006882_738(void)
+ {
+ static const mp_float val("+5.5059832616103784688275272436270252531484853811771041494229865860479908542729083704873756765780264109101351268216793707567350219946976149915053747714254092546428583567894372876131902599428065319018636889803435351450356291974418399126500317662112725820566057224878222435458712197803680133642945672474224742037340874777565935760977080603656912650393373055560363295271336524081235323590417586963563031050848829607807032318227227966E+000000000000000899");
+ return val;
+ }
+
+ static const mp_float& A006882_739(void)
+ {
+ static const mp_float val("+1.194659351715577972914391304967362957689962943385121414975554817110204447963446325820524691764005156961334019385605109675717815963697957466514974440052757282883461539537446192047222293069500975358531450182978570454772722259545589416051175645313449134496020050812953285850226391723699949293379523643524562298464172147940280595703017541314335479903459903407851865622891237672050087154683775874239791064016430380050702920436129028461E+000000000000000901");
+ return val;
+ }
+
+ static const mp_float& A006882_740(void)
+ {
+ static const mp_float val("+4.074427613591680066932370160283998687329879182071057070573010073675513232161952194160658000667739544073499993848042734359983916276076235093713977330854802848435715184024183592833760792357676833607379129845454216007326365606106961535361023506996341710721888234640988460223944702637472329889577979763092630910763224733539879246312303964670611536129109606111466883850078902782011413945690901435303664297762813390977720391548814869555E+000000000000000902");
+ return val;
+ }
+
+ static const mp_float& A006882_741(void)
+ {
+ static const mp_float val("+8.852425796212432779295639569808159516482625410483749684968861194786614959409137274330087965971278213083485083647333862697069016291001864826875960600790931466166450007972476283069917191645002227406718045855871207069865871943232817572939211531772658086615508576523983848150177562672616624263942270198517006631619515616237479214159359981139225906084637884252182324265624071149891145816206779228116851784361749116175708640431716100903E+000000000000000903");
+ return val;
+ }
+
+ static const mp_float& A006882_742(void)
+ {
+ static const mp_float val("+3.02322528928502660966381865893072702599877035309672434636517347466723081826416852806720823649546274170253699543524770889510806587684856643953577117949426371353930066654594422588265050792939621053667531434532702827743616327973136545923787944219128554935564107010361343748616696935700446877806686098421473213578631275228659040076372954178559375980779932773470842781675854586425246914770264886499531890894000753610546853052922063E+000000000000000905");
+ return val;
+ }
+
+ static const mp_float& A006882_743(void)
+ {
+ static const mp_float val("+6.577352366585837555016660200367462520746590679989426015931863867726454914840988994827255358716659712321029417149969059983922279104214385566368838726387662079361672355923549878320948473392236654963191508070912306852910342853821983456693834168107084958355322872357319999175581929065754151828109106757498135927293300102864447056120404465986444848220885947999371466929358684864369121341441636966490820875780779593318551519840765062E+000000000000000906");
+ return val;
+ }
+
+ static const mp_float& A006882_744(void)
+ {
+ static const mp_float val("+2.24927961522805979758988108224446090734308514270396291369568906515241972878854138488200292795262427982668752460382429541796040101237533343101461375754373220287323969591018250405669197789947078063928643387292330903841250548012013590167298230499031644872059695615708839748970822520161132477088174457225576070902501668770122325816821477908848175729700269983462307029566835812300383704589077075555651726825136560686246858671374015110E+000000000000000908");
+ return val;
+ }
+
+ static const mp_float& A006882_745(void)
+ {
+ static const mp_float val("+4.900127513106448978487411849273759577956210056592122381869238581456208911556536801146305242243911485679166915776726949688022097932639717246944784851158808249124445905163044659349106612677216307947577673512829668605418205426097377675236906455239778293974715539906203399385808537153986843111941284534336111265833508576634013056809701327159901411924560031259531742862372220223954995399374019540035661552456680797022320882281369971913E+000000000000000909");
+ return val;
+ }
+
+ static const mp_float& A006882_746(void)
+ {
+ static const mp_float val("+1.677962592960132609002051287354367836877941516457156333616984042603705117676251873121974184252657712750708893354452924381798459155231998739536901863127624223343436813148996148026292215513005202356907679669200788542655729088169621382648044799522776070745565329293187944527322336000402048279077781450902797488932662449025112550593488225200007390943564014076628810440568595159760862436234514983645161882115518742719401565688450152727E+000000000000000911");
+ return val;
+ }
+
+ static const mp_float& A006882_747(void)
+ {
+ static const mp_float val("+3.6603952522905173869300966514074984047332889122743154192563212203477880569327329904562900159562018798023376860852150314169525071556818687834677542838156297620959610911567943605337826396698805820368405221140837624482473994532947411234019691220641143855991125083099339393411989772540281718046201395471490751155776309067456077534368468913884463547076463433508702119181920485072943815633323925964066391796851405553756736990641833E+000000000000000912");
+ return val;
+ }
+
+ static const mp_float& A006882_748(void)
+ {
+ static const mp_float val("+1.255116019534179191533534362941067141984700254309952937545504063867571428021836401095236689820987969137530252229130787437585247448113535057173602593619462919060890736235449118723666577203727891362966944392562189829906485357950876794220737510043036500917682866311304582506437107328300732112750180525275292521721631511870784187843929192449605528425785882529318350209545309179501125102303417207766581087822408019554112371134960714E+000000000000000914");
+ return val;
+ }
+
+ static const mp_float& A006882_749(void)
+ {
+ static const mp_float val("+2.7416360439655975228106423919042163051452333952934622490229845940404932546426170098517612219511952079719509268778260585312974278596057197188173479585779066918098748572764389760398031971127405559455935510634487380737373021905177611014280748724260216748137352687241405205665580339632671006816604845208146572615676455491524602073241983216499463196760271111698017887267258443319634917909359620547085727455841702759763796005990733433E+000000000000000915");
+ return val;
+ }
+
+ static const mp_float& A006882_750(void)
+ {
+ static const mp_float val("+9.41337014650634393650150772205800356488525190732464703159128047900678571016377300821427517365740976853147689171848090578188935586085151292880201945214597189295668052176586839042749932902795918522225208294421642372429864018463157595665553132532277375688262149733478436879827830496225549084562635393956469391291223633903088140882946894337204146319339411896988762657158981884625843826727562905824935815866806014665584278351220535679E+000000000000000916");
+ return val;
+ }
+
+ static const mp_float& A006882_751(void)
+ {
+ static const mp_float val("+2.058968669018163739630792436320066445164070279865390149016261430124410434236605374398672677685347601186935146085247369957004368322563895508831828316892007925549216017814605671005892201031668157515140756848650002293376713945078838587172484229191942277785115186811829530945485083506413592611927023875131807603437301807413497615700472939559109686076696360488521143333771109093304582334992907503086138131933711877258261080049904080890E+000000000000000918");
+ return val;
+ }
+
+ static const mp_float& A006882_752(void)
+ {
+ static const mp_float val("+7.078854350172770640249133806987618680793709434308134567756642920213102854043157302177134930590372145935670622572297641147980795607360337722459118628013770863503423752367933029601479495429025307287133566374050750640672577418842945119404959556642725865175731365995757845336305285331616129115911018162552649822510001726951222819439760645415775180321432377465355495181835543772386345576991273051803517335318381230285193773201178428310E+000000000000000919");
+ return val;
+ }
+
+ static const mp_float& A006882_753(void)
+ {
+ static const mp_float val("+1.55040340777067729594198670454901003320854492073863878220924485688368105698016384692220052629706674369376216500219126957762428934689061331815036672261968196793855966141439807026743682737684612260890098990703345172691266560064436545614088062458153253517219173566930763680195026788032943523678104897797425112538828826098236370462245612348800959361575235944785642093032964514725835049824965934982386201334608504357547059327757777E+000000000000000921");
+ return val;
+ }
+
+ static const mp_float& A006882_754(void)
+ {
+ static const mp_float val("+5.337456180030269062747846890468664485318456913468333464088508761840679551948540605841559737665140598035495649419512421425577519887949694642734175445522383231081581509285421504319515539553485081694498709046034265983067123373807580620031339505708615302342501449960801415383574185140038561353396907694564697966172541302121222005857579526643494485962360012608878043367104000004379304565051419881059852070830059447635036104993688534E+000000000000000922");
+ return val;
+ }
+
+ static const mp_float& A006882_755(void)
+ {
+ static const mp_float val("+1.17055457286686135843619996193450257507245141515767228056797986694717919802002370442626139735428539148879043457665440853110633845690241305520352687557785988579361254436787054305191480466951882256972024737981025605381906252848649591938636487155905706405500476043032726578547245224964872360376969197837055959966815763704168459698995437323344724317989303138313159780239888208618005462617849280911701582007629420789948029792457121854E+000000000000000924");
+ return val;
+ }
+
+ static const mp_float& A006882_756(void)
+ {
+ static const mp_float val("+4.035116872102883411437372249194310350900753426582060098850912623951553741273096698016219161674846292114834710961151390597736605035289969149907036636814921722697675621019778657265553747902434721761041024038801905083198745270598530948743692666315713168570931096170365870029982083965869152383168062217090911662426441224403643836428330122142481831387544169532311800785530624003310754251178873430081248165547524942412087295375228532419E+000000000000000925");
+ return val;
+ }
+
+ static const mp_float& A006882_757(void)
+ {
+ static const mp_float val("+8.861098116602140483362033711844184493298457212743579163899607592790146529011579442506798777971940413570143589745273872580474982118751266827890698448124399335457646960864780010902995071348257486852782272665163638327410303340642774109754782077702061974896386036457577401996026463529840837680536568276265136169487953312405552399213954605377195630871790247570306195364159537392383013520171190565015809757977547153799065855289004124402E+000000000000000926");
+ return val;
+ }
+
+ static const mp_float& A006882_758(void)
+ {
+ static const mp_float val("+3.0586185890539856258695281648892872459827710973492015549289917689552777358850072970962941245495334894230447109085527540730843466167497966156295337707057106658048381207329922222072897409100455190948690962214118440530646489151136864591477190410673105817767657708971373294827264196461288175064413911605549110401192424480979620280126742325840012281917584805054923449954322129945095517223935860600015861094850239063483621698944232E+000000000000000928");
+ return val;
+ }
+
+ static const mp_float& A006882_759(void)
+ {
+ static const mp_float val("+6.72557347050102462687178358728973603041352902447237658539980216292772121551978879686266027248070277389973898461666286928858051142813221152236904012212641909561235404329636802827537325915332743252126174495285920149050442023554786554930387959697586503894635700167130124811498408581914919579952725532168523835264135656411581427100339154548129148383168879790586240228139708888081870726180993363884699960630495828973349098416435413E+000000000000000929");
+ return val;
+ }
+
+ static const mp_float& A006882_760(void)
+ {
+ static const mp_float val("+2.3245501276810290756608414053158583069469060339853931817460337444060110792726055457931835346576454519615139802905000930955441034287298454278784456657363401060116769717570740888775402030916345945121005131282730014803291331754864017089522664712111560421503419858818243704068720789310579013048954572820217323904906242605544511412896324167638409334257364451841741821965284818758272593090191254056012054432086181688247552491197616529E+000000000000000931");
+ return val;
+ }
+
+ static const mp_float& A006882_761(void)
+ {
+ static const mp_float val("+5.11816141105127974104942730992748911914469558762347858148924944598799584501055927441248446735781481093770136729328044352860976919680861296852283953293820493176100142694853606951755905021568217614868018790912585233427386379925192568302025237329863329463817767827186024981550288930837253800344024129980246638636007234529213466023358096611126281919591517520636128813614318463830303622623735949916256670039807325848718663894907349325E+000000000000000932");
+ return val;
+ }
+
+ static const mp_float& A006882_762(void)
+ {
+ static const mp_float val("+1.771307197292944155653561150850684029893542397896869604490477713237380442405725425894405853409125834394673652981361070938804606812692142216043375597291091160780897852478890455724685634755825561018220591003744027128010799479720638102221627051062900904118560593241950170250036524145466120794330338448900560081553855686542491769662699901574046791270411171230340726833754703189380371593472573559068118547724967044644463499829258379553E+000000000000000934");
+ return val;
+ }
+
+ static const mp_float& A006882_763(void)
+ {
+ static const mp_float val("+3.905157156632126442420713037474674197907402733356714157676297327288840829743056726376725648594012700745466143244772978412329253897164971694982926563631850362933644088761733021041897555314565500401442983374663025331050958078829219296144452560826857203808929568521429370609228704542288246496624904111749281852792735199457898745758222277142893531046483278682453662847877249879025216640619105297861038392403729896225723405518143075350E+000000000000000935");
+ return val;
+ }
+
+ static const mp_float& A006882_764(void)
+ {
+ static const mp_float val("+1.35327869873180933491932071924992259883866639199320837783072497291335865799797422538332607200457213747753067087775985819724671960489679665305713895633039364683660595929387230817365982495345072861792053152686043672580025080250656751009732306701205629074658029323684993007102790444713611628686837857496002790230714574451846371202230272480257174853059413481998031530098859323668660389741304619912804257046187482210837011386955340E+000000000000000937");
+ return val;
+ }
+
+ static const mp_float& A006882_765(void)
+ {
+ static const mp_float val("+2.987445224823576728451845473668125761399163091017886330622367455375963234753438395678195121174419716070281599582251328485431879231331203346661938821178365527644237727902725761097051629815642607807103882281617214378253982930304352761550506209032545760913831119918893468516059958974850508569918051645488200617386442427585292540505040042014313551250559708192077052078626096157454290730073615552863694370188853370612678405221379452E+000000000000000938");
+ return val;
+ }
+
+ static const mp_float& A006882_766(void)
+ {
+ static const mp_float val("+1.03661148322856595054819967094544071071041845626679761741833532925163273202644825664362777115550225730778849389236405137909098721735094623624176844054908153347684016481910618806102342591434325812132712714957509453196299211472003071273454946933123511871188050461942704643440737480650626507574117798841938137316727364030114320340908388719876995937443510727210492152055726241930193858541839338853208060897379611373501150722407790591E+000000000000000940");
+ return val;
+ }
+
+ static const mp_float& A006882_767(void)
+ {
+ static const mp_float val("+2.291370487439683350722565478303452458993158090810718815587355838273363801055887249485175657940779922225905986879586768948326251370431032966889707075843806359703130337301390658761438600068597880188048677710000403428120804907543438568109238262327962598620908468977791290351817988533710340073127145612089449873535401341957919378567365712224978493809179296183323098944306215752767440989966463129046453581934850535259924336804798040177E+000000000000000941");
+ return val;
+ }
+
+ static const mp_float& A006882_768(void)
+ {
+ static const mp_float val("+7.961176191195386500210173472860984658256013744129005701772815328652539381963122611023061282474257336123815633093355914591418781829255267094336781623416946177102132465810735524308659911022156222371792336508736726005475779441049835873801339924463885711707242275477199716616248638513968115781692246951060848945924661557512779802181764253686553287995661623849765797277879775380238888336013261223926379076918754153484888375480918317429E+000000000000000942");
+ return val;
+ }
+
+ static const mp_float& A006882_769(void)
+ {
+ static const mp_float val("+1.7620639048411164967056528528153549409657385718334427691866766396322167630119772948541000809564597601917217039104022253212628873038614643515381847413238870906117072293847694165875462834527517698646094331589903102362248989739009042588760042237302032383394786126439215022805480331824232515162347749756967869527487236319656400021183042327010084617392588787649754630881714799138781621212842101462367228045079000616148818150028896E+000000000000000944");
+ return val;
+ }
+
+ static const mp_float& A006882_770(void)
+ {
+ static const mp_float val("+6.13010566722044760516183357410295818685713058297933439036506780306245532411160441048775718750517814881533803748188405423539246200852655566263932185003104855636864199867426635371766813148706029122628009911172727902421635016960837362282703174183719199801457655211744378179451145165575544915190303015231685368836198939928484044767995847533864603175665945036431966390396742704278394401873021114242331188922744069818336404912030710E+000000000000000945");
+ return val;
+ }
+
+ static const mp_float& A006882_771(void)
+ {
+ static const mp_float val("+1.3585512706325008189600583495206386594845844388835843750429276891564391242822344943325111624174304751078174337149201157226936861112771890150359404355607169468616262738556572201889981845420716145656138729655815291921293971088775971835933992564959866967597380103484634782583025335836483269190170115062622227405692659202455084416332125634124775240009685955277960820409802110136000629955101260227485132822755909475050738793672279532E+000000000000000947");
+ return val;
+ }
+
+ static const mp_float& A006882_772(void)
+ {
+ static const mp_float val("+4.73244157509418555118493551920748372025370481006004614936183234396421551021415860489654854875399753088544096493601448986972298067058250097155755646822396948551659162297653362507003979750801054482668823651425345940669502233093766443682246850469831222246725309823466659954536284067824320674526913927758861104741545581624789682560892794296143473651614109568125478053386285367702920478245972300195079677848358421899755704592087708461E+000000000000000948");
+ return val;
+ }
+
+ static const mp_float& A006882_773(void)
+ {
+ static const mp_float val("+1.050160132198923133056125104179453683781583771257010721908183103717927443070167264119031128548673757258342876261633249453642219364017267108622781956688434199924037109690423031206095596651021358059219523802394522065516023965162382622917697625271397716595277481999362268693667858460160156708400149894340698178460042556349778025382473311517845126052748724342986371417677703113512848695529327415584600767199031802421422108750867207841E+000000000000000950");
+ return val;
+ }
+
+ static const mp_float& A006882_774(void)
+ {
+ static const mp_float val("+3.662909779122899616617140091866592399476367522986475719606058234228302804905758760189928576735594088905331306860475215159165587039030855751985548706405352381789841916183837025804210803271200161695856695062032177580781947284145752274100590622636493660189653898033631948048110838684960242020838313800853584950699562801775872143021310227852150486063493208057291200133209848746020604501623825603509916706546294185504109153542758863490E+000000000000000951");
+ return val;
+ }
+
+ static const mp_float& A006882_775(void)
+ {
+ static const mp_float val("+8.1387410245416542811849695573907660493072742272418330947884190538139376837937962969224912462522216187521572910276576832657272000711338200918265601643353650494112876001007784918472408740454155249589513094685575460077491857300084653276121565958533323036134004854950575823759259030662412144901011616811404108830653298117107796967141681642632997269088026136581443784870021991297245773903522874707806559457924964687660213428192208E+000000000000000952");
+ return val;
+ }
+
+ static const mp_float& A006882_776(void)
+ {
+ static const mp_float val("+2.842417988599370102494900711288475701993661197837505158414301189761162976606868797907384575546821012990537094123728766963512495542287944063540785796170553448268917326958657532024067583338451325475984795368136969802686791092497103764702058323165919080307171424874098391685334010819529147808170531509462381921742860734178076782984536736813268777185270729452457971303370842626911989093260088668323695364279924287951188703149180878E+000000000000000954");
+ return val;
+ }
+
+ static const mp_float& A006882_777(void)
+ {
+ static const mp_float val("+6.3238017760688653764807213460926252203117520745669043146506016048134295803077797227087756983379761977704262151284900198974700344552709782113492372476885786433925704652783048881653061591332878628931051674570692132480211173122165775595546456749780391999076121772296597415060944266824694236588086026262460992561417612636992758243469086636325838878081396308123781820844007087237959966323037273647965696698807697562311985833705346088E+000000000000000955");
+ return val;
+ }
+
+ static const mp_float& A006882_778(void)
+ {
+ static const mp_float val("+2.211401195130309939741032753382434096151068411917579013246326325634184795800143924771945199775426748106637859228260980697612721531900020481434731349420690582753217680373835559914724579837315131220316170796410562506490323469962746728938201375423085044478979368552048548731189860417593676994756673514361733135115945651190543737161969581240723108650140627514012301674022515563737527514556348983955834993409781096026024811050062723137E+000000000000000957");
+ return val;
+ }
+
+ static const mp_float& A006882_779(void)
+ {
+ static const mp_float val("+4.926241583557646128278481928606155046622854866087618461112818650149661643059760403990136269005283458063162021585093725500129156840656092026641055815949402763202812392451799507880773497964831245193728925449056917120208450386216713918893068980807892536728029886061904938633247558385643681030211901445845711320534432024421735867166241848969782848602540772402842603843748152095837081376564603617176527772837119640104103696445646460270E+000000000000000958");
+ return val;
+ }
+
+ static const mp_float& A006882_780(void)
+ {
+ static const mp_float val("+1.7248929322016417529980055476382985949978333612957116303321345339946641407241122613221172558248328635231775301980435649441379227948820159755190904525481386545475097906915917367334851722731058023518466132212002387550624523065709424485717970728300063346936039074705978680103280911257230680559102053412021518453904376079286241149863362733677640247471096894609295953057375621397152714613539522074855512948596292549002993526190489E+000000000000000960");
+ return val;
+ }
+
+ static const mp_float& A006882_781(void)
+ {
+ static const mp_float val("+3.84739467675852162618549438624140709141244965041443001812911136576688574322967287551629642609312638074732953885795819961560087149255240787280666459225648355806139647850485541565488410191053320249630229077571345227088279975163525357065548687401096407118459134101434775707256634309918771488459549502920550054133739141107337571225683488404540040475858434324662007360196730678684876055509695542501486819058579043892130498692404988E+000000000000000961");
+ return val;
+ }
+
+ static const mp_float& A006882_782(void)
+ {
+ static const mp_float val("+1.3488662729816838508444403382531495012883056885332464949197292055838273580462557883538956940550192992751248286148700677863158556255977364928559287338926444278561526563208247381255854047175687374391440515389785867064588377037384769947831453109530649537303982556420075327840765672603154392197217805768200827430953222094001840579193149657735914673522397771584469435290867735932573422827787906262537011125802300773320340937480962586E+000000000000000963");
+ return val;
+ }
+
+ static const mp_float& A006882_783(void)
+ {
+ static const mp_float val("+3.01251003190192243330324210442702175257594807627449870419509419939547153694883386152926010163091795612515902892578127029901548237866853536440761837573682662596207344266930179045777425179594749755460469367738363312810123220553040354582324622235058486773753502001423429378781944664666398075463827260786790692386717747487045318269710171420754851692597154076210351763034040121410257951464091609778664179322867391367538180476153106032E+000000000000000964");
+ return val;
+ }
+
+ static const mp_float& A006882_784(void)
+ {
+ static const mp_float val("+1.057511158017640139062041225190469209010031659810065252017067697177720648708264538069454224139135130631697865634058133144471630810468625410399048127371833231439223682555526594690458957298573890152288936406559211977863728759730965963909985923787202923724632232423333905702716028732087304348261875972226944870586732612169744301408742933166495710404155985292222403726804030497113756349698571850982901672262900380628314729498507466746E+000000000000000966");
+ return val;
+ }
+
+ static const mp_float& A006882_785(void)
+ {
+ static const mp_float val("+2.364820375043009110143045051975212075772119239875481482793148946525445156504834581300469179780270595558249837706738297184727153667254800261059980424953408901380227652495401905509352787659818785580364684536746152005559467281341366783471248284545209121173964990711173920623438265617631224892391043997176306935235734317773305748417224845652925585786887659498251261339817214953070524918993119136762513807684509022235174716737801882354E+000000000000000967");
+ return val;
+ }
+
+ static const mp_float& A006882_786(void)
+ {
+ static const mp_float val("+8.3120377020186514930276440299970879828188488461071128808541520998168842988469592692259102017336021267651452238836969265155470181702833957257365182811426091991122981448864390342670074043667907765969910401555554061460089080514853924763324893609674149804756093468474044988233479858342062121773383451417037866828117183316541902090727194546886562837766660443968680932926796797073141249086307747487256071439863969917385537738582686E+000000000000000968");
+ return val;
+ }
+
+ static const mp_float& A006882_787(void)
+ {
+ static const mp_float val("+1.861113635158848169682576455904491903632657841782003926958208220915525338169304815483469244487072958704342622275203039884380269936129527805454204594438332805386239162513881299635860643888277384251747006730419221628375300750415655658591872399937079578363910447689693875530645915041075773990311751625777753558030522908087591624004355953528852436014280588025123742674436148168066503111247584760632098366647708600499082502072650081E+000000000000000970");
+ return val;
+ }
+
+ static const mp_float& A006882_788(void)
+ {
+ static const mp_float val("+6.5498857091906973765057834956377053304612528907324049501130718546557048274914039041500172389660784758909344364203531780942510503181833158318803764055403760489004909381705139590024018346410311319584289396425776600430550195445704892713500016164423230046147801653157547450727982128373544951957426159716625839060556340453435018847493029302946611516160128429847320575146315876093635304280010505019957784294612808294899803738003157266E+000000000000000971");
+ return val;
+ }
+
+ static const mp_float& A006882_789(void)
+ {
+ static const mp_float val("+1.468418658140331205879552823708644111966167037166001098370026286302349491815581499416457233900300564417726328975135198468776032979606197438503367425011844583449742699223452345412694048027850856174628388310300765864788112292077952314628987323550355787329125343227168467793679626967408785678355972032738647557286082574481109791339436847334264572015267383951822632970130120904604470954774344376138725611285042085793776094135320914234E+000000000000000973");
+ return val;
+ }
+
+ static const mp_float& A006882_790(void)
+ {
+ static const mp_float val("+5.174409710260650927439568961553787211064389783678599910589326765178006813718209084278513618783201995953838204772079010694458329751364819507185497360376897078631387841154706027611897449366414594247158862317636351434013465440210686524366501276989435173645676330599446248607510588141510051204636666617613441285783950895821366488951949314932782309776650145957938325436558954211397189038120829896576664959274411855297084495302249424042E+000000000000000974");
+ return val;
+ }
+
+ static const mp_float& A006882_791(void)
+ {
+ static const mp_float val("+1.1615191585890019838507262835535374925652381263983068688106907924651584480261249660384176720151377464544215262193319419888018420868685021738561636331843690655087464750857508052214409919900300272341310551534479057990473968230336602808715289729283314277773381464926902580248005849312203494715795738778962702178132913164145578449494945462414032764640765007058917026793729256355421365252265064015257319585264682898628768904610388E+000000000000000976");
+ return val;
+ }
+
+ static const mp_float& A006882_792(void)
+ {
+ static const mp_float val("+4.09813249052643553453213861755059947116299670867345112918674679802098139646482159474858278607629598079543985817948657647001099716308093704969091390941850248627605917019452717386862277989820035864374981895556799033573866462864686372729826901137563265752737565383476142889714838580807596055407223996114984549834088910949052225924994385742676358934310691559868715374575469173542657371819169727808871864774533418939529092027938154E+000000000000000977");
+ return val;
+ }
+
+ static const mp_float& A006882_793(void)
+ {
+ static const mp_float val("+9.210846927610785731936259428579552316042338342338573469668777984248706492847170980684652139080042329383562702919302299971198607748867222238679377611152046689484359547430003885406027066480938115966659267366841892986445856806656926027311224755321668222274291501687033746136668638504577371309626020851717422827259400139167443710449491751694327982360126650597721202247427300289849142645046195764099054431114893538612613741356038026E+000000000000000978");
+ return val;
+ }
+
+ static const mp_float& A006882_794(void)
+ {
+ static const mp_float val("+3.25391719747798981441851806233517598010341938668672019657427695762865922879306834623037473214457900875157924739451234171718873174748626401745458564407829097410319098113445457605168648723917108476313735625072098432657649971514560979947482559503225233007673626914480057454433581833161231267993335852915297732568266595293547467384445542279685028993842689098535760007412922523792869953224420763880244260630979534637986099070182894581E+000000000000000980");
+ return val;
+ }
+
+ static const mp_float& A006882_795(void)
+ {
+ static const mp_float val("+7.322623307450574656889326245720744091253658982159165908386678497477721661813500929644298450568633651859932348820845328477102893160349441679750105200865877118140065840206853088897791517852345802193494117556639304924224456161292256191712423680480726236708061743841191828178651567611139010191152686577115351147671223110638117749807345942596990745976300687225188355786704703730430068402811725632458748272736340363197027924378050230872E+000000000000000981");
+ return val;
+ }
+
+ static const mp_float& A006882_796(void)
+ {
+ static const mp_float val("+2.590118089192479892277140377618800080162321831802629276473124458272412746119282403599378286787084890966257080926031824006882230470999066157893850172686319615386140020983025842537142443842380183471457335575573903523954893773255905400381961173645672854741082070239261257337291311391963400893226953389205769951243402098536637840380186516546292830790987805224344649659006863289391244827666389280486744314622597095718369348598655840865E+000000000000000983");
+ return val;
+ }
+
+ static const mp_float& A006882_797(void)
+ {
+ static const mp_float val("+5.8361307760381080015407930178394330407291662087808552289841827624897441644653602409265058651032010205323660820102137267962510058487985050187608338450901040631576324746448619118515398397283196043482148116926415260246068915605499281847948016733431388106563252098414298870583852993860777911223486912019609348646939648191785798465964547162498016245431116477184751195620036488731527645170409453290696223733708632694680312557293060E+000000000000000984");
+ return val;
+ }
+
+ static const mp_float& A006882_798(void)
+ {
+ static const mp_float val("+2.066914235175598954037158021339802463969532821778498162625553317701385371403187358072303872856093742991073150578973395557492019915857254793999292437803683053078139736744454622344639670186219386410222953789307975012116005231058212509504805016569246938083383492050930483355158466490786793912795108804586204421092234874632236996623388840203941678971208268569027030427887476904934213372477778645828421963068832482383258740181727361E+000000000000000986");
+ return val;
+ }
+
+ static const mp_float& A006882_799(void)
+ {
+ static const mp_float val("+4.6630684900544482932310936212537069995426038008159033279583620272293055874078228325002781862174576154053604995261607677102045536731900055099899062422269931464629483472412446675693803319429273638742236345424205792936609063568793926196510465370011679097144038426633024797596498542094761551067566042703667869568904778905236852974305673182835914980099462065270616205300409154496490588491157153179266282763233197523049569733277155211E+000000000000000987");
+ return val;
+ }
+
+ static const mp_float& A006882_800(void)
+ {
+ static const mp_float val("+1.653531388140479163229726417071841971175626257422798530100442654161108297122549886457843098284874994392858520463178716445993615932685803835199433950242946442462511789395563697875711736148975509128178363031446380009692804184846570007603844013255397550466706793640744386684126773192629435130236087043668963536873787899705789597298711072163153343176966614855221624342309981523947370697982222916662737570455065985906606992145381888808E+000000000000000989");
+ return val;
+ }
+
+ static const mp_float& A006882_801(void)
+ {
+ static const mp_float val("+3.735117860533613082878105990624219306633625644453538565694647983810673775513666088832722827160183549939693760120454774935873847492225194413501914900023821510316821626140236978723073645886284818463253131268478884014222385991860393488340488276137935495681237477973305286287479533221790400240512040020563796352469272790309471923241884421945156789905966911428176358044562773275168896138141687969659229249334979121596270535635500132458E+000000000000000990");
+ return val;
+ }
+
+ static const mp_float& A006882_802(void)
+ {
+ static const mp_float val("+1.3261321732886642889102405864916172608828522584530844211405550086372088542922850089391901648244697455030725334114693305896868799780140146758299460280948430468549344550952420856963208123914783583207990471512199967677736289562469491460982828986308288354742988484998769981206696721004888069744493418090225087565727778955640432570335662798748489812279272251138877427225326051822057912997817427791635155315049629206970988077005962E+000000000000000992");
+ return val;
+ }
+
+ static const mp_float& A006882_803(void)
+ {
+ static const mp_float val("+2.99929964200849130555111911047124810322680139249619146825280233099997104173747386933267643020962739060157408937672518427350669953625683111404203766471912867278440776579061029391462813764668670922599226440858854386342057595146389597113741208573876220303203369481256414488884606517709769139313116813651272847103282605061850595436323319082196090229449142987682561550978390693996062359892777543963636108721598823464180524011530660E+000000000000000993");
+ return val;
+ }
+
+ static const mp_float& A006882_804(void)
+ {
+ static const mp_float val("+1.0662102673240860882838334315392602777498132157962798745970062269443159188509971471871088925188736753844703168628213417941082515023232677993672766065882538096713673018965746368998419331627486000899224339095808774012899976808225471134630194504991863837213362741939011064890184163687930008074572708144540970402845134280334907786549872890193785809072534889915657451489162145664934562050245211944474664873299901882404674413912794049E+000000000000000995");
+ return val;
+ }
+
+ static const mp_float& A006882_805(void)
+ {
+ static const mp_float val("+2.41443621181683550096865088392935472309757512095943413194350587645497668859866646481280452631875004943426714194826377334017289312668674904680384032009889858159144825146144128660127565080558280092692377284891377781005356364092843625676561672901970357344078712432411413663552108246756364157147059034989274641918142497074789729326240271861167852634706560105084462048537604508666830199713685922890727067520887052888665321829282181812E+000000000000000996");
+ return val;
+ }
+
+ static const mp_float& A006882_806(void)
+ {
+ static const mp_float val("+8.593654754632133871567697458206437838663494519318015789251870189171186305939037006328097673702121823598830753914340014860512507108725538462900249449101325705951220453286391573412725981291753716724774817311221871854397381307429729734511936771023442252793970370002842918301488435932471586508105602764500022144693178229949935675959197549496191362112463121272019905900264689405937257012497640827246579887879720917218167577613712003966E+000000000000000997");
+ return val;
+ }
+
+ static const mp_float& A006882_807(void)
+ {
+ static const mp_float val("+1.948450022936186249281701263330989261539743122614263344478409242299166187699123837103933252739231289893453583552248865085519524753236206480770699138319811155344298738929383118287229450200105320348027484689073418692713225858229248059209852700318900783766715209329560108264865513551323858748176766412363446360279409951393553115662758993919624570762081940048031608731698468384941319711689445397728167434893558516811529147162307207225E+000000000000000999");
+ return val;
+ }
+
+ static const mp_float& A006882_808(void)
+ {
+ static const mp_float val("+6.9436730417427641682266995462308017736401035716089567577155111128503185351987419011131029203513144334678552491627867320072941057438502350780234015548738711704085861262554043913174825928837370031136180523874672724583530840964032216254856449109869413402575280589622970779876026562334370418985493270337160178929120880097995480261750316199929226205868702019877920839674138690399973036660980937884152365494068145011122794027118792E+000000000000001000");
+ return val;
+ }
+
+ static const mp_float& A006882_809(void)
+ {
+ static const mp_float val("+1.576296068555374675668896322034770312585652186194939045683033077020025445848591184217082001466038113523803949093769331854185295525368091042943495602900727224673537679793870942694368625211885204161554235113460395722404999719307461679900770834557990734067272604347614127586276200463021001727275004027602028105466042650677384470571172026080976277746524289498857571463944060923417527646756761326762087454828888840100527080054306530E+000000000000001002");
+ return val;
+ }
+
+ static const mp_float& A006882_810(void)
+ {
+ static const mp_float val("+5.6243751638116389762636266324469494366484838930032549737495640014087580135109809399016133654845646911089627518218572529259082256525186904131989552594478356480309547622668775569671609002358269725220306224338484906912659981180866095166433723778994224856085977277594606331699581515490840039378249548973099744932587912879376339012017756121942673226753648636101115880136052339223978159695394559686163416050195197459009463161966222323E+000000000000001003");
+ return val;
+ }
+
+ static const mp_float& A006882_811(void)
+ {
+ static const mp_float val("+1.278376111598408861967474917170198723506963923004095566048939825463240636583207450400053503188956910067805002715046928133744274671073521835827174933952489779210239058312829334525132955046838900575020484677016380930870454772358351422399525146826530485328558082125915057472469998575510032400820028266385244793532960589699358805633220513151671761252431198783573490457258633408891614921519733436004052925866228849321527461924042596353E+000000000000001005");
+ return val;
+ }
+
+ static const mp_float& A006882_812(void)
+ {
+ static const mp_float val("+4.566992633015050848726064825546922942558568921118643038684645969143911506970916523200110052773466529180477754479348089375837479229845176615517551670671642546201135266960704576257334650991491501687888865416284974441307990471886326927514418370854331058314181354940682034134006019057856211197513863376615699288526138525805358727775841797101745066012396269251410609467047449944987026567266038246516469383275850033671568408751657252673E+000000000000001006");
+ return val;
+ }
+
+ static const mp_float& A006882_813(void)
+ {
+ static const mp_float val("+1.0393197787295064047795571076593715622111616694023296951977880781016146375421476571752434980926219678851254672073331525727340953075827732525274932213033741904979243544083302489689330924530800261674916540424143176967976797299273397064108139443699692845721177207683689417251181088418896563418666829805712040171422969594255787089798082771923091418982265646110452477417512689614288829311955432834712950287292440544984018265442466E+000000000000001008");
+ return val;
+ }
+
+ static const mp_float& A006882_814(void)
+ {
+ static const mp_float val("+3.71753200327425139086301676799519527524267510179057543348930181888314396667432604988488958295760175475290889214618934475193170809309397376503128705992671703260772410730601352507347040590707408237394153644885596919522470424411547011899673655387542548146774362292171517578508089951309495591477628478856517922086027676000556200440953522284082048373409056317064823610617662425521943962575455513266440607798654192740865668472384900E+000000000000001009");
+ return val;
+ }
+
+ static const mp_float& A006882_815(void)
+ {
+ static const mp_float val("+8.470456196645477198953390427423878232020967605628987015861972836528159295968503405978234509454869038263772557739765193467782876756799602008099069753622499652558083488427891529096804703492602213265056980445676689228901089798907818607248133646615249669262759424262206875059712587061400699186213466291655312739709720219318466478185437459117319506470546501580018769095272842035645395889243677760291054484143339044161974886335610041E+000000000000001010");
+ return val;
+ }
+
+ static const mp_float& A006882_816(void)
+ {
+ static const mp_float val("+3.03350611467178913494422168268407934459802288306110955372727028420864547680625005670606989969340303187837365599129050531757627380396468259226553024090020109860790287156170703645995185122017245121713629374226647086330335866319822361710133702796234719287767879630411958344062601400268548402645744838746918624422198583616453859559818074183810951472701789954724896066264012539225906273461571698825415535963701821276546385473466078699E+000000000000001012");
+ return val;
+ }
+
+ static const mp_float& A006882_817(void)
+ {
+ static const mp_float val("+6.920362712659354871544919979205308515561130533798882391959231807443506144806267282684217594224628004261502179673388163063178610310305274840616939988709582216139954210045587379272089442753456008237551553024117855100012190365707687802121725189284658979787674449622223016923785183629164371235136401960282390508342841419183187112677502404098850036786436491790875334350837911943122288441512084730157791513545107999080333482136193403746E+000000000000001013");
+ return val;
+ }
+
+ static const mp_float& A006882_818(void)
+ {
+ static const mp_float val("+2.481408001801523512384373336435576903881182718343987614948907092482672000027512546385565177949203680076509650600875633349777391971643110360473203737056364498661264548937476355824240614298101065095617488281173973166182147386496146918788893688873200003773941255376769819254432079454196725933642192780949794347773584413982592571199311846823573583046700641829649649822039622570867913316915656496391899084183080898042149433172952523766E+000000000000001015");
+ return val;
+ }
+
+ static const mp_float& A006882_819(void)
+ {
+ static const mp_float val("+5.6677770616680116397952894629691476742445659071812846790146108502962315325963329045183742096699703354901702851525049055487432818441400200944652738507531478350186224980273360636238412536150804707465547219267525233269099839095145963099376929300241357044461053742406006508605800653922856200415767132054712778263327871223110302452828744689569581801280914867767268988333362498814171542335983973939992312495934434512467931218695423E+000000000000001016");
+ return val;
+ }
+
+ static const mp_float& A006882_820(void)
+ {
+ static const mp_float val("+2.034754561477249280155186135877173061182569829042069844258103815835791040022560288036163445918347017662737913492718019346817461416747350495588027064386218888902236930128730611775877303724442873378406340390562657996269360856926840473406892824876024003094631829408951251788634305152441315265586598080378831365174339219465725908383435714395330338098294526300312712854072490508111688919870838327041357249030126336394562535201821069E+000000000000001018");
+ return val;
+ }
+
+ static const mp_float& A006882_821(void)
+ {
+ static const mp_float val("+4.6532449676294375562719326490976702405547886097958347214709955080932060882615893146095852261390456454374298041102065274555182343940389564975559898314683343725502890708804429082351736692179810664829214267018638216513930967897114835704588458955498154133502525122515331343565362336870664940541344815416919190954192182274173558313772399390136626658851631106436927839421690611526434836257842842604733688559162170734736171530548943084E+000000000000001019");
+ return val;
+ }
+
+ static const mp_float& A006882_822(void)
+ {
+ static const mp_float val("+1.672568249534298908287563003691036256292072399472581411980161336617020234898544556765726352544881248518770564891014211903083953284566322107373358246925471926677638756565816562879771143661492041917050011801042504872933414624393862869140465902048091730543787363774157928970257398835306761148312183622071399382173306838400826696691184157232961537916798100618857049966047587197667808292133829104827995658702763848516330403935896919118E+000000000000001021");
+ return val;
+ }
+
+ static const mp_float& A006882_823(void)
+ {
+ static const mp_float val("+3.829620608359027108811800570207382607976591025861971975770629303160708610639288005923688641112434566195004728782699972095891506906294061197488579631298439188608887905334604513477547929766398417715444334175633925219096518657932550978487630172037498085187257817583011769575429320324455724606552678308812449415530016601164483849223468469808244374023489240059759161184405137328625587024020465946369582568419046651468786916964178015884E+000000000000001022");
+ return val;
+ }
+
+ static const mp_float& A006882_824(void)
+ {
+ static const mp_float val("+1.3781962376162623004289519150414138751846676571654070834716529413724246735564007147749585144969821487794669454701957106081411775064826494164756471954665888675823743354102328478129314223770694425396492097240590240152971336505005430041717439032876275859680807877499061334714920966402927711862092393045868330909108048348422811980735357455599603072434416349099382091720232118508782740327182751823782684227710774111774562528431790E+000000000000001024");
+ return val;
+ }
+
+ static const mp_float& A006882_825(void)
+ {
+ static const mp_float val("+3.15943700189619736476973547042109065158068759633612688001076917510758460377741260488704312891775851711087890124572747697911049319769260048792807819582121233060233252190104872361897704205727869461524157569489798830575462789279435455725229489193093592027948769950598470989972918926767597280040595960477027076781226369596069917560936148759180160856937862304930130797713423829611610929481688440575490561894571348746174920649544686E+000000000000001025");
+ return val;
+ }
+
+ static const mp_float& A006882_826(void)
+ {
+ static const mp_float val("+1.1383900922710326601543142818242078609025354848186262509475853295736227803575869904041157329745072548918396969583816569623246126203546684180088845834554024046230412010488523322934813548834593595377502472320727538366354323953134485214458604641155803860096347306814224662474524718248818289998088316655887241330923247935797242696087405258325272137830827904356089607760911729888254543510252953006444497172089099416325788648484659046E+000000000000001027");
+ return val;
+ }
+
+ static const mp_float& A006882_827(void)
+ {
+ static const mp_float val("+2.61285440056815522066457123403824196885722864216997692976890610781397246732392022424158466761498629365069685133021662346172437787449178060351652066794414259740812899561216729443289401378136948044680478309968063632885907726734093121884764787562688400607113632749144935508707603952436802950593572859314501392498074207655949821822894195023841993028687612126177218169709001507088802238681356340355930694686810505413086659377173455578E+000000000000001028");
+ return val;
+ }
+
+ static const mp_float& A006882_828(void)
+ {
+ static const mp_float val("+9.425869964004150426077722253504441088272993814298225357846006528869596621360820280546078269028920070504432690815400119648047792496536654501113564351010731910278781144684497311390025618435043496972572047081562401767341380233195353757571724642877005596159775570042178020528906466710021544118417126191074635822004449290840116952360371553893325330123925504806842195226034912347474762026489445089336043658489774316717753000945297690737E+000000000000001029");
+ return val;
+ }
+
+ static const mp_float& A006882_829(void)
+ {
+ static const mp_float val("+2.166056298071000677930929553017702592182642544358910874778423163377783175411529865896273689452823637436427689752749580849769509257953686120315195633725694213251338937362486687084869137424755299290401165189635247516624175054625631980424700088894686841032972015490411515367186036765701096460420719003717216543809035181467824022911792876747650122207820304526009138626887622493766170558668444061550665458953659089874488406236767946748E+000000000000001031");
+ return val;
+ }
+
+ static const mp_float& A006882_830(void)
+ {
+ static const mp_float val("+7.8234720701234448536445094704086861032665848658675270470121854189617651957294808328532449632940036585186791333767820993078796677721254232359242584113389074855313883500881327684537212633010861024872347990776967934668933455935521436187845314535879146448126137231350077570389923673693178816182862147385919477322636929113972970704591083897314600240028581689896790220376089772484040524819862394241489162365465126828757349907845970E+000000000000001032");
+ return val;
+ }
+
+ static const mp_float& A006882_831(void)
+ {
+ static const mp_float val("+1.799992783697001563360602458557710854103775954362254936940869648766937818766981318559803435935296442709671410184534901686158462193359513165981927571626051891211862656948226436967526253199971653710323368272586890686314689470393900175732925773871484764898399744872531969270131596552297611158609617492089006947905308235799761763039699880577297251554698673061113594198943614292319687734253477015148602996390490703685699865582754163E+000000000000001034");
+ return val;
+ }
+
+ static const mp_float& A006882_832(void)
+ {
+ static const mp_float val("+6.5091287623427061182322318793800268379177986084017825031141382685761886428469280529338998094606110438875410389694827066241558835864083521322889829982339710279621151072733264633534960910665036372693793528326437321644552635338353834908287301693851449844840946176483264538564416496512724775064141306625085005132433925022825511626219781802565747399703779965994129463352906690706721716650125512008918983088066985521526115123327847733E+000000000000001035");
+ return val;
+ }
+
+ static const mp_float& A006882_833(void)
+ {
+ static const mp_float val("+1.499393988819602302279381847978573141468445369983758362471744417422859203032895438360316262134101936777156284683717573104569999007068474467262945667164501225379481593237872621993949368915576387540699365771064879941700136328838118846385527169634946809160366987478819130402019619928063910095121811370910142787605121760421201548612070000520888610545063994659907623967720030705502299882633146353618786295993278756170187988030434218401E+000000000000001037");
+ return val;
+ }
+
+ static const mp_float& A006882_834(void)
+ {
+ static const mp_float val("+5.428613387793816902605681387402942382823444039407086607597191315992541328134337996146872441090149610602209226500548577324546006911064565678329011820527131837320403999465954270436815739949464033482662380262424872625155689787218709831351160961267210917059734911118704262516272335809161246240349384972532089428044989346903647669626729802333983333135295249163910397243632418004940591168620467701543843189544786592495278001285542500945E+000000000000001038");
+ return val;
+ }
+
+ static const mp_float& A006882_835(void)
+ {
+ static const mp_float val("+1.2519939806643679224032838430621085731261518839364382326639065885480874345324676910308640788819751172089254977109041735423159491709021761801645596320823585231918671303536236393649477230445062835964839704188391747513196138345798292367319151866451805856489064345448139738856863826399333649294267124947099692276502766699517032930910784504349419898051284355410228660130462256390944204019986772052716865571543877614021069700054125E+000000000000001040");
+ return val;
+ }
+
+ static const mp_float& A006882_836(void)
+ {
+ static const mp_float val("+4.53832079219563093057834963986885983204039921694432440395125194016976455032030656477878536075136507446344691335445861064332046177764997690708305388196068221599985774355353777008517795859775193199150574989938719351463015666211484141900957056361938832666193838569523676346360367273645880185693208583703682676184561109401144945180794611475121006650110682830102909209567670145213033421696671099849065290645944159132605240907471353E+000000000000001041");
+ return val;
+ }
+
+ static const mp_float& A006882_837(void)
+ {
+ static const mp_float val("+1.0479189618160759510515485766429848757065891268547988007396898146147491827036754573928332340242131731038706415840267932549184494560451214627977364120529340839115927881059829861484612441882517593702570832405683892668545167795433170711446130112220161501881346857140092961423195022696242264459301583580722442435432815727495756563172326630140464454668925005478361388529196908599220298764728928208124016483382225562935635338945303230E+000000000000001043");
+ return val;
+ }
+
+ static const mp_float& A006882_838(void)
+ {
+ static const mp_float val("+3.80311282385993871982465699821010453924985454379934385051114912586226269316841690128462213230964393240036851339103631571910254696967068064813559915308305169700788078909786465133137912930491611900888181841568646816526007128285223710913002013231304741774270436721260840778249987775315247595610908793143686082642662209678159464061505884416151403572792752211626237917617707581688522007381810381673516713561301205353123191880460993880E+000000000000001044");
+ return val;
+ }
+
+ static const mp_float& A006882_839(void)
+ {
+ static const mp_float val("+8.792040089636877229322492558034643107178282774311761938205997544617745642883837087525870833463148522341474682889984795408765790936218569072873008497124116964018263492209197253785589838739432261116456928388368785948909395780368430226903303164152715500078450013140537994634060624042147259881354028624226129203328132395368939756501582042687849677467228079596345204975996206314745830663607570766616049829557687247302998049375109410554E+000000000000001045");
+ return val;
+ }
+
+ static const mp_float& A006882_840(void)
+ {
+ static const mp_float val("+3.194614772042348524652711878496487812969877816791448834429365265724300662261470197079082591140100903216309551248470505204046139454523371744433903288589763425486619862842206307118358468616129539967460727469176633258818459877595879171669216911142959830903871668458591062537299897312648079803131633862406963094198362561296539498116649429095671790011459118577660398507988743686183584862007207206057540393914930124966234811795872348594E+000000000000001047");
+ return val;
+ }
+
+ static const mp_float& A006882_841(void)
+ {
+ static const mp_float val("+7.3941057153846137498602162413071348531369358131961917900312439350235240856653069906092573709425079072891802083104772129387720301773598165902862001460813823667393595969479348904336810543798625315989402767746181489830328018512898498208256779610524337355659764610511924534872449848194458455602187380729741746599989593445052783352178304979004815787499388149405263173848128095107012435880939670147240979066580149749818213595244670E+000000000000001048");
+ return val;
+ }
+
+ static const mp_float& A006882_842(void)
+ {
+ static const mp_float val("+2.689865638059657457757583401694042738520637121738399918589525553739861157624157905940587541739964960508132642151212165381806849420708679008813346568992580804259733924513137710593657830574781072652601932529046725203925143216935730262545480639182372177621059944842133674656406513537249683194236835712146662925315021276611686257414218819298555647189648577842390055543726522183766578453810068467500449011676371165221569711532124517E+000000000000001050");
+ return val;
+ }
+
+ static const mp_float& A006882_843(void)
+ {
+ static const mp_float val("+6.2332311180692293911321622914219146811944368905243896789963386372248308042158537930836039637045341658447789156057322905073848214395143253856112667231466053351612801402271091126355931288422241141379066533210030995926966519606373433989560465211672016390821181566661552382897475222027928478072643961955172292383791227274179496365886311097301059708861984209948636855553971984175211483447632141934124145353127066239096754060791256930E+000000000000001051");
+ return val;
+ }
+
+ static const mp_float& A006882_844(void)
+ {
+ static const mp_float val("+2.270246598522350894347400391029772071311417730747209531289559567356442817034789272613855885228530426668863949975623067582244980911078125083438464504229738198795215432289088227741047209005115225318796031054515436072112820875093756341588385659469922117912174593446760821410007097425438732615935889341051783508965877957460263201257600683487980966228063399698977206878905184723098992215015697786570378965854857263447004836533113092783E+000000000000001053");
+ return val;
+ }
+
+ static const mp_float& A006882_845(void)
+ {
+ static const mp_float val("+5.267080294768498835506677136251517905609299172493109278751906148454982029562396455155645349330331370138838183686843785478740174116389604950841520381058881508211281718491907200177076193871679376446531122056247619155828670906738555172117859310386285385024389842382901176354836656261359956397138414785212058706430358704668167442917393287721939545398837665740659814294310632662805370351324915993433490282339237097203675718136861210614E+000000000000001054");
+ return val;
+ }
+
+ static const mp_float& A006882_846(void)
+ {
+ static const mp_float val("+1.9206286223499088566179007308111871723294594002121392634709673939835506232114317246313220789033367409618589016793771151745792538507720938205889409705783585161807522557165686406689259388183274806197014422721200589170074464603293178649837742679115541117536997060559596549128660044219211677930817623825298088485851327520113826682639301782308318974289416361453347170195537862757417474139032803274385406051132092448761660917070136E+000000000000001056");
+ return val;
+ }
+
+ static const mp_float& A006882_847(void)
+ {
+ static const mp_float val("+4.46121700966891851367415553440503566605107639910166355910286450774136977903934979751683161088279067050759594158275668630049292747658199539336276776275687263745495561556264539854998353620931243185021186038164173342498688425800755623078382683589718372111565819649831729637254664785337188306837623732307461372434651382285393782415103211470048279495281550288233886270728110586539614868757220384643816626914133382133151333326192144E+000000000000001057");
+ return val;
+ }
+
+ static const mp_float& A006882_848(void)
+ {
+ static const mp_float val("+1.6286930717527227104119798197278867221353815713798940954233803500980509284832941024873611229100295563356563486241117936680432072654547355598594219430504480217212779128476502072872491961179417035655068230467578099616223145983592615495062405791889978867671373507354537873661103717497891502885333345003852779036001925737056525026878127911397454490197425074512438400325816107618290018069899817176678824331360014396549888457675475976E+000000000000001059");
+ return val;
+ }
+
+ static const mp_float& A006882_849(void)
+ {
+ static const mp_float val("+3.78757324120891181810935804870987528047736386283731236167833196707242294240440797809179003763948927926094895440376042666911849542761811408896498983058058486919925731761268594336893602224170625464082986946401383167781386473504841523993546898367670897922719380882707138462029210402751272872505142548729034705197019023560299321270422626538070989291494036194710569443848165887972133023574880106562600316250099241431045481993937130713E+000000000000001060");
+ return val;
+ }
+
+ static const mp_float& A006882_850(void)
+ {
+ static const mp_float val("+1.384389110989814303850182846768703713815074335672909981109873297583343289210799987114256954473525122885307896330495024617836726175636525225880508651592880818463086225920502676194161816700250448030680799589744138467378967408605372317080304492310648203752066748125135719261193815987320777745253334325327486218060163687649804627284640872468783631666781131333557264027694369147554651535941484460017700068165601223706740518902415458018E+000000000000001062");
+ return val;
+ }
+
+ static const mp_float& A006882_851(void)
+ {
+ static const mp_float val("+3.223224828268783957211063699452103863686236647274552819788260503978631923986151189356113322031205376651067560197600123095419839608903015089709206345824077723688567977288395737806964554927692022699346218913875770757819598889526201369185084105108879341322341931311837748311868580527413332145018763089684085341226631890498147224011296551838984118870614248016986945967147891706642852030622229706847728691288344544578197051768404982373E+000000000000001063");
+ return val;
+ }
+
+ static const mp_float& A006882_852(void)
+ {
+ static const mp_float val("+1.17949952256332178688035578544693556417044333399331930390561204954100848240760158902134692521144340469828232767358176097439689070164231949245019337115713445733054946448426828011742586782861338172214004125046200597420688023213177721415241942744867226959676086940261563281053713122119730263895584084517901825778725946187763354244651402334340365418009752389619078895159560251371656310862214475993508045807709224259814292210485797E+000000000000001065");
+ return val;
+ }
+
+ static const mp_float& A006882_853(void)
+ {
+ static const mp_float val("+2.749410778513272715501037335632644595724359860125193555279386209893773031160186964520764663692618186283360628848552905000393123186394271871521953012987938298306348484627001564349340765353321295362542324733536032456420117852765849767914876741657874078147957667408997599310023899189883572319701004915500524796066317002594919582081635958718653453396633953558489864909977151625766352782120761939941112573668957896525202085158449449E+000000000000001066");
+ return val;
+ }
+
+ static const mp_float& A006882_854(void)
+ {
+ static const mp_float val("+1.00729259226907680599582384077168297180155860723029468553539269030802124397609175702423027413057266761233310783323882387213494465920254084655246513896819282656028924266956511122028169112563582799070759522789455310197267571824053774088616619104116611823563378246983375042019871006290249645366828808178288159215031958044349904524932297593526672066980328540734693376466264454671394489476331162498455871119783677517881405547754870657E+000000000000001068");
+ return val;
+ }
+
+ static const mp_float& A006882_855(void)
+ {
+ static const mp_float val("+2.350746215628848171753386921965911129344327680407040489763875209459175941641959854665253787457188549272273337665512733775336120324367102450151269826104687245051927954356086337518686354377089707534973687647173307750239200764114801551567219614117482336816503805634692947410070433807350454333344359202752948700636701037218656242679798744704448702654122030292508834498030464640030231628713251458649651250486959001529047782810474279719E+000000000000001069");
+ return val;
+ }
+
+ static const mp_float& A006882_856(void)
+ {
+ static const mp_float val("+8.622424589823297459324252077005606238621341677891322508182961429036661848435345440127411146557702034761571403052524332345475126282773749646489101589567730595356075917251477352045611276035442687600457015150777374552886104148139003061985582595312381972097025177941776903596900958138445369643400545980061466428806735608596351827334204674005883128933516123086889753025512237319871368299173947509867822567853482795530648314887816928301E+000000000000001070");
+ return val;
+ }
+
+ static const mp_float& A006882_857(void)
+ {
+ static const mp_float val("+2.0145895067939228831926525921247858378480888221088336997276410545065137819871595954481224958508105867263382503793444128454630551179826067997796382409717169690095022568831659912535142057011658793574724503136275247419549950548463849296931072092986823626517437614289318559304303617728993393636761158367592770364456527888963883999765875242117125381745825799606800711648121081965059085058072565000627511216673238643103939498685764E+000000000000001072");
+ return val;
+ }
+
+ static const mp_float& A006882_858(void)
+ {
+ static const mp_float val("+7.39804029806838922010020828207081015273711115963075471202098090611345586595752638762931876374650834582542826381906587715241765835061987719668764916384911285081551313700176756805513447483840982596119211899936698736637627735910326462718362986677802373205924760267404458328614102208278612715403766845089273819591617915217566986785274761029704772462495683360855140809588949962044963400069124696346659176321828823856529625417374692E+000000000000001073");
+ return val;
+ }
+
+ static const mp_float& A006882_859(void)
+ {
+ static const mp_float val("+1.7305323863359797566624885766351910347115082981914881480660436658210953387269700924899372239358462939979245570758568506342527643463470592410107092489947048763791624386626395864867687026973014903680688348194060437533393407521130446546063790927875681495178478910674524642442396807629205325133977835037762189743068157456619976355798886832978610702919664361862241811305736009407985754064884333335539032135122311994426284029371071771E+000000000000001075");
+ return val;
+ }
+
+ static const mp_float& A006882_860(void)
+ {
+ static const mp_float val("+6.36231465633881472928617912258089673135391559728244905233804357925757204472347269336121413682199717740986830688439665435107918618153309438915137828091023705170134129782152010852741564836103245032662522233945560913508359852882880757937792168542910040957095293829967834162608127899119606935247239486776775484848791407087107608635336294485546104317746287690335421096246496967358668524059447238858126891636772788516615477858942235505E+000000000000001076");
+ return val;
+ }
+
+ static const mp_float& A006882_861(void)
+ {
+ static const mp_float val("+1.489988384635278570486402664482899480886608644742871295484863596271963086643921249633835949808763659132213043642312748396091630102204818006510220663384440898562458859688532683965107853022376583206907266779508603671625172387569331447616092398890096176734867034209076571714290365136874578494035491596751324536878168357014979964234284156319458381521383101556339019953423870410027573424986541100189910666834031062720103054928849279553E+000000000000001078");
+ return val;
+ }
+
+ static const mp_float& A006882_862(void)
+ {
+ static const mp_float val("+5.484315233764058296644686403664732982427075244857471083115393565320027102551633461677366585940561566927306480534349916050630258488481527363448488078144624338566556198722150333550632288887209972181550941656610735074442061931850432133423768492839884553050161432814322730481682062490411011781831204376015804679396581929090867586436598858465407419218972999890691329849644803858631722677392435198957053805908981437013225419144082070057E+000000000000001079");
+ return val;
+ }
+
+ static const mp_float& A006882_863(void)
+ {
+ static const mp_float val("+1.28585997594024540632976549944874225200514326041309792800343728358270414377370403843400042468496303783109985666331590186582707677820275793961832043250077249545940199591120370626188807715831099130756097123071592496861252377047233303929268774024215300052219025052243308138943258511312276124035262924799639307532585929210392770913418722690369258325295361664312057421980480016385379586576338496946389290547776880712744893640359692E+000000000000001081");
+ return val;
+ }
+
+ static const mp_float& A006882_864(void)
+ {
+ static const mp_float val("+4.738448361972146368301009052766329296816993011556855015811700040436503416604611310889244730252645193825192799181678327467744543334048039642019493699516955428521504555695937888187746297598549415964860013591311675104317941509118773363278135977813660253835339477951574839136173301991715114179502160580877655242998646786734509594681221413714112010205192671905557308990093110533857808393267064011898894488305359961579426762140486908E+000000000000001082");
+ return val;
+ }
+
+ static const mp_float& A006882_865(void)
+ {
+ static const mp_float val("+1.11226887918831227647524715702316204798444892025732970772297325029903908436425399324541036735249302772390137601376825511394042141314538561776984717411316820857238272646319120591653318674193900748104024011456927509784983306145856807898817489530946234545169456670190461540185918612285118847290502429951688001015686828766989746840107195127169408451380487839629929670013115214173353342388532799858626736323827001816524332998911134293E+000000000000001084");
+ return val;
+ }
+
+ static const mp_float& A006882_866(void)
+ {
+ static const mp_float val("+4.103496281467878754948673839695641171043515948008236443692932235018011958779593395230085936398790737852616964091333431587066774527285602329988881543781683401099622945232682211170588293720343794225568771770075910640339337346896857732598865756786629779821403987906063810691926079524825288879448871063040049440436828117312085308993937744276421000837696853870212629585420633722320862068569277434304442626872441726727783576013661662786E+000000000000001085");
+ return val;
+ }
+
+ static const mp_float& A006882_867(void)
+ {
+ static const mp_float val("+9.643371182562667437040392851390814956025172138631048565958178080092668861438082121437707884946114550366224930039370771837863453651970493306064574999561168368322558238435867755296342729052611194860618881793315615098358052642845785244827476342333038535066191893305513015534119143685119804060086560676811349688060048054098011051037293817525587712734688295695914902390137089068829734785085793747742938039275801057492659671005595343289E+000000000000001086");
+ return val;
+ }
+
+ static const mp_float& A006882_868(void)
+ {
+ static const mp_float val("+3.5618347723141187592954488928558165364657718428711492331254651799956343802206870670597145927941503604560715248312774186175739602896839028224303491800025011921544727164619681592960706389492584133877936938964258904358145448171064725118958154768907946488849786615024633876805918370275483507473616200827187629142991668058268900482067379620319334287271208691593445624801451100709745082755181328129762562001252794187997161439798583E+000000000000001088");
+ return val;
+ }
+
+ static const mp_float& A006882_869(void)
+ {
+ static const mp_float val("+8.38008955764695800278810138785861819678587458847038120381765675160052924058969336352936815201817354426824946420421320072710334122356235868297011567461865531207230310920076907935252183154671912833387780827839126952047314774663298737775507694148741048697252075528249081049914953586236910972821522122814906287892418175901117160335140832742973572236644412895975005017702913040081303952823955476678861315613067111896112125410386235E+000000000000001089");
+ return val;
+ }
+
+ static const mp_float& A006882_870(void)
+ {
+ static const mp_float val("+3.0987962519132833205870405367845603867252215032978998328191547065962019107919977483419516957309108135967822266032113541972893454520249954555144037866021760371743912633219122985875814558858548196473805136898905246791586539908826310853493594648949913445299314355071431472821148982139670651502046094719653237354402751210693943419398620269677820829925951561686297693577262457617478221997007755472893428941089930943557530452624767412E+000000000000001091");
+ return val;
+ }
+
+ static const mp_float& A006882_871(void)
+ {
+ static const mp_float val("+7.29905800471050042042843630882485644940049676655770202852517903064406096855362291963407966040782915705764528332186969783330701020572281441286697075259284877681497600811386986811604651527719236077880757101047879575233211168731733200602467201603553453415306557785104949594475924573612349457327545768971783376754296231209873046651907665319129981418117283632394229370419237257910815742909665220187288205898981454461513661232446410973E+000000000000001092");
+ return val;
+ }
+
+ static const mp_float& A006882_872(void)
+ {
+ static const mp_float val("+2.702150331668383055551899348076136657224393150875768654218302904151888066210622036554181878677354229456394101598000300860036309234165796037208560101917097504416069181616707524368371029532465402732515807937584537520226346280049654306424641453388432452430100211762228824430004191242579280810978419459553762297303919905572511866171559687515905976369542976179045158879937286304244100958139076277236307003663041978278216655468879718387E+000000000000001094");
+ return val;
+ }
+
+ static const mp_float& A006882_873(void)
+ {
+ static const mp_float val("+6.372077638112266867034024897604099680326633677204873870902481293752265225547312808840551543536034854111324332339992246208477019909596016982432865467013556982159474055083408394865308607836988930959899009492147988691785933503028030841259538669999021648315626249463966209959774821527635810762469474563123668879065006098462191697271153918236004737780163886110801622403759941261561421435601377372235026037498108097449014262559257167803E+000000000000001095");
+ return val;
+ }
+
+ static const mp_float& A006882_874(void)
+ {
+ static const mp_float val("+2.36167938987816679055236003021854343841411961386542180378679673822875016986808365994835496196400759654488844479665226295167173427066090573652028152907554321885964446473300237629795627981137476198821881613744888579267782664876339786381513663026148996342390758508018799255182366314601429142879513860764998824784362599747037537103394316688890182334698056118048546886106518822990934423741355266630453232120149868901516135687980087E+000000000000001097");
+ return val;
+ }
+
+ static const mp_float& A006882_875(void)
+ {
+ static const mp_float val("+5.575567933348233508654771785403587220285804467554264637039671132033232072353898707735482600594030497347408790797493215432417392420896514859628757283636862359389539798197982345507145031857365314589911633305629490105312691815149526986102096336249143942276172968280970433714802968836681334417160790242733210269181880336154417735112259678456504145557643400346951419603289948603866243756151205200705647782810844585267887479739350021E+000000000000001098");
+ return val;
+ }
+
+ static const mp_float& A006882_876(void)
+ {
+ static const mp_float val("+2.06883114553327410852386738647144405205076878174610950011723394268838514880444128611475894668047065457332227764186738234566443922109895342519176661947017585972104855110611008163700970111476429150167968293640522395438577614431673652870205968810906520795934304453024468147539752891590851929162454142030138970511101637378404882502573421419467799725195497159410527072229310488940058555197427213568277031337251285157728134862670556551E+000000000000001100");
+ return val;
+ }
+
+ static const mp_float& A006882_877(void)
+ {
+ static const mp_float val("+4.889773077546400787090234855798945992190650518045090086683791582793144527454369166684018240720964746173677509529401549934230053153126243531894420137749528289184626403019630517009766192938909380895352502409037062822359230721886135166811538486890499237376203693182411070367882203669769530283850013042877025406072509054807424353693451738006354135654053262104276394992085284925590695774144606961018853105525110701279937319731409969142E+000000000000001101");
+ return val;
+ }
+
+ static const mp_float& A006882_878(void)
+ {
+ static const mp_float val("+1.816433745778214667283955565321927877700574990373084141102931401680402160650299449208758355185453234715376959769559561699493377636124881107318371091894814404835080627871164651677294517578763047938474761618163786631950711454710094672200408406159759252588303193097554830335399030388167679938046347367024620161087472376182394868372594640062927281587216465059624427694173346092893714114633410935129472335141066283684853024094247486518E+000000000000001103");
+ return val;
+ }
+
+ static const mp_float& A006882_879(void)
+ {
+ static const mp_float val("+4.2981105351632862918523164382472735271355818053616341861950528012751740396323904975152520335937280118866625308763439623921882167215979680645351953010818353661932866082542552244515844835933013458070148496175435782208537638045379128116273423299767488296536830463073393308533684570257274171195041614646889053319377354591757260068965440777075852852399128173896589511980429654495942215854731095187355718797565723064250649040439093E+000000000000001104");
+ return val;
+ }
+
+ static const mp_float& A006882_880(void)
+ {
+ static const mp_float val("+1.598461696284828907209880897483296532376505991528314044170579633478753901372263515303707352563198846549531724597212414295554172319789895374440166560867436676254870952526624893476019175469311482185857790223984132236116626080144883311536359397420588142277706809925848250695151146741587558345480785682981665741756975691040507484167883283255376007796750489252469496370872544561746468420877401622913935654924138329642670661202937788E+000000000000001106");
+ return val;
+ }
+
+ static const mp_float& A006882_881(void)
+ {
+ static const mp_float val("+3.7866353814788552231218907820958479774064475705235997180378415179234283289161360283109370415960743784721496897020590308675178189317278098648555070602530969576162855018719988527418459300456984856559800825130558924125721659117979011870436885927095157189248947637967659504818176106396658544822831662503909255974371449395338146120758553324603826362963631921202895360054758525610925092168018094860060388260655402019604821804626841486E+000000000000001107");
+ return val;
+ }
+
+ static const mp_float& A006882_882(void)
+ {
+ static const mp_float val("+1.409843216123219096159114951580267541556078284527972986958451236728260941010336420497869884960741382656686981094741349408678779986054687720256226906685079148456796180128483156045848912763932727287926570977554004632254864202687787080775068988524958741488937406354598157113123311426080226460714052972389829184229652559497727601036073055831241638876733931520678095799109584303460385147213868231410091247643090006744835523180991129135E+000000000000001109");
+ return val;
+ }
+
+ static const mp_float& A006882_883(void)
+ {
+ static const mp_float val("+3.343599041845829162016629560590633764049893204772338551027414060326387214432948112998557407729333676190908176006918124256018234116715656110667412734203484613575180098152974986971049956230351762834230412859028353000301222500117546748159577027362502379810682076432544334275444950194824949507856035799095187302536998981608358302462980258562517867849688698642215660292835177811444685638435997776143332283415871998331105765348550103297E+000000000000001110");
+ return val;
+ }
+
+ static const mp_float& A006882_884(void)
+ {
+ static const mp_float val("+1.2463014030529256810046576171969565067355732035227281204712708932677826718531373957201169783052953822685112912877513528772720415076723439447065045855096099672358078232335791099445304388833165309225270887441577400949132999551760037794051609858560635274762206672174647708880010073006549201912712228275926089988590128625959911993158885813548176087670327954642794366864128725242589804701370595165665206629164915659624346024919961E+000000000000001112");
+ return val;
+ }
+
+ static const mp_float& A006882_885(void)
+ {
+ static const mp_float val("+2.95908515203355880838471716112271088118415548622351961765926144338885268477315908000372330584046030342895373576612253996657613719329335565794066026977008388301403438686538286346937921126386131010829391538024009240526658191260402887212122566921581460613245363764280173583376878092242008031445259168219924076274524409872339709767973752882782831304697449829836085935915913236312854679001585803188684907082304671852302860233346684E+000000000000001113");
+ return val;
+ }
+
+ static const mp_float& A006882_886(void)
+ {
+ static const mp_float val("+1.1042230431048921533701266488365034649677178583211371147375460114352554472618797326080236427784917086899010040809476986492630287757976967350099630627615144309709257313849510914108539688506184463973590006273237577240931837602859393485529726334684722853439315111546737870067688924683802592894663034252470515729890853962600482025938772830803684013675910567813515809041618050564934566965414347316779373073440115274427170578079085961E+000000000000001115");
+ return val;
+ }
+
+ static const mp_float& A006882_887(void)
+ {
+ static const mp_float val("+2.62470852985376666303724412191584455161034591628026190086376490028591233139379210396330257228048828914148196362455069295035303369045120646859336565928606440423344850114959459989733936039104498206605670294227296196347145815647977360957152716859442755563948637658916513968455290867818661123891944882211072655655503151556765322564192718807028371367266637999064608225157415040609502100274406607428363512582004243932992637026978508833E+000000000000001116");
+ return val;
+ }
+
+ static const mp_float& A006882_888(void)
+ {
+ static const mp_float val("+9.805500622771442321926724641668150768913334581891697578869408581545068371685492025559249947873006373166320916238815564005455695529083547006888471997322248147021820494698365691728383243393491804008547925570634968589947471791339141415150396985200033893854111819053503228620107765119216702490460774416193817968143078318789228039033630273753671404144208584218402038428956828901661895465287940417300083289214822363691327473334228333602E+000000000000001117");
+ return val;
+ }
+
+ static const mp_float& A006882_889(void)
+ {
+ static const mp_float val("+2.333365883039998563440110024383185806381597519573152829867886996354176062609081180423375986757354089046777465662225566032863846950811122550579502071105311255363535717521989599308734691387638989056724408915680663185526126301110518738909087652880446096963503388787767809179567535814907897391399390002856435908777423017339643717595673270194482221455000411811684367121649419711018473671439474740038151626854017728564304543169838943532E+000000000000001119");
+ return val;
+ }
+
+ static const mp_float& A006882_890(void)
+ {
+ static const mp_float val("+8.7268955542665836665147849310846541843328677778836108451937736375751108508000879027477324536069756721180256154525458519648555690208843568361307400776168008508494202402815454656382610866202077055676076537578651220450532498942918358594838533168280301655301595189576178734718959109561028652165100892304124979916473397037224129547399309436407675496883456399543778142017715777224790869641062669713970741274011919036852814512674632E+000000000000001120");
+ return val;
+ }
+
+ static const mp_float& A006882_891(void)
+ {
+ static const mp_float val("+2.079029001788638720025138031725418553486003389939679171412287313751570871784691331757228004200802493340678721905042979335281687633172710192566336345354832328528910324312092732984082610026386339249541448343871470898303778534289472196367997098716477472394481519409901117978994674411082936575736856492545084394720683908449622552377744883743283659316405366924210771105389632962517460041252571993373993099526929796150795347964326498E+000000000000001122");
+ return val;
+ }
+
+ static const mp_float& A006882_892(void)
+ {
+ static const mp_float val("+7.7843908344057926305311881585275115324249180578721808739128460847169988789136784092509773486174222995292788489836708999526511675666288462978286201492341863589576828543311385553493288892652252733663060271520156888641874989057083175866595971586106029076529022909101951431369311525728437557731269995935279482085494270157203923556280184017275646543220043108393050102679802473284513455719827901384861901216418631780872710545305771894E+000000000000001123");
+ return val;
+ }
+
+ static const mp_float& A006882_893(void)
+ {
+ static const mp_float val("+1.856572898597254376982448262330798768263001027216133500071172571180152788503729359259204607751316626553226098661203380546406547056423230201961738356401865269376316919610698810554785770753563000949840513371077223512185274231120498671356621409153814382848271996833041698355242244249097062362133012847842760364485570730245512939273326181182752307769549992663320218597112942235528091816838546790082975837877548307962660245732143563327E+000000000000001125");
+ return val;
+ }
+
+ static const mp_float& A006882_894(void)
+ {
+ static const mp_float val("+6.959245405958778611694882213723595309987876743737729701278084399736996997748828497870373749663975535779175290991401784557670143804566188590258786413415362604908168471772037868482300027003111394389477588273902025844583624021703235922473679859797878999441694648073714457964416450400122317661175537636613985698443187752054030765931448451144442800963871853890338679179574341111635502941352614383806653968747825681210020322750336007395E+000000000000001126");
+ return val;
+ }
+
+ static const mp_float& A006882_895(void)
+ {
+ static const mp_float val("+1.6616327442445426673992911947860648975953859193584394825636994512062367457108377765369881239374283807651373583017770255890338596154987910307557558289796694160918036430515754354465332648244388858501072594671141150434058204368528463108641761611926638726492034371655723200279418086029418708141090464988192705262145858035697340806496269321585633154537472434336715956444160833007976421760704993771242633749004057356265809199302684E+000000000000001128");
+ return val;
+ }
+
+ static const mp_float& A006882_896(void)
+ {
+ static const mp_float val("+6.23548388373906563607861446349634139774913756238900581234516362216434930998295033409185487969892208005814106072829599896367244884889130497687187262642016489399771895070774593016014082419478780937297191909341621515674692712344609938653641715437889958349975840467404815433611713955850959662441328172240613118580509622584041156627457781222542074966362918108574345654489860963602541063545194248789076195599805181036417820918430106E+000000000000001129");
+ return val;
+ }
+
+ static const mp_float& A006882_897(void)
+ {
+ static const mp_float val("+1.4904845715873547726571642017231002131430611696645202158596384077319943609026214855536783471718732575463282103966939919533633720751024155545879129785947634662343478678172631655955403385475216806075462117420013611939350209318570031408451660165898194937663354831375183710650638023168388581202558147094408856620144834658020514703427153581462312939620112773600034212930412267208154850319352379412804642472856639448570430851774508347E+000000000000001131");
+ return val;
+ }
+
+ static const mp_float& A006882_898(void)
+ {
+ static const mp_float val("+5.59946452759768094119859578821971457517872553102532721948595693270358568036468940001448568196963202789221067253400980706937785906630439186923094161852530807480995161773555584528380646012691945281692878334588776121075874055685459724910970260463225182598278304739729524259383319132354161776872312698672070580485297641080468958651457087537842783319793900461499762397731895145315081875063584435412590423648625052570703203184750235423E+000000000000001132");
+ return val;
+ }
+
+ static const mp_float& A006882_899(void)
+ {
+ static const mp_float val("+1.339945629857031940618790617349067091615611991528403674057814928551062930451456715512756834107514058534149061146627898766073671495517071583574533767756692356144678733167719585870390764354221990866184044356059223713347583817739445823619804248914247724895935599340629015587492358282838133450109977423787356210151020635756044271838101106973461933271848138346643075742444062822013121043709778909211137358309811886426481733574528300479E+000000000000001134");
+ return val;
+ }
+
+ static const mp_float& A006882_900(void)
+ {
+ static const mp_float val("+5.039518074837912847078736209397743117660852977922794497537361239433227112328220460013037113772668825102989605280608826362440073159673952682307847456672777267328956455962000260755425814114227507535235905011298985089682866501169137524198732344169026643384504742657565718334449872191187455991850814288048635224367678769724220627863113787840585049878145104153497861579587056307835736875572259918713313812837625473136328828662752118815E+000000000000001135");
+ return val;
+ }
+
+ static const mp_float& A006882_901(void)
+ {
+ static const mp_float val("+1.20729101250118577849753034623150944954566640436709171032609125062450770033676250067699390753087016673926830409311173678823237801746088149680065492474877981288635553858411534686922207868315401377043182396480936056572617301978324068708144362827173720013123797500590674304433061481283715823854908965883240794534606959281619588892612909738308920187793517265032541124394210060263382206038251079719923475983714050967026004195064999E+000000000000001137");
+ return val;
+ }
+
+ static const mp_float& A006882_902(void)
+ {
+ static const mp_float val("+4.545645303503797388065020060876764292130089386086360636778699837968770855320054854931759476622947280242896623963109161378920945990025905319441678405918845095130718723277724235201394084331033211796782786320191684550893945584054562046827256574440462032332823277877124277937673784716451085304649434487819868972379646250291247006332528636632207714990086883946455071144787524789667834661766178446679409059179538176768968603453802411E+000000000000001138");
+ return val;
+ }
+
+ static const mp_float& A006882_903(void)
+ {
+ static const mp_float val("+1.09018378428857075798326990264705303293973676314348381442446039931393045340409653811132549850037576056555927859607989831977383734976717599161099139704814817103637905134145615822290753705088807443469993704022285259085073423686426634043454359632937869171850789143033378896903054517599195388940982796192566437464750084231302488770029457493692954929577546090324384635327971684417834132052540724987090898813293788023224481788143694885E+000000000000001140");
+ return val;
+ }
+
+ static const mp_float& A006882_904(void)
+ {
+ static const mp_float val("+4.109263354367432838810778135032594920085600805022070015647944653523768853209329588858310566867144341339578548062650681886544535174983418408775277278950635965998169725843062708622060252235254023464291638833453282834008126807985324090331839943294177677228872243200920347255657101383671781115403088776989161551031200210263287293724605887515515774351038543087595384314887922409859722534236625315798185789498302511799147617522237379698E+000000000000001141");
+ return val;
+ }
+
+ static const mp_float& A006882_905(void)
+ {
+ static const mp_float val("+9.866163247811565359748592618955829948104617706448528520541366613791070603307073669907495761428400633118311471294523079793953228015392942724079472143285740947879230414640178231917313210310537073634034430214016815947199144843621610380932619546780877160052496417444520790169726433842727182699158943055427262590559882622932875233687665903179212421126767921174356809497181437439813988950754935611331726342603087816101815601827004387133E+000000000000001142");
+ return val;
+ }
+
+ static const mp_float& A006882_906(void)
+ {
+ static const mp_float val("+3.7229925990568941519625649903395309975975543293499954341770378560925345810076526075056293735816327732536581645447615177892093488685349770783504012147292761851943417716138148140115865885251401452586482247831086742476113628880347036258406469886245249755693582523400338346136253338536066336905551984319521803652342673904985382881144929340890572915620409200373614181892884577033329086160183825361131563252854620756900277414751470E+000000000000001144");
+ return val;
+ }
+
+ static const mp_float& A006882_907(void)
+ {
+ static const mp_float val("+8.94861006576508978129197350539293776293088825974881536813101951870850103719951581860609865561555937423830850446413243337311557780996139905074008123396016703972646198607864165634900308175165712578606922820411325206410962437316480061550588592893025558416761425062218035668394187549535355470813716135127252716963781353900011783695471297418354566596197850450514162621394356375791128797833472659947787579274100064920434675085709297E+000000000000001145");
+ return val;
+ }
+
+ static const mp_float& A006882_908(void)
+ {
+ static const mp_float val("+3.3804772799436598899820090112282941458185793310497958542327503733320213995549485676151114712121225581143216134066434581526020887726297591871421643029741827761564623286253438511225206223808272518948525881030626762168311175023355108922633074656710686778169772931247507218291718031390748233910241201762125797716327147905726727656079595841528640207383331553939241677158739195946262810233446913427907459433591995647265451892594335359E+000000000000001147");
+ return val;
+ }
+
+ static const mp_float& A006882_909(void)
+ {
+ static const mp_float val("+8.13428654978046661119440391640218042650417742811167316963109674250602744281435987911294367795454347118262243055789638193616206022925491173712273384166979183911135394534548526562124380131225632733953692843753894612627564855520680375949485030939760232600836135381556194422570316482527638122969667966830672719720077250695110711379183409353284301035943846059517373822847469945594136077230626647892538909560156959012675119652909751802E+000000000000001148");
+ return val;
+ }
+
+ static const mp_float& A006882_910(void)
+ {
+ static const mp_float val("+3.076234324748730499883628200217747672694907191255314227351802839732139473595003196529751438803031527884032668200045546918867900783093080860299369515706506326302380719049062904521493766366552799224315855173787035357316316927125314911959609793760672496813449336743523156864546340856558089285831949360353447592185770459421132216703243221579106258871883171408470992621445266831109915731243669121939578808456871603901156122226084517700E+000000000000001150");
+ return val;
+ }
+
+ static const mp_float& A006882_911(void)
+ {
+ static const mp_float val("+7.410335046850005082798101967842386368545305637009734257533929132422991000403881849871891690616589102247369034238243603943843636868851224592518810529761180365430443444209737076980953102995465514206318141806597979921037115833793398224899808631861215718993617193325976931189615583155826783300253675177827428476649903753832458580664360859208419982437448437602203275526140451204362579663571008762301029466093029896605470340038007838924E+000000000000001151");
+ return val;
+ }
+
+ static const mp_float& A006882_912(void)
+ {
+ static const mp_float val("+2.80552570417084221589386891859858587749775535842484657534484418983571119991864291523513331218836475343023779339844153879000752551418088974459302499832433376958777121577274536892360231492629615289257605991849377624587248103753828719970716413190973331709386579511009311906046626286118097742867873781664234420407342265899207258163335781808014490809115745232452554527075808334997224314689422623920889587331266690275785438347018908E+000000000000001153");
+ return val;
+ }
+
+ static const mp_float& A006882_913(void)
+ {
+ static const mp_float val("+6.765635897774054640594667096640098754481864046589887377128477297902190783368744128933037113532945850351847928259516410400729240461261168052969674013671957673637994864563489951283610183034860014470368463469423955667906886756253372579333525280889289951441172497506616938176119027421269853153131605437356442199181362127249034684146561464457287443965390423530811590555366231949583035232840330999980839902542936295600794420454701156E+000000000000001154");
+ return val;
+ }
+
+ static const mp_float& A006882_914(void)
+ {
+ static const mp_float val("+2.56425049361214978532699619159910749203294839760030976986518758950984003672563962452491184734016538463523734316617556645406687831996133322655802484846844106540322289121628926719617251584263468374381451876550331148872744766830999450053234801656549625182379333673062511082126616425511941336981236636441110260252310831031875433961288904572525244599531791142461634837747288818187463023626132278263693082820777754912067890649175281925E+000000000000001156");
+ return val;
+ }
+
+ static const mp_float& A006882_915(void)
+ {
+ static const mp_float val("+6.190556846463259996144120393425690360350905602629746950072556727580504566782400877973728958882645453071940854357457515516667255022053968768467251722509841271378765301075593305424503317476896913240387144074522919436134801381971835910090175632013700305568672835218554498431148910090461915635115418975181144612250946346432866735994103739978418011228332237530692605358160102233868477238048902864982468510826786710474726894716051558597E+000000000000001157");
+ return val;
+ }
+
+ static const mp_float& A006882_916(void)
+ {
+ static const mp_float val("+2.348853452148729203359528511504782462702180732201883749196511831991013473640685896064819252163591492325877406340216818871925260541084581235527150761197092015909352168354120968751694024511853370309334099189201033323674342064171954962487630783173994566670594696445252601512279806457689382646748127589800569983911167212251978975085406365884331240531711206864948575113765165574597161296415371668895428638638324234994541878346445582433E+000000000000001159");
+ return val;
+ }
+
+ static const mp_float& A006882_917(void)
+ {
+ static const mp_float val("+5.6767406282068094164641584007713580604417804376114779532165345191913226877394616051019094552953858804669697634457885417287838728552234893606844698295415244458543277810863190610742695421263144694414350111163375171229356128672681735295526910545565631802064729898954144750613635505529535766374008392002411096094341177996789387969065931295602093162963806618156451191134328137484573936272908439271889236244281634135053245624546192E+000000000000001160");
+ return val;
+ }
+
+ static const mp_float& A006882_918(void)
+ {
+ static const mp_float val("+2.156247469072533408684047173561390300760601912161329281762397861767750368802149652587504073486176989955155459020319039724427389176715645574213924398778930470604785290549083049314055114501881393943968703055686548591133046014909854655563645058953727012203605931336741888188272862328158853269714781127436923245230451500847316699128403043881816078808110887902022791954436421997480194070109311192046003490269981647724989444322037044E+000000000000001162");
+ return val;
+ }
+
+ static const mp_float& A006882_919(void)
+ {
+ static const mp_float val("+5.2169246373220578537305615703088780575459962221649482390059952231368255500325652150886547894164596241491452126066796698487523791539503867224690277733486609657401272308183272171272537092140829974166787752159141782359778282250194514736589230791374815626097486777138859025813931029581643369297713712250215797310699542579049447543571590860658323616763738282085778644652447558348323447434802855690866208108494821770113932728957951176E+000000000000001163");
+ return val;
+ }
+
+ static const mp_float& A006882_920(void)
+ {
+ static const mp_float val("+1.983747671546730735989323399676479076699753759188422939221406032826330339297977680380503747607282830758743022298693516546473198042578393928276810446876616032956402467305156405368930705341730882428451206811231624703842402333717066283118553454237428851227317456829802537133211033341906145008137598637241969385612015380779531363198130800371270792503462016869860968598081508237681778544500566296682323211048383115906990288776274081099E+000000000000001165");
+ return val;
+ }
+
+ static const mp_float& A006882_921(void)
+ {
+ static const mp_float val("+4.804787590973615283285847206254476690999862520613917328124521600509016331579992563096651061052559313841362740810751975930700941200788306171393974579254116749446657179583679366974200666186170440620761151973856958155335579795242914807239868155885620519163578532174488916277463047824469354312319432898244874932315427871530454118762943518266631605103940295780100213172490420123880589508745343009128777766792373085027493204337027303325E+000000000000001166");
+ return val;
+ }
+
+ static const mp_float& A006882_922(void)
+ {
+ static const mp_float val("+1.8290153531660857385821561745017137087171729659717259499621363622658765728327354213108244552939147699595610665593954222558482885952572792018712192320202399823858030748553542057501541103250758735990320126799555579769426949516871351130353062848069094008315866951970779392368205727412374656975028659435370957735342781810787279168686765979423116706881919795540118130474311505951425998180295221255411020005866092328662450462517247E+000000000000001168");
+ return val;
+ }
+
+ static const mp_float& A006882_923(void)
+ {
+ static const mp_float val("+4.43481894646864690647283697137288198579287310652664569385893343726982207404833313573820892935151224667557780976832407378403696872832760659619663853665154975973926457675573605571718721488983531669296254327186997237737474015100921036708239830788242773918798298519705326972409839314198521403027083656508001956252713992542260915161819686736010097151093689300503249675820865777434178411657195159742586187874936035748037622760307620E+000000000000001169");
+ return val;
+ }
+
+ static const mp_float& A006882_924(void)
+ {
+ static const mp_float val("+1.6900101863254632224499123052395834668546678205578747777650139987336699532974475292912017966915772474426344255008813701644038186620177259825290065703867017437244820411663472861131423979403701072055055797162789355706950501353589128444446230071615842863683861063621000158548222092129034183044926481318282764947456730393167445951866571764986959837158893891079069152558263831499117622318592784439999782485420269311684104227365936253E+000000000000001171");
+ return val;
+ }
+
+ static const mp_float& A006882_925(void)
+ {
+ static const mp_float val("+4.10220752548349838848737419851991583685840762353714726681951342947458541849470815055784325965014882817490947403569976825023419607370303610148189064640268352775881973349905585153839817377309766794099035252647972444907163463968351958955121843479124565874888426130727427449479101365633632297800052382269901809533760443101591346524683210230809339864761662602965505950134300844126615030782905522761892223784315833066934801053284548589E+000000000000001172");
+ return val;
+ }
+
+ static const mp_float& A006882_926(void)
+ {
+ static const mp_float val("+1.564949432537378943988618794651854290307422401836592044210402962827378376753436412123652863736400531131879478013816148772237936081028414259821860084178085814688870370120037586940769860492782719272298166817274294338463616425342353293955720904631627049177125534491304614681565365731148565349960192170072984034134493234407305495142844545437792480920913574313921803526895230796818291826701691839143979858149916938261948051454085697086E+000000000000001174");
+ return val;
+ }
+
+ static const mp_float& A006882_927(void)
+ {
+ static const mp_float val("+3.802746376123203006127795882027961980767743867018935516341688949122940682944594455567120701695687963718141082431093685167967099760322714466073712629215287630232425892953624774376095107087661538181298056792046704564289405310986622659513979489051484725660215710231843252456671269659423771400606485583641989774377959307551751782283813358839602580546340612329490240157744968825053721335357534196002740914480607772530485605763947765426E+000000000000001175");
+ return val;
+ }
+
+ static const mp_float& A006882_928(void)
+ {
+ static const mp_float val("+1.45227307339468766002143824143692078140528798890435741702725394950380713362718899045074985754737969289038415559682138606063680468319436843311468615811726363603127170347139488068103443053730236348469269880643054514609423604271770385679090899949814990163637249600793068242449265939850586864476305833382772918367680972152997949949255973816627142229460779696331943367295877417944737481517917002672561330836312291870708779174939152E+000000000000001177");
+ return val;
+ }
+
+ static const mp_float& A006882_929(void)
+ {
+ static const mp_float val("+3.532751383418455592692722374403976680133234052460591094681429033735211894455528249221855131875294118294153065578486033521041435677339801738982479032541002208485923654553917415395392354484437568970425894759811388540224857533906572450688486945328829310138340394805382381532247609513604683631163425107203408500397124196715577405741662610361990797327550428854096433106545076038474907120547149268086546309552484620680821127754707474E+000000000000001178");
+ return val;
+ }
+
+ static const mp_float& A006882_930(void)
+ {
+ static const mp_float val("+1.35061395825705952381993756453633632670691782968105239783534617303854063427328576111919736751906311438805726470504388903639222835537076264279665812704905518150908268422839723903336202039969119804076420988998040698586763951972746458681554536953327940852182642128737553465477817324061045783962964425045978814081943304102288093452808055649463242273398525117588707331585165998688605857811662812485482037677770431439759164632693412001E+000000000000001180");
+ return val;
+ }
+
+ static const mp_float& A006882_931(void)
+ {
+ static const mp_float val("+3.288991537962582156796924530570102289204040902840810309148410430407482273738096800025547127775898824131856504053570497208089576615603355418992687979295673056100394922389697113733110282025011376711466508021384402730949342364067018951590981346101140087738794907563810997206522524457165960460613148774806373313869722627142202564745487890247013432311949449263163779222193465791820138529229395968588574614193363181853844469939632658368E+000000000000001181");
+ return val;
+ }
+
+ static const mp_float& A006882_932(void)
+ {
+ static const mp_float val("+1.258772209095579476200181810147865456490847417262740834782542633271919871142702329363091946527766822609669370705100904581917556827205550783086485374409719429166465061700866226779093403012512196573992243617461739310828640032385996994912088284405016408742342224639833998298253257460248946706534828441428522547243711594233325030980171078652997417988074254095926752330373747107777806594804697412364692591156820421018555414376702599852E+000000000000001183");
+ return val;
+ }
+
+ static const mp_float& A006882_933(void)
+ {
+ static const mp_float val("+3.0686291049190891522915305870219054358273701623504760184354669315701809613976443144238354702149136029150221182819812738951475749823579306059201778846828629613416684625895874071129918931293356144717982519839516477479757364256745286818343855959123637018602956487570356603936855153185358411097520678068943463018404512111236749929075402016004635323470488361625318060143065035837681892477710264386931401150424078486696368904536772E+000000000000001184");
+ return val;
+ }
+
+ static const mp_float& A006882_934(void)
+ {
+ static const mp_float val("+1.175693243295271230770969810678106336362451487723399939686894819475973159647283975625127878056934212317431192238564244879510998076609984431402777339698677946841478367628609055811673238413686391600108755538709264516313949790248521193247890457634285325765347637813604954410568542467872516223903529764294240059125626629013925578935479787461899588400861353325595586676569079798664471359547587383148622880140470273231330757027840228E+000000000000001186");
+ return val;
+ }
+
+ static const mp_float& A006882_935(void)
+ {
+ static const mp_float val("+2.8691682130993483573925810988654815824985911017976950772371615810181191989067974339862861646509442187255456805936524910919629826085046651165353663221784768688544600125212642256506474200759287995311313656049947906443573135580056843175151505321780600612393764315878283424680959568228310114376181833994462137922208218824006361183685500884964334027444906618119672386233765808508232569466659097201780860075646513385061104925741882476E+000000000000001187");
+ return val;
+ }
+
+ static const mp_float& A006882_936(void)
+ {
+ static const mp_float val("+1.100448875724373872001627742794707530835254592509102343546933551029510877429857801185119693861290422729115595935296133207222294199706945427792999589957962558243623752100378076239726151155210462537701795184231871587269857003672615836880025468345691064916365388993534237328292155749928675185573703859379408695341586524757034341883609081064338014743206226712757469129268658691549945192536541790627111015811480175744525588578058453653E+000000000000001189");
+ return val;
+ }
+
+ static const mp_float& A006882_937(void)
+ {
+ static const mp_float val("+2.688410615674089410876848489636956242801179862384440287371220401413977689375669195645150136277934732945836302716252384153169314704168871214193638243881232826116629031732424579434656632611145285160670089571880118833762802803851326205511696048650842277381295716397795156892605911542992657717048237845281102323310910103809396042911331432921158098371587750117813302590103856257221391759025957407806866589088078304180225531542014388087E+000000000000001190");
+ return val;
+ }
+
+ static const mp_float& A006882_938(void)
+ {
+ static const mp_float val("+1.0322210454294626919375268227414356639234688077735379982470236708656812030292066175116422728418904165199104289873077729483745119593251148112698336153805688796325190794701546355128631297835874138603642838828094955488591258694449136549934638893082582188915507348759351146139380420934330973240681342200978853562304081602220982126868253180383490578291274406565665060432540018526738485905992761996082301328311684048483650020862188E+000000000000001192");
+ return val;
+ }
+
+ static const mp_float& A006882_939(void)
+ {
+ static const mp_float val("+2.52441756811796995681336073176910191199030789077898942984157595692772505032375337471079597796498071423614028825056098871982598650721457007012782631100447762372351466079674668008914257802186542276586921410799543158490327183281639530697548258968314089846103667769752965232215695093887010559630829533671895508158894458747702288429374021551296745437092089736062669113210752102553088686172537400593064772715370552762523177411795151E+000000000000001193");
+ return val;
+ }
+
+ static const mp_float& A006882_940(void)
+ {
+ static const mp_float val("+9.702877827036949304212752133769495240880606793071257183522022506137403308474542204609437364713769915287158032480693065714720412417656079225936435984577347468545679347019453573820913419965721690287424268498409258159275783172782188356938560559497627257580576907833790077371017595678271114846240461668920122348565836706087723199256157989560481143593797942171725156806587617415134176751633196276317363248612983005574631019610456997E+000000000000001194");
+ return val;
+ }
+
+ static const mp_float& A006882_941(void)
+ {
+ static const mp_float val("+2.37547693159900972936137244859472489918287972522302905348092297546898927235465192560285901526504685209620801124377789038535625330328891043599028455865521344392382729580973862596388316591857536282268293047562370112139397879468022798386392911689183558545183551371337540283514969083347676936612610591185253673177519685681587853412040954279770237456303656441634971635531317728502456453688357693958073951125163690149534309944499237129E+000000000000001196");
+ return val;
+ }
+
+ static const mp_float& A006882_942(void)
+ {
+ static const mp_float val("+9.140110913068806244568412510010864516909531599073124266877745200781433916583018756742089997560371260200502866596812867903266628497432026630832122697471861315370029944892325266539300441607709832250753660925501521186037787748760821432236124047046764876640903447179430252883498575128931390185158514892122755252349018177134635253699300826165973237265357661525765097711805535605056394500038470892290956180193429991251302420473050491694E+000000000000001197");
+ return val;
+ }
+
+ static const mp_float& A006882_943(void)
+ {
+ static const mp_float val("+2.240074746497866174787774219024825579929455580885316397432510365867256883830436765843496051394939181526724154602882550633390946865001442541138838338811866277620169139948583524283941825461216567141790003438513150157474522003383454988783685157229000957081080889431713004873546158455968593512256917874876942138064010635977373457675546198858233339212943480244617782523060326179778164358281213054024637359110293598110108542776627806135E+000000000000001199");
+ return val;
+ }
+
+ static const mp_float& A006882_944(void)
+ {
+ static const mp_float val("+8.6282647019369530948725814094502561039625978295250293079325914695376736172543697063645329576969904696292747060673913473006836973015758331395055238264134370817093082679783550516130996168776780816447114559136734359996196716348302154320309011004121460435490128541373821587220226549217112323347896380581638809582174731592150956794921399799006787359784976324803222522399444256111732364080363165223226626341025979117412294849265596E+000000000000001200");
+ return val;
+ }
+
+ static const mp_float& A006882_945(void)
+ {
+ static const mp_float val("+2.116870635440483535174446636978460173033335523936623995573722295744557755219762743722103768568217526542754326099724010348554444787426363201376202230177213632351059837251411430448325025060849655948991553249394926898813423293197364964400582473581405904441621440512968789605501119740890320869082787391758710320470490050998617917503391157921030505556231588831163804484292008239890365318575746336053282304359227450214052572923913276E+000000000000001202");
+ return val;
+ }
+
+ static const mp_float& A006882_946(void)
+ {
+ static const mp_float val("+8.1623384080323576277494620133399422743486175467306777253042315301826392419226337422208481779813529842692938719397522145464467776472907381499722255397871114792970056215075238788259922375662834652358970372943350704556402093665493837987012324409898901571973661600139635221510334315559388257887109976030230313864737296086174805127995644209860420842356587603263848506189874266281698816420023554301172388518610576245072030927405254422E+000000000000001203");
+ return val;
+ }
+
+ static const mp_float& A006882_947(void)
+ {
+ static const mp_float val("+2.004676491762137907810200965218601783862568741167982923808315014070096194193115318304832268834101997635988346816438637800081059213692765951703263511977821309836453665877086624634563798732624624183695000927176995773176311858657904621287351602481591391506215504165781443756409560394623133863021399659995498673485554078295691167875711426551215888761751314623112122846624531803176175956691231780242458342228188395352707786558945873127E+000000000000001205");
+ return val;
+ }
+
+ static const mp_float& A006882_948(void)
+ {
+ static const mp_float val("+7.737896810814675031106489988646265276082489434300682483588411490613142001342656787625364072726322629087290590598885099390031545209631619766173669811718181682373561329189132637127040641212836725043630391355029646791946918479488815841168768354058415869023103119693237418999179693115030006847698025727665833754377095668969371526133987071094767895855404504789412838386800080443505047796618232947751142431564282628032828531918018119296E+000000000000001206");
+ return val;
+ }
+
+ static const mp_float& A006882_949(void)
+ {
+ static const mp_float val("+1.9024379906822688745118807159924530928855777353684157946940909483525212882892664370712858231235627957565529411288002672722769251937944348881663970728669524230347945289173552067782010449972607683503265558798909689887443199538663514856016966707550302305393985134533265901248326728144973540360073082773357282411377908203026109183140501437971038784349019975773334045814466806812141909828999789594500929667745507871897196894444396E+000000000000001208");
+ return val;
+ }
+
+ static const mp_float& A006882_950(void)
+ {
+ static const mp_float val("+7.35100197027394127955116548921395201227836496258564835940899091608248490127552394824409586909000649763292606106894084442052996794915003877786498632113227259825488326272967600527068860915219488879144887178727816445234957255551437504911032993635549507557194796370857554804922070845927850650531312444128254206665824088552090294982728771754002950106263427954994219646746007642132979540678732130036358530998606849663118710532211721E+000000000000001209");
+ return val;
+ }
+
+ static const mp_float& A006882_951(void)
+ {
+ static const mp_float val("+1.8092185291388376996607985609088228913341844263353634207540804918832477451630923816547928177905082187644818470134890541759353558592985075786462436162964717543060895970004048016460691937923949907011605546417763115082958482761269002628072135338880337492429679862941135872087158718465869836882429501717462775573220390701077829833166616867510457883915917996960440677569557933278346956247378799904370384114025977986174234246616620915E+000000000000001211");
+ return val;
+ }
+
+ static const mp_float& A006882_952(void)
+ {
+ static const mp_float val("+6.99815387570079209813270954573168231568900344438153723815735935211052562601429879872837926737368618574654561013763168388834452948759083691652746697771792351353864886611865155701769555591288953412945932594148881255863679307284968504675303409941043131194449446145056392174285811445323313819305809446810098004745864532301589960823557790709810808501162783413154497103702199275310596522726152987794613321510673720879289012426665558709E+000000000000001212");
+ return val;
+ }
+
+ static const mp_float& A006882_953(void)
+ {
+ static const mp_float val("+1.724185258269312327776741028546108215441477758297601339978638708764735101140427039717017555354354332482551200203855068629666394133911477722449870166330537581853703385941385775968703941684152426138206008573612824867405943407148935950455274497795296163028548490938290248609906225869797395454895531513674202512127903233812717183100778587473746636337186985110329996572378871041426464930375199630886497606066675702082404523702563973249E+000000000000001214");
+ return val;
+ }
+
+ static const mp_float& A006882_954(void)
+ {
+ static const mp_float val("+6.676238797418555661618604906628024929167309285939986525202120821913441447217641053986873821074496621202204512071300626429480681131161658418367203496742899031915871018277193585394881560340896615559504196948180327180939500591498599534602394530837551471595047716223837981342686641188384413836177422122568334965275547638157168226256741323371595113101092953761493902369318981086463090826807499503560611087211827297188417178550389430085E+000000000000001215");
+ return val;
+ }
+
+ static const mp_float& A006882_955(void)
+ {
+ static const mp_float val("+1.64659692164719327302678768226153334574661125917420927967959996687032202158910782292975176536340838752083639619468159054133140639788546122493962600884566339067028673357402341605011226430836556696198673818780024774837267595382723383268478714539450783569226380884606718742246044570565651265942523259555886339908214758829114490986124355103742803770201357078036514672662182184456227400850831564749660521379367529548869632013594859E+000000000000001217");
+ return val;
+ }
+
+ static const mp_float& A006882_956(void)
+ {
+ static const mp_float val("+6.382484290332139212507386290736391832283947677358627118093227505749250023540064847611451372947218769869307513540163398866583531161390545447959046542886211474511572693472997067637506771685897164474886012282460392784978162565472661155079889171480699206844865616709989110163608428976095499627385615549175328226803423542078252824301444705143244928124644863795988170665068945918658714830427969525403944199374506896112126822694172295E+000000000000001218");
+ return val;
+ }
+
+ static const mp_float& A006882_957(void)
+ {
+ static const mp_float val("+1.57579325401636396228663581192428741187950697502971828065337716829489817466077618654377243945278182685744043115831028214805415592277638639226722209046529986487146440403034040915995743694310584758262130844572483709519265088781266277787934129814254399875749646506568629836329464654031328261506994759394983227292161524199462567873721007834281863208082698723680944541737708350524609622614245807465425118960054725778268237837010280489E+000000000000001220");
+ return val;
+ }
+
+ static const mp_float& A006882_958(void)
+ {
+ static const mp_float val("+6.114419950138189365582076066525463375328021874909564779133311950507781522551382124011770415283435581534796597971476536114187022852612142539144766588084990592582086640347131190796731487275089483566940799766597056288009079737722809386566533826278509840157381260808169567536736874959099488643035419696109964441277679753310966205680784027527228641143409779516556667497136050190075048807549994805336978543000777606475417496141017058764E+000000000000001221");
+ return val;
+ }
+
+ static const mp_float& A006882_959(void)
+ {
+ static const mp_float val("+1.511185730601693039832883743635391627992447189053499831146588704394807349499684362895477769435217771956285373480819560579983935529942554550184265984756222570411734363465096452384399182028438507831733834799450118774289752201412343603986288304918699694808439109997993160130399566032160438027852079742597889149731829017072846025908984465130763068165513080760100258155264623081531006280870617293593426890826924820213592400856928589890E+000000000000001223");
+ return val;
+ }
+
+ static const mp_float& A006882_960(void)
+ {
+ static const mp_float val("+5.8698431521326617909587930238644448403149009999131821879679794724874702616493268390512995986720981582734047340526174746696195419385076568375789759245615909688788031747332459431648622277840859042242631677759331740364887165482138970111038724732273694465510860103758427848352673999607355090973140029082655658636265725631785275574535526664261394954976733883358944007972506081824720468552479950131234994012807465022164007962953763E+000000000000001224");
+ return val;
+ }
+
+ static const mp_float& A006882_961(void)
+ {
+ static const mp_float val("+1.452249487108227011279401277633611354500741748680413337731871744923409862869196672742554136427244278849990243915067597717364562044274794922727079611350729890165676723289957690741407613929329406026296215242271564142092451865557262203430823061026870406710909984708071426885313982956906180944765848632636571472892287685407005030898534070990663308507058070610456348087209302781351297035916663219143283242084674752225262297223508374E+000000000000001226");
+ return val;
+ }
+
+ static const mp_float& A006882_962(void)
+ {
+ static const mp_float val("+5.6467891123516206429023588889575959363829347619164812648251962525329463917066524191673502139225584282590153541586180106321739993448443658777509748394282505120614086540933825973245974631282906398637411674004477134231021453193817689246819253192447294075821447419815607590115272387622275597516160707977514743608087628057777435102703176651019461946687617995791304135669550850715381090747485712026248064240320781351321775660361520741E+000000000000001227");
+ return val;
+ }
+
+ static const mp_float& A006882_963(void)
+ {
+ static const mp_float val("+1.398516256085222611862063430361167734384214303979238044235792490361243697943036395851079633379436240532540604890210096601822073248636627510586177665730752884229546684528229256183975532213944218003323255278307516268835031146531643501903882607768876201662606315273872784090557365587500652249809512233229018328395273041046945844755288310364008766092296921997869463207982558578441299045587746680034981762127541786392927592226238565013E+000000000000001229");
+ return val;
+ }
+
+ static const mp_float& A006882_964(void)
+ {
+ static const mp_float val("+5.443504704306962299757873968955122482673149110487487939291489187441760321605212932077325606221346324841690801408907762249415735368429968706151939745208833493627197942546020823820911954455672176828646485374031595739870468087884025243393376007751919148909187531270224571687112258166787367600557892249032421283819647344769744743900586229158276131660686374794281718678544702008962737148057622639330313392766923322267419173658850599442E+000000000000001230");
+ return val;
+ }
+
+ static const mp_float& A006882_965(void)
+ {
+ static const mp_float val("+1.3495681871222398204468912102985268636807668033399647126875397531986001685150301219962918462111559721139016837190527432207583006849343455477156614474301765332815125505697412322175363885864561703732069413435667531994258050564030359793372467164969655346044150942392872366473878577919381294210661793050660026869014384846103027401888532195012684592790665297279440319957031690281958535789921755462337574004530778238691751264983202E+000000000000001232");
+ return val;
+ }
+
+ static const mp_float& A006882_966(void)
+ {
+ static const mp_float val("+5.25842554436052558156610625401064831826226204073091334935557855506874047067063569238669653560982054979707331416100489833293560036590334977014277379387173315484387321249945611581100094800417932281647250487131452148471487217289596838511800122348835389784627515520703693624975044138911659710213892391256531896016977933504757342260796629736689474318422303805127614024347418214065800408502366346959308273741284792931032692175444967E+000000000000001233");
+ return val;
+ }
+
+ static const mp_float& A006882_967(void)
+ {
+ static const mp_float val("+1.3050324369472059063721438003586754771793014988297458771688509413430463629540341279704142152861878250341429281563240026944732767623315121446410446196649807076832226364009397715543576877631031167508911122792290503438447534895417357920191175748525656719624693961293907578380240584848041711501709953879988245982336910146181627497626210632577266001228573342469218789398449644502653904108854337532080434062381262556814923473238756481E+000000000000001235");
+ return val;
+ }
+
+ static const mp_float& A006882_968(void)
+ {
+ static const mp_float val("+5.09015592694098876295599085388230757207786965542752412217620004130654077560917535023032224647030629220356696810785274158628166115419444257749820503246783769388886926969947352010504891766804558448634538471543245679720399626336329739679422518433672657311519435024041175428975842726466486599487047834736322875344434639632605107308451137585115411140232790083363530375568300831215694795430290623856610408981563679557239646025830728933E+000000000000001236");
+ return val;
+ }
+
+ static const mp_float& A006882_969(void)
+ {
+ static const mp_float val("+1.264576431401842523274607342547556537386743152366023754976616562161411925702459070003331374612316002458084497383477958610944605182699235268157172236455366305745042734672510638636172599442446920131613487798572949783185566131365941982466524930032136136131632844849379644345045312671775241844515694530970861035688446593164999704519979810296737075519048756885267300692709770552307163308147985306858594060644744341755366084556835503043E+000000000000001238");
+ return val;
+ }
+
+ static const mp_float& A006882_970(void)
+ {
+ static const mp_float val("+4.937451249132759100067311128265838344915533565764698398510914040067344552340900089723412579076197103437459959064617159338693211319568609300173258881493802563072203191608489314501897450138004216951755023173969483093287876375462398474890398428806624775921738519733199401661065674446724920015024363996942331890841016004436269540891976034575619488060258063808626244643012518062792239515673819051409120967121167691705224566450558070651E+000000000000001239");
+ return val;
+ }
+
+ static const mp_float& A006882_971(void)
+ {
+ static const mp_float val("+1.22790371489118909009964372961367739780252760094740906608229468185873097985708775697323476474855883838680004695935709781122721163240095744538061424159816068287843649536700783011572359405861595944779669665241433423947318471355632966497499570706120418818381549234874763465903899860429375983102473938957270606565348164196321471308890039579813170032899634293559454897262118720629025557221169373295969483288604675584446046810468727E+000000000000001241");
+ return val;
+ }
+
+ static const mp_float& A006882_972(void)
+ {
+ static const mp_float val("+4.799202614157041845265426416674394871257898625923286843352608446945458904875354887211157026862063584541211080210807878877209801402620688239768407632811976091306181502243451613695844321534140098877105882525098337566675815836949451317593467272800039282195929841180669818414555835562216622254603681805027946597897467556312053993747000705607502142394570838021984709793008167557034056809234952117969665580041774996337478278589942444E+000000000000001242");
+ return val;
+ }
+
+ static const mp_float& A006882_973(void)
+ {
+ static const mp_float val("+1.19475031458912698466695334891410810806185935572182902129807272544854524340094638753495742610034774975035644569145445617032407691832613159435533765707501034444071870999209861870259905701903332854270618584279914721500740872629030876402067082297055167510285247405533144852324494564197782831558707142605424300188083763763020791583550008511158214442011344167633349615036041515172041867176197800216978307239812349343666003546586071707E+000000000000001244");
+ return val;
+ }
+
+ static const mp_float& A006882_974(void)
+ {
+ static const mp_float val("+4.674423346188958757288525329840860604605193261649281385425440627324876973348595660143666944163649931343139592125326874026402346566152550345534429034358864712932220783185121871739752369174252456306301129579445780789942244625188765583336037123707238260858835665309972403135777383837598990075983986078097219986352133399847940589909578687261707086692311996233413107338389955200551171332194843362902454274960688846432703843346603941111E+000000000000001245");
+ return val;
+ }
+
+ static const mp_float& A006882_975(void)
+ {
+ static const mp_float val("+1.164881556724398810050279515191255405360312871828783295765620907312331612315922727846583490447839056006597534549168094766065974995367978304496454215648135085829700742242296153235034080593557495329138531196729168534632223508133051044920154052396287883225281162203948162310163822000928382607697394640402886926833816696689452717939612582983792590809610605634425158746601404772927408204967928552115538495588170406100743534579214199145E+000000000000001247");
+ return val;
+ }
+
+ static const mp_float& A006882_976(void)
+ {
+ static const mp_float val("+4.5622371858804237471136007219246799500946686233696986321752300522690799259882293643002189375037223329909042419143190290497686902485648891372416027375342519598218474843886789468179983123140703973549499024695390820509836307541842352093359722327382645425982236093425330654605187266254966143141603704122228867066796821982515900157517487987674261166116965083238111927622685962757379432202221671221927953723616323141183189511062854E+000000000000001248");
+ return val;
+ }
+
+ static const mp_float& A006882_977(void)
+ {
+ static const mp_float val("+1.138089280919737637419123086341856531037025675776721279963011626444147985232656505106112070167538757718445791254537228586446457570474514803493035768688227978855617625170723341710628296739905672936568344979204397658335682367445990870886990509191173261911099695473257354577030054094907029807720354563673620527516638912665595305427001493575165361220989561704833380095429572463150077816253666195416881110189642486760426433283892272E+000000000000001250");
+ return val;
+ }
+
+ static const mp_float& A006882_978(void)
+ {
+ static const mp_float val("+4.4618679677910544246771015060423369911925859136555652622673749911191601676164883182856141208786404416651043485922040104106737790630964615762222874773084984167057668397321280099880023494431608486131410046152092222458619908775921820347305808436180227226610626899369973380203873146397356887992488422631539831991327291898900550354052103251945427420462391851406873465214986871576717084693772794455045538741696764032077159341819471667E+000000000000001251");
+ return val;
+ }
+
+ static const mp_float& A006882_979(void)
+ {
+ static const mp_float val("+1.114189406020423147033321501528677543885248136585410133083788382288820877542770718498883716694020443806358429638191946786131081961494549992619682017545775191299649655042138151534705102508367653804900409734641105307510633037729625062598363708498158623410966601868318950130912422958913982181758227117836474496438789495499617804013034462210086888635348780909031879113425551441423926182112339205313126606875659994538457478184930534840E+000000000000001253");
+ return val;
+ }
+
+ static const mp_float& A006882_980(void)
+ {
+ static const mp_float val("+4.372630608435233336183559475921490251368734195382453957022027491296776964264158551919901838461067632831802261620359930202460303481834532344697841727762328448371651502937485449788242302454297631640878184522905037800944751060040338394035969226745662268207841436138257391259979568346940975023263865417890903535150074606092253934697106118690651887205314401437873599591068713414518274299989733856594462796686282875143561615498308223367E+000000000000001254");
+ return val;
+ }
+
+ static const mp_float& A006882_981(void)
+ {
+ static const mp_float val("+1.0930198073060351072396883929996326705514284219902873405551964030253332808694580748474049260768340553740376194750662997971945914042261535427599080592124054626649563115963375266555457055607086683826073019496829243066679310100127621864089947980366936095661582364328208900784250869226946165203048208025975814810064524950851250657367868074280952377512771540717602734102704659640368715846522047604121772013450224546422267860994168E+000000000000001256");
+ return val;
+ }
+
+ static const mp_float& A006882_982(void)
+ {
+ static const mp_float val("+4.29392325748339913613225540535490342684409697986556978579563099645343497890740369798534360536876841544082982091119345145881601801916151076249328057666260653630096177588461071169205394101012027427134237720149274712052774554095961230294332178066424034738010029028776875821729993611669603747284511584036886727151737326318259336387255820855422015323561874221199187479842947657305694536258991864717576246634592978339097750641933867E+000000000000001257");
+ return val;
+ }
+
+ static const mp_float& A006882_983(void)
+ {
+ static const mp_float val("+1.0744384705818325104166136903186389151520541388164524557657580641739026150946772875749990423335278764326789799439901727006422833503543089325329896222057945697996520542991997887024014285661766210201029778165383145934545761828425452292400418864700698182035335464134629349470918604450088080394596388489534225958293428026686779396192614317018176187095054424525403487622958680426482447677131172794851701889221570729133089307357267681E+000000000000001259");
+ return val;
+ }
+
+ static const mp_float& A006882_984(void)
+ {
+ static const mp_float val("+4.22522048536366474995413931886922497201459142818772066922290090051018001924488523881757810768286812079377654377661435623547496173085492659029338808743600483172014638747045694030498107795395834988300089916626886316659930161230425850609622863217361250182201868564316445808582313713882890087327959398692296539517309529097167187005059727721735263078384884233660000480165460494788803423678847994882095026688439490685672186631662925654E+000000000000001260");
+ return val;
+ }
+
+ static const mp_float& A006882_985(void)
+ {
+ static const mp_float val("+1.058321893523105022760364484963859331424773326734205668929271693211294075868257128261374056698524958286188795244830320110132649100098994298544994777872707651252657273484711791871865407137683971704801433149290239874552757540099907050801441258173018770930480543217260990922885482538333675918867744266219121256891902660628647770524972510226290354428862860815752243530861430022008521096197420520292892636088324716819609296774690866627E+000000000000001262");
+ return val;
+ }
+
+ static const mp_float& A006882_986(void)
+ {
+ static const mp_float val("+4.166067398568573443454781368405055822406387148193092579853780287903037498975456845474132014175307967102663672163741755248178312266622957618029280654211900764076064338045870543140711342862602932984638886577941099082266911389731998887010881431323181926796510424044160155672621613218885296261053679671106043879640671956898068463869888915336309693952874958543887604734431440478617601757473441229537456963148013378160727760188196446949E+000000000000001263");
+ return val;
+ }
+
+ static const mp_float& A006882_987(void)
+ {
+ static const mp_float val("+1.04456370890730465746447974665932916011625127348666099523319116119954725288196978559397619396144413382846834090664752594870092466179770737266390984576036245178637272892941053857753115684489408007263901451834946675618357169207860825914102252181676952690838429615543659804088797126533533813192246359075827268055230792604047534950814786759334857982128764362514746436496023143172241032194685405352908503181917649550095437591661988E+000000000000001265");
+ return val;
+ }
+
+ static const mp_float& A006882_988(void)
+ {
+ static const mp_float val("+4.116074589785750562133323991984195152537510502414775468895534924448201048987751363328442430005204271497431708097776854185200172519423482126612929286361357954907151565989320096623022806748251697788823219939005805893279708453055214900366750854147303743674952298955630233804550153860258672705921035515052771353084983893415291642303450248352273977625440459041360953477618263192874190536383759934783007479590237217622799027065938089E+000000000000001266");
+ return val;
+ }
+
+ static const mp_float& A006882_989(void)
+ {
+ static const mp_float val("+1.03307350810932430623237046944607653935497250947830772428562605842635223310026811795244245582786824835635518915667440316326521449051793259156460683745699846481672262891118702265317831411960024519183998535864762262186555240346574356829047127407678506211239206889772679546243820358141664941247131649125993168106623253885403012066355824104982174544325347954527084225694566888597346380840543865894026509646916555405044387778153706662E+000000000000001268");
+ return val;
+ }
+
+ static const mp_float& A006882_990(void)
+ {
+ static const mp_float val("+4.074913843887893056511990752064353201012135397390627714206579575203719038497873849695158005705152228782457391016799085643348170794229247305346799993497744375358080050329426895656792578680769180810934987739615747834346911368524662751363083345605830706238202775966073931466504652321656085978861825159902243639554134054481138725880415745868751237849186054450947343942842080560945448631019922335435177404794334845446571036795278708690E+000000000000001269");
+ return val;
+ }
+
+ static const mp_float& A006882_991(void)
+ {
+ static const mp_float val("+1.023775846536340387476279135221061850500777756893002954767055423900515063002365704890870473725417434121147992454264333534795827560103271198240525375919885478633372125250986339449299709292523842985113425490419794018268762431834551876175857032610093996553380540277647254303276259749183899567759074642838592295936636446004343849577586216880373349734264198229363404676633157865999702634129789711009802710600943064063989882881503233022E+000000000000001271");
+ return val;
+ }
+
+ static const mp_float& A006882_992(void)
+ {
+ static const mp_float val("+4.0423145331367899120598948260478383754040383142115026924929269386020892861898908588975967416595110109521977318886646929582013854278754133269040255935497624203552154099267914804915382380513230273644475078376988218516721360775764654493521786788409840605882971537583453400147726151030828372910309305586230256904377009820452896160733724199018012279463925660153397651912993439164578850419717629567516959855559801666829984685009164E+000000000000001272");
+ return val;
+ }
+
+ static const mp_float& A006882_993(void)
+ {
+ static const mp_float val("+1.016609415610586004763945181274514417547272312594751934083686035933211457561349144956634380409339512082299956507084483200052256767182548299852841698288446280282938520374229435073154611327476176084217631511986855460140881094811710013042626033381823338577506876495703723523153325930939612270784761120338722149865079990882313442630543113362210736286124348841757860843896725760937704715690881183032734091626736462615541953701332710E+000000000000001274");
+ return val;
+ }
+
+ static const mp_float& A006882_994(void)
+ {
+ static const mp_float val("+4.0180606459379691725875354570915513451516140843262336763379693769704767504727515137442111612095539448864845454973327048004521771153081608469426014399884638458330841174672307316085890086230150892002608227906726289205621032611110066566560656067679381562247673708357952679746839794124643402672847449752712875362950747761530178783769321853823904205787142106192477266001515478529591377317199323790111858096426442856829004776899109801E+000000000000001275");
+ return val;
+ }
+
+ static const mp_float& A006882_995(void)
+ {
+ static const mp_float val("+1.011526368532533074740125455368141845459535951031778174413267605753545400273542399231851208507292814521888456724549060784051995483346635558353577489797004048881523827772358287897788838270838795203796543354426921182840176689337651462977412903214914221884619342113225204905537559301284914209430837314737028539115754590927901875417390397795399682604693727097549071539677242132133016192112426777117570421168602780302464243932826046839E+000000000000001277");
+ return val;
+ }
+
+ static const mp_float& A006882_996(void)
+ {
+ static const mp_float val("+4.001988403354217295897185315263185139771007627988928741632617499462594843470860507689234316564715729106938607315343373981250368406846928203554831034228509990449751780997361808682154652588523028843459779499509938404879854848066562630029441344340866403599868301352452086902785243494814482906215605995370202386149894477048405806863424456640860858896399353776770735693750941661547301180793052649495141066404073708540168875779151336226E+000000000000001278");
+ return val;
+ }
+
+ static const mp_float& A006882_997(void)
+ {
+ static const mp_float val("+1.0084917894269354755159050790020374199231573431786828398900278029362847640727217720341556548817709360783227913543754136016998394968965956516785167573276130367348792562890412130340954717560262788181851537243636404192916561592696385085884806645052694792189654840868855292908209466233810594668025448027928174534984073271551181697911382266020134835568796459162564243250582104057366171435360894967862177099050969719615568512010275E+000000000000001280");
+ return val;
+ }
+
+ static const mp_float& A006882_998(void)
+ {
+ static const mp_float val("+3.99398442654750886130539094463265876949146561273295088414935226446366965378391878667385584793158629764872473010071268723328786767003323434714772137216005297046885227743536708506479034328334598278577285994051091852807009513837042950476938246165218467079266856474974718272897967300782485394040317478337946198137759468809430899524969760772757913717860655506921719422236343977822420657843146654419615078427126556112308853802759303E+000000000000001281");
+ return val;
+ }
+
+ static const mp_float& A006882_999(void)
+ {
+ static const mp_float val("+1.0074832976375085400403891739230353825032341858355041570501377751333484793086490502621214992268891651422444685630210381880981396573996990560268382405702854236981443770327521718210613762842702525393669685706392767788723645031103688700798921838407642097397465186027986437615301256767576784073357422579900246360449089198279630516213470883754114700733227662703401679007331521953308805263925534072894314921951918749895952943498265411E+000000000000001283");
+ return val;
+ }
+
+ static const mp_float& A006882_1000(void)
+ {
+ static const mp_float val("+3.99398442654750886130539094463265876949146561273295088414935226446366965378391878667385584793158629764872473010071268723328786767003323434714772137216005297046885227743536708506479034328334598278577285994051091852807009513837042950476938246165218467079266856474974718272897967300782485394040317478337946198137759468809430899524969760772757913717860655506921719422236343977822420657843146654419615078427126556112308853802759303355E+000000000000001284");
+ return val;
+ }
+
+}
+
+namespace Tables
+{
+ const std::vector<pfn_efloat>& A006882(void)
+ {
+ static const boost::array<pfn_efloat, 1001> A006882_data =
+ {{
+ A006882_Table::A006882_0,
+ A006882_Table::A006882_1,
+ A006882_Table::A006882_2,
+ A006882_Table::A006882_3,
+ A006882_Table::A006882_4,
+ A006882_Table::A006882_5,
+ A006882_Table::A006882_6,
+ A006882_Table::A006882_7,
+ A006882_Table::A006882_8,
+ A006882_Table::A006882_9,
+ A006882_Table::A006882_10,
+ A006882_Table::A006882_11,
+ A006882_Table::A006882_12,
+ A006882_Table::A006882_13,
+ A006882_Table::A006882_14,
+ A006882_Table::A006882_15,
+ A006882_Table::A006882_16,
+ A006882_Table::A006882_17,
+ A006882_Table::A006882_18,
+ A006882_Table::A006882_19,
+ A006882_Table::A006882_20,
+ A006882_Table::A006882_21,
+ A006882_Table::A006882_22,
+ A006882_Table::A006882_23,
+ A006882_Table::A006882_24,
+ A006882_Table::A006882_25,
+ A006882_Table::A006882_26,
+ A006882_Table::A006882_27,
+ A006882_Table::A006882_28,
+ A006882_Table::A006882_29,
+ A006882_Table::A006882_30,
+ A006882_Table::A006882_31,
+ A006882_Table::A006882_32,
+ A006882_Table::A006882_33,
+ A006882_Table::A006882_34,
+ A006882_Table::A006882_35,
+ A006882_Table::A006882_36,
+ A006882_Table::A006882_37,
+ A006882_Table::A006882_38,
+ A006882_Table::A006882_39,
+ A006882_Table::A006882_40,
+ A006882_Table::A006882_41,
+ A006882_Table::A006882_42,
+ A006882_Table::A006882_43,
+ A006882_Table::A006882_44,
+ A006882_Table::A006882_45,
+ A006882_Table::A006882_46,
+ A006882_Table::A006882_47,
+ A006882_Table::A006882_48,
+ A006882_Table::A006882_49,
+ A006882_Table::A006882_50,
+ A006882_Table::A006882_51,
+ A006882_Table::A006882_52,
+ A006882_Table::A006882_53,
+ A006882_Table::A006882_54,
+ A006882_Table::A006882_55,
+ A006882_Table::A006882_56,
+ A006882_Table::A006882_57,
+ A006882_Table::A006882_58,
+ A006882_Table::A006882_59,
+ A006882_Table::A006882_60,
+ A006882_Table::A006882_61,
+ A006882_Table::A006882_62,
+ A006882_Table::A006882_63,
+ A006882_Table::A006882_64,
+ A006882_Table::A006882_65,
+ A006882_Table::A006882_66,
+ A006882_Table::A006882_67,
+ A006882_Table::A006882_68,
+ A006882_Table::A006882_69,
+ A006882_Table::A006882_70,
+ A006882_Table::A006882_71,
+ A006882_Table::A006882_72,
+ A006882_Table::A006882_73,
+ A006882_Table::A006882_74,
+ A006882_Table::A006882_75,
+ A006882_Table::A006882_76,
+ A006882_Table::A006882_77,
+ A006882_Table::A006882_78,
+ A006882_Table::A006882_79,
+ A006882_Table::A006882_80,
+ A006882_Table::A006882_81,
+ A006882_Table::A006882_82,
+ A006882_Table::A006882_83,
+ A006882_Table::A006882_84,
+ A006882_Table::A006882_85,
+ A006882_Table::A006882_86,
+ A006882_Table::A006882_87,
+ A006882_Table::A006882_88,
+ A006882_Table::A006882_89,
+ A006882_Table::A006882_90,
+ A006882_Table::A006882_91,
+ A006882_Table::A006882_92,
+ A006882_Table::A006882_93,
+ A006882_Table::A006882_94,
+ A006882_Table::A006882_95,
+ A006882_Table::A006882_96,
+ A006882_Table::A006882_97,
+ A006882_Table::A006882_98,
+ A006882_Table::A006882_99,
+ A006882_Table::A006882_100,
+ A006882_Table::A006882_101,
+ A006882_Table::A006882_102,
+ A006882_Table::A006882_103,
+ A006882_Table::A006882_104,
+ A006882_Table::A006882_105,
+ A006882_Table::A006882_106,
+ A006882_Table::A006882_107,
+ A006882_Table::A006882_108,
+ A006882_Table::A006882_109,
+ A006882_Table::A006882_110,
+ A006882_Table::A006882_111,
+ A006882_Table::A006882_112,
+ A006882_Table::A006882_113,
+ A006882_Table::A006882_114,
+ A006882_Table::A006882_115,
+ A006882_Table::A006882_116,
+ A006882_Table::A006882_117,
+ A006882_Table::A006882_118,
+ A006882_Table::A006882_119,
+ A006882_Table::A006882_120,
+ A006882_Table::A006882_121,
+ A006882_Table::A006882_122,
+ A006882_Table::A006882_123,
+ A006882_Table::A006882_124,
+ A006882_Table::A006882_125,
+ A006882_Table::A006882_126,
+ A006882_Table::A006882_127,
+ A006882_Table::A006882_128,
+ A006882_Table::A006882_129,
+ A006882_Table::A006882_130,
+ A006882_Table::A006882_131,
+ A006882_Table::A006882_132,
+ A006882_Table::A006882_133,
+ A006882_Table::A006882_134,
+ A006882_Table::A006882_135,
+ A006882_Table::A006882_136,
+ A006882_Table::A006882_137,
+ A006882_Table::A006882_138,
+ A006882_Table::A006882_139,
+ A006882_Table::A006882_140,
+ A006882_Table::A006882_141,
+ A006882_Table::A006882_142,
+ A006882_Table::A006882_143,
+ A006882_Table::A006882_144,
+ A006882_Table::A006882_145,
+ A006882_Table::A006882_146,
+ A006882_Table::A006882_147,
+ A006882_Table::A006882_148,
+ A006882_Table::A006882_149,
+ A006882_Table::A006882_150,
+ A006882_Table::A006882_151,
+ A006882_Table::A006882_152,
+ A006882_Table::A006882_153,
+ A006882_Table::A006882_154,
+ A006882_Table::A006882_155,
+ A006882_Table::A006882_156,
+ A006882_Table::A006882_157,
+ A006882_Table::A006882_158,
+ A006882_Table::A006882_159,
+ A006882_Table::A006882_160,
+ A006882_Table::A006882_161,
+ A006882_Table::A006882_162,
+ A006882_Table::A006882_163,
+ A006882_Table::A006882_164,
+ A006882_Table::A006882_165,
+ A006882_Table::A006882_166,
+ A006882_Table::A006882_167,
+ A006882_Table::A006882_168,
+ A006882_Table::A006882_169,
+ A006882_Table::A006882_170,
+ A006882_Table::A006882_171,
+ A006882_Table::A006882_172,
+ A006882_Table::A006882_173,
+ A006882_Table::A006882_174,
+ A006882_Table::A006882_175,
+ A006882_Table::A006882_176,
+ A006882_Table::A006882_177,
+ A006882_Table::A006882_178,
+ A006882_Table::A006882_179,
+ A006882_Table::A006882_180,
+ A006882_Table::A006882_181,
+ A006882_Table::A006882_182,
+ A006882_Table::A006882_183,
+ A006882_Table::A006882_184,
+ A006882_Table::A006882_185,
+ A006882_Table::A006882_186,
+ A006882_Table::A006882_187,
+ A006882_Table::A006882_188,
+ A006882_Table::A006882_189,
+ A006882_Table::A006882_190,
+ A006882_Table::A006882_191,
+ A006882_Table::A006882_192,
+ A006882_Table::A006882_193,
+ A006882_Table::A006882_194,
+ A006882_Table::A006882_195,
+ A006882_Table::A006882_196,
+ A006882_Table::A006882_197,
+ A006882_Table::A006882_198,
+ A006882_Table::A006882_199,
+ A006882_Table::A006882_200,
+ A006882_Table::A006882_201,
+ A006882_Table::A006882_202,
+ A006882_Table::A006882_203,
+ A006882_Table::A006882_204,
+ A006882_Table::A006882_205,
+ A006882_Table::A006882_206,
+ A006882_Table::A006882_207,
+ A006882_Table::A006882_208,
+ A006882_Table::A006882_209,
+ A006882_Table::A006882_210,
+ A006882_Table::A006882_211,
+ A006882_Table::A006882_212,
+ A006882_Table::A006882_213,
+ A006882_Table::A006882_214,
+ A006882_Table::A006882_215,
+ A006882_Table::A006882_216,
+ A006882_Table::A006882_217,
+ A006882_Table::A006882_218,
+ A006882_Table::A006882_219,
+ A006882_Table::A006882_220,
+ A006882_Table::A006882_221,
+ A006882_Table::A006882_222,
+ A006882_Table::A006882_223,
+ A006882_Table::A006882_224,
+ A006882_Table::A006882_225,
+ A006882_Table::A006882_226,
+ A006882_Table::A006882_227,
+ A006882_Table::A006882_228,
+ A006882_Table::A006882_229,
+ A006882_Table::A006882_230,
+ A006882_Table::A006882_231,
+ A006882_Table::A006882_232,
+ A006882_Table::A006882_233,
+ A006882_Table::A006882_234,
+ A006882_Table::A006882_235,
+ A006882_Table::A006882_236,
+ A006882_Table::A006882_237,
+ A006882_Table::A006882_238,
+ A006882_Table::A006882_239,
+ A006882_Table::A006882_240,
+ A006882_Table::A006882_241,
+ A006882_Table::A006882_242,
+ A006882_Table::A006882_243,
+ A006882_Table::A006882_244,
+ A006882_Table::A006882_245,
+ A006882_Table::A006882_246,
+ A006882_Table::A006882_247,
+ A006882_Table::A006882_248,
+ A006882_Table::A006882_249,
+ A006882_Table::A006882_250,
+ A006882_Table::A006882_251,
+ A006882_Table::A006882_252,
+ A006882_Table::A006882_253,
+ A006882_Table::A006882_254,
+ A006882_Table::A006882_255,
+ A006882_Table::A006882_256,
+ A006882_Table::A006882_257,
+ A006882_Table::A006882_258,
+ A006882_Table::A006882_259,
+ A006882_Table::A006882_260,
+ A006882_Table::A006882_261,
+ A006882_Table::A006882_262,
+ A006882_Table::A006882_263,
+ A006882_Table::A006882_264,
+ A006882_Table::A006882_265,
+ A006882_Table::A006882_266,
+ A006882_Table::A006882_267,
+ A006882_Table::A006882_268,
+ A006882_Table::A006882_269,
+ A006882_Table::A006882_270,
+ A006882_Table::A006882_271,
+ A006882_Table::A006882_272,
+ A006882_Table::A006882_273,
+ A006882_Table::A006882_274,
+ A006882_Table::A006882_275,
+ A006882_Table::A006882_276,
+ A006882_Table::A006882_277,
+ A006882_Table::A006882_278,
+ A006882_Table::A006882_279,
+ A006882_Table::A006882_280,
+ A006882_Table::A006882_281,
+ A006882_Table::A006882_282,
+ A006882_Table::A006882_283,
+ A006882_Table::A006882_284,
+ A006882_Table::A006882_285,
+ A006882_Table::A006882_286,
+ A006882_Table::A006882_287,
+ A006882_Table::A006882_288,
+ A006882_Table::A006882_289,
+ A006882_Table::A006882_290,
+ A006882_Table::A006882_291,
+ A006882_Table::A006882_292,
+ A006882_Table::A006882_293,
+ A006882_Table::A006882_294,
+ A006882_Table::A006882_295,
+ A006882_Table::A006882_296,
+ A006882_Table::A006882_297,
+ A006882_Table::A006882_298,
+ A006882_Table::A006882_299,
+ A006882_Table::A006882_300,
+ A006882_Table::A006882_301,
+ A006882_Table::A006882_302,
+ A006882_Table::A006882_303,
+ A006882_Table::A006882_304,
+ A006882_Table::A006882_305,
+ A006882_Table::A006882_306,
+ A006882_Table::A006882_307,
+ A006882_Table::A006882_308,
+ A006882_Table::A006882_309,
+ A006882_Table::A006882_310,
+ A006882_Table::A006882_311,
+ A006882_Table::A006882_312,
+ A006882_Table::A006882_313,
+ A006882_Table::A006882_314,
+ A006882_Table::A006882_315,
+ A006882_Table::A006882_316,
+ A006882_Table::A006882_317,
+ A006882_Table::A006882_318,
+ A006882_Table::A006882_319,
+ A006882_Table::A006882_320,
+ A006882_Table::A006882_321,
+ A006882_Table::A006882_322,
+ A006882_Table::A006882_323,
+ A006882_Table::A006882_324,
+ A006882_Table::A006882_325,
+ A006882_Table::A006882_326,
+ A006882_Table::A006882_327,
+ A006882_Table::A006882_328,
+ A006882_Table::A006882_329,
+ A006882_Table::A006882_330,
+ A006882_Table::A006882_331,
+ A006882_Table::A006882_332,
+ A006882_Table::A006882_333,
+ A006882_Table::A006882_334,
+ A006882_Table::A006882_335,
+ A006882_Table::A006882_336,
+ A006882_Table::A006882_337,
+ A006882_Table::A006882_338,
+ A006882_Table::A006882_339,
+ A006882_Table::A006882_340,
+ A006882_Table::A006882_341,
+ A006882_Table::A006882_342,
+ A006882_Table::A006882_343,
+ A006882_Table::A006882_344,
+ A006882_Table::A006882_345,
+ A006882_Table::A006882_346,
+ A006882_Table::A006882_347,
+ A006882_Table::A006882_348,
+ A006882_Table::A006882_349,
+ A006882_Table::A006882_350,
+ A006882_Table::A006882_351,
+ A006882_Table::A006882_352,
+ A006882_Table::A006882_353,
+ A006882_Table::A006882_354,
+ A006882_Table::A006882_355,
+ A006882_Table::A006882_356,
+ A006882_Table::A006882_357,
+ A006882_Table::A006882_358,
+ A006882_Table::A006882_359,
+ A006882_Table::A006882_360,
+ A006882_Table::A006882_361,
+ A006882_Table::A006882_362,
+ A006882_Table::A006882_363,
+ A006882_Table::A006882_364,
+ A006882_Table::A006882_365,
+ A006882_Table::A006882_366,
+ A006882_Table::A006882_367,
+ A006882_Table::A006882_368,
+ A006882_Table::A006882_369,
+ A006882_Table::A006882_370,
+ A006882_Table::A006882_371,
+ A006882_Table::A006882_372,
+ A006882_Table::A006882_373,
+ A006882_Table::A006882_374,
+ A006882_Table::A006882_375,
+ A006882_Table::A006882_376,
+ A006882_Table::A006882_377,
+ A006882_Table::A006882_378,
+ A006882_Table::A006882_379,
+ A006882_Table::A006882_380,
+ A006882_Table::A006882_381,
+ A006882_Table::A006882_382,
+ A006882_Table::A006882_383,
+ A006882_Table::A006882_384,
+ A006882_Table::A006882_385,
+ A006882_Table::A006882_386,
+ A006882_Table::A006882_387,
+ A006882_Table::A006882_388,
+ A006882_Table::A006882_389,
+ A006882_Table::A006882_390,
+ A006882_Table::A006882_391,
+ A006882_Table::A006882_392,
+ A006882_Table::A006882_393,
+ A006882_Table::A006882_394,
+ A006882_Table::A006882_395,
+ A006882_Table::A006882_396,
+ A006882_Table::A006882_397,
+ A006882_Table::A006882_398,
+ A006882_Table::A006882_399,
+ A006882_Table::A006882_400,
+ A006882_Table::A006882_401,
+ A006882_Table::A006882_402,
+ A006882_Table::A006882_403,
+ A006882_Table::A006882_404,
+ A006882_Table::A006882_405,
+ A006882_Table::A006882_406,
+ A006882_Table::A006882_407,
+ A006882_Table::A006882_408,
+ A006882_Table::A006882_409,
+ A006882_Table::A006882_410,
+ A006882_Table::A006882_411,
+ A006882_Table::A006882_412,
+ A006882_Table::A006882_413,
+ A006882_Table::A006882_414,
+ A006882_Table::A006882_415,
+ A006882_Table::A006882_416,
+ A006882_Table::A006882_417,
+ A006882_Table::A006882_418,
+ A006882_Table::A006882_419,
+ A006882_Table::A006882_420,
+ A006882_Table::A006882_421,
+ A006882_Table::A006882_422,
+ A006882_Table::A006882_423,
+ A006882_Table::A006882_424,
+ A006882_Table::A006882_425,
+ A006882_Table::A006882_426,
+ A006882_Table::A006882_427,
+ A006882_Table::A006882_428,
+ A006882_Table::A006882_429,
+ A006882_Table::A006882_430,
+ A006882_Table::A006882_431,
+ A006882_Table::A006882_432,
+ A006882_Table::A006882_433,
+ A006882_Table::A006882_434,
+ A006882_Table::A006882_435,
+ A006882_Table::A006882_436,
+ A006882_Table::A006882_437,
+ A006882_Table::A006882_438,
+ A006882_Table::A006882_439,
+ A006882_Table::A006882_440,
+ A006882_Table::A006882_441,
+ A006882_Table::A006882_442,
+ A006882_Table::A006882_443,
+ A006882_Table::A006882_444,
+ A006882_Table::A006882_445,
+ A006882_Table::A006882_446,
+ A006882_Table::A006882_447,
+ A006882_Table::A006882_448,
+ A006882_Table::A006882_449,
+ A006882_Table::A006882_450,
+ A006882_Table::A006882_451,
+ A006882_Table::A006882_452,
+ A006882_Table::A006882_453,
+ A006882_Table::A006882_454,
+ A006882_Table::A006882_455,
+ A006882_Table::A006882_456,
+ A006882_Table::A006882_457,
+ A006882_Table::A006882_458,
+ A006882_Table::A006882_459,
+ A006882_Table::A006882_460,
+ A006882_Table::A006882_461,
+ A006882_Table::A006882_462,
+ A006882_Table::A006882_463,
+ A006882_Table::A006882_464,
+ A006882_Table::A006882_465,
+ A006882_Table::A006882_466,
+ A006882_Table::A006882_467,
+ A006882_Table::A006882_468,
+ A006882_Table::A006882_469,
+ A006882_Table::A006882_470,
+ A006882_Table::A006882_471,
+ A006882_Table::A006882_472,
+ A006882_Table::A006882_473,
+ A006882_Table::A006882_474,
+ A006882_Table::A006882_475,
+ A006882_Table::A006882_476,
+ A006882_Table::A006882_477,
+ A006882_Table::A006882_478,
+ A006882_Table::A006882_479,
+ A006882_Table::A006882_480,
+ A006882_Table::A006882_481,
+ A006882_Table::A006882_482,
+ A006882_Table::A006882_483,
+ A006882_Table::A006882_484,
+ A006882_Table::A006882_485,
+ A006882_Table::A006882_486,
+ A006882_Table::A006882_487,
+ A006882_Table::A006882_488,
+ A006882_Table::A006882_489,
+ A006882_Table::A006882_490,
+ A006882_Table::A006882_491,
+ A006882_Table::A006882_492,
+ A006882_Table::A006882_493,
+ A006882_Table::A006882_494,
+ A006882_Table::A006882_495,
+ A006882_Table::A006882_496,
+ A006882_Table::A006882_497,
+ A006882_Table::A006882_498,
+ A006882_Table::A006882_499,
+ A006882_Table::A006882_500,
+ A006882_Table::A006882_501,
+ A006882_Table::A006882_502,
+ A006882_Table::A006882_503,
+ A006882_Table::A006882_504,
+ A006882_Table::A006882_505,
+ A006882_Table::A006882_506,
+ A006882_Table::A006882_507,
+ A006882_Table::A006882_508,
+ A006882_Table::A006882_509,
+ A006882_Table::A006882_510,
+ A006882_Table::A006882_511,
+ A006882_Table::A006882_512,
+ A006882_Table::A006882_513,
+ A006882_Table::A006882_514,
+ A006882_Table::A006882_515,
+ A006882_Table::A006882_516,
+ A006882_Table::A006882_517,
+ A006882_Table::A006882_518,
+ A006882_Table::A006882_519,
+ A006882_Table::A006882_520,
+ A006882_Table::A006882_521,
+ A006882_Table::A006882_522,
+ A006882_Table::A006882_523,
+ A006882_Table::A006882_524,
+ A006882_Table::A006882_525,
+ A006882_Table::A006882_526,
+ A006882_Table::A006882_527,
+ A006882_Table::A006882_528,
+ A006882_Table::A006882_529,
+ A006882_Table::A006882_530,
+ A006882_Table::A006882_531,
+ A006882_Table::A006882_532,
+ A006882_Table::A006882_533,
+ A006882_Table::A006882_534,
+ A006882_Table::A006882_535,
+ A006882_Table::A006882_536,
+ A006882_Table::A006882_537,
+ A006882_Table::A006882_538,
+ A006882_Table::A006882_539,
+ A006882_Table::A006882_540,
+ A006882_Table::A006882_541,
+ A006882_Table::A006882_542,
+ A006882_Table::A006882_543,
+ A006882_Table::A006882_544,
+ A006882_Table::A006882_545,
+ A006882_Table::A006882_546,
+ A006882_Table::A006882_547,
+ A006882_Table::A006882_548,
+ A006882_Table::A006882_549,
+ A006882_Table::A006882_550,
+ A006882_Table::A006882_551,
+ A006882_Table::A006882_552,
+ A006882_Table::A006882_553,
+ A006882_Table::A006882_554,
+ A006882_Table::A006882_555,
+ A006882_Table::A006882_556,
+ A006882_Table::A006882_557,
+ A006882_Table::A006882_558,
+ A006882_Table::A006882_559,
+ A006882_Table::A006882_560,
+ A006882_Table::A006882_561,
+ A006882_Table::A006882_562,
+ A006882_Table::A006882_563,
+ A006882_Table::A006882_564,
+ A006882_Table::A006882_565,
+ A006882_Table::A006882_566,
+ A006882_Table::A006882_567,
+ A006882_Table::A006882_568,
+ A006882_Table::A006882_569,
+ A006882_Table::A006882_570,
+ A006882_Table::A006882_571,
+ A006882_Table::A006882_572,
+ A006882_Table::A006882_573,
+ A006882_Table::A006882_574,
+ A006882_Table::A006882_575,
+ A006882_Table::A006882_576,
+ A006882_Table::A006882_577,
+ A006882_Table::A006882_578,
+ A006882_Table::A006882_579,
+ A006882_Table::A006882_580,
+ A006882_Table::A006882_581,
+ A006882_Table::A006882_582,
+ A006882_Table::A006882_583,
+ A006882_Table::A006882_584,
+ A006882_Table::A006882_585,
+ A006882_Table::A006882_586,
+ A006882_Table::A006882_587,
+ A006882_Table::A006882_588,
+ A006882_Table::A006882_589,
+ A006882_Table::A006882_590,
+ A006882_Table::A006882_591,
+ A006882_Table::A006882_592,
+ A006882_Table::A006882_593,
+ A006882_Table::A006882_594,
+ A006882_Table::A006882_595,
+ A006882_Table::A006882_596,
+ A006882_Table::A006882_597,
+ A006882_Table::A006882_598,
+ A006882_Table::A006882_599,
+ A006882_Table::A006882_600,
+ A006882_Table::A006882_601,
+ A006882_Table::A006882_602,
+ A006882_Table::A006882_603,
+ A006882_Table::A006882_604,
+ A006882_Table::A006882_605,
+ A006882_Table::A006882_606,
+ A006882_Table::A006882_607,
+ A006882_Table::A006882_608,
+ A006882_Table::A006882_609,
+ A006882_Table::A006882_610,
+ A006882_Table::A006882_611,
+ A006882_Table::A006882_612,
+ A006882_Table::A006882_613,
+ A006882_Table::A006882_614,
+ A006882_Table::A006882_615,
+ A006882_Table::A006882_616,
+ A006882_Table::A006882_617,
+ A006882_Table::A006882_618,
+ A006882_Table::A006882_619,
+ A006882_Table::A006882_620,
+ A006882_Table::A006882_621,
+ A006882_Table::A006882_622,
+ A006882_Table::A006882_623,
+ A006882_Table::A006882_624,
+ A006882_Table::A006882_625,
+ A006882_Table::A006882_626,
+ A006882_Table::A006882_627,
+ A006882_Table::A006882_628,
+ A006882_Table::A006882_629,
+ A006882_Table::A006882_630,
+ A006882_Table::A006882_631,
+ A006882_Table::A006882_632,
+ A006882_Table::A006882_633,
+ A006882_Table::A006882_634,
+ A006882_Table::A006882_635,
+ A006882_Table::A006882_636,
+ A006882_Table::A006882_637,
+ A006882_Table::A006882_638,
+ A006882_Table::A006882_639,
+ A006882_Table::A006882_640,
+ A006882_Table::A006882_641,
+ A006882_Table::A006882_642,
+ A006882_Table::A006882_643,
+ A006882_Table::A006882_644,
+ A006882_Table::A006882_645,
+ A006882_Table::A006882_646,
+ A006882_Table::A006882_647,
+ A006882_Table::A006882_648,
+ A006882_Table::A006882_649,
+ A006882_Table::A006882_650,
+ A006882_Table::A006882_651,
+ A006882_Table::A006882_652,
+ A006882_Table::A006882_653,
+ A006882_Table::A006882_654,
+ A006882_Table::A006882_655,
+ A006882_Table::A006882_656,
+ A006882_Table::A006882_657,
+ A006882_Table::A006882_658,
+ A006882_Table::A006882_659,
+ A006882_Table::A006882_660,
+ A006882_Table::A006882_661,
+ A006882_Table::A006882_662,
+ A006882_Table::A006882_663,
+ A006882_Table::A006882_664,
+ A006882_Table::A006882_665,
+ A006882_Table::A006882_666,
+ A006882_Table::A006882_667,
+ A006882_Table::A006882_668,
+ A006882_Table::A006882_669,
+ A006882_Table::A006882_670,
+ A006882_Table::A006882_671,
+ A006882_Table::A006882_672,
+ A006882_Table::A006882_673,
+ A006882_Table::A006882_674,
+ A006882_Table::A006882_675,
+ A006882_Table::A006882_676,
+ A006882_Table::A006882_677,
+ A006882_Table::A006882_678,
+ A006882_Table::A006882_679,
+ A006882_Table::A006882_680,
+ A006882_Table::A006882_681,
+ A006882_Table::A006882_682,
+ A006882_Table::A006882_683,
+ A006882_Table::A006882_684,
+ A006882_Table::A006882_685,
+ A006882_Table::A006882_686,
+ A006882_Table::A006882_687,
+ A006882_Table::A006882_688,
+ A006882_Table::A006882_689,
+ A006882_Table::A006882_690,
+ A006882_Table::A006882_691,
+ A006882_Table::A006882_692,
+ A006882_Table::A006882_693,
+ A006882_Table::A006882_694,
+ A006882_Table::A006882_695,
+ A006882_Table::A006882_696,
+ A006882_Table::A006882_697,
+ A006882_Table::A006882_698,
+ A006882_Table::A006882_699,
+ A006882_Table::A006882_700,
+ A006882_Table::A006882_701,
+ A006882_Table::A006882_702,
+ A006882_Table::A006882_703,
+ A006882_Table::A006882_704,
+ A006882_Table::A006882_705,
+ A006882_Table::A006882_706,
+ A006882_Table::A006882_707,
+ A006882_Table::A006882_708,
+ A006882_Table::A006882_709,
+ A006882_Table::A006882_710,
+ A006882_Table::A006882_711,
+ A006882_Table::A006882_712,
+ A006882_Table::A006882_713,
+ A006882_Table::A006882_714,
+ A006882_Table::A006882_715,
+ A006882_Table::A006882_716,
+ A006882_Table::A006882_717,
+ A006882_Table::A006882_718,
+ A006882_Table::A006882_719,
+ A006882_Table::A006882_720,
+ A006882_Table::A006882_721,
+ A006882_Table::A006882_722,
+ A006882_Table::A006882_723,
+ A006882_Table::A006882_724,
+ A006882_Table::A006882_725,
+ A006882_Table::A006882_726,
+ A006882_Table::A006882_727,
+ A006882_Table::A006882_728,
+ A006882_Table::A006882_729,
+ A006882_Table::A006882_730,
+ A006882_Table::A006882_731,
+ A006882_Table::A006882_732,
+ A006882_Table::A006882_733,
+ A006882_Table::A006882_734,
+ A006882_Table::A006882_735,
+ A006882_Table::A006882_736,
+ A006882_Table::A006882_737,
+ A006882_Table::A006882_738,
+ A006882_Table::A006882_739,
+ A006882_Table::A006882_740,
+ A006882_Table::A006882_741,
+ A006882_Table::A006882_742,
+ A006882_Table::A006882_743,
+ A006882_Table::A006882_744,
+ A006882_Table::A006882_745,
+ A006882_Table::A006882_746,
+ A006882_Table::A006882_747,
+ A006882_Table::A006882_748,
+ A006882_Table::A006882_749,
+ A006882_Table::A006882_750,
+ A006882_Table::A006882_751,
+ A006882_Table::A006882_752,
+ A006882_Table::A006882_753,
+ A006882_Table::A006882_754,
+ A006882_Table::A006882_755,
+ A006882_Table::A006882_756,
+ A006882_Table::A006882_757,
+ A006882_Table::A006882_758,
+ A006882_Table::A006882_759,
+ A006882_Table::A006882_760,
+ A006882_Table::A006882_761,
+ A006882_Table::A006882_762,
+ A006882_Table::A006882_763,
+ A006882_Table::A006882_764,
+ A006882_Table::A006882_765,
+ A006882_Table::A006882_766,
+ A006882_Table::A006882_767,
+ A006882_Table::A006882_768,
+ A006882_Table::A006882_769,
+ A006882_Table::A006882_770,
+ A006882_Table::A006882_771,
+ A006882_Table::A006882_772,
+ A006882_Table::A006882_773,
+ A006882_Table::A006882_774,
+ A006882_Table::A006882_775,
+ A006882_Table::A006882_776,
+ A006882_Table::A006882_777,
+ A006882_Table::A006882_778,
+ A006882_Table::A006882_779,
+ A006882_Table::A006882_780,
+ A006882_Table::A006882_781,
+ A006882_Table::A006882_782,
+ A006882_Table::A006882_783,
+ A006882_Table::A006882_784,
+ A006882_Table::A006882_785,
+ A006882_Table::A006882_786,
+ A006882_Table::A006882_787,
+ A006882_Table::A006882_788,
+ A006882_Table::A006882_789,
+ A006882_Table::A006882_790,
+ A006882_Table::A006882_791,
+ A006882_Table::A006882_792,
+ A006882_Table::A006882_793,
+ A006882_Table::A006882_794,
+ A006882_Table::A006882_795,
+ A006882_Table::A006882_796,
+ A006882_Table::A006882_797,
+ A006882_Table::A006882_798,
+ A006882_Table::A006882_799,
+ A006882_Table::A006882_800,
+ A006882_Table::A006882_801,
+ A006882_Table::A006882_802,
+ A006882_Table::A006882_803,
+ A006882_Table::A006882_804,
+ A006882_Table::A006882_805,
+ A006882_Table::A006882_806,
+ A006882_Table::A006882_807,
+ A006882_Table::A006882_808,
+ A006882_Table::A006882_809,
+ A006882_Table::A006882_810,
+ A006882_Table::A006882_811,
+ A006882_Table::A006882_812,
+ A006882_Table::A006882_813,
+ A006882_Table::A006882_814,
+ A006882_Table::A006882_815,
+ A006882_Table::A006882_816,
+ A006882_Table::A006882_817,
+ A006882_Table::A006882_818,
+ A006882_Table::A006882_819,
+ A006882_Table::A006882_820,
+ A006882_Table::A006882_821,
+ A006882_Table::A006882_822,
+ A006882_Table::A006882_823,
+ A006882_Table::A006882_824,
+ A006882_Table::A006882_825,
+ A006882_Table::A006882_826,
+ A006882_Table::A006882_827,
+ A006882_Table::A006882_828,
+ A006882_Table::A006882_829,
+ A006882_Table::A006882_830,
+ A006882_Table::A006882_831,
+ A006882_Table::A006882_832,
+ A006882_Table::A006882_833,
+ A006882_Table::A006882_834,
+ A006882_Table::A006882_835,
+ A006882_Table::A006882_836,
+ A006882_Table::A006882_837,
+ A006882_Table::A006882_838,
+ A006882_Table::A006882_839,
+ A006882_Table::A006882_840,
+ A006882_Table::A006882_841,
+ A006882_Table::A006882_842,
+ A006882_Table::A006882_843,
+ A006882_Table::A006882_844,
+ A006882_Table::A006882_845,
+ A006882_Table::A006882_846,
+ A006882_Table::A006882_847,
+ A006882_Table::A006882_848,
+ A006882_Table::A006882_849,
+ A006882_Table::A006882_850,
+ A006882_Table::A006882_851,
+ A006882_Table::A006882_852,
+ A006882_Table::A006882_853,
+ A006882_Table::A006882_854,
+ A006882_Table::A006882_855,
+ A006882_Table::A006882_856,
+ A006882_Table::A006882_857,
+ A006882_Table::A006882_858,
+ A006882_Table::A006882_859,
+ A006882_Table::A006882_860,
+ A006882_Table::A006882_861,
+ A006882_Table::A006882_862,
+ A006882_Table::A006882_863,
+ A006882_Table::A006882_864,
+ A006882_Table::A006882_865,
+ A006882_Table::A006882_866,
+ A006882_Table::A006882_867,
+ A006882_Table::A006882_868,
+ A006882_Table::A006882_869,
+ A006882_Table::A006882_870,
+ A006882_Table::A006882_871,
+ A006882_Table::A006882_872,
+ A006882_Table::A006882_873,
+ A006882_Table::A006882_874,
+ A006882_Table::A006882_875,
+ A006882_Table::A006882_876,
+ A006882_Table::A006882_877,
+ A006882_Table::A006882_878,
+ A006882_Table::A006882_879,
+ A006882_Table::A006882_880,
+ A006882_Table::A006882_881,
+ A006882_Table::A006882_882,
+ A006882_Table::A006882_883,
+ A006882_Table::A006882_884,
+ A006882_Table::A006882_885,
+ A006882_Table::A006882_886,
+ A006882_Table::A006882_887,
+ A006882_Table::A006882_888,
+ A006882_Table::A006882_889,
+ A006882_Table::A006882_890,
+ A006882_Table::A006882_891,
+ A006882_Table::A006882_892,
+ A006882_Table::A006882_893,
+ A006882_Table::A006882_894,
+ A006882_Table::A006882_895,
+ A006882_Table::A006882_896,
+ A006882_Table::A006882_897,
+ A006882_Table::A006882_898,
+ A006882_Table::A006882_899,
+ A006882_Table::A006882_900,
+ A006882_Table::A006882_901,
+ A006882_Table::A006882_902,
+ A006882_Table::A006882_903,
+ A006882_Table::A006882_904,
+ A006882_Table::A006882_905,
+ A006882_Table::A006882_906,
+ A006882_Table::A006882_907,
+ A006882_Table::A006882_908,
+ A006882_Table::A006882_909,
+ A006882_Table::A006882_910,
+ A006882_Table::A006882_911,
+ A006882_Table::A006882_912,
+ A006882_Table::A006882_913,
+ A006882_Table::A006882_914,
+ A006882_Table::A006882_915,
+ A006882_Table::A006882_916,
+ A006882_Table::A006882_917,
+ A006882_Table::A006882_918,
+ A006882_Table::A006882_919,
+ A006882_Table::A006882_920,
+ A006882_Table::A006882_921,
+ A006882_Table::A006882_922,
+ A006882_Table::A006882_923,
+ A006882_Table::A006882_924,
+ A006882_Table::A006882_925,
+ A006882_Table::A006882_926,
+ A006882_Table::A006882_927,
+ A006882_Table::A006882_928,
+ A006882_Table::A006882_929,
+ A006882_Table::A006882_930,
+ A006882_Table::A006882_931,
+ A006882_Table::A006882_932,
+ A006882_Table::A006882_933,
+ A006882_Table::A006882_934,
+ A006882_Table::A006882_935,
+ A006882_Table::A006882_936,
+ A006882_Table::A006882_937,
+ A006882_Table::A006882_938,
+ A006882_Table::A006882_939,
+ A006882_Table::A006882_940,
+ A006882_Table::A006882_941,
+ A006882_Table::A006882_942,
+ A006882_Table::A006882_943,
+ A006882_Table::A006882_944,
+ A006882_Table::A006882_945,
+ A006882_Table::A006882_946,
+ A006882_Table::A006882_947,
+ A006882_Table::A006882_948,
+ A006882_Table::A006882_949,
+ A006882_Table::A006882_950,
+ A006882_Table::A006882_951,
+ A006882_Table::A006882_952,
+ A006882_Table::A006882_953,
+ A006882_Table::A006882_954,
+ A006882_Table::A006882_955,
+ A006882_Table::A006882_956,
+ A006882_Table::A006882_957,
+ A006882_Table::A006882_958,
+ A006882_Table::A006882_959,
+ A006882_Table::A006882_960,
+ A006882_Table::A006882_961,
+ A006882_Table::A006882_962,
+ A006882_Table::A006882_963,
+ A006882_Table::A006882_964,
+ A006882_Table::A006882_965,
+ A006882_Table::A006882_966,
+ A006882_Table::A006882_967,
+ A006882_Table::A006882_968,
+ A006882_Table::A006882_969,
+ A006882_Table::A006882_970,
+ A006882_Table::A006882_971,
+ A006882_Table::A006882_972,
+ A006882_Table::A006882_973,
+ A006882_Table::A006882_974,
+ A006882_Table::A006882_975,
+ A006882_Table::A006882_976,
+ A006882_Table::A006882_977,
+ A006882_Table::A006882_978,
+ A006882_Table::A006882_979,
+ A006882_Table::A006882_980,
+ A006882_Table::A006882_981,
+ A006882_Table::A006882_982,
+ A006882_Table::A006882_983,
+ A006882_Table::A006882_984,
+ A006882_Table::A006882_985,
+ A006882_Table::A006882_986,
+ A006882_Table::A006882_987,
+ A006882_Table::A006882_988,
+ A006882_Table::A006882_989,
+ A006882_Table::A006882_990,
+ A006882_Table::A006882_991,
+ A006882_Table::A006882_992,
+ A006882_Table::A006882_993,
+ A006882_Table::A006882_994,
+ A006882_Table::A006882_995,
+ A006882_Table::A006882_996,
+ A006882_Table::A006882_997,
+ A006882_Table::A006882_998,
+ A006882_Table::A006882_999,
+ A006882_Table::A006882_1000,
+ }};
+
+ static const std::vector<pfn_efloat> A006882_vect(A006882_data.begin(), A006882_data.end());
+
+ return A006882_vect;
+ }
+}

Added: sandbox/multiprecision/src/functions/tables/A007318.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/tables/A007318.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,15006 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <vector>
+#include <boost/array.hpp>
+#include "tables.h"
+
+using boost::multiprecision::mp_float;
+
+namespace A007318_Table
+{
+ static const std::vector<mp_float>& A007318_0(void)
+ {
+ static const boost::array<mp_float, 1u> A007318_0_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_0_vect(A007318_0_data.begin(), A007318_0_data.end());
+
+ return A007318_0_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_1(void)
+ {
+ static const boost::array<mp_float, 2u> A007318_1_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_1_vect(A007318_1_data.begin(), A007318_1_data.end());
+
+ return A007318_1_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_2(void)
+ {
+ static const boost::array<mp_float, 3u> A007318_2_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(2L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_2_vect(A007318_2_data.begin(), A007318_2_data.end());
+
+ return A007318_2_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_3(void)
+ {
+ static const boost::array<mp_float, 4u> A007318_3_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(3L)),
+ mp_float(static_cast<boost::int32_t>(3L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_3_vect(A007318_3_data.begin(), A007318_3_data.end());
+
+ return A007318_3_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_4(void)
+ {
+ static const boost::array<mp_float, 5u> A007318_4_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(4L)),
+ mp_float(static_cast<boost::int32_t>(6L)),
+ mp_float(static_cast<boost::int32_t>(4L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_4_vect(A007318_4_data.begin(), A007318_4_data.end());
+
+ return A007318_4_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_5(void)
+ {
+ static const boost::array<mp_float, 6u> A007318_5_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(5L)),
+ mp_float(static_cast<boost::int32_t>(10L)),
+ mp_float(static_cast<boost::int32_t>(10L)),
+ mp_float(static_cast<boost::int32_t>(5L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_5_vect(A007318_5_data.begin(), A007318_5_data.end());
+
+ return A007318_5_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_6(void)
+ {
+ static const boost::array<mp_float, 7u> A007318_6_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(6L)),
+ mp_float(static_cast<boost::int32_t>(15L)),
+ mp_float(static_cast<boost::int32_t>(20L)),
+ mp_float(static_cast<boost::int32_t>(15L)),
+ mp_float(static_cast<boost::int32_t>(6L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_6_vect(A007318_6_data.begin(), A007318_6_data.end());
+
+ return A007318_6_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_7(void)
+ {
+ static const boost::array<mp_float, 8u> A007318_7_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(7L)),
+ mp_float(static_cast<boost::int32_t>(21L)),
+ mp_float(static_cast<boost::int32_t>(35L)),
+ mp_float(static_cast<boost::int32_t>(35L)),
+ mp_float(static_cast<boost::int32_t>(21L)),
+ mp_float(static_cast<boost::int32_t>(7L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_7_vect(A007318_7_data.begin(), A007318_7_data.end());
+
+ return A007318_7_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_8(void)
+ {
+ static const boost::array<mp_float, 9u> A007318_8_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(8L)),
+ mp_float(static_cast<boost::int32_t>(28L)),
+ mp_float(static_cast<boost::int32_t>(56L)),
+ mp_float(static_cast<boost::int32_t>(70L)),
+ mp_float(static_cast<boost::int32_t>(56L)),
+ mp_float(static_cast<boost::int32_t>(28L)),
+ mp_float(static_cast<boost::int32_t>(8L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_8_vect(A007318_8_data.begin(), A007318_8_data.end());
+
+ return A007318_8_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_9(void)
+ {
+ static const boost::array<mp_float, 10u> A007318_9_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(9L)),
+ mp_float(static_cast<boost::int32_t>(36L)),
+ mp_float(static_cast<boost::int32_t>(84L)),
+ mp_float(static_cast<boost::int32_t>(126L)),
+ mp_float(static_cast<boost::int32_t>(126L)),
+ mp_float(static_cast<boost::int32_t>(84L)),
+ mp_float(static_cast<boost::int32_t>(36L)),
+ mp_float(static_cast<boost::int32_t>(9L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_9_vect(A007318_9_data.begin(), A007318_9_data.end());
+
+ return A007318_9_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_10(void)
+ {
+ static const boost::array<mp_float, 11u> A007318_10_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(10L)),
+ mp_float(static_cast<boost::int32_t>(45L)),
+ mp_float(static_cast<boost::int32_t>(120L)),
+ mp_float(static_cast<boost::int32_t>(210L)),
+ mp_float(static_cast<boost::int32_t>(252L)),
+ mp_float(static_cast<boost::int32_t>(210L)),
+ mp_float(static_cast<boost::int32_t>(120L)),
+ mp_float(static_cast<boost::int32_t>(45L)),
+ mp_float(static_cast<boost::int32_t>(10L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_10_vect(A007318_10_data.begin(), A007318_10_data.end());
+
+ return A007318_10_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_11(void)
+ {
+ static const boost::array<mp_float, 12u> A007318_11_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(11L)),
+ mp_float(static_cast<boost::int32_t>(55L)),
+ mp_float(static_cast<boost::int32_t>(165L)),
+ mp_float(static_cast<boost::int32_t>(330L)),
+ mp_float(static_cast<boost::int32_t>(462L)),
+ mp_float(static_cast<boost::int32_t>(462L)),
+ mp_float(static_cast<boost::int32_t>(330L)),
+ mp_float(static_cast<boost::int32_t>(165L)),
+ mp_float(static_cast<boost::int32_t>(55L)),
+ mp_float(static_cast<boost::int32_t>(11L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_11_vect(A007318_11_data.begin(), A007318_11_data.end());
+
+ return A007318_11_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_12(void)
+ {
+ static const boost::array<mp_float, 13u> A007318_12_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(12L)),
+ mp_float(static_cast<boost::int32_t>(66L)),
+ mp_float(static_cast<boost::int32_t>(220L)),
+ mp_float(static_cast<boost::int32_t>(495L)),
+ mp_float(static_cast<boost::int32_t>(792L)),
+ mp_float(static_cast<boost::int32_t>(924L)),
+ mp_float(static_cast<boost::int32_t>(792L)),
+ mp_float(static_cast<boost::int32_t>(495L)),
+ mp_float(static_cast<boost::int32_t>(220L)),
+ mp_float(static_cast<boost::int32_t>(66L)),
+ mp_float(static_cast<boost::int32_t>(12L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_12_vect(A007318_12_data.begin(), A007318_12_data.end());
+
+ return A007318_12_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_13(void)
+ {
+ static const boost::array<mp_float, 14u> A007318_13_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(13L)),
+ mp_float(static_cast<boost::int32_t>(78L)),
+ mp_float(static_cast<boost::int32_t>(286L)),
+ mp_float(static_cast<boost::int32_t>(715L)),
+ mp_float(static_cast<boost::int32_t>(1287L)),
+ mp_float(static_cast<boost::int32_t>(1716L)),
+ mp_float(static_cast<boost::int32_t>(1716L)),
+ mp_float(static_cast<boost::int32_t>(1287L)),
+ mp_float(static_cast<boost::int32_t>(715L)),
+ mp_float(static_cast<boost::int32_t>(286L)),
+ mp_float(static_cast<boost::int32_t>(78L)),
+ mp_float(static_cast<boost::int32_t>(13L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_13_vect(A007318_13_data.begin(), A007318_13_data.end());
+
+ return A007318_13_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_14(void)
+ {
+ static const boost::array<mp_float, 15u> A007318_14_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(14L)),
+ mp_float(static_cast<boost::int32_t>(91L)),
+ mp_float(static_cast<boost::int32_t>(364L)),
+ mp_float(static_cast<boost::int32_t>(1001L)),
+ mp_float(static_cast<boost::int32_t>(2002L)),
+ mp_float(static_cast<boost::int32_t>(3003L)),
+ mp_float(static_cast<boost::int32_t>(3432L)),
+ mp_float(static_cast<boost::int32_t>(3003L)),
+ mp_float(static_cast<boost::int32_t>(2002L)),
+ mp_float(static_cast<boost::int32_t>(1001L)),
+ mp_float(static_cast<boost::int32_t>(364L)),
+ mp_float(static_cast<boost::int32_t>(91L)),
+ mp_float(static_cast<boost::int32_t>(14L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_14_vect(A007318_14_data.begin(), A007318_14_data.end());
+
+ return A007318_14_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_15(void)
+ {
+ static const boost::array<mp_float, 16u> A007318_15_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(15L)),
+ mp_float(static_cast<boost::int32_t>(105L)),
+ mp_float(static_cast<boost::int32_t>(455L)),
+ mp_float(static_cast<boost::int32_t>(1365L)),
+ mp_float(static_cast<boost::int32_t>(3003L)),
+ mp_float(static_cast<boost::int32_t>(5005L)),
+ mp_float(static_cast<boost::int32_t>(6435L)),
+ mp_float(static_cast<boost::int32_t>(6435L)),
+ mp_float(static_cast<boost::int32_t>(5005L)),
+ mp_float(static_cast<boost::int32_t>(3003L)),
+ mp_float(static_cast<boost::int32_t>(1365L)),
+ mp_float(static_cast<boost::int32_t>(455L)),
+ mp_float(static_cast<boost::int32_t>(105L)),
+ mp_float(static_cast<boost::int32_t>(15L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_15_vect(A007318_15_data.begin(), A007318_15_data.end());
+
+ return A007318_15_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_16(void)
+ {
+ static const boost::array<mp_float, 17u> A007318_16_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(16L)),
+ mp_float(static_cast<boost::int32_t>(120L)),
+ mp_float(static_cast<boost::int32_t>(560L)),
+ mp_float(static_cast<boost::int32_t>(1820L)),
+ mp_float(static_cast<boost::int32_t>(4368L)),
+ mp_float(static_cast<boost::int32_t>(8008L)),
+ mp_float(static_cast<boost::int32_t>(11440L)),
+ mp_float(static_cast<boost::int32_t>(12870L)),
+ mp_float(static_cast<boost::int32_t>(11440L)),
+ mp_float(static_cast<boost::int32_t>(8008L)),
+ mp_float(static_cast<boost::int32_t>(4368L)),
+ mp_float(static_cast<boost::int32_t>(1820L)),
+ mp_float(static_cast<boost::int32_t>(560L)),
+ mp_float(static_cast<boost::int32_t>(120L)),
+ mp_float(static_cast<boost::int32_t>(16L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_16_vect(A007318_16_data.begin(), A007318_16_data.end());
+
+ return A007318_16_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_17(void)
+ {
+ static const boost::array<mp_float, 18u> A007318_17_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(17L)),
+ mp_float(static_cast<boost::int32_t>(136L)),
+ mp_float(static_cast<boost::int32_t>(680L)),
+ mp_float(static_cast<boost::int32_t>(2380L)),
+ mp_float(static_cast<boost::int32_t>(6188L)),
+ mp_float(static_cast<boost::int32_t>(12376L)),
+ mp_float(static_cast<boost::int32_t>(19448L)),
+ mp_float(static_cast<boost::int32_t>(24310L)),
+ mp_float(static_cast<boost::int32_t>(24310L)),
+ mp_float(static_cast<boost::int32_t>(19448L)),
+ mp_float(static_cast<boost::int32_t>(12376L)),
+ mp_float(static_cast<boost::int32_t>(6188L)),
+ mp_float(static_cast<boost::int32_t>(2380L)),
+ mp_float(static_cast<boost::int32_t>(680L)),
+ mp_float(static_cast<boost::int32_t>(136L)),
+ mp_float(static_cast<boost::int32_t>(17L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_17_vect(A007318_17_data.begin(), A007318_17_data.end());
+
+ return A007318_17_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_18(void)
+ {
+ static const boost::array<mp_float, 19u> A007318_18_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(18L)),
+ mp_float(static_cast<boost::int32_t>(153L)),
+ mp_float(static_cast<boost::int32_t>(816L)),
+ mp_float(static_cast<boost::int32_t>(3060L)),
+ mp_float(static_cast<boost::int32_t>(8568L)),
+ mp_float(static_cast<boost::int32_t>(18564L)),
+ mp_float(static_cast<boost::int32_t>(31824L)),
+ mp_float(static_cast<boost::int32_t>(43758L)),
+ mp_float(static_cast<boost::int32_t>(48620L)),
+ mp_float(static_cast<boost::int32_t>(43758L)),
+ mp_float(static_cast<boost::int32_t>(31824L)),
+ mp_float(static_cast<boost::int32_t>(18564L)),
+ mp_float(static_cast<boost::int32_t>(8568L)),
+ mp_float(static_cast<boost::int32_t>(3060L)),
+ mp_float(static_cast<boost::int32_t>(816L)),
+ mp_float(static_cast<boost::int32_t>(153L)),
+ mp_float(static_cast<boost::int32_t>(18L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_18_vect(A007318_18_data.begin(), A007318_18_data.end());
+
+ return A007318_18_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_19(void)
+ {
+ static const boost::array<mp_float, 20u> A007318_19_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(19L)),
+ mp_float(static_cast<boost::int32_t>(171L)),
+ mp_float(static_cast<boost::int32_t>(969L)),
+ mp_float(static_cast<boost::int32_t>(3876L)),
+ mp_float(static_cast<boost::int32_t>(11628L)),
+ mp_float(static_cast<boost::int32_t>(27132L)),
+ mp_float(static_cast<boost::int32_t>(50388L)),
+ mp_float(static_cast<boost::int32_t>(75582L)),
+ mp_float(static_cast<boost::int32_t>(92378L)),
+ mp_float(static_cast<boost::int32_t>(92378L)),
+ mp_float(static_cast<boost::int32_t>(75582L)),
+ mp_float(static_cast<boost::int32_t>(50388L)),
+ mp_float(static_cast<boost::int32_t>(27132L)),
+ mp_float(static_cast<boost::int32_t>(11628L)),
+ mp_float(static_cast<boost::int32_t>(3876L)),
+ mp_float(static_cast<boost::int32_t>(969L)),
+ mp_float(static_cast<boost::int32_t>(171L)),
+ mp_float(static_cast<boost::int32_t>(19L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_19_vect(A007318_19_data.begin(), A007318_19_data.end());
+
+ return A007318_19_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_20(void)
+ {
+ static const boost::array<mp_float, 21u> A007318_20_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(20L)),
+ mp_float(static_cast<boost::int32_t>(190L)),
+ mp_float(static_cast<boost::int32_t>(1140L)),
+ mp_float(static_cast<boost::int32_t>(4845L)),
+ mp_float(static_cast<boost::int32_t>(15504L)),
+ mp_float(static_cast<boost::int32_t>(38760L)),
+ mp_float(static_cast<boost::int32_t>(77520L)),
+ mp_float(static_cast<boost::int32_t>(125970L)),
+ mp_float(static_cast<boost::int32_t>(167960L)),
+ mp_float(static_cast<boost::int32_t>(184756L)),
+ mp_float(static_cast<boost::int32_t>(167960L)),
+ mp_float(static_cast<boost::int32_t>(125970L)),
+ mp_float(static_cast<boost::int32_t>(77520L)),
+ mp_float(static_cast<boost::int32_t>(38760L)),
+ mp_float(static_cast<boost::int32_t>(15504L)),
+ mp_float(static_cast<boost::int32_t>(4845L)),
+ mp_float(static_cast<boost::int32_t>(1140L)),
+ mp_float(static_cast<boost::int32_t>(190L)),
+ mp_float(static_cast<boost::int32_t>(20L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_20_vect(A007318_20_data.begin(), A007318_20_data.end());
+
+ return A007318_20_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_21(void)
+ {
+ static const boost::array<mp_float, 22u> A007318_21_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(21L)),
+ mp_float(static_cast<boost::int32_t>(210L)),
+ mp_float(static_cast<boost::int32_t>(1330L)),
+ mp_float(static_cast<boost::int32_t>(5985L)),
+ mp_float(static_cast<boost::int32_t>(20349L)),
+ mp_float(static_cast<boost::int32_t>(54264L)),
+ mp_float(static_cast<boost::int32_t>(116280L)),
+ mp_float(static_cast<boost::int32_t>(203490L)),
+ mp_float(static_cast<boost::int32_t>(293930L)),
+ mp_float(static_cast<boost::int32_t>(352716L)),
+ mp_float(static_cast<boost::int32_t>(352716L)),
+ mp_float(static_cast<boost::int32_t>(293930L)),
+ mp_float(static_cast<boost::int32_t>(203490L)),
+ mp_float(static_cast<boost::int32_t>(116280L)),
+ mp_float(static_cast<boost::int32_t>(54264L)),
+ mp_float(static_cast<boost::int32_t>(20349L)),
+ mp_float(static_cast<boost::int32_t>(5985L)),
+ mp_float(static_cast<boost::int32_t>(1330L)),
+ mp_float(static_cast<boost::int32_t>(210L)),
+ mp_float(static_cast<boost::int32_t>(21L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_21_vect(A007318_21_data.begin(), A007318_21_data.end());
+
+ return A007318_21_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_22(void)
+ {
+ static const boost::array<mp_float, 23u> A007318_22_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(22L)),
+ mp_float(static_cast<boost::int32_t>(231L)),
+ mp_float(static_cast<boost::int32_t>(1540L)),
+ mp_float(static_cast<boost::int32_t>(7315L)),
+ mp_float(static_cast<boost::int32_t>(26334L)),
+ mp_float(static_cast<boost::int32_t>(74613L)),
+ mp_float(static_cast<boost::int32_t>(170544L)),
+ mp_float(static_cast<boost::int32_t>(319770L)),
+ mp_float(static_cast<boost::int32_t>(497420L)),
+ mp_float(static_cast<boost::int32_t>(646646L)),
+ mp_float(static_cast<boost::int32_t>(705432L)),
+ mp_float(static_cast<boost::int32_t>(646646L)),
+ mp_float(static_cast<boost::int32_t>(497420L)),
+ mp_float(static_cast<boost::int32_t>(319770L)),
+ mp_float(static_cast<boost::int32_t>(170544L)),
+ mp_float(static_cast<boost::int32_t>(74613L)),
+ mp_float(static_cast<boost::int32_t>(26334L)),
+ mp_float(static_cast<boost::int32_t>(7315L)),
+ mp_float(static_cast<boost::int32_t>(1540L)),
+ mp_float(static_cast<boost::int32_t>(231L)),
+ mp_float(static_cast<boost::int32_t>(22L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_22_vect(A007318_22_data.begin(), A007318_22_data.end());
+
+ return A007318_22_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_23(void)
+ {
+ static const boost::array<mp_float, 24u> A007318_23_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(23L)),
+ mp_float(static_cast<boost::int32_t>(253L)),
+ mp_float(static_cast<boost::int32_t>(1771L)),
+ mp_float(static_cast<boost::int32_t>(8855L)),
+ mp_float(static_cast<boost::int32_t>(33649L)),
+ mp_float(static_cast<boost::int32_t>(100947L)),
+ mp_float(static_cast<boost::int32_t>(245157L)),
+ mp_float(static_cast<boost::int32_t>(490314L)),
+ mp_float(static_cast<boost::int32_t>(817190L)),
+ mp_float(static_cast<boost::int32_t>(1144066L)),
+ mp_float(static_cast<boost::int32_t>(1352078L)),
+ mp_float(static_cast<boost::int32_t>(1352078L)),
+ mp_float(static_cast<boost::int32_t>(1144066L)),
+ mp_float(static_cast<boost::int32_t>(817190L)),
+ mp_float(static_cast<boost::int32_t>(490314L)),
+ mp_float(static_cast<boost::int32_t>(245157L)),
+ mp_float(static_cast<boost::int32_t>(100947L)),
+ mp_float(static_cast<boost::int32_t>(33649L)),
+ mp_float(static_cast<boost::int32_t>(8855L)),
+ mp_float(static_cast<boost::int32_t>(1771L)),
+ mp_float(static_cast<boost::int32_t>(253L)),
+ mp_float(static_cast<boost::int32_t>(23L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_23_vect(A007318_23_data.begin(), A007318_23_data.end());
+
+ return A007318_23_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_24(void)
+ {
+ static const boost::array<mp_float, 25u> A007318_24_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(24L)),
+ mp_float(static_cast<boost::int32_t>(276L)),
+ mp_float(static_cast<boost::int32_t>(2024L)),
+ mp_float(static_cast<boost::int32_t>(10626L)),
+ mp_float(static_cast<boost::int32_t>(42504L)),
+ mp_float(static_cast<boost::int32_t>(134596L)),
+ mp_float(static_cast<boost::int32_t>(346104L)),
+ mp_float(static_cast<boost::int32_t>(735471L)),
+ mp_float(static_cast<boost::int32_t>(1307504L)),
+ mp_float(static_cast<boost::int32_t>(1961256L)),
+ mp_float(static_cast<boost::int32_t>(2496144L)),
+ mp_float(static_cast<boost::int32_t>(2704156L)),
+ mp_float(static_cast<boost::int32_t>(2496144L)),
+ mp_float(static_cast<boost::int32_t>(1961256L)),
+ mp_float(static_cast<boost::int32_t>(1307504L)),
+ mp_float(static_cast<boost::int32_t>(735471L)),
+ mp_float(static_cast<boost::int32_t>(346104L)),
+ mp_float(static_cast<boost::int32_t>(134596L)),
+ mp_float(static_cast<boost::int32_t>(42504L)),
+ mp_float(static_cast<boost::int32_t>(10626L)),
+ mp_float(static_cast<boost::int32_t>(2024L)),
+ mp_float(static_cast<boost::int32_t>(276L)),
+ mp_float(static_cast<boost::int32_t>(24L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_24_vect(A007318_24_data.begin(), A007318_24_data.end());
+
+ return A007318_24_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_25(void)
+ {
+ static const boost::array<mp_float, 26u> A007318_25_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(25L)),
+ mp_float(static_cast<boost::int32_t>(300L)),
+ mp_float(static_cast<boost::int32_t>(2300L)),
+ mp_float(static_cast<boost::int32_t>(12650L)),
+ mp_float(static_cast<boost::int32_t>(53130L)),
+ mp_float(static_cast<boost::int32_t>(177100L)),
+ mp_float(static_cast<boost::int32_t>(480700L)),
+ mp_float(static_cast<boost::int32_t>(1081575L)),
+ mp_float(static_cast<boost::int32_t>(2042975L)),
+ mp_float(static_cast<boost::int32_t>(3268760L)),
+ mp_float(static_cast<boost::int32_t>(4457400L)),
+ mp_float(static_cast<boost::int32_t>(5200300L)),
+ mp_float(static_cast<boost::int32_t>(5200300L)),
+ mp_float(static_cast<boost::int32_t>(4457400L)),
+ mp_float(static_cast<boost::int32_t>(3268760L)),
+ mp_float(static_cast<boost::int32_t>(2042975L)),
+ mp_float(static_cast<boost::int32_t>(1081575L)),
+ mp_float(static_cast<boost::int32_t>(480700L)),
+ mp_float(static_cast<boost::int32_t>(177100L)),
+ mp_float(static_cast<boost::int32_t>(53130L)),
+ mp_float(static_cast<boost::int32_t>(12650L)),
+ mp_float(static_cast<boost::int32_t>(2300L)),
+ mp_float(static_cast<boost::int32_t>(300L)),
+ mp_float(static_cast<boost::int32_t>(25L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_25_vect(A007318_25_data.begin(), A007318_25_data.end());
+
+ return A007318_25_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_26(void)
+ {
+ static const boost::array<mp_float, 27u> A007318_26_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(26L)),
+ mp_float(static_cast<boost::int32_t>(325L)),
+ mp_float(static_cast<boost::int32_t>(2600L)),
+ mp_float(static_cast<boost::int32_t>(14950L)),
+ mp_float(static_cast<boost::int32_t>(65780L)),
+ mp_float(static_cast<boost::int32_t>(230230L)),
+ mp_float(static_cast<boost::int32_t>(657800L)),
+ mp_float(static_cast<boost::int32_t>(1562275L)),
+ mp_float(static_cast<boost::int32_t>(3124550L)),
+ mp_float(static_cast<boost::int32_t>(5311735L)),
+ mp_float(static_cast<boost::int32_t>(7726160L)),
+ mp_float(static_cast<boost::int32_t>(9657700L)),
+ mp_float(static_cast<boost::int32_t>(10400600L)),
+ mp_float(static_cast<boost::int32_t>(9657700L)),
+ mp_float(static_cast<boost::int32_t>(7726160L)),
+ mp_float(static_cast<boost::int32_t>(5311735L)),
+ mp_float(static_cast<boost::int32_t>(3124550L)),
+ mp_float(static_cast<boost::int32_t>(1562275L)),
+ mp_float(static_cast<boost::int32_t>(657800L)),
+ mp_float(static_cast<boost::int32_t>(230230L)),
+ mp_float(static_cast<boost::int32_t>(65780L)),
+ mp_float(static_cast<boost::int32_t>(14950L)),
+ mp_float(static_cast<boost::int32_t>(2600L)),
+ mp_float(static_cast<boost::int32_t>(325L)),
+ mp_float(static_cast<boost::int32_t>(26L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_26_vect(A007318_26_data.begin(), A007318_26_data.end());
+
+ return A007318_26_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_27(void)
+ {
+ static const boost::array<mp_float, 28u> A007318_27_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(27L)),
+ mp_float(static_cast<boost::int32_t>(351L)),
+ mp_float(static_cast<boost::int32_t>(2925L)),
+ mp_float(static_cast<boost::int32_t>(17550L)),
+ mp_float(static_cast<boost::int32_t>(80730L)),
+ mp_float(static_cast<boost::int32_t>(296010L)),
+ mp_float(static_cast<boost::int32_t>(888030L)),
+ mp_float(static_cast<boost::int32_t>(2220075L)),
+ mp_float(static_cast<boost::int32_t>(4686825L)),
+ mp_float(static_cast<boost::int32_t>(8436285L)),
+ mp_float(static_cast<boost::int32_t>(13037895L)),
+ mp_float(static_cast<boost::int32_t>(17383860L)),
+ mp_float(static_cast<boost::int32_t>(20058300L)),
+ mp_float(static_cast<boost::int32_t>(20058300L)),
+ mp_float(static_cast<boost::int32_t>(17383860L)),
+ mp_float(static_cast<boost::int32_t>(13037895L)),
+ mp_float(static_cast<boost::int32_t>(8436285L)),
+ mp_float(static_cast<boost::int32_t>(4686825L)),
+ mp_float(static_cast<boost::int32_t>(2220075L)),
+ mp_float(static_cast<boost::int32_t>(888030L)),
+ mp_float(static_cast<boost::int32_t>(296010L)),
+ mp_float(static_cast<boost::int32_t>(80730L)),
+ mp_float(static_cast<boost::int32_t>(17550L)),
+ mp_float(static_cast<boost::int32_t>(2925L)),
+ mp_float(static_cast<boost::int32_t>(351L)),
+ mp_float(static_cast<boost::int32_t>(27L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_27_vect(A007318_27_data.begin(), A007318_27_data.end());
+
+ return A007318_27_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_28(void)
+ {
+ static const boost::array<mp_float, 29u> A007318_28_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(28L)),
+ mp_float(static_cast<boost::int32_t>(378L)),
+ mp_float(static_cast<boost::int32_t>(3276L)),
+ mp_float(static_cast<boost::int32_t>(20475L)),
+ mp_float(static_cast<boost::int32_t>(98280L)),
+ mp_float(static_cast<boost::int32_t>(376740L)),
+ mp_float(static_cast<boost::int32_t>(1184040L)),
+ mp_float(static_cast<boost::int32_t>(3108105L)),
+ mp_float(static_cast<boost::int32_t>(6906900L)),
+ mp_float(static_cast<boost::int32_t>(13123110L)),
+ mp_float(static_cast<boost::int32_t>(21474180L)),
+ mp_float(static_cast<boost::int32_t>(30421755L)),
+ mp_float(static_cast<boost::int32_t>(37442160L)),
+ mp_float(static_cast<boost::int32_t>(40116600L)),
+ mp_float(static_cast<boost::int32_t>(37442160L)),
+ mp_float(static_cast<boost::int32_t>(30421755L)),
+ mp_float(static_cast<boost::int32_t>(21474180L)),
+ mp_float(static_cast<boost::int32_t>(13123110L)),
+ mp_float(static_cast<boost::int32_t>(6906900L)),
+ mp_float(static_cast<boost::int32_t>(3108105L)),
+ mp_float(static_cast<boost::int32_t>(1184040L)),
+ mp_float(static_cast<boost::int32_t>(376740L)),
+ mp_float(static_cast<boost::int32_t>(98280L)),
+ mp_float(static_cast<boost::int32_t>(20475L)),
+ mp_float(static_cast<boost::int32_t>(3276L)),
+ mp_float(static_cast<boost::int32_t>(378L)),
+ mp_float(static_cast<boost::int32_t>(28L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_28_vect(A007318_28_data.begin(), A007318_28_data.end());
+
+ return A007318_28_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_29(void)
+ {
+ static const boost::array<mp_float, 30u> A007318_29_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(29L)),
+ mp_float(static_cast<boost::int32_t>(406L)),
+ mp_float(static_cast<boost::int32_t>(3654L)),
+ mp_float(static_cast<boost::int32_t>(23751L)),
+ mp_float(static_cast<boost::int32_t>(118755L)),
+ mp_float(static_cast<boost::int32_t>(475020L)),
+ mp_float(static_cast<boost::int32_t>(1560780L)),
+ mp_float(static_cast<boost::int32_t>(4292145L)),
+ mp_float(static_cast<boost::int32_t>(10015005L)),
+ mp_float(static_cast<boost::int32_t>(20030010L)),
+ mp_float(static_cast<boost::int32_t>(34597290L)),
+ mp_float(static_cast<boost::int32_t>(51895935L)),
+ mp_float(static_cast<boost::int32_t>(67863915L)),
+ mp_float(static_cast<boost::int32_t>(77558760L)),
+ mp_float(static_cast<boost::int32_t>(77558760L)),
+ mp_float(static_cast<boost::int32_t>(67863915L)),
+ mp_float(static_cast<boost::int32_t>(51895935L)),
+ mp_float(static_cast<boost::int32_t>(34597290L)),
+ mp_float(static_cast<boost::int32_t>(20030010L)),
+ mp_float(static_cast<boost::int32_t>(10015005L)),
+ mp_float(static_cast<boost::int32_t>(4292145L)),
+ mp_float(static_cast<boost::int32_t>(1560780L)),
+ mp_float(static_cast<boost::int32_t>(475020L)),
+ mp_float(static_cast<boost::int32_t>(118755L)),
+ mp_float(static_cast<boost::int32_t>(23751L)),
+ mp_float(static_cast<boost::int32_t>(3654L)),
+ mp_float(static_cast<boost::int32_t>(406L)),
+ mp_float(static_cast<boost::int32_t>(29L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_29_vect(A007318_29_data.begin(), A007318_29_data.end());
+
+ return A007318_29_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_30(void)
+ {
+ static const boost::array<mp_float, 31u> A007318_30_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(30L)),
+ mp_float(static_cast<boost::int32_t>(435L)),
+ mp_float(static_cast<boost::int32_t>(4060L)),
+ mp_float(static_cast<boost::int32_t>(27405L)),
+ mp_float(static_cast<boost::int32_t>(142506L)),
+ mp_float(static_cast<boost::int32_t>(593775L)),
+ mp_float(static_cast<boost::int32_t>(2035800L)),
+ mp_float(static_cast<boost::int32_t>(5852925L)),
+ mp_float(static_cast<boost::int32_t>(14307150L)),
+ mp_float(static_cast<boost::int32_t>(30045015L)),
+ mp_float(static_cast<boost::int32_t>(54627300L)),
+ mp_float(static_cast<boost::int32_t>(86493225L)),
+ mp_float(static_cast<boost::int32_t>(119759850L)),
+ mp_float(static_cast<boost::int32_t>(145422675L)),
+ mp_float(static_cast<boost::int32_t>(155117520L)),
+ mp_float(static_cast<boost::int32_t>(145422675L)),
+ mp_float(static_cast<boost::int32_t>(119759850L)),
+ mp_float(static_cast<boost::int32_t>(86493225L)),
+ mp_float(static_cast<boost::int32_t>(54627300L)),
+ mp_float(static_cast<boost::int32_t>(30045015L)),
+ mp_float(static_cast<boost::int32_t>(14307150L)),
+ mp_float(static_cast<boost::int32_t>(5852925L)),
+ mp_float(static_cast<boost::int32_t>(2035800L)),
+ mp_float(static_cast<boost::int32_t>(593775L)),
+ mp_float(static_cast<boost::int32_t>(142506L)),
+ mp_float(static_cast<boost::int32_t>(27405L)),
+ mp_float(static_cast<boost::int32_t>(4060L)),
+ mp_float(static_cast<boost::int32_t>(435L)),
+ mp_float(static_cast<boost::int32_t>(30L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_30_vect(A007318_30_data.begin(), A007318_30_data.end());
+
+ return A007318_30_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_31(void)
+ {
+ static const boost::array<mp_float, 32u> A007318_31_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(31L)),
+ mp_float(static_cast<boost::int32_t>(465L)),
+ mp_float(static_cast<boost::int32_t>(4495L)),
+ mp_float(static_cast<boost::int32_t>(31465L)),
+ mp_float(static_cast<boost::int32_t>(169911L)),
+ mp_float(static_cast<boost::int32_t>(736281L)),
+ mp_float(static_cast<boost::int32_t>(2629575L)),
+ mp_float(static_cast<boost::int32_t>(7888725L)),
+ mp_float(static_cast<boost::int32_t>(20160075L)),
+ mp_float(static_cast<boost::int32_t>(44352165L)),
+ mp_float(static_cast<boost::int32_t>(84672315L)),
+ mp_float(static_cast<boost::int32_t>(141120525L)),
+ mp_float(static_cast<boost::int32_t>(206253075L)),
+ mp_float(static_cast<boost::int32_t>(265182525L)),
+ mp_float(static_cast<boost::int32_t>(300540195L)),
+ mp_float(static_cast<boost::int32_t>(300540195L)),
+ mp_float(static_cast<boost::int32_t>(265182525L)),
+ mp_float(static_cast<boost::int32_t>(206253075L)),
+ mp_float(static_cast<boost::int32_t>(141120525L)),
+ mp_float(static_cast<boost::int32_t>(84672315L)),
+ mp_float(static_cast<boost::int32_t>(44352165L)),
+ mp_float(static_cast<boost::int32_t>(20160075L)),
+ mp_float(static_cast<boost::int32_t>(7888725L)),
+ mp_float(static_cast<boost::int32_t>(2629575L)),
+ mp_float(static_cast<boost::int32_t>(736281L)),
+ mp_float(static_cast<boost::int32_t>(169911L)),
+ mp_float(static_cast<boost::int32_t>(31465L)),
+ mp_float(static_cast<boost::int32_t>(4495L)),
+ mp_float(static_cast<boost::int32_t>(465L)),
+ mp_float(static_cast<boost::int32_t>(31L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_31_vect(A007318_31_data.begin(), A007318_31_data.end());
+
+ return A007318_31_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_32(void)
+ {
+ static const boost::array<mp_float, 33u> A007318_32_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(32L)),
+ mp_float(static_cast<boost::int32_t>(496L)),
+ mp_float(static_cast<boost::int32_t>(4960L)),
+ mp_float(static_cast<boost::int32_t>(35960L)),
+ mp_float(static_cast<boost::int32_t>(201376L)),
+ mp_float(static_cast<boost::int32_t>(906192L)),
+ mp_float(static_cast<boost::int32_t>(3365856L)),
+ mp_float(static_cast<boost::int32_t>(10518300L)),
+ mp_float(static_cast<boost::int32_t>(28048800L)),
+ mp_float(static_cast<boost::int32_t>(64512240L)),
+ mp_float(static_cast<boost::int32_t>(129024480L)),
+ mp_float(static_cast<boost::int32_t>(225792840L)),
+ mp_float(static_cast<boost::int32_t>(347373600L)),
+ mp_float(static_cast<boost::int32_t>(471435600L)),
+ mp_float(static_cast<boost::int32_t>(565722720L)),
+ mp_float(static_cast<boost::int32_t>(601080390L)),
+ mp_float(static_cast<boost::int32_t>(565722720L)),
+ mp_float(static_cast<boost::int32_t>(471435600L)),
+ mp_float(static_cast<boost::int32_t>(347373600L)),
+ mp_float(static_cast<boost::int32_t>(225792840L)),
+ mp_float(static_cast<boost::int32_t>(129024480L)),
+ mp_float(static_cast<boost::int32_t>(64512240L)),
+ mp_float(static_cast<boost::int32_t>(28048800L)),
+ mp_float(static_cast<boost::int32_t>(10518300L)),
+ mp_float(static_cast<boost::int32_t>(3365856L)),
+ mp_float(static_cast<boost::int32_t>(906192L)),
+ mp_float(static_cast<boost::int32_t>(201376L)),
+ mp_float(static_cast<boost::int32_t>(35960L)),
+ mp_float(static_cast<boost::int32_t>(4960L)),
+ mp_float(static_cast<boost::int32_t>(496L)),
+ mp_float(static_cast<boost::int32_t>(32L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_32_vect(A007318_32_data.begin(), A007318_32_data.end());
+
+ return A007318_32_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_33(void)
+ {
+ static const boost::array<mp_float, 34u> A007318_33_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(33L)),
+ mp_float(static_cast<boost::int32_t>(528L)),
+ mp_float(static_cast<boost::int32_t>(5456L)),
+ mp_float(static_cast<boost::int32_t>(40920L)),
+ mp_float(static_cast<boost::int32_t>(237336L)),
+ mp_float(static_cast<boost::int32_t>(1107568L)),
+ mp_float(static_cast<boost::int32_t>(4272048L)),
+ mp_float(static_cast<boost::int32_t>(13884156L)),
+ mp_float(static_cast<boost::int32_t>(38567100L)),
+ mp_float(static_cast<boost::int32_t>(92561040L)),
+ mp_float(static_cast<boost::int32_t>(193536720L)),
+ mp_float(static_cast<boost::int32_t>(354817320L)),
+ mp_float(static_cast<boost::int32_t>(573166440L)),
+ mp_float(static_cast<boost::int32_t>(818809200L)),
+ mp_float(static_cast<boost::int32_t>(1037158320L)),
+ mp_float(static_cast<boost::int32_t>(1166803110L)),
+ mp_float(static_cast<boost::int32_t>(1166803110L)),
+ mp_float(static_cast<boost::int32_t>(1037158320L)),
+ mp_float(static_cast<boost::int32_t>(818809200L)),
+ mp_float(static_cast<boost::int32_t>(573166440L)),
+ mp_float(static_cast<boost::int32_t>(354817320L)),
+ mp_float(static_cast<boost::int32_t>(193536720L)),
+ mp_float(static_cast<boost::int32_t>(92561040L)),
+ mp_float(static_cast<boost::int32_t>(38567100L)),
+ mp_float(static_cast<boost::int32_t>(13884156L)),
+ mp_float(static_cast<boost::int32_t>(4272048L)),
+ mp_float(static_cast<boost::int32_t>(1107568L)),
+ mp_float(static_cast<boost::int32_t>(237336L)),
+ mp_float(static_cast<boost::int32_t>(40920L)),
+ mp_float(static_cast<boost::int32_t>(5456L)),
+ mp_float(static_cast<boost::int32_t>(528L)),
+ mp_float(static_cast<boost::int32_t>(33L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_33_vect(A007318_33_data.begin(), A007318_33_data.end());
+
+ return A007318_33_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_34(void)
+ {
+ static const boost::array<mp_float, 35u> A007318_34_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(34L)),
+ mp_float(static_cast<boost::int32_t>(561L)),
+ mp_float(static_cast<boost::int32_t>(5984L)),
+ mp_float(static_cast<boost::int32_t>(46376L)),
+ mp_float(static_cast<boost::int32_t>(278256L)),
+ mp_float(static_cast<boost::int32_t>(1344904L)),
+ mp_float(static_cast<boost::int32_t>(5379616L)),
+ mp_float(static_cast<boost::int32_t>(18156204L)),
+ mp_float(static_cast<boost::int32_t>(52451256L)),
+ mp_float(static_cast<boost::int32_t>(131128140L)),
+ mp_float(static_cast<boost::int32_t>(286097760L)),
+ mp_float(static_cast<boost::int32_t>(548354040L)),
+ mp_float(static_cast<boost::int32_t>(927983760L)),
+ mp_float(static_cast<boost::int32_t>(1391975640L)),
+ mp_float(static_cast<boost::int32_t>(1855967520L)),
+ mp_float(static_cast<boost::int64_t>(2203961430LL)),
+ mp_float(static_cast<boost::int64_t>(2333606220LL)),
+ mp_float(static_cast<boost::int64_t>(2203961430LL)),
+ mp_float(static_cast<boost::int32_t>(1855967520L)),
+ mp_float(static_cast<boost::int32_t>(1391975640L)),
+ mp_float(static_cast<boost::int32_t>(927983760L)),
+ mp_float(static_cast<boost::int32_t>(548354040L)),
+ mp_float(static_cast<boost::int32_t>(286097760L)),
+ mp_float(static_cast<boost::int32_t>(131128140L)),
+ mp_float(static_cast<boost::int32_t>(52451256L)),
+ mp_float(static_cast<boost::int32_t>(18156204L)),
+ mp_float(static_cast<boost::int32_t>(5379616L)),
+ mp_float(static_cast<boost::int32_t>(1344904L)),
+ mp_float(static_cast<boost::int32_t>(278256L)),
+ mp_float(static_cast<boost::int32_t>(46376L)),
+ mp_float(static_cast<boost::int32_t>(5984L)),
+ mp_float(static_cast<boost::int32_t>(561L)),
+ mp_float(static_cast<boost::int32_t>(34L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_34_vect(A007318_34_data.begin(), A007318_34_data.end());
+
+ return A007318_34_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_35(void)
+ {
+ static const boost::array<mp_float, 36u> A007318_35_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(35L)),
+ mp_float(static_cast<boost::int32_t>(595L)),
+ mp_float(static_cast<boost::int32_t>(6545L)),
+ mp_float(static_cast<boost::int32_t>(52360L)),
+ mp_float(static_cast<boost::int32_t>(324632L)),
+ mp_float(static_cast<boost::int32_t>(1623160L)),
+ mp_float(static_cast<boost::int32_t>(6724520L)),
+ mp_float(static_cast<boost::int32_t>(23535820L)),
+ mp_float(static_cast<boost::int32_t>(70607460L)),
+ mp_float(static_cast<boost::int32_t>(183579396L)),
+ mp_float(static_cast<boost::int32_t>(417225900L)),
+ mp_float(static_cast<boost::int32_t>(834451800L)),
+ mp_float(static_cast<boost::int32_t>(1476337800L)),
+ mp_float(static_cast<boost::int64_t>(2319959400LL)),
+ mp_float(static_cast<boost::int64_t>(3247943160LL)),
+ mp_float(static_cast<boost::int64_t>(4059928950LL)),
+ mp_float(static_cast<boost::int64_t>(4537567650LL)),
+ mp_float(static_cast<boost::int64_t>(4537567650LL)),
+ mp_float(static_cast<boost::int64_t>(4059928950LL)),
+ mp_float(static_cast<boost::int64_t>(3247943160LL)),
+ mp_float(static_cast<boost::int64_t>(2319959400LL)),
+ mp_float(static_cast<boost::int32_t>(1476337800L)),
+ mp_float(static_cast<boost::int32_t>(834451800L)),
+ mp_float(static_cast<boost::int32_t>(417225900L)),
+ mp_float(static_cast<boost::int32_t>(183579396L)),
+ mp_float(static_cast<boost::int32_t>(70607460L)),
+ mp_float(static_cast<boost::int32_t>(23535820L)),
+ mp_float(static_cast<boost::int32_t>(6724520L)),
+ mp_float(static_cast<boost::int32_t>(1623160L)),
+ mp_float(static_cast<boost::int32_t>(324632L)),
+ mp_float(static_cast<boost::int32_t>(52360L)),
+ mp_float(static_cast<boost::int32_t>(6545L)),
+ mp_float(static_cast<boost::int32_t>(595L)),
+ mp_float(static_cast<boost::int32_t>(35L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_35_vect(A007318_35_data.begin(), A007318_35_data.end());
+
+ return A007318_35_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_36(void)
+ {
+ static const boost::array<mp_float, 37u> A007318_36_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(36L)),
+ mp_float(static_cast<boost::int32_t>(630L)),
+ mp_float(static_cast<boost::int32_t>(7140L)),
+ mp_float(static_cast<boost::int32_t>(58905L)),
+ mp_float(static_cast<boost::int32_t>(376992L)),
+ mp_float(static_cast<boost::int32_t>(1947792L)),
+ mp_float(static_cast<boost::int32_t>(8347680L)),
+ mp_float(static_cast<boost::int32_t>(30260340L)),
+ mp_float(static_cast<boost::int32_t>(94143280L)),
+ mp_float(static_cast<boost::int32_t>(254186856L)),
+ mp_float(static_cast<boost::int32_t>(600805296L)),
+ mp_float(static_cast<boost::int32_t>(1251677700L)),
+ mp_float(static_cast<boost::int64_t>(2310789600LL)),
+ mp_float(static_cast<boost::int64_t>(3796297200LL)),
+ mp_float(static_cast<boost::int64_t>(5567902560LL)),
+ mp_float(static_cast<boost::int64_t>(7307872110LL)),
+ mp_float(static_cast<boost::int64_t>(8597496600LL)),
+ mp_float(static_cast<boost::int64_t>(9075135300LL)),
+ mp_float(static_cast<boost::int64_t>(8597496600LL)),
+ mp_float(static_cast<boost::int64_t>(7307872110LL)),
+ mp_float(static_cast<boost::int64_t>(5567902560LL)),
+ mp_float(static_cast<boost::int64_t>(3796297200LL)),
+ mp_float(static_cast<boost::int64_t>(2310789600LL)),
+ mp_float(static_cast<boost::int32_t>(1251677700L)),
+ mp_float(static_cast<boost::int32_t>(600805296L)),
+ mp_float(static_cast<boost::int32_t>(254186856L)),
+ mp_float(static_cast<boost::int32_t>(94143280L)),
+ mp_float(static_cast<boost::int32_t>(30260340L)),
+ mp_float(static_cast<boost::int32_t>(8347680L)),
+ mp_float(static_cast<boost::int32_t>(1947792L)),
+ mp_float(static_cast<boost::int32_t>(376992L)),
+ mp_float(static_cast<boost::int32_t>(58905L)),
+ mp_float(static_cast<boost::int32_t>(7140L)),
+ mp_float(static_cast<boost::int32_t>(630L)),
+ mp_float(static_cast<boost::int32_t>(36L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_36_vect(A007318_36_data.begin(), A007318_36_data.end());
+
+ return A007318_36_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_37(void)
+ {
+ static const boost::array<mp_float, 38u> A007318_37_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(37L)),
+ mp_float(static_cast<boost::int32_t>(666L)),
+ mp_float(static_cast<boost::int32_t>(7770L)),
+ mp_float(static_cast<boost::int32_t>(66045L)),
+ mp_float(static_cast<boost::int32_t>(435897L)),
+ mp_float(static_cast<boost::int32_t>(2324784L)),
+ mp_float(static_cast<boost::int32_t>(10295472L)),
+ mp_float(static_cast<boost::int32_t>(38608020L)),
+ mp_float(static_cast<boost::int32_t>(124403620L)),
+ mp_float(static_cast<boost::int32_t>(348330136L)),
+ mp_float(static_cast<boost::int32_t>(854992152L)),
+ mp_float(static_cast<boost::int32_t>(1852482996L)),
+ mp_float(static_cast<boost::int64_t>(3562467300LL)),
+ mp_float(static_cast<boost::int64_t>(6107086800LL)),
+ mp_float(static_cast<boost::int64_t>(9364199760LL)),
+ mp_float(static_cast<boost::int64_t>(12875774670LL)),
+ mp_float(static_cast<boost::int64_t>(15905368710LL)),
+ mp_float(static_cast<boost::int64_t>(17672631900LL)),
+ mp_float(static_cast<boost::int64_t>(17672631900LL)),
+ mp_float(static_cast<boost::int64_t>(15905368710LL)),
+ mp_float(static_cast<boost::int64_t>(12875774670LL)),
+ mp_float(static_cast<boost::int64_t>(9364199760LL)),
+ mp_float(static_cast<boost::int64_t>(6107086800LL)),
+ mp_float(static_cast<boost::int64_t>(3562467300LL)),
+ mp_float(static_cast<boost::int32_t>(1852482996L)),
+ mp_float(static_cast<boost::int32_t>(854992152L)),
+ mp_float(static_cast<boost::int32_t>(348330136L)),
+ mp_float(static_cast<boost::int32_t>(124403620L)),
+ mp_float(static_cast<boost::int32_t>(38608020L)),
+ mp_float(static_cast<boost::int32_t>(10295472L)),
+ mp_float(static_cast<boost::int32_t>(2324784L)),
+ mp_float(static_cast<boost::int32_t>(435897L)),
+ mp_float(static_cast<boost::int32_t>(66045L)),
+ mp_float(static_cast<boost::int32_t>(7770L)),
+ mp_float(static_cast<boost::int32_t>(666L)),
+ mp_float(static_cast<boost::int32_t>(37L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_37_vect(A007318_37_data.begin(), A007318_37_data.end());
+
+ return A007318_37_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_38(void)
+ {
+ static const boost::array<mp_float, 39u> A007318_38_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(38L)),
+ mp_float(static_cast<boost::int32_t>(703L)),
+ mp_float(static_cast<boost::int32_t>(8436L)),
+ mp_float(static_cast<boost::int32_t>(73815L)),
+ mp_float(static_cast<boost::int32_t>(501942L)),
+ mp_float(static_cast<boost::int32_t>(2760681L)),
+ mp_float(static_cast<boost::int32_t>(12620256L)),
+ mp_float(static_cast<boost::int32_t>(48903492L)),
+ mp_float(static_cast<boost::int32_t>(163011640L)),
+ mp_float(static_cast<boost::int32_t>(472733756L)),
+ mp_float(static_cast<boost::int32_t>(1203322288L)),
+ mp_float(static_cast<boost::int64_t>(2707475148LL)),
+ mp_float(static_cast<boost::int64_t>(5414950296LL)),
+ mp_float(static_cast<boost::int64_t>(9669554100LL)),
+ mp_float(static_cast<boost::int64_t>(15471286560LL)),
+ mp_float(static_cast<boost::int64_t>(22239974430LL)),
+ mp_float(static_cast<boost::int64_t>(28781143380LL)),
+ mp_float(static_cast<boost::int64_t>(33578000610LL)),
+ mp_float(static_cast<boost::int64_t>(35345263800LL)),
+ mp_float(static_cast<boost::int64_t>(33578000610LL)),
+ mp_float(static_cast<boost::int64_t>(28781143380LL)),
+ mp_float(static_cast<boost::int64_t>(22239974430LL)),
+ mp_float(static_cast<boost::int64_t>(15471286560LL)),
+ mp_float(static_cast<boost::int64_t>(9669554100LL)),
+ mp_float(static_cast<boost::int64_t>(5414950296LL)),
+ mp_float(static_cast<boost::int64_t>(2707475148LL)),
+ mp_float(static_cast<boost::int32_t>(1203322288L)),
+ mp_float(static_cast<boost::int32_t>(472733756L)),
+ mp_float(static_cast<boost::int32_t>(163011640L)),
+ mp_float(static_cast<boost::int32_t>(48903492L)),
+ mp_float(static_cast<boost::int32_t>(12620256L)),
+ mp_float(static_cast<boost::int32_t>(2760681L)),
+ mp_float(static_cast<boost::int32_t>(501942L)),
+ mp_float(static_cast<boost::int32_t>(73815L)),
+ mp_float(static_cast<boost::int32_t>(8436L)),
+ mp_float(static_cast<boost::int32_t>(703L)),
+ mp_float(static_cast<boost::int32_t>(38L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_38_vect(A007318_38_data.begin(), A007318_38_data.end());
+
+ return A007318_38_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_39(void)
+ {
+ static const boost::array<mp_float, 40u> A007318_39_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(39L)),
+ mp_float(static_cast<boost::int32_t>(741L)),
+ mp_float(static_cast<boost::int32_t>(9139L)),
+ mp_float(static_cast<boost::int32_t>(82251L)),
+ mp_float(static_cast<boost::int32_t>(575757L)),
+ mp_float(static_cast<boost::int32_t>(3262623L)),
+ mp_float(static_cast<boost::int32_t>(15380937L)),
+ mp_float(static_cast<boost::int32_t>(61523748L)),
+ mp_float(static_cast<boost::int32_t>(211915132L)),
+ mp_float(static_cast<boost::int32_t>(635745396L)),
+ mp_float(static_cast<boost::int32_t>(1676056044L)),
+ mp_float(static_cast<boost::int64_t>(3910797436LL)),
+ mp_float(static_cast<boost::int64_t>(8122425444LL)),
+ mp_float(static_cast<boost::int64_t>(15084504396LL)),
+ mp_float(static_cast<boost::int64_t>(25140840660LL)),
+ mp_float(static_cast<boost::int64_t>(37711260990LL)),
+ mp_float(static_cast<boost::int64_t>(51021117810LL)),
+ mp_float(static_cast<boost::int64_t>(62359143990LL)),
+ mp_float(static_cast<boost::int64_t>(68923264410LL)),
+ mp_float(static_cast<boost::int64_t>(68923264410LL)),
+ mp_float(static_cast<boost::int64_t>(62359143990LL)),
+ mp_float(static_cast<boost::int64_t>(51021117810LL)),
+ mp_float(static_cast<boost::int64_t>(37711260990LL)),
+ mp_float(static_cast<boost::int64_t>(25140840660LL)),
+ mp_float(static_cast<boost::int64_t>(15084504396LL)),
+ mp_float(static_cast<boost::int64_t>(8122425444LL)),
+ mp_float(static_cast<boost::int64_t>(3910797436LL)),
+ mp_float(static_cast<boost::int32_t>(1676056044L)),
+ mp_float(static_cast<boost::int32_t>(635745396L)),
+ mp_float(static_cast<boost::int32_t>(211915132L)),
+ mp_float(static_cast<boost::int32_t>(61523748L)),
+ mp_float(static_cast<boost::int32_t>(15380937L)),
+ mp_float(static_cast<boost::int32_t>(3262623L)),
+ mp_float(static_cast<boost::int32_t>(575757L)),
+ mp_float(static_cast<boost::int32_t>(82251L)),
+ mp_float(static_cast<boost::int32_t>(9139L)),
+ mp_float(static_cast<boost::int32_t>(741L)),
+ mp_float(static_cast<boost::int32_t>(39L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_39_vect(A007318_39_data.begin(), A007318_39_data.end());
+
+ return A007318_39_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_40(void)
+ {
+ static const boost::array<mp_float, 41u> A007318_40_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(40L)),
+ mp_float(static_cast<boost::int32_t>(780L)),
+ mp_float(static_cast<boost::int32_t>(9880L)),
+ mp_float(static_cast<boost::int32_t>(91390L)),
+ mp_float(static_cast<boost::int32_t>(658008L)),
+ mp_float(static_cast<boost::int32_t>(3838380L)),
+ mp_float(static_cast<boost::int32_t>(18643560L)),
+ mp_float(static_cast<boost::int32_t>(76904685L)),
+ mp_float(static_cast<boost::int32_t>(273438880L)),
+ mp_float(static_cast<boost::int32_t>(847660528L)),
+ mp_float(static_cast<boost::int64_t>(2311801440LL)),
+ mp_float(static_cast<boost::int64_t>(5586853480LL)),
+ mp_float(static_cast<boost::int64_t>(12033222880LL)),
+ mp_float(static_cast<boost::int64_t>(23206929840LL)),
+ mp_float(static_cast<boost::int64_t>(40225345056LL)),
+ mp_float(static_cast<boost::int64_t>(62852101650LL)),
+ mp_float(static_cast<boost::int64_t>(88732378800LL)),
+ mp_float(static_cast<boost::int64_t>(113380261800LL)),
+ mp_float(static_cast<boost::int64_t>(131282408400LL)),
+ mp_float(static_cast<boost::int64_t>(137846528820LL)),
+ mp_float(static_cast<boost::int64_t>(131282408400LL)),
+ mp_float(static_cast<boost::int64_t>(113380261800LL)),
+ mp_float(static_cast<boost::int64_t>(88732378800LL)),
+ mp_float(static_cast<boost::int64_t>(62852101650LL)),
+ mp_float(static_cast<boost::int64_t>(40225345056LL)),
+ mp_float(static_cast<boost::int64_t>(23206929840LL)),
+ mp_float(static_cast<boost::int64_t>(12033222880LL)),
+ mp_float(static_cast<boost::int64_t>(5586853480LL)),
+ mp_float(static_cast<boost::int64_t>(2311801440LL)),
+ mp_float(static_cast<boost::int32_t>(847660528L)),
+ mp_float(static_cast<boost::int32_t>(273438880L)),
+ mp_float(static_cast<boost::int32_t>(76904685L)),
+ mp_float(static_cast<boost::int32_t>(18643560L)),
+ mp_float(static_cast<boost::int32_t>(3838380L)),
+ mp_float(static_cast<boost::int32_t>(658008L)),
+ mp_float(static_cast<boost::int32_t>(91390L)),
+ mp_float(static_cast<boost::int32_t>(9880L)),
+ mp_float(static_cast<boost::int32_t>(780L)),
+ mp_float(static_cast<boost::int32_t>(40L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_40_vect(A007318_40_data.begin(), A007318_40_data.end());
+
+ return A007318_40_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_41(void)
+ {
+ static const boost::array<mp_float, 42u> A007318_41_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(41L)),
+ mp_float(static_cast<boost::int32_t>(820L)),
+ mp_float(static_cast<boost::int32_t>(10660L)),
+ mp_float(static_cast<boost::int32_t>(101270L)),
+ mp_float(static_cast<boost::int32_t>(749398L)),
+ mp_float(static_cast<boost::int32_t>(4496388L)),
+ mp_float(static_cast<boost::int32_t>(22481940L)),
+ mp_float(static_cast<boost::int32_t>(95548245L)),
+ mp_float(static_cast<boost::int32_t>(350343565L)),
+ mp_float(static_cast<boost::int32_t>(1121099408L)),
+ mp_float(static_cast<boost::int64_t>(3159461968LL)),
+ mp_float(static_cast<boost::int64_t>(7898654920LL)),
+ mp_float(static_cast<boost::int64_t>(17620076360LL)),
+ mp_float(static_cast<boost::int64_t>(35240152720LL)),
+ mp_float(static_cast<boost::int64_t>(63432274896LL)),
+ mp_float(static_cast<boost::int64_t>(103077446706LL)),
+ mp_float(static_cast<boost::int64_t>(151584480450LL)),
+ mp_float(static_cast<boost::int64_t>(202112640600LL)),
+ mp_float(static_cast<boost::int64_t>(244662670200LL)),
+ mp_float(static_cast<boost::int64_t>(269128937220LL)),
+ mp_float(static_cast<boost::int64_t>(269128937220LL)),
+ mp_float(static_cast<boost::int64_t>(244662670200LL)),
+ mp_float(static_cast<boost::int64_t>(202112640600LL)),
+ mp_float(static_cast<boost::int64_t>(151584480450LL)),
+ mp_float(static_cast<boost::int64_t>(103077446706LL)),
+ mp_float(static_cast<boost::int64_t>(63432274896LL)),
+ mp_float(static_cast<boost::int64_t>(35240152720LL)),
+ mp_float(static_cast<boost::int64_t>(17620076360LL)),
+ mp_float(static_cast<boost::int64_t>(7898654920LL)),
+ mp_float(static_cast<boost::int64_t>(3159461968LL)),
+ mp_float(static_cast<boost::int32_t>(1121099408L)),
+ mp_float(static_cast<boost::int32_t>(350343565L)),
+ mp_float(static_cast<boost::int32_t>(95548245L)),
+ mp_float(static_cast<boost::int32_t>(22481940L)),
+ mp_float(static_cast<boost::int32_t>(4496388L)),
+ mp_float(static_cast<boost::int32_t>(749398L)),
+ mp_float(static_cast<boost::int32_t>(101270L)),
+ mp_float(static_cast<boost::int32_t>(10660L)),
+ mp_float(static_cast<boost::int32_t>(820L)),
+ mp_float(static_cast<boost::int32_t>(41L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_41_vect(A007318_41_data.begin(), A007318_41_data.end());
+
+ return A007318_41_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_42(void)
+ {
+ static const boost::array<mp_float, 43u> A007318_42_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(42L)),
+ mp_float(static_cast<boost::int32_t>(861L)),
+ mp_float(static_cast<boost::int32_t>(11480L)),
+ mp_float(static_cast<boost::int32_t>(111930L)),
+ mp_float(static_cast<boost::int32_t>(850668L)),
+ mp_float(static_cast<boost::int32_t>(5245786L)),
+ mp_float(static_cast<boost::int32_t>(26978328L)),
+ mp_float(static_cast<boost::int32_t>(118030185L)),
+ mp_float(static_cast<boost::int32_t>(445891810L)),
+ mp_float(static_cast<boost::int32_t>(1471442973L)),
+ mp_float(static_cast<boost::int64_t>(4280561376LL)),
+ mp_float(static_cast<boost::int64_t>(11058116888LL)),
+ mp_float(static_cast<boost::int64_t>(25518731280LL)),
+ mp_float(static_cast<boost::int64_t>(52860229080LL)),
+ mp_float(static_cast<boost::int64_t>(98672427616LL)),
+ mp_float(static_cast<boost::int64_t>(166509721602LL)),
+ mp_float(static_cast<boost::int64_t>(254661927156LL)),
+ mp_float(static_cast<boost::int64_t>(353697121050LL)),
+ mp_float(static_cast<boost::int64_t>(446775310800LL)),
+ mp_float(static_cast<boost::int64_t>(513791607420LL)),
+ mp_float(static_cast<boost::int64_t>(538257874440LL)),
+ mp_float(static_cast<boost::int64_t>(513791607420LL)),
+ mp_float(static_cast<boost::int64_t>(446775310800LL)),
+ mp_float(static_cast<boost::int64_t>(353697121050LL)),
+ mp_float(static_cast<boost::int64_t>(254661927156LL)),
+ mp_float(static_cast<boost::int64_t>(166509721602LL)),
+ mp_float(static_cast<boost::int64_t>(98672427616LL)),
+ mp_float(static_cast<boost::int64_t>(52860229080LL)),
+ mp_float(static_cast<boost::int64_t>(25518731280LL)),
+ mp_float(static_cast<boost::int64_t>(11058116888LL)),
+ mp_float(static_cast<boost::int64_t>(4280561376LL)),
+ mp_float(static_cast<boost::int32_t>(1471442973L)),
+ mp_float(static_cast<boost::int32_t>(445891810L)),
+ mp_float(static_cast<boost::int32_t>(118030185L)),
+ mp_float(static_cast<boost::int32_t>(26978328L)),
+ mp_float(static_cast<boost::int32_t>(5245786L)),
+ mp_float(static_cast<boost::int32_t>(850668L)),
+ mp_float(static_cast<boost::int32_t>(111930L)),
+ mp_float(static_cast<boost::int32_t>(11480L)),
+ mp_float(static_cast<boost::int32_t>(861L)),
+ mp_float(static_cast<boost::int32_t>(42L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_42_vect(A007318_42_data.begin(), A007318_42_data.end());
+
+ return A007318_42_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_43(void)
+ {
+ static const boost::array<mp_float, 44u> A007318_43_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(43L)),
+ mp_float(static_cast<boost::int32_t>(903L)),
+ mp_float(static_cast<boost::int32_t>(12341L)),
+ mp_float(static_cast<boost::int32_t>(123410L)),
+ mp_float(static_cast<boost::int32_t>(962598L)),
+ mp_float(static_cast<boost::int32_t>(6096454L)),
+ mp_float(static_cast<boost::int32_t>(32224114L)),
+ mp_float(static_cast<boost::int32_t>(145008513L)),
+ mp_float(static_cast<boost::int32_t>(563921995L)),
+ mp_float(static_cast<boost::int32_t>(1917334783L)),
+ mp_float(static_cast<boost::int64_t>(5752004349LL)),
+ mp_float(static_cast<boost::int64_t>(15338678264LL)),
+ mp_float(static_cast<boost::int64_t>(36576848168LL)),
+ mp_float(static_cast<boost::int64_t>(78378960360LL)),
+ mp_float(static_cast<boost::int64_t>(151532656696LL)),
+ mp_float(static_cast<boost::int64_t>(265182149218LL)),
+ mp_float(static_cast<boost::int64_t>(421171648758LL)),
+ mp_float(static_cast<boost::int64_t>(608359048206LL)),
+ mp_float(static_cast<boost::int64_t>(800472431850LL)),
+ mp_float(static_cast<boost::int64_t>(960566918220LL)),
+ mp_float(static_cast<boost::int64_t>(1052049481860LL)),
+ mp_float(static_cast<boost::int64_t>(1052049481860LL)),
+ mp_float(static_cast<boost::int64_t>(960566918220LL)),
+ mp_float(static_cast<boost::int64_t>(800472431850LL)),
+ mp_float(static_cast<boost::int64_t>(608359048206LL)),
+ mp_float(static_cast<boost::int64_t>(421171648758LL)),
+ mp_float(static_cast<boost::int64_t>(265182149218LL)),
+ mp_float(static_cast<boost::int64_t>(151532656696LL)),
+ mp_float(static_cast<boost::int64_t>(78378960360LL)),
+ mp_float(static_cast<boost::int64_t>(36576848168LL)),
+ mp_float(static_cast<boost::int64_t>(15338678264LL)),
+ mp_float(static_cast<boost::int64_t>(5752004349LL)),
+ mp_float(static_cast<boost::int32_t>(1917334783L)),
+ mp_float(static_cast<boost::int32_t>(563921995L)),
+ mp_float(static_cast<boost::int32_t>(145008513L)),
+ mp_float(static_cast<boost::int32_t>(32224114L)),
+ mp_float(static_cast<boost::int32_t>(6096454L)),
+ mp_float(static_cast<boost::int32_t>(962598L)),
+ mp_float(static_cast<boost::int32_t>(123410L)),
+ mp_float(static_cast<boost::int32_t>(12341L)),
+ mp_float(static_cast<boost::int32_t>(903L)),
+ mp_float(static_cast<boost::int32_t>(43L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_43_vect(A007318_43_data.begin(), A007318_43_data.end());
+
+ return A007318_43_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_44(void)
+ {
+ static const boost::array<mp_float, 45u> A007318_44_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(44L)),
+ mp_float(static_cast<boost::int32_t>(946L)),
+ mp_float(static_cast<boost::int32_t>(13244L)),
+ mp_float(static_cast<boost::int32_t>(135751L)),
+ mp_float(static_cast<boost::int32_t>(1086008L)),
+ mp_float(static_cast<boost::int32_t>(7059052L)),
+ mp_float(static_cast<boost::int32_t>(38320568L)),
+ mp_float(static_cast<boost::int32_t>(177232627L)),
+ mp_float(static_cast<boost::int32_t>(708930508L)),
+ mp_float(static_cast<boost::int64_t>(2481256778LL)),
+ mp_float(static_cast<boost::int64_t>(7669339132LL)),
+ mp_float(static_cast<boost::int64_t>(21090682613LL)),
+ mp_float(static_cast<boost::int64_t>(51915526432LL)),
+ mp_float(static_cast<boost::int64_t>(114955808528LL)),
+ mp_float(static_cast<boost::int64_t>(229911617056LL)),
+ mp_float(static_cast<boost::int64_t>(416714805914LL)),
+ mp_float(static_cast<boost::int64_t>(686353797976LL)),
+ mp_float(static_cast<boost::int64_t>(1029530696964LL)),
+ mp_float(static_cast<boost::int64_t>(1408831480056LL)),
+ mp_float(static_cast<boost::int64_t>(1761039350070LL)),
+ mp_float(static_cast<boost::int64_t>(2012616400080LL)),
+ mp_float(static_cast<boost::int64_t>(2104098963720LL)),
+ mp_float(static_cast<boost::int64_t>(2012616400080LL)),
+ mp_float(static_cast<boost::int64_t>(1761039350070LL)),
+ mp_float(static_cast<boost::int64_t>(1408831480056LL)),
+ mp_float(static_cast<boost::int64_t>(1029530696964LL)),
+ mp_float(static_cast<boost::int64_t>(686353797976LL)),
+ mp_float(static_cast<boost::int64_t>(416714805914LL)),
+ mp_float(static_cast<boost::int64_t>(229911617056LL)),
+ mp_float(static_cast<boost::int64_t>(114955808528LL)),
+ mp_float(static_cast<boost::int64_t>(51915526432LL)),
+ mp_float(static_cast<boost::int64_t>(21090682613LL)),
+ mp_float(static_cast<boost::int64_t>(7669339132LL)),
+ mp_float(static_cast<boost::int64_t>(2481256778LL)),
+ mp_float(static_cast<boost::int32_t>(708930508L)),
+ mp_float(static_cast<boost::int32_t>(177232627L)),
+ mp_float(static_cast<boost::int32_t>(38320568L)),
+ mp_float(static_cast<boost::int32_t>(7059052L)),
+ mp_float(static_cast<boost::int32_t>(1086008L)),
+ mp_float(static_cast<boost::int32_t>(135751L)),
+ mp_float(static_cast<boost::int32_t>(13244L)),
+ mp_float(static_cast<boost::int32_t>(946L)),
+ mp_float(static_cast<boost::int32_t>(44L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_44_vect(A007318_44_data.begin(), A007318_44_data.end());
+
+ return A007318_44_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_45(void)
+ {
+ static const boost::array<mp_float, 46u> A007318_45_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(45L)),
+ mp_float(static_cast<boost::int32_t>(990L)),
+ mp_float(static_cast<boost::int32_t>(14190L)),
+ mp_float(static_cast<boost::int32_t>(148995L)),
+ mp_float(static_cast<boost::int32_t>(1221759L)),
+ mp_float(static_cast<boost::int32_t>(8145060L)),
+ mp_float(static_cast<boost::int32_t>(45379620L)),
+ mp_float(static_cast<boost::int32_t>(215553195L)),
+ mp_float(static_cast<boost::int32_t>(886163135L)),
+ mp_float(static_cast<boost::int64_t>(3190187286LL)),
+ mp_float(static_cast<boost::int64_t>(10150595910LL)),
+ mp_float(static_cast<boost::int64_t>(28760021745LL)),
+ mp_float(static_cast<boost::int64_t>(73006209045LL)),
+ mp_float(static_cast<boost::int64_t>(166871334960LL)),
+ mp_float(static_cast<boost::int64_t>(344867425584LL)),
+ mp_float(static_cast<boost::int64_t>(646626422970LL)),
+ mp_float(static_cast<boost::int64_t>(1103068603890LL)),
+ mp_float(static_cast<boost::int64_t>(1715884494940LL)),
+ mp_float(static_cast<boost::int64_t>(2438362177020LL)),
+ mp_float(static_cast<boost::int64_t>(3169870830126LL)),
+ mp_float(static_cast<boost::int64_t>(3773655750150LL)),
+ mp_float(static_cast<boost::int64_t>(4116715363800LL)),
+ mp_float(static_cast<boost::int64_t>(4116715363800LL)),
+ mp_float(static_cast<boost::int64_t>(3773655750150LL)),
+ mp_float(static_cast<boost::int64_t>(3169870830126LL)),
+ mp_float(static_cast<boost::int64_t>(2438362177020LL)),
+ mp_float(static_cast<boost::int64_t>(1715884494940LL)),
+ mp_float(static_cast<boost::int64_t>(1103068603890LL)),
+ mp_float(static_cast<boost::int64_t>(646626422970LL)),
+ mp_float(static_cast<boost::int64_t>(344867425584LL)),
+ mp_float(static_cast<boost::int64_t>(166871334960LL)),
+ mp_float(static_cast<boost::int64_t>(73006209045LL)),
+ mp_float(static_cast<boost::int64_t>(28760021745LL)),
+ mp_float(static_cast<boost::int64_t>(10150595910LL)),
+ mp_float(static_cast<boost::int64_t>(3190187286LL)),
+ mp_float(static_cast<boost::int32_t>(886163135L)),
+ mp_float(static_cast<boost::int32_t>(215553195L)),
+ mp_float(static_cast<boost::int32_t>(45379620L)),
+ mp_float(static_cast<boost::int32_t>(8145060L)),
+ mp_float(static_cast<boost::int32_t>(1221759L)),
+ mp_float(static_cast<boost::int32_t>(148995L)),
+ mp_float(static_cast<boost::int32_t>(14190L)),
+ mp_float(static_cast<boost::int32_t>(990L)),
+ mp_float(static_cast<boost::int32_t>(45L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_45_vect(A007318_45_data.begin(), A007318_45_data.end());
+
+ return A007318_45_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_46(void)
+ {
+ static const boost::array<mp_float, 47u> A007318_46_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(46L)),
+ mp_float(static_cast<boost::int32_t>(1035L)),
+ mp_float(static_cast<boost::int32_t>(15180L)),
+ mp_float(static_cast<boost::int32_t>(163185L)),
+ mp_float(static_cast<boost::int32_t>(1370754L)),
+ mp_float(static_cast<boost::int32_t>(9366819L)),
+ mp_float(static_cast<boost::int32_t>(53524680L)),
+ mp_float(static_cast<boost::int32_t>(260932815L)),
+ mp_float(static_cast<boost::int32_t>(1101716330L)),
+ mp_float(static_cast<boost::int64_t>(4076350421LL)),
+ mp_float(static_cast<boost::int64_t>(13340783196LL)),
+ mp_float(static_cast<boost::int64_t>(38910617655LL)),
+ mp_float(static_cast<boost::int64_t>(101766230790LL)),
+ mp_float(static_cast<boost::int64_t>(239877544005LL)),
+ mp_float(static_cast<boost::int64_t>(511738760544LL)),
+ mp_float(static_cast<boost::int64_t>(991493848554LL)),
+ mp_float(static_cast<boost::int64_t>(1749695026860LL)),
+ mp_float(static_cast<boost::int64_t>(2818953098830LL)),
+ mp_float(static_cast<boost::int64_t>(4154246671960LL)),
+ mp_float(static_cast<boost::int64_t>(5608233007146LL)),
+ mp_float(static_cast<boost::int64_t>(6943526580276LL)),
+ mp_float(static_cast<boost::int64_t>(7890371113950LL)),
+ mp_float(static_cast<boost::int64_t>(8233430727600LL)),
+ mp_float(static_cast<boost::int64_t>(7890371113950LL)),
+ mp_float(static_cast<boost::int64_t>(6943526580276LL)),
+ mp_float(static_cast<boost::int64_t>(5608233007146LL)),
+ mp_float(static_cast<boost::int64_t>(4154246671960LL)),
+ mp_float(static_cast<boost::int64_t>(2818953098830LL)),
+ mp_float(static_cast<boost::int64_t>(1749695026860LL)),
+ mp_float(static_cast<boost::int64_t>(991493848554LL)),
+ mp_float(static_cast<boost::int64_t>(511738760544LL)),
+ mp_float(static_cast<boost::int64_t>(239877544005LL)),
+ mp_float(static_cast<boost::int64_t>(101766230790LL)),
+ mp_float(static_cast<boost::int64_t>(38910617655LL)),
+ mp_float(static_cast<boost::int64_t>(13340783196LL)),
+ mp_float(static_cast<boost::int64_t>(4076350421LL)),
+ mp_float(static_cast<boost::int32_t>(1101716330L)),
+ mp_float(static_cast<boost::int32_t>(260932815L)),
+ mp_float(static_cast<boost::int32_t>(53524680L)),
+ mp_float(static_cast<boost::int32_t>(9366819L)),
+ mp_float(static_cast<boost::int32_t>(1370754L)),
+ mp_float(static_cast<boost::int32_t>(163185L)),
+ mp_float(static_cast<boost::int32_t>(15180L)),
+ mp_float(static_cast<boost::int32_t>(1035L)),
+ mp_float(static_cast<boost::int32_t>(46L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_46_vect(A007318_46_data.begin(), A007318_46_data.end());
+
+ return A007318_46_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_47(void)
+ {
+ static const boost::array<mp_float, 48u> A007318_47_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(47L)),
+ mp_float(static_cast<boost::int32_t>(1081L)),
+ mp_float(static_cast<boost::int32_t>(16215L)),
+ mp_float(static_cast<boost::int32_t>(178365L)),
+ mp_float(static_cast<boost::int32_t>(1533939L)),
+ mp_float(static_cast<boost::int32_t>(10737573L)),
+ mp_float(static_cast<boost::int32_t>(62891499L)),
+ mp_float(static_cast<boost::int32_t>(314457495L)),
+ mp_float(static_cast<boost::int32_t>(1362649145L)),
+ mp_float(static_cast<boost::int64_t>(5178066751LL)),
+ mp_float(static_cast<boost::int64_t>(17417133617LL)),
+ mp_float(static_cast<boost::int64_t>(52251400851LL)),
+ mp_float(static_cast<boost::int64_t>(140676848445LL)),
+ mp_float(static_cast<boost::int64_t>(341643774795LL)),
+ mp_float(static_cast<boost::int64_t>(751616304549LL)),
+ mp_float(static_cast<boost::int64_t>(1503232609098LL)),
+ mp_float(static_cast<boost::int64_t>(2741188875414LL)),
+ mp_float(static_cast<boost::int64_t>(4568648125690LL)),
+ mp_float(static_cast<boost::int64_t>(6973199770790LL)),
+ mp_float(static_cast<boost::int64_t>(9762479679106LL)),
+ mp_float(static_cast<boost::int64_t>(12551759587422LL)),
+ mp_float(static_cast<boost::int64_t>(14833897694226LL)),
+ mp_float(static_cast<boost::int64_t>(16123801841550LL)),
+ mp_float(static_cast<boost::int64_t>(16123801841550LL)),
+ mp_float(static_cast<boost::int64_t>(14833897694226LL)),
+ mp_float(static_cast<boost::int64_t>(12551759587422LL)),
+ mp_float(static_cast<boost::int64_t>(9762479679106LL)),
+ mp_float(static_cast<boost::int64_t>(6973199770790LL)),
+ mp_float(static_cast<boost::int64_t>(4568648125690LL)),
+ mp_float(static_cast<boost::int64_t>(2741188875414LL)),
+ mp_float(static_cast<boost::int64_t>(1503232609098LL)),
+ mp_float(static_cast<boost::int64_t>(751616304549LL)),
+ mp_float(static_cast<boost::int64_t>(341643774795LL)),
+ mp_float(static_cast<boost::int64_t>(140676848445LL)),
+ mp_float(static_cast<boost::int64_t>(52251400851LL)),
+ mp_float(static_cast<boost::int64_t>(17417133617LL)),
+ mp_float(static_cast<boost::int64_t>(5178066751LL)),
+ mp_float(static_cast<boost::int32_t>(1362649145L)),
+ mp_float(static_cast<boost::int32_t>(314457495L)),
+ mp_float(static_cast<boost::int32_t>(62891499L)),
+ mp_float(static_cast<boost::int32_t>(10737573L)),
+ mp_float(static_cast<boost::int32_t>(1533939L)),
+ mp_float(static_cast<boost::int32_t>(178365L)),
+ mp_float(static_cast<boost::int32_t>(16215L)),
+ mp_float(static_cast<boost::int32_t>(1081L)),
+ mp_float(static_cast<boost::int32_t>(47L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_47_vect(A007318_47_data.begin(), A007318_47_data.end());
+
+ return A007318_47_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_48(void)
+ {
+ static const boost::array<mp_float, 49u> A007318_48_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(48L)),
+ mp_float(static_cast<boost::int32_t>(1128L)),
+ mp_float(static_cast<boost::int32_t>(17296L)),
+ mp_float(static_cast<boost::int32_t>(194580L)),
+ mp_float(static_cast<boost::int32_t>(1712304L)),
+ mp_float(static_cast<boost::int32_t>(12271512L)),
+ mp_float(static_cast<boost::int32_t>(73629072L)),
+ mp_float(static_cast<boost::int32_t>(377348994L)),
+ mp_float(static_cast<boost::int32_t>(1677106640L)),
+ mp_float(static_cast<boost::int64_t>(6540715896LL)),
+ mp_float(static_cast<boost::int64_t>(22595200368LL)),
+ mp_float(static_cast<boost::int64_t>(69668534468LL)),
+ mp_float(static_cast<boost::int64_t>(192928249296LL)),
+ mp_float(static_cast<boost::int64_t>(482320623240LL)),
+ mp_float(static_cast<boost::int64_t>(1093260079344LL)),
+ mp_float(static_cast<boost::int64_t>(2254848913647LL)),
+ mp_float(static_cast<boost::int64_t>(4244421484512LL)),
+ mp_float(static_cast<boost::int64_t>(7309837001104LL)),
+ mp_float(static_cast<boost::int64_t>(11541847896480LL)),
+ mp_float(static_cast<boost::int64_t>(16735679449896LL)),
+ mp_float(static_cast<boost::int64_t>(22314239266528LL)),
+ mp_float(static_cast<boost::int64_t>(27385657281648LL)),
+ mp_float(static_cast<boost::int64_t>(30957699535776LL)),
+ mp_float(static_cast<boost::int64_t>(32247603683100LL)),
+ mp_float(static_cast<boost::int64_t>(30957699535776LL)),
+ mp_float(static_cast<boost::int64_t>(27385657281648LL)),
+ mp_float(static_cast<boost::int64_t>(22314239266528LL)),
+ mp_float(static_cast<boost::int64_t>(16735679449896LL)),
+ mp_float(static_cast<boost::int64_t>(11541847896480LL)),
+ mp_float(static_cast<boost::int64_t>(7309837001104LL)),
+ mp_float(static_cast<boost::int64_t>(4244421484512LL)),
+ mp_float(static_cast<boost::int64_t>(2254848913647LL)),
+ mp_float(static_cast<boost::int64_t>(1093260079344LL)),
+ mp_float(static_cast<boost::int64_t>(482320623240LL)),
+ mp_float(static_cast<boost::int64_t>(192928249296LL)),
+ mp_float(static_cast<boost::int64_t>(69668534468LL)),
+ mp_float(static_cast<boost::int64_t>(22595200368LL)),
+ mp_float(static_cast<boost::int64_t>(6540715896LL)),
+ mp_float(static_cast<boost::int32_t>(1677106640L)),
+ mp_float(static_cast<boost::int32_t>(377348994L)),
+ mp_float(static_cast<boost::int32_t>(73629072L)),
+ mp_float(static_cast<boost::int32_t>(12271512L)),
+ mp_float(static_cast<boost::int32_t>(1712304L)),
+ mp_float(static_cast<boost::int32_t>(194580L)),
+ mp_float(static_cast<boost::int32_t>(17296L)),
+ mp_float(static_cast<boost::int32_t>(1128L)),
+ mp_float(static_cast<boost::int32_t>(48L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_48_vect(A007318_48_data.begin(), A007318_48_data.end());
+
+ return A007318_48_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_49(void)
+ {
+ static const boost::array<mp_float, 50u> A007318_49_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(49L)),
+ mp_float(static_cast<boost::int32_t>(1176L)),
+ mp_float(static_cast<boost::int32_t>(18424L)),
+ mp_float(static_cast<boost::int32_t>(211876L)),
+ mp_float(static_cast<boost::int32_t>(1906884L)),
+ mp_float(static_cast<boost::int32_t>(13983816L)),
+ mp_float(static_cast<boost::int32_t>(85900584L)),
+ mp_float(static_cast<boost::int32_t>(450978066L)),
+ mp_float(static_cast<boost::int32_t>(2054455634L)),
+ mp_float(static_cast<boost::int64_t>(8217822536LL)),
+ mp_float(static_cast<boost::int64_t>(29135916264LL)),
+ mp_float(static_cast<boost::int64_t>(92263734836LL)),
+ mp_float(static_cast<boost::int64_t>(262596783764LL)),
+ mp_float(static_cast<boost::int64_t>(675248872536LL)),
+ mp_float(static_cast<boost::int64_t>(1575580702584LL)),
+ mp_float(static_cast<boost::int64_t>(3348108992991LL)),
+ mp_float(static_cast<boost::int64_t>(6499270398159LL)),
+ mp_float(static_cast<boost::int64_t>(11554258485616LL)),
+ mp_float(static_cast<boost::int64_t>(18851684897584LL)),
+ mp_float(static_cast<boost::int64_t>(28277527346376LL)),
+ mp_float(static_cast<boost::int64_t>(39049918716424LL)),
+ mp_float(static_cast<boost::int64_t>(49699896548176LL)),
+ mp_float(static_cast<boost::int64_t>(58343356817424LL)),
+ mp_float(static_cast<boost::int64_t>(63205303218876LL)),
+ mp_float(static_cast<boost::int64_t>(63205303218876LL)),
+ mp_float(static_cast<boost::int64_t>(58343356817424LL)),
+ mp_float(static_cast<boost::int64_t>(49699896548176LL)),
+ mp_float(static_cast<boost::int64_t>(39049918716424LL)),
+ mp_float(static_cast<boost::int64_t>(28277527346376LL)),
+ mp_float(static_cast<boost::int64_t>(18851684897584LL)),
+ mp_float(static_cast<boost::int64_t>(11554258485616LL)),
+ mp_float(static_cast<boost::int64_t>(6499270398159LL)),
+ mp_float(static_cast<boost::int64_t>(3348108992991LL)),
+ mp_float(static_cast<boost::int64_t>(1575580702584LL)),
+ mp_float(static_cast<boost::int64_t>(675248872536LL)),
+ mp_float(static_cast<boost::int64_t>(262596783764LL)),
+ mp_float(static_cast<boost::int64_t>(92263734836LL)),
+ mp_float(static_cast<boost::int64_t>(29135916264LL)),
+ mp_float(static_cast<boost::int64_t>(8217822536LL)),
+ mp_float(static_cast<boost::int32_t>(2054455634L)),
+ mp_float(static_cast<boost::int32_t>(450978066L)),
+ mp_float(static_cast<boost::int32_t>(85900584L)),
+ mp_float(static_cast<boost::int32_t>(13983816L)),
+ mp_float(static_cast<boost::int32_t>(1906884L)),
+ mp_float(static_cast<boost::int32_t>(211876L)),
+ mp_float(static_cast<boost::int32_t>(18424L)),
+ mp_float(static_cast<boost::int32_t>(1176L)),
+ mp_float(static_cast<boost::int32_t>(49L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_49_vect(A007318_49_data.begin(), A007318_49_data.end());
+
+ return A007318_49_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_50(void)
+ {
+ static const boost::array<mp_float, 51u> A007318_50_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(50L)),
+ mp_float(static_cast<boost::int32_t>(1225L)),
+ mp_float(static_cast<boost::int32_t>(19600L)),
+ mp_float(static_cast<boost::int32_t>(230300L)),
+ mp_float(static_cast<boost::int32_t>(2118760L)),
+ mp_float(static_cast<boost::int32_t>(15890700L)),
+ mp_float(static_cast<boost::int32_t>(99884400L)),
+ mp_float(static_cast<boost::int32_t>(536878650L)),
+ mp_float(static_cast<boost::int64_t>(2505433700LL)),
+ mp_float(static_cast<boost::int64_t>(10272278170LL)),
+ mp_float(static_cast<boost::int64_t>(37353738800LL)),
+ mp_float(static_cast<boost::int64_t>(121399651100LL)),
+ mp_float(static_cast<boost::int64_t>(354860518600LL)),
+ mp_float(static_cast<boost::int64_t>(937845656300LL)),
+ mp_float(static_cast<boost::int64_t>(2250829575120LL)),
+ mp_float(static_cast<boost::int64_t>(4923689695575LL)),
+ mp_float(static_cast<boost::int64_t>(9847379391150LL)),
+ mp_float(static_cast<boost::int64_t>(18053528883775LL)),
+ mp_float(static_cast<boost::int64_t>(30405943383200LL)),
+ mp_float(static_cast<boost::int64_t>(47129212243960LL)),
+ mp_float(static_cast<boost::int64_t>(67327446062800LL)),
+ mp_float(static_cast<boost::int64_t>(88749815264600LL)),
+ mp_float(static_cast<boost::int64_t>(108043253365600LL)),
+ mp_float(static_cast<boost::int64_t>(121548660036300LL)),
+ mp_float(static_cast<boost::int64_t>(126410606437752LL)),
+ mp_float(static_cast<boost::int64_t>(121548660036300LL)),
+ mp_float(static_cast<boost::int64_t>(108043253365600LL)),
+ mp_float(static_cast<boost::int64_t>(88749815264600LL)),
+ mp_float(static_cast<boost::int64_t>(67327446062800LL)),
+ mp_float(static_cast<boost::int64_t>(47129212243960LL)),
+ mp_float(static_cast<boost::int64_t>(30405943383200LL)),
+ mp_float(static_cast<boost::int64_t>(18053528883775LL)),
+ mp_float(static_cast<boost::int64_t>(9847379391150LL)),
+ mp_float(static_cast<boost::int64_t>(4923689695575LL)),
+ mp_float(static_cast<boost::int64_t>(2250829575120LL)),
+ mp_float(static_cast<boost::int64_t>(937845656300LL)),
+ mp_float(static_cast<boost::int64_t>(354860518600LL)),
+ mp_float(static_cast<boost::int64_t>(121399651100LL)),
+ mp_float(static_cast<boost::int64_t>(37353738800LL)),
+ mp_float(static_cast<boost::int64_t>(10272278170LL)),
+ mp_float(static_cast<boost::int64_t>(2505433700LL)),
+ mp_float(static_cast<boost::int32_t>(536878650L)),
+ mp_float(static_cast<boost::int32_t>(99884400L)),
+ mp_float(static_cast<boost::int32_t>(15890700L)),
+ mp_float(static_cast<boost::int32_t>(2118760L)),
+ mp_float(static_cast<boost::int32_t>(230300L)),
+ mp_float(static_cast<boost::int32_t>(19600L)),
+ mp_float(static_cast<boost::int32_t>(1225L)),
+ mp_float(static_cast<boost::int32_t>(50L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_50_vect(A007318_50_data.begin(), A007318_50_data.end());
+
+ return A007318_50_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_51(void)
+ {
+ static const boost::array<mp_float, 52u> A007318_51_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(51L)),
+ mp_float(static_cast<boost::int32_t>(1275L)),
+ mp_float(static_cast<boost::int32_t>(20825L)),
+ mp_float(static_cast<boost::int32_t>(249900L)),
+ mp_float(static_cast<boost::int32_t>(2349060L)),
+ mp_float(static_cast<boost::int32_t>(18009460L)),
+ mp_float(static_cast<boost::int32_t>(115775100L)),
+ mp_float(static_cast<boost::int32_t>(636763050L)),
+ mp_float(static_cast<boost::int64_t>(3042312350LL)),
+ mp_float(static_cast<boost::int64_t>(12777711870LL)),
+ mp_float(static_cast<boost::int64_t>(47626016970LL)),
+ mp_float(static_cast<boost::int64_t>(158753389900LL)),
+ mp_float(static_cast<boost::int64_t>(476260169700LL)),
+ mp_float(static_cast<boost::int64_t>(1292706174900LL)),
+ mp_float(static_cast<boost::int64_t>(3188675231420LL)),
+ mp_float(static_cast<boost::int64_t>(7174519270695LL)),
+ mp_float(static_cast<boost::int64_t>(14771069086725LL)),
+ mp_float(static_cast<boost::int64_t>(27900908274925LL)),
+ mp_float(static_cast<boost::int64_t>(48459472266975LL)),
+ mp_float(static_cast<boost::int64_t>(77535155627160LL)),
+ mp_float(static_cast<boost::int64_t>(114456658306760LL)),
+ mp_float(static_cast<boost::int64_t>(156077261327400LL)),
+ mp_float(static_cast<boost::int64_t>(196793068630200LL)),
+ mp_float(static_cast<boost::int64_t>(229591913401900LL)),
+ mp_float(static_cast<boost::int64_t>(247959266474052LL)),
+ mp_float(static_cast<boost::int64_t>(247959266474052LL)),
+ mp_float(static_cast<boost::int64_t>(229591913401900LL)),
+ mp_float(static_cast<boost::int64_t>(196793068630200LL)),
+ mp_float(static_cast<boost::int64_t>(156077261327400LL)),
+ mp_float(static_cast<boost::int64_t>(114456658306760LL)),
+ mp_float(static_cast<boost::int64_t>(77535155627160LL)),
+ mp_float(static_cast<boost::int64_t>(48459472266975LL)),
+ mp_float(static_cast<boost::int64_t>(27900908274925LL)),
+ mp_float(static_cast<boost::int64_t>(14771069086725LL)),
+ mp_float(static_cast<boost::int64_t>(7174519270695LL)),
+ mp_float(static_cast<boost::int64_t>(3188675231420LL)),
+ mp_float(static_cast<boost::int64_t>(1292706174900LL)),
+ mp_float(static_cast<boost::int64_t>(476260169700LL)),
+ mp_float(static_cast<boost::int64_t>(158753389900LL)),
+ mp_float(static_cast<boost::int64_t>(47626016970LL)),
+ mp_float(static_cast<boost::int64_t>(12777711870LL)),
+ mp_float(static_cast<boost::int64_t>(3042312350LL)),
+ mp_float(static_cast<boost::int32_t>(636763050L)),
+ mp_float(static_cast<boost::int32_t>(115775100L)),
+ mp_float(static_cast<boost::int32_t>(18009460L)),
+ mp_float(static_cast<boost::int32_t>(2349060L)),
+ mp_float(static_cast<boost::int32_t>(249900L)),
+ mp_float(static_cast<boost::int32_t>(20825L)),
+ mp_float(static_cast<boost::int32_t>(1275L)),
+ mp_float(static_cast<boost::int32_t>(51L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_51_vect(A007318_51_data.begin(), A007318_51_data.end());
+
+ return A007318_51_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_52(void)
+ {
+ static const boost::array<mp_float, 53u> A007318_52_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(52L)),
+ mp_float(static_cast<boost::int32_t>(1326L)),
+ mp_float(static_cast<boost::int32_t>(22100L)),
+ mp_float(static_cast<boost::int32_t>(270725L)),
+ mp_float(static_cast<boost::int32_t>(2598960L)),
+ mp_float(static_cast<boost::int32_t>(20358520L)),
+ mp_float(static_cast<boost::int32_t>(133784560L)),
+ mp_float(static_cast<boost::int32_t>(752538150L)),
+ mp_float(static_cast<boost::int64_t>(3679075400LL)),
+ mp_float(static_cast<boost::int64_t>(15820024220LL)),
+ mp_float(static_cast<boost::int64_t>(60403728840LL)),
+ mp_float(static_cast<boost::int64_t>(206379406870LL)),
+ mp_float(static_cast<boost::int64_t>(635013559600LL)),
+ mp_float(static_cast<boost::int64_t>(1768966344600LL)),
+ mp_float(static_cast<boost::int64_t>(4481381406320LL)),
+ mp_float(static_cast<boost::int64_t>(10363194502115LL)),
+ mp_float(static_cast<boost::int64_t>(21945588357420LL)),
+ mp_float(static_cast<boost::int64_t>(42671977361650LL)),
+ mp_float(static_cast<boost::int64_t>(76360380541900LL)),
+ mp_float(static_cast<boost::int64_t>(125994627894135LL)),
+ mp_float(static_cast<boost::int64_t>(191991813933920LL)),
+ mp_float(static_cast<boost::int64_t>(270533919634160LL)),
+ mp_float(static_cast<boost::int64_t>(352870329957600LL)),
+ mp_float(static_cast<boost::int64_t>(426384982032100LL)),
+ mp_float(static_cast<boost::int64_t>(477551179875952LL)),
+ mp_float(static_cast<boost::int64_t>(495918532948104LL)),
+ mp_float(static_cast<boost::int64_t>(477551179875952LL)),
+ mp_float(static_cast<boost::int64_t>(426384982032100LL)),
+ mp_float(static_cast<boost::int64_t>(352870329957600LL)),
+ mp_float(static_cast<boost::int64_t>(270533919634160LL)),
+ mp_float(static_cast<boost::int64_t>(191991813933920LL)),
+ mp_float(static_cast<boost::int64_t>(125994627894135LL)),
+ mp_float(static_cast<boost::int64_t>(76360380541900LL)),
+ mp_float(static_cast<boost::int64_t>(42671977361650LL)),
+ mp_float(static_cast<boost::int64_t>(21945588357420LL)),
+ mp_float(static_cast<boost::int64_t>(10363194502115LL)),
+ mp_float(static_cast<boost::int64_t>(4481381406320LL)),
+ mp_float(static_cast<boost::int64_t>(1768966344600LL)),
+ mp_float(static_cast<boost::int64_t>(635013559600LL)),
+ mp_float(static_cast<boost::int64_t>(206379406870LL)),
+ mp_float(static_cast<boost::int64_t>(60403728840LL)),
+ mp_float(static_cast<boost::int64_t>(15820024220LL)),
+ mp_float(static_cast<boost::int64_t>(3679075400LL)),
+ mp_float(static_cast<boost::int32_t>(752538150L)),
+ mp_float(static_cast<boost::int32_t>(133784560L)),
+ mp_float(static_cast<boost::int32_t>(20358520L)),
+ mp_float(static_cast<boost::int32_t>(2598960L)),
+ mp_float(static_cast<boost::int32_t>(270725L)),
+ mp_float(static_cast<boost::int32_t>(22100L)),
+ mp_float(static_cast<boost::int32_t>(1326L)),
+ mp_float(static_cast<boost::int32_t>(52L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_52_vect(A007318_52_data.begin(), A007318_52_data.end());
+
+ return A007318_52_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_53(void)
+ {
+ static const boost::array<mp_float, 54u> A007318_53_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(53L)),
+ mp_float(static_cast<boost::int32_t>(1378L)),
+ mp_float(static_cast<boost::int32_t>(23426L)),
+ mp_float(static_cast<boost::int32_t>(292825L)),
+ mp_float(static_cast<boost::int32_t>(2869685L)),
+ mp_float(static_cast<boost::int32_t>(22957480L)),
+ mp_float(static_cast<boost::int32_t>(154143080L)),
+ mp_float(static_cast<boost::int32_t>(886322710L)),
+ mp_float(static_cast<boost::int64_t>(4431613550LL)),
+ mp_float(static_cast<boost::int64_t>(19499099620LL)),
+ mp_float(static_cast<boost::int64_t>(76223753060LL)),
+ mp_float(static_cast<boost::int64_t>(266783135710LL)),
+ mp_float(static_cast<boost::int64_t>(841392966470LL)),
+ mp_float(static_cast<boost::int64_t>(2403979904200LL)),
+ mp_float(static_cast<boost::int64_t>(6250347750920LL)),
+ mp_float(static_cast<boost::int64_t>(14844575908435LL)),
+ mp_float(static_cast<boost::int64_t>(32308782859535LL)),
+ mp_float(static_cast<boost::int64_t>(64617565719070LL)),
+ mp_float(static_cast<boost::int64_t>(119032357903550LL)),
+ mp_float(static_cast<boost::int64_t>(202355008436035LL)),
+ mp_float(static_cast<boost::int64_t>(317986441828055LL)),
+ mp_float(static_cast<boost::int64_t>(462525733568080LL)),
+ mp_float(static_cast<boost::int64_t>(623404249591760LL)),
+ mp_float(static_cast<boost::int64_t>(779255311989700LL)),
+ mp_float(static_cast<boost::int64_t>(903936161908052LL)),
+ mp_float(static_cast<boost::int64_t>(973469712824056LL)),
+ mp_float(static_cast<boost::int64_t>(973469712824056LL)),
+ mp_float(static_cast<boost::int64_t>(903936161908052LL)),
+ mp_float(static_cast<boost::int64_t>(779255311989700LL)),
+ mp_float(static_cast<boost::int64_t>(623404249591760LL)),
+ mp_float(static_cast<boost::int64_t>(462525733568080LL)),
+ mp_float(static_cast<boost::int64_t>(317986441828055LL)),
+ mp_float(static_cast<boost::int64_t>(202355008436035LL)),
+ mp_float(static_cast<boost::int64_t>(119032357903550LL)),
+ mp_float(static_cast<boost::int64_t>(64617565719070LL)),
+ mp_float(static_cast<boost::int64_t>(32308782859535LL)),
+ mp_float(static_cast<boost::int64_t>(14844575908435LL)),
+ mp_float(static_cast<boost::int64_t>(6250347750920LL)),
+ mp_float(static_cast<boost::int64_t>(2403979904200LL)),
+ mp_float(static_cast<boost::int64_t>(841392966470LL)),
+ mp_float(static_cast<boost::int64_t>(266783135710LL)),
+ mp_float(static_cast<boost::int64_t>(76223753060LL)),
+ mp_float(static_cast<boost::int64_t>(19499099620LL)),
+ mp_float(static_cast<boost::int64_t>(4431613550LL)),
+ mp_float(static_cast<boost::int32_t>(886322710L)),
+ mp_float(static_cast<boost::int32_t>(154143080L)),
+ mp_float(static_cast<boost::int32_t>(22957480L)),
+ mp_float(static_cast<boost::int32_t>(2869685L)),
+ mp_float(static_cast<boost::int32_t>(292825L)),
+ mp_float(static_cast<boost::int32_t>(23426L)),
+ mp_float(static_cast<boost::int32_t>(1378L)),
+ mp_float(static_cast<boost::int32_t>(53L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_53_vect(A007318_53_data.begin(), A007318_53_data.end());
+
+ return A007318_53_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_54(void)
+ {
+ static const boost::array<mp_float, 55u> A007318_54_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(54L)),
+ mp_float(static_cast<boost::int32_t>(1431L)),
+ mp_float(static_cast<boost::int32_t>(24804L)),
+ mp_float(static_cast<boost::int32_t>(316251L)),
+ mp_float(static_cast<boost::int32_t>(3162510L)),
+ mp_float(static_cast<boost::int32_t>(25827165L)),
+ mp_float(static_cast<boost::int32_t>(177100560L)),
+ mp_float(static_cast<boost::int32_t>(1040465790L)),
+ mp_float(static_cast<boost::int64_t>(5317936260LL)),
+ mp_float(static_cast<boost::int64_t>(23930713170LL)),
+ mp_float(static_cast<boost::int64_t>(95722852680LL)),
+ mp_float(static_cast<boost::int64_t>(343006888770LL)),
+ mp_float(static_cast<boost::int64_t>(1108176102180LL)),
+ mp_float(static_cast<boost::int64_t>(3245372870670LL)),
+ mp_float(static_cast<boost::int64_t>(8654327655120LL)),
+ mp_float(static_cast<boost::int64_t>(21094923659355LL)),
+ mp_float(static_cast<boost::int64_t>(47153358767970LL)),
+ mp_float(static_cast<boost::int64_t>(96926348578605LL)),
+ mp_float(static_cast<boost::int64_t>(183649923622620LL)),
+ mp_float(static_cast<boost::int64_t>(321387366339585LL)),
+ mp_float(static_cast<boost::int64_t>(520341450264090LL)),
+ mp_float(static_cast<boost::int64_t>(780512175396135LL)),
+ mp_float(static_cast<boost::int64_t>(1085929983159840LL)),
+ mp_float(static_cast<boost::int64_t>(1402659561581460LL)),
+ mp_float(static_cast<boost::int64_t>(1683191473897752LL)),
+ mp_float(static_cast<boost::int64_t>(1877405874732108LL)),
+ mp_float(static_cast<boost::int64_t>(1946939425648112LL)),
+ mp_float(static_cast<boost::int64_t>(1877405874732108LL)),
+ mp_float(static_cast<boost::int64_t>(1683191473897752LL)),
+ mp_float(static_cast<boost::int64_t>(1402659561581460LL)),
+ mp_float(static_cast<boost::int64_t>(1085929983159840LL)),
+ mp_float(static_cast<boost::int64_t>(780512175396135LL)),
+ mp_float(static_cast<boost::int64_t>(520341450264090LL)),
+ mp_float(static_cast<boost::int64_t>(321387366339585LL)),
+ mp_float(static_cast<boost::int64_t>(183649923622620LL)),
+ mp_float(static_cast<boost::int64_t>(96926348578605LL)),
+ mp_float(static_cast<boost::int64_t>(47153358767970LL)),
+ mp_float(static_cast<boost::int64_t>(21094923659355LL)),
+ mp_float(static_cast<boost::int64_t>(8654327655120LL)),
+ mp_float(static_cast<boost::int64_t>(3245372870670LL)),
+ mp_float(static_cast<boost::int64_t>(1108176102180LL)),
+ mp_float(static_cast<boost::int64_t>(343006888770LL)),
+ mp_float(static_cast<boost::int64_t>(95722852680LL)),
+ mp_float(static_cast<boost::int64_t>(23930713170LL)),
+ mp_float(static_cast<boost::int64_t>(5317936260LL)),
+ mp_float(static_cast<boost::int32_t>(1040465790L)),
+ mp_float(static_cast<boost::int32_t>(177100560L)),
+ mp_float(static_cast<boost::int32_t>(25827165L)),
+ mp_float(static_cast<boost::int32_t>(3162510L)),
+ mp_float(static_cast<boost::int32_t>(316251L)),
+ mp_float(static_cast<boost::int32_t>(24804L)),
+ mp_float(static_cast<boost::int32_t>(1431L)),
+ mp_float(static_cast<boost::int32_t>(54L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_54_vect(A007318_54_data.begin(), A007318_54_data.end());
+
+ return A007318_54_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_55(void)
+ {
+ static const boost::array<mp_float, 56u> A007318_55_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(55L)),
+ mp_float(static_cast<boost::int32_t>(1485L)),
+ mp_float(static_cast<boost::int32_t>(26235L)),
+ mp_float(static_cast<boost::int32_t>(341055L)),
+ mp_float(static_cast<boost::int32_t>(3478761L)),
+ mp_float(static_cast<boost::int32_t>(28989675L)),
+ mp_float(static_cast<boost::int32_t>(202927725L)),
+ mp_float(static_cast<boost::int32_t>(1217566350L)),
+ mp_float(static_cast<boost::int64_t>(6358402050LL)),
+ mp_float(static_cast<boost::int64_t>(29248649430LL)),
+ mp_float(static_cast<boost::int64_t>(119653565850LL)),
+ mp_float(static_cast<boost::int64_t>(438729741450LL)),
+ mp_float(static_cast<boost::int64_t>(1451182990950LL)),
+ mp_float(static_cast<boost::int64_t>(4353548972850LL)),
+ mp_float(static_cast<boost::int64_t>(11899700525790LL)),
+ mp_float(static_cast<boost::int64_t>(29749251314475LL)),
+ mp_float(static_cast<boost::int64_t>(68248282427325LL)),
+ mp_float(static_cast<boost::int64_t>(144079707346575LL)),
+ mp_float(static_cast<boost::int64_t>(280576272201225LL)),
+ mp_float(static_cast<boost::int64_t>(505037289962205LL)),
+ mp_float(static_cast<boost::int64_t>(841728816603675LL)),
+ mp_float(static_cast<boost::int64_t>(1300853625660225LL)),
+ mp_float(static_cast<boost::int64_t>(1866442158555975LL)),
+ mp_float(static_cast<boost::int64_t>(2488589544741300LL)),
+ mp_float(static_cast<boost::int64_t>(3085851035479212LL)),
+ mp_float(static_cast<boost::int64_t>(3560597348629860LL)),
+ mp_float(static_cast<boost::int64_t>(3824345300380220LL)),
+ mp_float(static_cast<boost::int64_t>(3824345300380220LL)),
+ mp_float(static_cast<boost::int64_t>(3560597348629860LL)),
+ mp_float(static_cast<boost::int64_t>(3085851035479212LL)),
+ mp_float(static_cast<boost::int64_t>(2488589544741300LL)),
+ mp_float(static_cast<boost::int64_t>(1866442158555975LL)),
+ mp_float(static_cast<boost::int64_t>(1300853625660225LL)),
+ mp_float(static_cast<boost::int64_t>(841728816603675LL)),
+ mp_float(static_cast<boost::int64_t>(505037289962205LL)),
+ mp_float(static_cast<boost::int64_t>(280576272201225LL)),
+ mp_float(static_cast<boost::int64_t>(144079707346575LL)),
+ mp_float(static_cast<boost::int64_t>(68248282427325LL)),
+ mp_float(static_cast<boost::int64_t>(29749251314475LL)),
+ mp_float(static_cast<boost::int64_t>(11899700525790LL)),
+ mp_float(static_cast<boost::int64_t>(4353548972850LL)),
+ mp_float(static_cast<boost::int64_t>(1451182990950LL)),
+ mp_float(static_cast<boost::int64_t>(438729741450LL)),
+ mp_float(static_cast<boost::int64_t>(119653565850LL)),
+ mp_float(static_cast<boost::int64_t>(29248649430LL)),
+ mp_float(static_cast<boost::int64_t>(6358402050LL)),
+ mp_float(static_cast<boost::int32_t>(1217566350L)),
+ mp_float(static_cast<boost::int32_t>(202927725L)),
+ mp_float(static_cast<boost::int32_t>(28989675L)),
+ mp_float(static_cast<boost::int32_t>(3478761L)),
+ mp_float(static_cast<boost::int32_t>(341055L)),
+ mp_float(static_cast<boost::int32_t>(26235L)),
+ mp_float(static_cast<boost::int32_t>(1485L)),
+ mp_float(static_cast<boost::int32_t>(55L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_55_vect(A007318_55_data.begin(), A007318_55_data.end());
+
+ return A007318_55_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_56(void)
+ {
+ static const boost::array<mp_float, 57u> A007318_56_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(56L)),
+ mp_float(static_cast<boost::int32_t>(1540L)),
+ mp_float(static_cast<boost::int32_t>(27720L)),
+ mp_float(static_cast<boost::int32_t>(367290L)),
+ mp_float(static_cast<boost::int32_t>(3819816L)),
+ mp_float(static_cast<boost::int32_t>(32468436L)),
+ mp_float(static_cast<boost::int32_t>(231917400L)),
+ mp_float(static_cast<boost::int32_t>(1420494075L)),
+ mp_float(static_cast<boost::int64_t>(7575968400LL)),
+ mp_float(static_cast<boost::int64_t>(35607051480LL)),
+ mp_float(static_cast<boost::int64_t>(148902215280LL)),
+ mp_float(static_cast<boost::int64_t>(558383307300LL)),
+ mp_float(static_cast<boost::int64_t>(1889912732400LL)),
+ mp_float(static_cast<boost::int64_t>(5804731963800LL)),
+ mp_float(static_cast<boost::int64_t>(16253249498640LL)),
+ mp_float(static_cast<boost::int64_t>(41648951840265LL)),
+ mp_float(static_cast<boost::int64_t>(97997533741800LL)),
+ mp_float(static_cast<boost::int64_t>(212327989773900LL)),
+ mp_float(static_cast<boost::int64_t>(424655979547800LL)),
+ mp_float(static_cast<boost::int64_t>(785613562163430LL)),
+ mp_float(static_cast<boost::int64_t>(1346766106565880LL)),
+ mp_float(static_cast<boost::int64_t>(2142582442263900LL)),
+ mp_float(static_cast<boost::int64_t>(3167295784216200LL)),
+ mp_float(static_cast<boost::int64_t>(4355031703297275LL)),
+ mp_float(static_cast<boost::int64_t>(5574440580220512LL)),
+ mp_float(static_cast<boost::int64_t>(6646448384109072LL)),
+ mp_float(static_cast<boost::int64_t>(7384942649010080LL)),
+ mp_float(static_cast<boost::int64_t>(7648690600760440LL)),
+ mp_float(static_cast<boost::int64_t>(7384942649010080LL)),
+ mp_float(static_cast<boost::int64_t>(6646448384109072LL)),
+ mp_float(static_cast<boost::int64_t>(5574440580220512LL)),
+ mp_float(static_cast<boost::int64_t>(4355031703297275LL)),
+ mp_float(static_cast<boost::int64_t>(3167295784216200LL)),
+ mp_float(static_cast<boost::int64_t>(2142582442263900LL)),
+ mp_float(static_cast<boost::int64_t>(1346766106565880LL)),
+ mp_float(static_cast<boost::int64_t>(785613562163430LL)),
+ mp_float(static_cast<boost::int64_t>(424655979547800LL)),
+ mp_float(static_cast<boost::int64_t>(212327989773900LL)),
+ mp_float(static_cast<boost::int64_t>(97997533741800LL)),
+ mp_float(static_cast<boost::int64_t>(41648951840265LL)),
+ mp_float(static_cast<boost::int64_t>(16253249498640LL)),
+ mp_float(static_cast<boost::int64_t>(5804731963800LL)),
+ mp_float(static_cast<boost::int64_t>(1889912732400LL)),
+ mp_float(static_cast<boost::int64_t>(558383307300LL)),
+ mp_float(static_cast<boost::int64_t>(148902215280LL)),
+ mp_float(static_cast<boost::int64_t>(35607051480LL)),
+ mp_float(static_cast<boost::int64_t>(7575968400LL)),
+ mp_float(static_cast<boost::int32_t>(1420494075L)),
+ mp_float(static_cast<boost::int32_t>(231917400L)),
+ mp_float(static_cast<boost::int32_t>(32468436L)),
+ mp_float(static_cast<boost::int32_t>(3819816L)),
+ mp_float(static_cast<boost::int32_t>(367290L)),
+ mp_float(static_cast<boost::int32_t>(27720L)),
+ mp_float(static_cast<boost::int32_t>(1540L)),
+ mp_float(static_cast<boost::int32_t>(56L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_56_vect(A007318_56_data.begin(), A007318_56_data.end());
+
+ return A007318_56_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_57(void)
+ {
+ static const boost::array<mp_float, 58u> A007318_57_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(57L)),
+ mp_float(static_cast<boost::int32_t>(1596L)),
+ mp_float(static_cast<boost::int32_t>(29260L)),
+ mp_float(static_cast<boost::int32_t>(395010L)),
+ mp_float(static_cast<boost::int32_t>(4187106L)),
+ mp_float(static_cast<boost::int32_t>(36288252L)),
+ mp_float(static_cast<boost::int32_t>(264385836L)),
+ mp_float(static_cast<boost::int32_t>(1652411475L)),
+ mp_float(static_cast<boost::int64_t>(8996462475LL)),
+ mp_float(static_cast<boost::int64_t>(43183019880LL)),
+ mp_float(static_cast<boost::int64_t>(184509266760LL)),
+ mp_float(static_cast<boost::int64_t>(707285522580LL)),
+ mp_float(static_cast<boost::int64_t>(2448296039700LL)),
+ mp_float(static_cast<boost::int64_t>(7694644696200LL)),
+ mp_float(static_cast<boost::int64_t>(22057981462440LL)),
+ mp_float(static_cast<boost::int64_t>(57902201338905LL)),
+ mp_float(static_cast<boost::int64_t>(139646485582065LL)),
+ mp_float(static_cast<boost::int64_t>(310325523515700LL)),
+ mp_float(static_cast<boost::int64_t>(636983969321700LL)),
+ mp_float(static_cast<boost::int64_t>(1210269541711230LL)),
+ mp_float(static_cast<boost::int64_t>(2132379668729310LL)),
+ mp_float(static_cast<boost::int64_t>(3489348548829780LL)),
+ mp_float(static_cast<boost::int64_t>(5309878226480100LL)),
+ mp_float(static_cast<boost::int64_t>(7522327487513475LL)),
+ mp_float(static_cast<boost::int64_t>(9929472283517787LL)),
+ mp_float(static_cast<boost::int64_t>(12220888964329584LL)),
+ mp_float(static_cast<boost::int64_t>(14031391033119152LL)),
+ mp_float(static_cast<boost::int64_t>(15033633249770520LL)),
+ mp_float(static_cast<boost::int64_t>(15033633249770520LL)),
+ mp_float(static_cast<boost::int64_t>(14031391033119152LL)),
+ mp_float(static_cast<boost::int64_t>(12220888964329584LL)),
+ mp_float(static_cast<boost::int64_t>(9929472283517787LL)),
+ mp_float(static_cast<boost::int64_t>(7522327487513475LL)),
+ mp_float(static_cast<boost::int64_t>(5309878226480100LL)),
+ mp_float(static_cast<boost::int64_t>(3489348548829780LL)),
+ mp_float(static_cast<boost::int64_t>(2132379668729310LL)),
+ mp_float(static_cast<boost::int64_t>(1210269541711230LL)),
+ mp_float(static_cast<boost::int64_t>(636983969321700LL)),
+ mp_float(static_cast<boost::int64_t>(310325523515700LL)),
+ mp_float(static_cast<boost::int64_t>(139646485582065LL)),
+ mp_float(static_cast<boost::int64_t>(57902201338905LL)),
+ mp_float(static_cast<boost::int64_t>(22057981462440LL)),
+ mp_float(static_cast<boost::int64_t>(7694644696200LL)),
+ mp_float(static_cast<boost::int64_t>(2448296039700LL)),
+ mp_float(static_cast<boost::int64_t>(707285522580LL)),
+ mp_float(static_cast<boost::int64_t>(184509266760LL)),
+ mp_float(static_cast<boost::int64_t>(43183019880LL)),
+ mp_float(static_cast<boost::int64_t>(8996462475LL)),
+ mp_float(static_cast<boost::int32_t>(1652411475L)),
+ mp_float(static_cast<boost::int32_t>(264385836L)),
+ mp_float(static_cast<boost::int32_t>(36288252L)),
+ mp_float(static_cast<boost::int32_t>(4187106L)),
+ mp_float(static_cast<boost::int32_t>(395010L)),
+ mp_float(static_cast<boost::int32_t>(29260L)),
+ mp_float(static_cast<boost::int32_t>(1596L)),
+ mp_float(static_cast<boost::int32_t>(57L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_57_vect(A007318_57_data.begin(), A007318_57_data.end());
+
+ return A007318_57_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_58(void)
+ {
+ static const boost::array<mp_float, 59u> A007318_58_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(58L)),
+ mp_float(static_cast<boost::int32_t>(1653L)),
+ mp_float(static_cast<boost::int32_t>(30856L)),
+ mp_float(static_cast<boost::int32_t>(424270L)),
+ mp_float(static_cast<boost::int32_t>(4582116L)),
+ mp_float(static_cast<boost::int32_t>(40475358L)),
+ mp_float(static_cast<boost::int32_t>(300674088L)),
+ mp_float(static_cast<boost::int32_t>(1916797311L)),
+ mp_float(static_cast<boost::int64_t>(10648873950LL)),
+ mp_float(static_cast<boost::int64_t>(52179482355LL)),
+ mp_float(static_cast<boost::int64_t>(227692286640LL)),
+ mp_float(static_cast<boost::int64_t>(891794789340LL)),
+ mp_float(static_cast<boost::int64_t>(3155581562280LL)),
+ mp_float(static_cast<boost::int64_t>(10142940735900LL)),
+ mp_float(static_cast<boost::int64_t>(29752626158640LL)),
+ mp_float(static_cast<boost::int64_t>(79960182801345LL)),
+ mp_float(static_cast<boost::int64_t>(197548686920970LL)),
+ mp_float(static_cast<boost::int64_t>(449972009097765LL)),
+ mp_float(static_cast<boost::int64_t>(947309492837400LL)),
+ mp_float(static_cast<boost::int64_t>(1847253511032930LL)),
+ mp_float(static_cast<boost::int64_t>(3342649210440540LL)),
+ mp_float(static_cast<boost::int64_t>(5621728217559090LL)),
+ mp_float(static_cast<boost::int64_t>(8799226775309880LL)),
+ mp_float(static_cast<boost::int64_t>(12832205713993575LL)),
+ mp_float(static_cast<boost::int64_t>(17451799771031262LL)),
+ mp_float(static_cast<boost::int64_t>(22150361247847371LL)),
+ mp_float(static_cast<boost::int64_t>(26252279997448736LL)),
+ mp_float(static_cast<boost::int64_t>(29065024282889672LL)),
+ mp_float(static_cast<boost::int64_t>(30067266499541040LL)),
+ mp_float(static_cast<boost::int64_t>(29065024282889672LL)),
+ mp_float(static_cast<boost::int64_t>(26252279997448736LL)),
+ mp_float(static_cast<boost::int64_t>(22150361247847371LL)),
+ mp_float(static_cast<boost::int64_t>(17451799771031262LL)),
+ mp_float(static_cast<boost::int64_t>(12832205713993575LL)),
+ mp_float(static_cast<boost::int64_t>(8799226775309880LL)),
+ mp_float(static_cast<boost::int64_t>(5621728217559090LL)),
+ mp_float(static_cast<boost::int64_t>(3342649210440540LL)),
+ mp_float(static_cast<boost::int64_t>(1847253511032930LL)),
+ mp_float(static_cast<boost::int64_t>(947309492837400LL)),
+ mp_float(static_cast<boost::int64_t>(449972009097765LL)),
+ mp_float(static_cast<boost::int64_t>(197548686920970LL)),
+ mp_float(static_cast<boost::int64_t>(79960182801345LL)),
+ mp_float(static_cast<boost::int64_t>(29752626158640LL)),
+ mp_float(static_cast<boost::int64_t>(10142940735900LL)),
+ mp_float(static_cast<boost::int64_t>(3155581562280LL)),
+ mp_float(static_cast<boost::int64_t>(891794789340LL)),
+ mp_float(static_cast<boost::int64_t>(227692286640LL)),
+ mp_float(static_cast<boost::int64_t>(52179482355LL)),
+ mp_float(static_cast<boost::int64_t>(10648873950LL)),
+ mp_float(static_cast<boost::int32_t>(1916797311L)),
+ mp_float(static_cast<boost::int32_t>(300674088L)),
+ mp_float(static_cast<boost::int32_t>(40475358L)),
+ mp_float(static_cast<boost::int32_t>(4582116L)),
+ mp_float(static_cast<boost::int32_t>(424270L)),
+ mp_float(static_cast<boost::int32_t>(30856L)),
+ mp_float(static_cast<boost::int32_t>(1653L)),
+ mp_float(static_cast<boost::int32_t>(58L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_58_vect(A007318_58_data.begin(), A007318_58_data.end());
+
+ return A007318_58_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_59(void)
+ {
+ static const boost::array<mp_float, 60u> A007318_59_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(59L)),
+ mp_float(static_cast<boost::int32_t>(1711L)),
+ mp_float(static_cast<boost::int32_t>(32509L)),
+ mp_float(static_cast<boost::int32_t>(455126L)),
+ mp_float(static_cast<boost::int32_t>(5006386L)),
+ mp_float(static_cast<boost::int32_t>(45057474L)),
+ mp_float(static_cast<boost::int32_t>(341149446L)),
+ mp_float(static_cast<boost::int64_t>(2217471399LL)),
+ mp_float(static_cast<boost::int64_t>(12565671261LL)),
+ mp_float(static_cast<boost::int64_t>(62828356305LL)),
+ mp_float(static_cast<boost::int64_t>(279871768995LL)),
+ mp_float(static_cast<boost::int64_t>(1119487075980LL)),
+ mp_float(static_cast<boost::int64_t>(4047376351620LL)),
+ mp_float(static_cast<boost::int64_t>(13298522298180LL)),
+ mp_float(static_cast<boost::int64_t>(39895566894540LL)),
+ mp_float(static_cast<boost::int64_t>(109712808959985LL)),
+ mp_float(static_cast<boost::int64_t>(277508869722315LL)),
+ mp_float(static_cast<boost::int64_t>(647520696018735LL)),
+ mp_float(static_cast<boost::int64_t>(1397281501935165LL)),
+ mp_float(static_cast<boost::int64_t>(2794563003870330LL)),
+ mp_float(static_cast<boost::int64_t>(5189902721473470LL)),
+ mp_float(static_cast<boost::int64_t>(8964377427999630LL)),
+ mp_float(static_cast<boost::int64_t>(14420954992868970LL)),
+ mp_float(static_cast<boost::int64_t>(21631432489303455LL)),
+ mp_float(static_cast<boost::int64_t>(30284005485024837LL)),
+ mp_float(static_cast<boost::int64_t>(39602161018878633LL)),
+ mp_float(static_cast<boost::int64_t>(48402641245296107LL)),
+ mp_float(static_cast<boost::int64_t>(55317304280338408LL)),
+ mp_float(static_cast<boost::int64_t>(59132290782430712LL)),
+ mp_float(static_cast<boost::int64_t>(59132290782430712LL)),
+ mp_float(static_cast<boost::int64_t>(55317304280338408LL)),
+ mp_float(static_cast<boost::int64_t>(48402641245296107LL)),
+ mp_float(static_cast<boost::int64_t>(39602161018878633LL)),
+ mp_float(static_cast<boost::int64_t>(30284005485024837LL)),
+ mp_float(static_cast<boost::int64_t>(21631432489303455LL)),
+ mp_float(static_cast<boost::int64_t>(14420954992868970LL)),
+ mp_float(static_cast<boost::int64_t>(8964377427999630LL)),
+ mp_float(static_cast<boost::int64_t>(5189902721473470LL)),
+ mp_float(static_cast<boost::int64_t>(2794563003870330LL)),
+ mp_float(static_cast<boost::int64_t>(1397281501935165LL)),
+ mp_float(static_cast<boost::int64_t>(647520696018735LL)),
+ mp_float(static_cast<boost::int64_t>(277508869722315LL)),
+ mp_float(static_cast<boost::int64_t>(109712808959985LL)),
+ mp_float(static_cast<boost::int64_t>(39895566894540LL)),
+ mp_float(static_cast<boost::int64_t>(13298522298180LL)),
+ mp_float(static_cast<boost::int64_t>(4047376351620LL)),
+ mp_float(static_cast<boost::int64_t>(1119487075980LL)),
+ mp_float(static_cast<boost::int64_t>(279871768995LL)),
+ mp_float(static_cast<boost::int64_t>(62828356305LL)),
+ mp_float(static_cast<boost::int64_t>(12565671261LL)),
+ mp_float(static_cast<boost::int64_t>(2217471399LL)),
+ mp_float(static_cast<boost::int32_t>(341149446L)),
+ mp_float(static_cast<boost::int32_t>(45057474L)),
+ mp_float(static_cast<boost::int32_t>(5006386L)),
+ mp_float(static_cast<boost::int32_t>(455126L)),
+ mp_float(static_cast<boost::int32_t>(32509L)),
+ mp_float(static_cast<boost::int32_t>(1711L)),
+ mp_float(static_cast<boost::int32_t>(59L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_59_vect(A007318_59_data.begin(), A007318_59_data.end());
+
+ return A007318_59_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_60(void)
+ {
+ static const boost::array<mp_float, 61u> A007318_60_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(60L)),
+ mp_float(static_cast<boost::int32_t>(1770L)),
+ mp_float(static_cast<boost::int32_t>(34220L)),
+ mp_float(static_cast<boost::int32_t>(487635L)),
+ mp_float(static_cast<boost::int32_t>(5461512L)),
+ mp_float(static_cast<boost::int32_t>(50063860L)),
+ mp_float(static_cast<boost::int32_t>(386206920L)),
+ mp_float(static_cast<boost::int64_t>(2558620845LL)),
+ mp_float(static_cast<boost::int64_t>(14783142660LL)),
+ mp_float(static_cast<boost::int64_t>(75394027566LL)),
+ mp_float(static_cast<boost::int64_t>(342700125300LL)),
+ mp_float(static_cast<boost::int64_t>(1399358844975LL)),
+ mp_float(static_cast<boost::int64_t>(5166863427600LL)),
+ mp_float(static_cast<boost::int64_t>(17345898649800LL)),
+ mp_float(static_cast<boost::int64_t>(53194089192720LL)),
+ mp_float(static_cast<boost::int64_t>(149608375854525LL)),
+ mp_float(static_cast<boost::int64_t>(387221678682300LL)),
+ mp_float(static_cast<boost::int64_t>(925029565741050LL)),
+ mp_float(static_cast<boost::int64_t>(2044802197953900LL)),
+ mp_float(static_cast<boost::int64_t>(4191844505805495LL)),
+ mp_float(static_cast<boost::int64_t>(7984465725343800LL)),
+ mp_float(static_cast<boost::int64_t>(14154280149473100LL)),
+ mp_float(static_cast<boost::int64_t>(23385332420868600LL)),
+ mp_float(static_cast<boost::int64_t>(36052387482172425LL)),
+ mp_float(static_cast<boost::int64_t>(51915437974328292LL)),
+ mp_float(static_cast<boost::int64_t>(69886166503903470LL)),
+ mp_float(static_cast<boost::int64_t>(88004802264174740LL)),
+ mp_float(static_cast<boost::int64_t>(103719945525634515LL)),
+ mp_float(static_cast<boost::int64_t>(114449595062769120LL)),
+ mp_float(static_cast<boost::int64_t>(118264581564861424LL)),
+ mp_float(static_cast<boost::int64_t>(114449595062769120LL)),
+ mp_float(static_cast<boost::int64_t>(103719945525634515LL)),
+ mp_float(static_cast<boost::int64_t>(88004802264174740LL)),
+ mp_float(static_cast<boost::int64_t>(69886166503903470LL)),
+ mp_float(static_cast<boost::int64_t>(51915437974328292LL)),
+ mp_float(static_cast<boost::int64_t>(36052387482172425LL)),
+ mp_float(static_cast<boost::int64_t>(23385332420868600LL)),
+ mp_float(static_cast<boost::int64_t>(14154280149473100LL)),
+ mp_float(static_cast<boost::int64_t>(7984465725343800LL)),
+ mp_float(static_cast<boost::int64_t>(4191844505805495LL)),
+ mp_float(static_cast<boost::int64_t>(2044802197953900LL)),
+ mp_float(static_cast<boost::int64_t>(925029565741050LL)),
+ mp_float(static_cast<boost::int64_t>(387221678682300LL)),
+ mp_float(static_cast<boost::int64_t>(149608375854525LL)),
+ mp_float(static_cast<boost::int64_t>(53194089192720LL)),
+ mp_float(static_cast<boost::int64_t>(17345898649800LL)),
+ mp_float(static_cast<boost::int64_t>(5166863427600LL)),
+ mp_float(static_cast<boost::int64_t>(1399358844975LL)),
+ mp_float(static_cast<boost::int64_t>(342700125300LL)),
+ mp_float(static_cast<boost::int64_t>(75394027566LL)),
+ mp_float(static_cast<boost::int64_t>(14783142660LL)),
+ mp_float(static_cast<boost::int64_t>(2558620845LL)),
+ mp_float(static_cast<boost::int32_t>(386206920L)),
+ mp_float(static_cast<boost::int32_t>(50063860L)),
+ mp_float(static_cast<boost::int32_t>(5461512L)),
+ mp_float(static_cast<boost::int32_t>(487635L)),
+ mp_float(static_cast<boost::int32_t>(34220L)),
+ mp_float(static_cast<boost::int32_t>(1770L)),
+ mp_float(static_cast<boost::int32_t>(60L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_60_vect(A007318_60_data.begin(), A007318_60_data.end());
+
+ return A007318_60_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_61(void)
+ {
+ static const boost::array<mp_float, 62u> A007318_61_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(61L)),
+ mp_float(static_cast<boost::int32_t>(1830L)),
+ mp_float(static_cast<boost::int32_t>(35990L)),
+ mp_float(static_cast<boost::int32_t>(521855L)),
+ mp_float(static_cast<boost::int32_t>(5949147L)),
+ mp_float(static_cast<boost::int32_t>(55525372L)),
+ mp_float(static_cast<boost::int32_t>(436270780L)),
+ mp_float(static_cast<boost::int64_t>(2944827765LL)),
+ mp_float(static_cast<boost::int64_t>(17341763505LL)),
+ mp_float(static_cast<boost::int64_t>(90177170226LL)),
+ mp_float(static_cast<boost::int64_t>(418094152866LL)),
+ mp_float(static_cast<boost::int64_t>(1742058970275LL)),
+ mp_float(static_cast<boost::int64_t>(6566222272575LL)),
+ mp_float(static_cast<boost::int64_t>(22512762077400LL)),
+ mp_float(static_cast<boost::int64_t>(70539987842520LL)),
+ mp_float(static_cast<boost::int64_t>(202802465047245LL)),
+ mp_float(static_cast<boost::int64_t>(536830054536825LL)),
+ mp_float(static_cast<boost::int64_t>(1312251244423350LL)),
+ mp_float(static_cast<boost::int64_t>(2969831763694950LL)),
+ mp_float(static_cast<boost::int64_t>(6236646703759395LL)),
+ mp_float(static_cast<boost::int64_t>(12176310231149295LL)),
+ mp_float(static_cast<boost::int64_t>(22138745874816900LL)),
+ mp_float(static_cast<boost::int64_t>(37539612570341700LL)),
+ mp_float(static_cast<boost::int64_t>(59437719903041025LL)),
+ mp_float(static_cast<boost::int64_t>(87967825456500717LL)),
+ mp_float(static_cast<boost::int64_t>(121801604478231762LL)),
+ mp_float(static_cast<boost::int64_t>(157890968768078210LL)),
+ mp_float(static_cast<boost::int64_t>(191724747789809255LL)),
+ mp_float(static_cast<boost::int64_t>(218169540588403635LL)),
+ mp_float(static_cast<boost::int64_t>(232714176627630544LL)),
+ mp_float(static_cast<boost::int64_t>(232714176627630544LL)),
+ mp_float(static_cast<boost::int64_t>(218169540588403635LL)),
+ mp_float(static_cast<boost::int64_t>(191724747789809255LL)),
+ mp_float(static_cast<boost::int64_t>(157890968768078210LL)),
+ mp_float(static_cast<boost::int64_t>(121801604478231762LL)),
+ mp_float(static_cast<boost::int64_t>(87967825456500717LL)),
+ mp_float(static_cast<boost::int64_t>(59437719903041025LL)),
+ mp_float(static_cast<boost::int64_t>(37539612570341700LL)),
+ mp_float(static_cast<boost::int64_t>(22138745874816900LL)),
+ mp_float(static_cast<boost::int64_t>(12176310231149295LL)),
+ mp_float(static_cast<boost::int64_t>(6236646703759395LL)),
+ mp_float(static_cast<boost::int64_t>(2969831763694950LL)),
+ mp_float(static_cast<boost::int64_t>(1312251244423350LL)),
+ mp_float(static_cast<boost::int64_t>(536830054536825LL)),
+ mp_float(static_cast<boost::int64_t>(202802465047245LL)),
+ mp_float(static_cast<boost::int64_t>(70539987842520LL)),
+ mp_float(static_cast<boost::int64_t>(22512762077400LL)),
+ mp_float(static_cast<boost::int64_t>(6566222272575LL)),
+ mp_float(static_cast<boost::int64_t>(1742058970275LL)),
+ mp_float(static_cast<boost::int64_t>(418094152866LL)),
+ mp_float(static_cast<boost::int64_t>(90177170226LL)),
+ mp_float(static_cast<boost::int64_t>(17341763505LL)),
+ mp_float(static_cast<boost::int64_t>(2944827765LL)),
+ mp_float(static_cast<boost::int32_t>(436270780L)),
+ mp_float(static_cast<boost::int32_t>(55525372L)),
+ mp_float(static_cast<boost::int32_t>(5949147L)),
+ mp_float(static_cast<boost::int32_t>(521855L)),
+ mp_float(static_cast<boost::int32_t>(35990L)),
+ mp_float(static_cast<boost::int32_t>(1830L)),
+ mp_float(static_cast<boost::int32_t>(61L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_61_vect(A007318_61_data.begin(), A007318_61_data.end());
+
+ return A007318_61_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_62(void)
+ {
+ static const boost::array<mp_float, 63u> A007318_62_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(62L)),
+ mp_float(static_cast<boost::int32_t>(1891L)),
+ mp_float(static_cast<boost::int32_t>(37820L)),
+ mp_float(static_cast<boost::int32_t>(557845L)),
+ mp_float(static_cast<boost::int32_t>(6471002L)),
+ mp_float(static_cast<boost::int32_t>(61474519L)),
+ mp_float(static_cast<boost::int32_t>(491796152L)),
+ mp_float(static_cast<boost::int64_t>(3381098545LL)),
+ mp_float(static_cast<boost::int64_t>(20286591270LL)),
+ mp_float(static_cast<boost::int64_t>(107518933731LL)),
+ mp_float(static_cast<boost::int64_t>(508271323092LL)),
+ mp_float(static_cast<boost::int64_t>(2160153123141LL)),
+ mp_float(static_cast<boost::int64_t>(8308281242850LL)),
+ mp_float(static_cast<boost::int64_t>(29078984349975LL)),
+ mp_float(static_cast<boost::int64_t>(93052749919920LL)),
+ mp_float(static_cast<boost::int64_t>(273342452889765LL)),
+ mp_float(static_cast<boost::int64_t>(739632519584070LL)),
+ mp_float(static_cast<boost::int64_t>(1849081298960175LL)),
+ mp_float(static_cast<boost::int64_t>(4282083008118300LL)),
+ mp_float(static_cast<boost::int64_t>(9206478467454345LL)),
+ mp_float(static_cast<boost::int64_t>(18412956934908690LL)),
+ mp_float(static_cast<boost::int64_t>(34315056105966195LL)),
+ mp_float(static_cast<boost::int64_t>(59678358445158600LL)),
+ mp_float(static_cast<boost::int64_t>(96977332473382725LL)),
+ mp_float(static_cast<boost::int64_t>(147405545359541742LL)),
+ mp_float(static_cast<boost::int64_t>(209769429934732479LL)),
+ mp_float(static_cast<boost::int64_t>(279692573246309972LL)),
+ mp_float(static_cast<boost::int64_t>(349615716557887465LL)),
+ mp_float(static_cast<boost::int64_t>(409894288378212890LL)),
+ mp_float(static_cast<boost::int64_t>(450883717216034179LL)),
+ mp_float(static_cast<boost::int64_t>(465428353255261088LL)),
+ mp_float(static_cast<boost::int64_t>(450883717216034179LL)),
+ mp_float(static_cast<boost::int64_t>(409894288378212890LL)),
+ mp_float(static_cast<boost::int64_t>(349615716557887465LL)),
+ mp_float(static_cast<boost::int64_t>(279692573246309972LL)),
+ mp_float(static_cast<boost::int64_t>(209769429934732479LL)),
+ mp_float(static_cast<boost::int64_t>(147405545359541742LL)),
+ mp_float(static_cast<boost::int64_t>(96977332473382725LL)),
+ mp_float(static_cast<boost::int64_t>(59678358445158600LL)),
+ mp_float(static_cast<boost::int64_t>(34315056105966195LL)),
+ mp_float(static_cast<boost::int64_t>(18412956934908690LL)),
+ mp_float(static_cast<boost::int64_t>(9206478467454345LL)),
+ mp_float(static_cast<boost::int64_t>(4282083008118300LL)),
+ mp_float(static_cast<boost::int64_t>(1849081298960175LL)),
+ mp_float(static_cast<boost::int64_t>(739632519584070LL)),
+ mp_float(static_cast<boost::int64_t>(273342452889765LL)),
+ mp_float(static_cast<boost::int64_t>(93052749919920LL)),
+ mp_float(static_cast<boost::int64_t>(29078984349975LL)),
+ mp_float(static_cast<boost::int64_t>(8308281242850LL)),
+ mp_float(static_cast<boost::int64_t>(2160153123141LL)),
+ mp_float(static_cast<boost::int64_t>(508271323092LL)),
+ mp_float(static_cast<boost::int64_t>(107518933731LL)),
+ mp_float(static_cast<boost::int64_t>(20286591270LL)),
+ mp_float(static_cast<boost::int64_t>(3381098545LL)),
+ mp_float(static_cast<boost::int32_t>(491796152L)),
+ mp_float(static_cast<boost::int32_t>(61474519L)),
+ mp_float(static_cast<boost::int32_t>(6471002L)),
+ mp_float(static_cast<boost::int32_t>(557845L)),
+ mp_float(static_cast<boost::int32_t>(37820L)),
+ mp_float(static_cast<boost::int32_t>(1891L)),
+ mp_float(static_cast<boost::int32_t>(62L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_62_vect(A007318_62_data.begin(), A007318_62_data.end());
+
+ return A007318_62_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_63(void)
+ {
+ static const boost::array<mp_float, 64u> A007318_63_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(63L)),
+ mp_float(static_cast<boost::int32_t>(1953L)),
+ mp_float(static_cast<boost::int32_t>(39711L)),
+ mp_float(static_cast<boost::int32_t>(595665L)),
+ mp_float(static_cast<boost::int32_t>(7028847L)),
+ mp_float(static_cast<boost::int32_t>(67945521L)),
+ mp_float(static_cast<boost::int32_t>(553270671L)),
+ mp_float(static_cast<boost::int64_t>(3872894697LL)),
+ mp_float(static_cast<boost::int64_t>(23667689815LL)),
+ mp_float(static_cast<boost::int64_t>(127805525001LL)),
+ mp_float(static_cast<boost::int64_t>(615790256823LL)),
+ mp_float(static_cast<boost::int64_t>(2668424446233LL)),
+ mp_float(static_cast<boost::int64_t>(10468434365991LL)),
+ mp_float(static_cast<boost::int64_t>(37387265592825LL)),
+ mp_float(static_cast<boost::int64_t>(122131734269895LL)),
+ mp_float(static_cast<boost::int64_t>(366395202809685LL)),
+ mp_float(static_cast<boost::int64_t>(1012974972473835LL)),
+ mp_float(static_cast<boost::int64_t>(2588713818544245LL)),
+ mp_float(static_cast<boost::int64_t>(6131164307078475LL)),
+ mp_float(static_cast<boost::int64_t>(13488561475572645LL)),
+ mp_float(static_cast<boost::int64_t>(27619435402363035LL)),
+ mp_float(static_cast<boost::int64_t>(52728013040874885LL)),
+ mp_float(static_cast<boost::int64_t>(93993414551124795LL)),
+ mp_float(static_cast<boost::int64_t>(156655690918541325LL)),
+ mp_float(static_cast<boost::int64_t>(244382877832924467LL)),
+ mp_float(static_cast<boost::int64_t>(357174975294274221LL)),
+ mp_float(static_cast<boost::int64_t>(489462003181042451LL)),
+ mp_float(static_cast<boost::int64_t>(629308289804197437LL)),
+ mp_float(static_cast<boost::int64_t>(759510004936100355LL)),
+ mp_float(static_cast<boost::int64_t>(860778005594247069LL)),
+ mp_float(static_cast<boost::int64_t>(916312070471295267LL)),
+ mp_float(static_cast<boost::int64_t>(916312070471295267LL)),
+ mp_float(static_cast<boost::int64_t>(860778005594247069LL)),
+ mp_float(static_cast<boost::int64_t>(759510004936100355LL)),
+ mp_float(static_cast<boost::int64_t>(629308289804197437LL)),
+ mp_float(static_cast<boost::int64_t>(489462003181042451LL)),
+ mp_float(static_cast<boost::int64_t>(357174975294274221LL)),
+ mp_float(static_cast<boost::int64_t>(244382877832924467LL)),
+ mp_float(static_cast<boost::int64_t>(156655690918541325LL)),
+ mp_float(static_cast<boost::int64_t>(93993414551124795LL)),
+ mp_float(static_cast<boost::int64_t>(52728013040874885LL)),
+ mp_float(static_cast<boost::int64_t>(27619435402363035LL)),
+ mp_float(static_cast<boost::int64_t>(13488561475572645LL)),
+ mp_float(static_cast<boost::int64_t>(6131164307078475LL)),
+ mp_float(static_cast<boost::int64_t>(2588713818544245LL)),
+ mp_float(static_cast<boost::int64_t>(1012974972473835LL)),
+ mp_float(static_cast<boost::int64_t>(366395202809685LL)),
+ mp_float(static_cast<boost::int64_t>(122131734269895LL)),
+ mp_float(static_cast<boost::int64_t>(37387265592825LL)),
+ mp_float(static_cast<boost::int64_t>(10468434365991LL)),
+ mp_float(static_cast<boost::int64_t>(2668424446233LL)),
+ mp_float(static_cast<boost::int64_t>(615790256823LL)),
+ mp_float(static_cast<boost::int64_t>(127805525001LL)),
+ mp_float(static_cast<boost::int64_t>(23667689815LL)),
+ mp_float(static_cast<boost::int64_t>(3872894697LL)),
+ mp_float(static_cast<boost::int32_t>(553270671L)),
+ mp_float(static_cast<boost::int32_t>(67945521L)),
+ mp_float(static_cast<boost::int32_t>(7028847L)),
+ mp_float(static_cast<boost::int32_t>(595665L)),
+ mp_float(static_cast<boost::int32_t>(39711L)),
+ mp_float(static_cast<boost::int32_t>(1953L)),
+ mp_float(static_cast<boost::int32_t>(63L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_63_vect(A007318_63_data.begin(), A007318_63_data.end());
+
+ return A007318_63_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_64(void)
+ {
+ static const boost::array<mp_float, 65u> A007318_64_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(64L)),
+ mp_float(static_cast<boost::int32_t>(2016L)),
+ mp_float(static_cast<boost::int32_t>(41664L)),
+ mp_float(static_cast<boost::int32_t>(635376L)),
+ mp_float(static_cast<boost::int32_t>(7624512L)),
+ mp_float(static_cast<boost::int32_t>(74974368L)),
+ mp_float(static_cast<boost::int32_t>(621216192L)),
+ mp_float(static_cast<boost::int64_t>(4426165368LL)),
+ mp_float(static_cast<boost::int64_t>(27540584512LL)),
+ mp_float(static_cast<boost::int64_t>(151473214816LL)),
+ mp_float(static_cast<boost::int64_t>(743595781824LL)),
+ mp_float(static_cast<boost::int64_t>(3284214703056LL)),
+ mp_float(static_cast<boost::int64_t>(13136858812224LL)),
+ mp_float(static_cast<boost::int64_t>(47855699958816LL)),
+ mp_float(static_cast<boost::int64_t>(159518999862720LL)),
+ mp_float(static_cast<boost::int64_t>(488526937079580LL)),
+ mp_float(static_cast<boost::int64_t>(1379370175283520LL)),
+ mp_float(static_cast<boost::int64_t>(3601688791018080LL)),
+ mp_float(static_cast<boost::int64_t>(8719878125622720LL)),
+ mp_float(static_cast<boost::int64_t>(19619725782651120LL)),
+ mp_float(static_cast<boost::int64_t>(41107996877935680LL)),
+ mp_float(static_cast<boost::int64_t>(80347448443237920LL)),
+ mp_float(static_cast<boost::int64_t>(146721427591999680LL)),
+ mp_float(static_cast<boost::int64_t>(250649105469666120LL)),
+ mp_float(static_cast<boost::int64_t>(401038568751465792LL)),
+ mp_float(static_cast<boost::int64_t>(601557853127198688LL)),
+ mp_float(static_cast<boost::int64_t>(846636978475316672LL)),
+ mp_float(static_cast<boost::int64_t>(1118770292985239888LL)),
+ mp_float(static_cast<boost::int64_t>(1388818294740297792LL)),
+ mp_float(static_cast<boost::int64_t>(1620288010530347424LL)),
+ mp_float(static_cast<boost::int64_t>(1777090076065542336LL)),
+ mp_float(static_cast<boost::int64_t>(1832624140942590534LL)),
+ mp_float(static_cast<boost::int64_t>(1777090076065542336LL)),
+ mp_float(static_cast<boost::int64_t>(1620288010530347424LL)),
+ mp_float(static_cast<boost::int64_t>(1388818294740297792LL)),
+ mp_float(static_cast<boost::int64_t>(1118770292985239888LL)),
+ mp_float(static_cast<boost::int64_t>(846636978475316672LL)),
+ mp_float(static_cast<boost::int64_t>(601557853127198688LL)),
+ mp_float(static_cast<boost::int64_t>(401038568751465792LL)),
+ mp_float(static_cast<boost::int64_t>(250649105469666120LL)),
+ mp_float(static_cast<boost::int64_t>(146721427591999680LL)),
+ mp_float(static_cast<boost::int64_t>(80347448443237920LL)),
+ mp_float(static_cast<boost::int64_t>(41107996877935680LL)),
+ mp_float(static_cast<boost::int64_t>(19619725782651120LL)),
+ mp_float(static_cast<boost::int64_t>(8719878125622720LL)),
+ mp_float(static_cast<boost::int64_t>(3601688791018080LL)),
+ mp_float(static_cast<boost::int64_t>(1379370175283520LL)),
+ mp_float(static_cast<boost::int64_t>(488526937079580LL)),
+ mp_float(static_cast<boost::int64_t>(159518999862720LL)),
+ mp_float(static_cast<boost::int64_t>(47855699958816LL)),
+ mp_float(static_cast<boost::int64_t>(13136858812224LL)),
+ mp_float(static_cast<boost::int64_t>(3284214703056LL)),
+ mp_float(static_cast<boost::int64_t>(743595781824LL)),
+ mp_float(static_cast<boost::int64_t>(151473214816LL)),
+ mp_float(static_cast<boost::int64_t>(27540584512LL)),
+ mp_float(static_cast<boost::int64_t>(4426165368LL)),
+ mp_float(static_cast<boost::int32_t>(621216192L)),
+ mp_float(static_cast<boost::int32_t>(74974368L)),
+ mp_float(static_cast<boost::int32_t>(7624512L)),
+ mp_float(static_cast<boost::int32_t>(635376L)),
+ mp_float(static_cast<boost::int32_t>(41664L)),
+ mp_float(static_cast<boost::int32_t>(2016L)),
+ mp_float(static_cast<boost::int32_t>(64L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_64_vect(A007318_64_data.begin(), A007318_64_data.end());
+
+ return A007318_64_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_65(void)
+ {
+ static const boost::array<mp_float, 66u> A007318_65_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(65L)),
+ mp_float(static_cast<boost::int32_t>(2080L)),
+ mp_float(static_cast<boost::int32_t>(43680L)),
+ mp_float(static_cast<boost::int32_t>(677040L)),
+ mp_float(static_cast<boost::int32_t>(8259888L)),
+ mp_float(static_cast<boost::int32_t>(82598880L)),
+ mp_float(static_cast<boost::int32_t>(696190560L)),
+ mp_float(static_cast<boost::int64_t>(5047381560LL)),
+ mp_float(static_cast<boost::int64_t>(31966749880LL)),
+ mp_float(static_cast<boost::int64_t>(179013799328LL)),
+ mp_float(static_cast<boost::int64_t>(895068996640LL)),
+ mp_float(static_cast<boost::int64_t>(4027810484880LL)),
+ mp_float(static_cast<boost::int64_t>(16421073515280LL)),
+ mp_float(static_cast<boost::int64_t>(60992558771040LL)),
+ mp_float(static_cast<boost::int64_t>(207374699821536LL)),
+ mp_float(static_cast<boost::int64_t>(648045936942300LL)),
+ mp_float(static_cast<boost::int64_t>(1867897112363100LL)),
+ mp_float(static_cast<boost::int64_t>(4981058966301600LL)),
+ mp_float(static_cast<boost::int64_t>(12321566916640800LL)),
+ mp_float(static_cast<boost::int64_t>(28339603908273840LL)),
+ mp_float(static_cast<boost::int64_t>(60727722660586800LL)),
+ mp_float(static_cast<boost::int64_t>(121455445321173600LL)),
+ mp_float(static_cast<boost::int64_t>(227068876035237600LL)),
+ mp_float(static_cast<boost::int64_t>(397370533061665800LL)),
+ mp_float(static_cast<boost::int64_t>(651687674221131912LL)),
+ mp_float(static_cast<boost::int64_t>(1002596421878664480LL)),
+ mp_float(static_cast<boost::int64_t>(1448194831602515360LL)),
+ mp_float(static_cast<boost::int64_t>(1965407271460556560LL)),
+ mp_float(static_cast<boost::int64_t>(2507588587725537680LL)),
+ mp_float(static_cast<boost::int64_t>(3009106305270645216LL)),
+ mp_float(static_cast<boost::int64_t>(3397378086595889760LL)),
+ mp_float(static_cast<boost::int64_t>(3609714217008132870LL)),
+ mp_float(static_cast<boost::int64_t>(3609714217008132870LL)),
+ mp_float(static_cast<boost::int64_t>(3397378086595889760LL)),
+ mp_float(static_cast<boost::int64_t>(3009106305270645216LL)),
+ mp_float(static_cast<boost::int64_t>(2507588587725537680LL)),
+ mp_float(static_cast<boost::int64_t>(1965407271460556560LL)),
+ mp_float(static_cast<boost::int64_t>(1448194831602515360LL)),
+ mp_float(static_cast<boost::int64_t>(1002596421878664480LL)),
+ mp_float(static_cast<boost::int64_t>(651687674221131912LL)),
+ mp_float(static_cast<boost::int64_t>(397370533061665800LL)),
+ mp_float(static_cast<boost::int64_t>(227068876035237600LL)),
+ mp_float(static_cast<boost::int64_t>(121455445321173600LL)),
+ mp_float(static_cast<boost::int64_t>(60727722660586800LL)),
+ mp_float(static_cast<boost::int64_t>(28339603908273840LL)),
+ mp_float(static_cast<boost::int64_t>(12321566916640800LL)),
+ mp_float(static_cast<boost::int64_t>(4981058966301600LL)),
+ mp_float(static_cast<boost::int64_t>(1867897112363100LL)),
+ mp_float(static_cast<boost::int64_t>(648045936942300LL)),
+ mp_float(static_cast<boost::int64_t>(207374699821536LL)),
+ mp_float(static_cast<boost::int64_t>(60992558771040LL)),
+ mp_float(static_cast<boost::int64_t>(16421073515280LL)),
+ mp_float(static_cast<boost::int64_t>(4027810484880LL)),
+ mp_float(static_cast<boost::int64_t>(895068996640LL)),
+ mp_float(static_cast<boost::int64_t>(179013799328LL)),
+ mp_float(static_cast<boost::int64_t>(31966749880LL)),
+ mp_float(static_cast<boost::int64_t>(5047381560LL)),
+ mp_float(static_cast<boost::int32_t>(696190560L)),
+ mp_float(static_cast<boost::int32_t>(82598880L)),
+ mp_float(static_cast<boost::int32_t>(8259888L)),
+ mp_float(static_cast<boost::int32_t>(677040L)),
+ mp_float(static_cast<boost::int32_t>(43680L)),
+ mp_float(static_cast<boost::int32_t>(2080L)),
+ mp_float(static_cast<boost::int32_t>(65L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_65_vect(A007318_65_data.begin(), A007318_65_data.end());
+
+ return A007318_65_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_66(void)
+ {
+ static const boost::array<mp_float, 67u> A007318_66_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(66L)),
+ mp_float(static_cast<boost::int32_t>(2145L)),
+ mp_float(static_cast<boost::int32_t>(45760L)),
+ mp_float(static_cast<boost::int32_t>(720720L)),
+ mp_float(static_cast<boost::int32_t>(8936928L)),
+ mp_float(static_cast<boost::int32_t>(90858768L)),
+ mp_float(static_cast<boost::int32_t>(778789440L)),
+ mp_float(static_cast<boost::int64_t>(5743572120LL)),
+ mp_float(static_cast<boost::int64_t>(37014131440LL)),
+ mp_float(static_cast<boost::int64_t>(210980549208LL)),
+ mp_float(static_cast<boost::int64_t>(1074082795968LL)),
+ mp_float(static_cast<boost::int64_t>(4922879481520LL)),
+ mp_float(static_cast<boost::int64_t>(20448884000160LL)),
+ mp_float(static_cast<boost::int64_t>(77413632286320LL)),
+ mp_float(static_cast<boost::int64_t>(268367258592576LL)),
+ mp_float(static_cast<boost::int64_t>(855420636763836LL)),
+ mp_float(static_cast<boost::int64_t>(2515943049305400LL)),
+ mp_float(static_cast<boost::int64_t>(6848956078664700LL)),
+ mp_float(static_cast<boost::int64_t>(17302625882942400LL)),
+ mp_float(static_cast<boost::int64_t>(40661170824914640LL)),
+ mp_float(static_cast<boost::int64_t>(89067326568860640LL)),
+ mp_float(static_cast<boost::int64_t>(182183167981760400LL)),
+ mp_float(static_cast<boost::int64_t>(348524321356411200LL)),
+ mp_float(static_cast<boost::int64_t>(624439409096903400LL)),
+ mp_float(static_cast<boost::int64_t>(1049058207282797712LL)),
+ mp_float(static_cast<boost::int64_t>(1654284096099796392LL)),
+ mp_float(static_cast<boost::int64_t>(2450791253481179840LL)),
+ mp_float(static_cast<boost::int64_t>(3413602103063071920LL)),
+ mp_float(static_cast<boost::int64_t>(4472995859186094240LL)),
+ mp_float(static_cast<boost::int64_t>(5516694892996182896LL)),
+ mp_float(static_cast<boost::int64_t>(6406484391866534976LL)),
+ mp_float(static_cast<boost::int64_t>(7007092303604022630LL)),
+ mp_float(static_cast<boost::int64_t>(7219428434016265740LL)),
+ mp_float(static_cast<boost::int64_t>(7007092303604022630LL)),
+ mp_float(static_cast<boost::int64_t>(6406484391866534976LL)),
+ mp_float(static_cast<boost::int64_t>(5516694892996182896LL)),
+ mp_float(static_cast<boost::int64_t>(4472995859186094240LL)),
+ mp_float(static_cast<boost::int64_t>(3413602103063071920LL)),
+ mp_float(static_cast<boost::int64_t>(2450791253481179840LL)),
+ mp_float(static_cast<boost::int64_t>(1654284096099796392LL)),
+ mp_float(static_cast<boost::int64_t>(1049058207282797712LL)),
+ mp_float(static_cast<boost::int64_t>(624439409096903400LL)),
+ mp_float(static_cast<boost::int64_t>(348524321356411200LL)),
+ mp_float(static_cast<boost::int64_t>(182183167981760400LL)),
+ mp_float(static_cast<boost::int64_t>(89067326568860640LL)),
+ mp_float(static_cast<boost::int64_t>(40661170824914640LL)),
+ mp_float(static_cast<boost::int64_t>(17302625882942400LL)),
+ mp_float(static_cast<boost::int64_t>(6848956078664700LL)),
+ mp_float(static_cast<boost::int64_t>(2515943049305400LL)),
+ mp_float(static_cast<boost::int64_t>(855420636763836LL)),
+ mp_float(static_cast<boost::int64_t>(268367258592576LL)),
+ mp_float(static_cast<boost::int64_t>(77413632286320LL)),
+ mp_float(static_cast<boost::int64_t>(20448884000160LL)),
+ mp_float(static_cast<boost::int64_t>(4922879481520LL)),
+ mp_float(static_cast<boost::int64_t>(1074082795968LL)),
+ mp_float(static_cast<boost::int64_t>(210980549208LL)),
+ mp_float(static_cast<boost::int64_t>(37014131440LL)),
+ mp_float(static_cast<boost::int64_t>(5743572120LL)),
+ mp_float(static_cast<boost::int32_t>(778789440L)),
+ mp_float(static_cast<boost::int32_t>(90858768L)),
+ mp_float(static_cast<boost::int32_t>(8936928L)),
+ mp_float(static_cast<boost::int32_t>(720720L)),
+ mp_float(static_cast<boost::int32_t>(45760L)),
+ mp_float(static_cast<boost::int32_t>(2145L)),
+ mp_float(static_cast<boost::int32_t>(66L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_66_vect(A007318_66_data.begin(), A007318_66_data.end());
+
+ return A007318_66_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_67(void)
+ {
+ static const boost::array<mp_float, 68u> A007318_67_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(67L)),
+ mp_float(static_cast<boost::int32_t>(2211L)),
+ mp_float(static_cast<boost::int32_t>(47905L)),
+ mp_float(static_cast<boost::int32_t>(766480L)),
+ mp_float(static_cast<boost::int32_t>(9657648L)),
+ mp_float(static_cast<boost::int32_t>(99795696L)),
+ mp_float(static_cast<boost::int32_t>(869648208L)),
+ mp_float(static_cast<boost::int64_t>(6522361560LL)),
+ mp_float(static_cast<boost::int64_t>(42757703560LL)),
+ mp_float(static_cast<boost::int64_t>(247994680648LL)),
+ mp_float(static_cast<boost::int64_t>(1285063345176LL)),
+ mp_float(static_cast<boost::int64_t>(5996962277488LL)),
+ mp_float(static_cast<boost::int64_t>(25371763481680LL)),
+ mp_float(static_cast<boost::int64_t>(97862516286480LL)),
+ mp_float(static_cast<boost::int64_t>(345780890878896LL)),
+ mp_float(static_cast<boost::int64_t>(1123787895356412LL)),
+ mp_float(static_cast<boost::int64_t>(3371363686069236LL)),
+ mp_float(static_cast<boost::int64_t>(9364899127970100LL)),
+ mp_float(static_cast<boost::int64_t>(24151581961607100LL)),
+ mp_float(static_cast<boost::int64_t>(57963796707857040LL)),
+ mp_float(static_cast<boost::int64_t>(129728497393775280LL)),
+ mp_float(static_cast<boost::int64_t>(271250494550621040LL)),
+ mp_float(static_cast<boost::int64_t>(530707489338171600LL)),
+ mp_float(static_cast<boost::int64_t>(972963730453314600LL)),
+ mp_float(static_cast<boost::int64_t>(1673497616379701112LL)),
+ mp_float(static_cast<boost::int64_t>(2703342303382594104LL)),
+ mp_float(static_cast<boost::int64_t>(4105075349580976232LL)),
+ mp_float(static_cast<boost::int64_t>(5864393356544251760LL)),
+ mp_float(static_cast<boost::int64_t>(7886597962249166160LL)),
+ mp_float("9989690752182277136"),
+ mp_float("11923179284862717872"),
+ mp_float("13413576695470557606"),
+ mp_float("14226520737620288370"),
+ mp_float("14226520737620288370"),
+ mp_float("13413576695470557606"),
+ mp_float("11923179284862717872"),
+ mp_float("9989690752182277136"),
+ mp_float(static_cast<boost::int64_t>(7886597962249166160LL)),
+ mp_float(static_cast<boost::int64_t>(5864393356544251760LL)),
+ mp_float(static_cast<boost::int64_t>(4105075349580976232LL)),
+ mp_float(static_cast<boost::int64_t>(2703342303382594104LL)),
+ mp_float(static_cast<boost::int64_t>(1673497616379701112LL)),
+ mp_float(static_cast<boost::int64_t>(972963730453314600LL)),
+ mp_float(static_cast<boost::int64_t>(530707489338171600LL)),
+ mp_float(static_cast<boost::int64_t>(271250494550621040LL)),
+ mp_float(static_cast<boost::int64_t>(129728497393775280LL)),
+ mp_float(static_cast<boost::int64_t>(57963796707857040LL)),
+ mp_float(static_cast<boost::int64_t>(24151581961607100LL)),
+ mp_float(static_cast<boost::int64_t>(9364899127970100LL)),
+ mp_float(static_cast<boost::int64_t>(3371363686069236LL)),
+ mp_float(static_cast<boost::int64_t>(1123787895356412LL)),
+ mp_float(static_cast<boost::int64_t>(345780890878896LL)),
+ mp_float(static_cast<boost::int64_t>(97862516286480LL)),
+ mp_float(static_cast<boost::int64_t>(25371763481680LL)),
+ mp_float(static_cast<boost::int64_t>(5996962277488LL)),
+ mp_float(static_cast<boost::int64_t>(1285063345176LL)),
+ mp_float(static_cast<boost::int64_t>(247994680648LL)),
+ mp_float(static_cast<boost::int64_t>(42757703560LL)),
+ mp_float(static_cast<boost::int64_t>(6522361560LL)),
+ mp_float(static_cast<boost::int32_t>(869648208L)),
+ mp_float(static_cast<boost::int32_t>(99795696L)),
+ mp_float(static_cast<boost::int32_t>(9657648L)),
+ mp_float(static_cast<boost::int32_t>(766480L)),
+ mp_float(static_cast<boost::int32_t>(47905L)),
+ mp_float(static_cast<boost::int32_t>(2211L)),
+ mp_float(static_cast<boost::int32_t>(67L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_67_vect(A007318_67_data.begin(), A007318_67_data.end());
+
+ return A007318_67_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_68(void)
+ {
+ static const boost::array<mp_float, 69u> A007318_68_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(68L)),
+ mp_float(static_cast<boost::int32_t>(2278L)),
+ mp_float(static_cast<boost::int32_t>(50116L)),
+ mp_float(static_cast<boost::int32_t>(814385L)),
+ mp_float(static_cast<boost::int32_t>(10424128L)),
+ mp_float(static_cast<boost::int32_t>(109453344L)),
+ mp_float(static_cast<boost::int32_t>(969443904L)),
+ mp_float(static_cast<boost::int64_t>(7392009768LL)),
+ mp_float(static_cast<boost::int64_t>(49280065120LL)),
+ mp_float(static_cast<boost::int64_t>(290752384208LL)),
+ mp_float(static_cast<boost::int64_t>(1533058025824LL)),
+ mp_float(static_cast<boost::int64_t>(7282025622664LL)),
+ mp_float(static_cast<boost::int64_t>(31368725759168LL)),
+ mp_float(static_cast<boost::int64_t>(123234279768160LL)),
+ mp_float(static_cast<boost::int64_t>(443643407165376LL)),
+ mp_float(static_cast<boost::int64_t>(1469568786235308LL)),
+ mp_float(static_cast<boost::int64_t>(4495151581425648LL)),
+ mp_float(static_cast<boost::int64_t>(12736262814039336LL)),
+ mp_float(static_cast<boost::int64_t>(33516481089577200LL)),
+ mp_float(static_cast<boost::int64_t>(82115378669464140LL)),
+ mp_float(static_cast<boost::int64_t>(187692294101632320LL)),
+ mp_float(static_cast<boost::int64_t>(400978991944396320LL)),
+ mp_float(static_cast<boost::int64_t>(801957983888792640LL)),
+ mp_float(static_cast<boost::int64_t>(1503671219791486200LL)),
+ mp_float(static_cast<boost::int64_t>(2646461346833015712LL)),
+ mp_float(static_cast<boost::int64_t>(4376839919762295216LL)),
+ mp_float(static_cast<boost::int64_t>(6808417652963570336LL)),
+ mp_float("9969468706125227992"),
+ mp_float("13750991318793417920"),
+ mp_float("17876288714431443296"),
+ mp_float("21912870037044995008"),
+ mp_float("25336755980333275478"),
+ mp_float("27640097433090845976"),
+ mp_float("28453041475240576740"),
+ mp_float("27640097433090845976"),
+ mp_float("25336755980333275478"),
+ mp_float("21912870037044995008"),
+ mp_float("17876288714431443296"),
+ mp_float("13750991318793417920"),
+ mp_float("9969468706125227992"),
+ mp_float(static_cast<boost::int64_t>(6808417652963570336LL)),
+ mp_float(static_cast<boost::int64_t>(4376839919762295216LL)),
+ mp_float(static_cast<boost::int64_t>(2646461346833015712LL)),
+ mp_float(static_cast<boost::int64_t>(1503671219791486200LL)),
+ mp_float(static_cast<boost::int64_t>(801957983888792640LL)),
+ mp_float(static_cast<boost::int64_t>(400978991944396320LL)),
+ mp_float(static_cast<boost::int64_t>(187692294101632320LL)),
+ mp_float(static_cast<boost::int64_t>(82115378669464140LL)),
+ mp_float(static_cast<boost::int64_t>(33516481089577200LL)),
+ mp_float(static_cast<boost::int64_t>(12736262814039336LL)),
+ mp_float(static_cast<boost::int64_t>(4495151581425648LL)),
+ mp_float(static_cast<boost::int64_t>(1469568786235308LL)),
+ mp_float(static_cast<boost::int64_t>(443643407165376LL)),
+ mp_float(static_cast<boost::int64_t>(123234279768160LL)),
+ mp_float(static_cast<boost::int64_t>(31368725759168LL)),
+ mp_float(static_cast<boost::int64_t>(7282025622664LL)),
+ mp_float(static_cast<boost::int64_t>(1533058025824LL)),
+ mp_float(static_cast<boost::int64_t>(290752384208LL)),
+ mp_float(static_cast<boost::int64_t>(49280065120LL)),
+ mp_float(static_cast<boost::int64_t>(7392009768LL)),
+ mp_float(static_cast<boost::int32_t>(969443904L)),
+ mp_float(static_cast<boost::int32_t>(109453344L)),
+ mp_float(static_cast<boost::int32_t>(10424128L)),
+ mp_float(static_cast<boost::int32_t>(814385L)),
+ mp_float(static_cast<boost::int32_t>(50116L)),
+ mp_float(static_cast<boost::int32_t>(2278L)),
+ mp_float(static_cast<boost::int32_t>(68L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_68_vect(A007318_68_data.begin(), A007318_68_data.end());
+
+ return A007318_68_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_69(void)
+ {
+ static const boost::array<mp_float, 70u> A007318_69_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(69L)),
+ mp_float(static_cast<boost::int32_t>(2346L)),
+ mp_float(static_cast<boost::int32_t>(52394L)),
+ mp_float(static_cast<boost::int32_t>(864501L)),
+ mp_float(static_cast<boost::int32_t>(11238513L)),
+ mp_float(static_cast<boost::int32_t>(119877472L)),
+ mp_float(static_cast<boost::int32_t>(1078897248L)),
+ mp_float(static_cast<boost::int64_t>(8361453672LL)),
+ mp_float(static_cast<boost::int64_t>(56672074888LL)),
+ mp_float(static_cast<boost::int64_t>(340032449328LL)),
+ mp_float(static_cast<boost::int64_t>(1823810410032LL)),
+ mp_float(static_cast<boost::int64_t>(8815083648488LL)),
+ mp_float(static_cast<boost::int64_t>(38650751381832LL)),
+ mp_float(static_cast<boost::int64_t>(154603005527328LL)),
+ mp_float(static_cast<boost::int64_t>(566877686933536LL)),
+ mp_float(static_cast<boost::int64_t>(1913212193400684LL)),
+ mp_float(static_cast<boost::int64_t>(5964720367660956LL)),
+ mp_float(static_cast<boost::int64_t>(17231414395464984LL)),
+ mp_float(static_cast<boost::int64_t>(46252743903616536LL)),
+ mp_float(static_cast<boost::int64_t>(115631859759041340LL)),
+ mp_float(static_cast<boost::int64_t>(269807672771096460LL)),
+ mp_float(static_cast<boost::int64_t>(588671286046028640LL)),
+ mp_float(static_cast<boost::int64_t>(1202936975833188960LL)),
+ mp_float(static_cast<boost::int64_t>(2305629203680278840LL)),
+ mp_float(static_cast<boost::int64_t>(4150132566624501912LL)),
+ mp_float(static_cast<boost::int64_t>(7023301266595310928LL)),
+ mp_float("11185257572725865552"),
+ mp_float("16777886359088798328"),
+ mp_float("23720460024918645912"),
+ mp_float("31627280033224861216"),
+ mp_float("39789158751476438304"),
+ mp_float("47249626017378270486"),
+ mp_float("52976853413424121454"),
+ mp_float("56093138908331422716"),
+ mp_float("56093138908331422716"),
+ mp_float("52976853413424121454"),
+ mp_float("47249626017378270486"),
+ mp_float("39789158751476438304"),
+ mp_float("31627280033224861216"),
+ mp_float("23720460024918645912"),
+ mp_float("16777886359088798328"),
+ mp_float("11185257572725865552"),
+ mp_float(static_cast<boost::int64_t>(7023301266595310928LL)),
+ mp_float(static_cast<boost::int64_t>(4150132566624501912LL)),
+ mp_float(static_cast<boost::int64_t>(2305629203680278840LL)),
+ mp_float(static_cast<boost::int64_t>(1202936975833188960LL)),
+ mp_float(static_cast<boost::int64_t>(588671286046028640LL)),
+ mp_float(static_cast<boost::int64_t>(269807672771096460LL)),
+ mp_float(static_cast<boost::int64_t>(115631859759041340LL)),
+ mp_float(static_cast<boost::int64_t>(46252743903616536LL)),
+ mp_float(static_cast<boost::int64_t>(17231414395464984LL)),
+ mp_float(static_cast<boost::int64_t>(5964720367660956LL)),
+ mp_float(static_cast<boost::int64_t>(1913212193400684LL)),
+ mp_float(static_cast<boost::int64_t>(566877686933536LL)),
+ mp_float(static_cast<boost::int64_t>(154603005527328LL)),
+ mp_float(static_cast<boost::int64_t>(38650751381832LL)),
+ mp_float(static_cast<boost::int64_t>(8815083648488LL)),
+ mp_float(static_cast<boost::int64_t>(1823810410032LL)),
+ mp_float(static_cast<boost::int64_t>(340032449328LL)),
+ mp_float(static_cast<boost::int64_t>(56672074888LL)),
+ mp_float(static_cast<boost::int64_t>(8361453672LL)),
+ mp_float(static_cast<boost::int32_t>(1078897248L)),
+ mp_float(static_cast<boost::int32_t>(119877472L)),
+ mp_float(static_cast<boost::int32_t>(11238513L)),
+ mp_float(static_cast<boost::int32_t>(864501L)),
+ mp_float(static_cast<boost::int32_t>(52394L)),
+ mp_float(static_cast<boost::int32_t>(2346L)),
+ mp_float(static_cast<boost::int32_t>(69L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_69_vect(A007318_69_data.begin(), A007318_69_data.end());
+
+ return A007318_69_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_70(void)
+ {
+ static const boost::array<mp_float, 71u> A007318_70_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(70L)),
+ mp_float(static_cast<boost::int32_t>(2415L)),
+ mp_float(static_cast<boost::int32_t>(54740L)),
+ mp_float(static_cast<boost::int32_t>(916895L)),
+ mp_float(static_cast<boost::int32_t>(12103014L)),
+ mp_float(static_cast<boost::int32_t>(131115985L)),
+ mp_float(static_cast<boost::int32_t>(1198774720L)),
+ mp_float(static_cast<boost::int64_t>(9440350920LL)),
+ mp_float(static_cast<boost::int64_t>(65033528560LL)),
+ mp_float(static_cast<boost::int64_t>(396704524216LL)),
+ mp_float(static_cast<boost::int64_t>(2163842859360LL)),
+ mp_float(static_cast<boost::int64_t>(10638894058520LL)),
+ mp_float(static_cast<boost::int64_t>(47465835030320LL)),
+ mp_float(static_cast<boost::int64_t>(193253756909160LL)),
+ mp_float(static_cast<boost::int64_t>(721480692460864LL)),
+ mp_float(static_cast<boost::int64_t>(2480089880334220LL)),
+ mp_float(static_cast<boost::int64_t>(7877932561061640LL)),
+ mp_float(static_cast<boost::int64_t>(23196134763125940LL)),
+ mp_float(static_cast<boost::int64_t>(63484158299081520LL)),
+ mp_float(static_cast<boost::int64_t>(161884603662657876LL)),
+ mp_float(static_cast<boost::int64_t>(385439532530137800LL)),
+ mp_float(static_cast<boost::int64_t>(858478958817125100LL)),
+ mp_float(static_cast<boost::int64_t>(1791608261879217600LL)),
+ mp_float(static_cast<boost::int64_t>(3508566179513467800LL)),
+ mp_float(static_cast<boost::int64_t>(6455761770304780752LL)),
+ mp_float("11173433833219812840"),
+ mp_float("18208558839321176480"),
+ mp_float("27963143931814663880"),
+ mp_float("40498346384007444240"),
+ mp_float("55347740058143507128"),
+ mp_float("71416438784701299520"),
+ mp_float("87038784768854708790"),
+ mp_float("100226479430802391940"),
+ mp_float("109069992321755544170"),
+ mp_float("112186277816662845432"),
+ mp_float("109069992321755544170"),
+ mp_float("100226479430802391940"),
+ mp_float("87038784768854708790"),
+ mp_float("71416438784701299520"),
+ mp_float("55347740058143507128"),
+ mp_float("40498346384007444240"),
+ mp_float("27963143931814663880"),
+ mp_float("18208558839321176480"),
+ mp_float("11173433833219812840"),
+ mp_float(static_cast<boost::int64_t>(6455761770304780752LL)),
+ mp_float(static_cast<boost::int64_t>(3508566179513467800LL)),
+ mp_float(static_cast<boost::int64_t>(1791608261879217600LL)),
+ mp_float(static_cast<boost::int64_t>(858478958817125100LL)),
+ mp_float(static_cast<boost::int64_t>(385439532530137800LL)),
+ mp_float(static_cast<boost::int64_t>(161884603662657876LL)),
+ mp_float(static_cast<boost::int64_t>(63484158299081520LL)),
+ mp_float(static_cast<boost::int64_t>(23196134763125940LL)),
+ mp_float(static_cast<boost::int64_t>(7877932561061640LL)),
+ mp_float(static_cast<boost::int64_t>(2480089880334220LL)),
+ mp_float(static_cast<boost::int64_t>(721480692460864LL)),
+ mp_float(static_cast<boost::int64_t>(193253756909160LL)),
+ mp_float(static_cast<boost::int64_t>(47465835030320LL)),
+ mp_float(static_cast<boost::int64_t>(10638894058520LL)),
+ mp_float(static_cast<boost::int64_t>(2163842859360LL)),
+ mp_float(static_cast<boost::int64_t>(396704524216LL)),
+ mp_float(static_cast<boost::int64_t>(65033528560LL)),
+ mp_float(static_cast<boost::int64_t>(9440350920LL)),
+ mp_float(static_cast<boost::int32_t>(1198774720L)),
+ mp_float(static_cast<boost::int32_t>(131115985L)),
+ mp_float(static_cast<boost::int32_t>(12103014L)),
+ mp_float(static_cast<boost::int32_t>(916895L)),
+ mp_float(static_cast<boost::int32_t>(54740L)),
+ mp_float(static_cast<boost::int32_t>(2415L)),
+ mp_float(static_cast<boost::int32_t>(70L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_70_vect(A007318_70_data.begin(), A007318_70_data.end());
+
+ return A007318_70_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_71(void)
+ {
+ static const boost::array<mp_float, 72u> A007318_71_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(71L)),
+ mp_float(static_cast<boost::int32_t>(2485L)),
+ mp_float(static_cast<boost::int32_t>(57155L)),
+ mp_float(static_cast<boost::int32_t>(971635L)),
+ mp_float(static_cast<boost::int32_t>(13019909L)),
+ mp_float(static_cast<boost::int32_t>(143218999L)),
+ mp_float(static_cast<boost::int32_t>(1329890705L)),
+ mp_float(static_cast<boost::int64_t>(10639125640LL)),
+ mp_float(static_cast<boost::int64_t>(74473879480LL)),
+ mp_float(static_cast<boost::int64_t>(461738052776LL)),
+ mp_float(static_cast<boost::int64_t>(2560547383576LL)),
+ mp_float(static_cast<boost::int64_t>(12802736917880LL)),
+ mp_float(static_cast<boost::int64_t>(58104729088840LL)),
+ mp_float(static_cast<boost::int64_t>(240719591939480LL)),
+ mp_float(static_cast<boost::int64_t>(914734449370024LL)),
+ mp_float(static_cast<boost::int64_t>(3201570572795084LL)),
+ mp_float(static_cast<boost::int64_t>(10358022441395860LL)),
+ mp_float(static_cast<boost::int64_t>(31074067324187580LL)),
+ mp_float(static_cast<boost::int64_t>(86680293062207460LL)),
+ mp_float(static_cast<boost::int64_t>(225368761961739396LL)),
+ mp_float(static_cast<boost::int64_t>(547324136192795676LL)),
+ mp_float(static_cast<boost::int64_t>(1243918491347262900LL)),
+ mp_float(static_cast<boost::int64_t>(2650087220696342700LL)),
+ mp_float(static_cast<boost::int64_t>(5300174441392685400LL)),
+ mp_float("9964327949818248552"),
+ mp_float("17629195603524593592"),
+ mp_float("29381992672540989320"),
+ mp_float("46171702771135840360"),
+ mp_float("68461490315822108120"),
+ mp_float("95846086442150951368"),
+ mp_float("126764178842844806648"),
+ mp_float("158455223553556008310"),
+ mp_float("187265264199657100730"),
+ mp_float("209296471752557936110"),
+ mp_float("221256270138418389602"),
+ mp_float("221256270138418389602"),
+ mp_float("209296471752557936110"),
+ mp_float("187265264199657100730"),
+ mp_float("158455223553556008310"),
+ mp_float("126764178842844806648"),
+ mp_float("95846086442150951368"),
+ mp_float("68461490315822108120"),
+ mp_float("46171702771135840360"),
+ mp_float("29381992672540989320"),
+ mp_float("17629195603524593592"),
+ mp_float("9964327949818248552"),
+ mp_float(static_cast<boost::int64_t>(5300174441392685400LL)),
+ mp_float(static_cast<boost::int64_t>(2650087220696342700LL)),
+ mp_float(static_cast<boost::int64_t>(1243918491347262900LL)),
+ mp_float(static_cast<boost::int64_t>(547324136192795676LL)),
+ mp_float(static_cast<boost::int64_t>(225368761961739396LL)),
+ mp_float(static_cast<boost::int64_t>(86680293062207460LL)),
+ mp_float(static_cast<boost::int64_t>(31074067324187580LL)),
+ mp_float(static_cast<boost::int64_t>(10358022441395860LL)),
+ mp_float(static_cast<boost::int64_t>(3201570572795084LL)),
+ mp_float(static_cast<boost::int64_t>(914734449370024LL)),
+ mp_float(static_cast<boost::int64_t>(240719591939480LL)),
+ mp_float(static_cast<boost::int64_t>(58104729088840LL)),
+ mp_float(static_cast<boost::int64_t>(12802736917880LL)),
+ mp_float(static_cast<boost::int64_t>(2560547383576LL)),
+ mp_float(static_cast<boost::int64_t>(461738052776LL)),
+ mp_float(static_cast<boost::int64_t>(74473879480LL)),
+ mp_float(static_cast<boost::int64_t>(10639125640LL)),
+ mp_float(static_cast<boost::int32_t>(1329890705L)),
+ mp_float(static_cast<boost::int32_t>(143218999L)),
+ mp_float(static_cast<boost::int32_t>(13019909L)),
+ mp_float(static_cast<boost::int32_t>(971635L)),
+ mp_float(static_cast<boost::int32_t>(57155L)),
+ mp_float(static_cast<boost::int32_t>(2485L)),
+ mp_float(static_cast<boost::int32_t>(71L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_71_vect(A007318_71_data.begin(), A007318_71_data.end());
+
+ return A007318_71_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_72(void)
+ {
+ static const boost::array<mp_float, 73u> A007318_72_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(72L)),
+ mp_float(static_cast<boost::int32_t>(2556L)),
+ mp_float(static_cast<boost::int32_t>(59640L)),
+ mp_float(static_cast<boost::int32_t>(1028790L)),
+ mp_float(static_cast<boost::int32_t>(13991544L)),
+ mp_float(static_cast<boost::int32_t>(156238908L)),
+ mp_float(static_cast<boost::int32_t>(1473109704L)),
+ mp_float(static_cast<boost::int64_t>(11969016345LL)),
+ mp_float(static_cast<boost::int64_t>(85113005120LL)),
+ mp_float(static_cast<boost::int64_t>(536211932256LL)),
+ mp_float(static_cast<boost::int64_t>(3022285436352LL)),
+ mp_float(static_cast<boost::int64_t>(15363284301456LL)),
+ mp_float(static_cast<boost::int64_t>(70907466006720LL)),
+ mp_float(static_cast<boost::int64_t>(298824321028320LL)),
+ mp_float(static_cast<boost::int64_t>(1155454041309504LL)),
+ mp_float(static_cast<boost::int64_t>(4116305022165108LL)),
+ mp_float(static_cast<boost::int64_t>(13559593014190944LL)),
+ mp_float(static_cast<boost::int64_t>(41432089765583440LL)),
+ mp_float(static_cast<boost::int64_t>(117754360386395040LL)),
+ mp_float(static_cast<boost::int64_t>(312049055023946856LL)),
+ mp_float(static_cast<boost::int64_t>(772692898154535072LL)),
+ mp_float(static_cast<boost::int64_t>(1791242627540058576LL)),
+ mp_float(static_cast<boost::int64_t>(3894005712043605600LL)),
+ mp_float(static_cast<boost::int64_t>(7950261662089028100LL)),
+ mp_float("15264502391210933952"),
+ mp_float("27593523553342842144"),
+ mp_float("47011188276065582912"),
+ mp_float("75553695443676829680"),
+ mp_float("114633193086957948480"),
+ mp_float("164307576757973059488"),
+ mp_float("222610265284995758016"),
+ mp_float("285219402396400814958"),
+ mp_float("345720487753213109040"),
+ mp_float("396561735952215036840"),
+ mp_float("430552741890976325712"),
+ mp_float("442512540276836779204"),
+ mp_float("430552741890976325712"),
+ mp_float("396561735952215036840"),
+ mp_float("345720487753213109040"),
+ mp_float("285219402396400814958"),
+ mp_float("222610265284995758016"),
+ mp_float("164307576757973059488"),
+ mp_float("114633193086957948480"),
+ mp_float("75553695443676829680"),
+ mp_float("47011188276065582912"),
+ mp_float("27593523553342842144"),
+ mp_float("15264502391210933952"),
+ mp_float(static_cast<boost::int64_t>(7950261662089028100LL)),
+ mp_float(static_cast<boost::int64_t>(3894005712043605600LL)),
+ mp_float(static_cast<boost::int64_t>(1791242627540058576LL)),
+ mp_float(static_cast<boost::int64_t>(772692898154535072LL)),
+ mp_float(static_cast<boost::int64_t>(312049055023946856LL)),
+ mp_float(static_cast<boost::int64_t>(117754360386395040LL)),
+ mp_float(static_cast<boost::int64_t>(41432089765583440LL)),
+ mp_float(static_cast<boost::int64_t>(13559593014190944LL)),
+ mp_float(static_cast<boost::int64_t>(4116305022165108LL)),
+ mp_float(static_cast<boost::int64_t>(1155454041309504LL)),
+ mp_float(static_cast<boost::int64_t>(298824321028320LL)),
+ mp_float(static_cast<boost::int64_t>(70907466006720LL)),
+ mp_float(static_cast<boost::int64_t>(15363284301456LL)),
+ mp_float(static_cast<boost::int64_t>(3022285436352LL)),
+ mp_float(static_cast<boost::int64_t>(536211932256LL)),
+ mp_float(static_cast<boost::int64_t>(85113005120LL)),
+ mp_float(static_cast<boost::int64_t>(11969016345LL)),
+ mp_float(static_cast<boost::int32_t>(1473109704L)),
+ mp_float(static_cast<boost::int32_t>(156238908L)),
+ mp_float(static_cast<boost::int32_t>(13991544L)),
+ mp_float(static_cast<boost::int32_t>(1028790L)),
+ mp_float(static_cast<boost::int32_t>(59640L)),
+ mp_float(static_cast<boost::int32_t>(2556L)),
+ mp_float(static_cast<boost::int32_t>(72L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_72_vect(A007318_72_data.begin(), A007318_72_data.end());
+
+ return A007318_72_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_73(void)
+ {
+ static const boost::array<mp_float, 74u> A007318_73_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(73L)),
+ mp_float(static_cast<boost::int32_t>(2628L)),
+ mp_float(static_cast<boost::int32_t>(62196L)),
+ mp_float(static_cast<boost::int32_t>(1088430L)),
+ mp_float(static_cast<boost::int32_t>(15020334L)),
+ mp_float(static_cast<boost::int32_t>(170230452L)),
+ mp_float(static_cast<boost::int32_t>(1629348612L)),
+ mp_float(static_cast<boost::int64_t>(13442126049LL)),
+ mp_float(static_cast<boost::int64_t>(97082021465LL)),
+ mp_float(static_cast<boost::int64_t>(621324937376LL)),
+ mp_float(static_cast<boost::int64_t>(3558497368608LL)),
+ mp_float(static_cast<boost::int64_t>(18385569737808LL)),
+ mp_float(static_cast<boost::int64_t>(86270750308176LL)),
+ mp_float(static_cast<boost::int64_t>(369731787035040LL)),
+ mp_float(static_cast<boost::int64_t>(1454278362337824LL)),
+ mp_float(static_cast<boost::int64_t>(5271759063474612LL)),
+ mp_float(static_cast<boost::int64_t>(17675898036356052LL)),
+ mp_float(static_cast<boost::int64_t>(54991682779774384LL)),
+ mp_float(static_cast<boost::int64_t>(159186450151978480LL)),
+ mp_float(static_cast<boost::int64_t>(429803415410341896LL)),
+ mp_float(static_cast<boost::int64_t>(1084741953178481928LL)),
+ mp_float(static_cast<boost::int64_t>(2563935525694593648LL)),
+ mp_float(static_cast<boost::int64_t>(5685248339583664176LL)),
+ mp_float("11844267374132633700"),
+ mp_float("23214764053299962052"),
+ mp_float("42858025944553776096"),
+ mp_float("74604711829408425056"),
+ mp_float("122564883719742412592"),
+ mp_float("190186888530634778160"),
+ mp_float("278940769844931007968"),
+ mp_float("386917842042968817504"),
+ mp_float("507829667681396572974"),
+ mp_float("630939890149613923998"),
+ mp_float("742282223705428145880"),
+ mp_float("827114477843191362552"),
+ mp_float("873065282167813104916"),
+ mp_float("873065282167813104916"),
+ mp_float("827114477843191362552"),
+ mp_float("742282223705428145880"),
+ mp_float("630939890149613923998"),
+ mp_float("507829667681396572974"),
+ mp_float("386917842042968817504"),
+ mp_float("278940769844931007968"),
+ mp_float("190186888530634778160"),
+ mp_float("122564883719742412592"),
+ mp_float("74604711829408425056"),
+ mp_float("42858025944553776096"),
+ mp_float("23214764053299962052"),
+ mp_float("11844267374132633700"),
+ mp_float(static_cast<boost::int64_t>(5685248339583664176LL)),
+ mp_float(static_cast<boost::int64_t>(2563935525694593648LL)),
+ mp_float(static_cast<boost::int64_t>(1084741953178481928LL)),
+ mp_float(static_cast<boost::int64_t>(429803415410341896LL)),
+ mp_float(static_cast<boost::int64_t>(159186450151978480LL)),
+ mp_float(static_cast<boost::int64_t>(54991682779774384LL)),
+ mp_float(static_cast<boost::int64_t>(17675898036356052LL)),
+ mp_float(static_cast<boost::int64_t>(5271759063474612LL)),
+ mp_float(static_cast<boost::int64_t>(1454278362337824LL)),
+ mp_float(static_cast<boost::int64_t>(369731787035040LL)),
+ mp_float(static_cast<boost::int64_t>(86270750308176LL)),
+ mp_float(static_cast<boost::int64_t>(18385569737808LL)),
+ mp_float(static_cast<boost::int64_t>(3558497368608LL)),
+ mp_float(static_cast<boost::int64_t>(621324937376LL)),
+ mp_float(static_cast<boost::int64_t>(97082021465LL)),
+ mp_float(static_cast<boost::int64_t>(13442126049LL)),
+ mp_float(static_cast<boost::int32_t>(1629348612L)),
+ mp_float(static_cast<boost::int32_t>(170230452L)),
+ mp_float(static_cast<boost::int32_t>(15020334L)),
+ mp_float(static_cast<boost::int32_t>(1088430L)),
+ mp_float(static_cast<boost::int32_t>(62196L)),
+ mp_float(static_cast<boost::int32_t>(2628L)),
+ mp_float(static_cast<boost::int32_t>(73L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_73_vect(A007318_73_data.begin(), A007318_73_data.end());
+
+ return A007318_73_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_74(void)
+ {
+ static const boost::array<mp_float, 75u> A007318_74_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(74L)),
+ mp_float(static_cast<boost::int32_t>(2701L)),
+ mp_float(static_cast<boost::int32_t>(64824L)),
+ mp_float(static_cast<boost::int32_t>(1150626L)),
+ mp_float(static_cast<boost::int32_t>(16108764L)),
+ mp_float(static_cast<boost::int32_t>(185250786L)),
+ mp_float(static_cast<boost::int32_t>(1799579064L)),
+ mp_float(static_cast<boost::int64_t>(15071474661LL)),
+ mp_float(static_cast<boost::int64_t>(110524147514LL)),
+ mp_float(static_cast<boost::int64_t>(718406958841LL)),
+ mp_float(static_cast<boost::int64_t>(4179822305984LL)),
+ mp_float(static_cast<boost::int64_t>(21944067106416LL)),
+ mp_float(static_cast<boost::int64_t>(104656320045984LL)),
+ mp_float(static_cast<boost::int64_t>(456002537343216LL)),
+ mp_float(static_cast<boost::int64_t>(1824010149372864LL)),
+ mp_float(static_cast<boost::int64_t>(6726037425812436LL)),
+ mp_float(static_cast<boost::int64_t>(22947657099830664LL)),
+ mp_float(static_cast<boost::int64_t>(72667580816130436LL)),
+ mp_float(static_cast<boost::int64_t>(214178132931752864LL)),
+ mp_float(static_cast<boost::int64_t>(588989865562320376LL)),
+ mp_float(static_cast<boost::int64_t>(1514545368588823824LL)),
+ mp_float(static_cast<boost::int64_t>(3648677478873075576LL)),
+ mp_float(static_cast<boost::int64_t>(8249183865278257824LL)),
+ mp_float("17529515713716297876"),
+ mp_float("35059031427432595752"),
+ mp_float("66072789997853738148"),
+ mp_float("117462737773962201152"),
+ mp_float("197169595549150837648"),
+ mp_float("312751772250377190752"),
+ mp_float("469127658375565786128"),
+ mp_float("665858611887899825472"),
+ mp_float("894747509724365390478"),
+ mp_float("1138769557831010496972"),
+ mp_float("1373222113855042069878"),
+ mp_float("1569396701548619508432"),
+ mp_float("1700179760011004467468"),
+ mp_float("1746130564335626209832"),
+ mp_float("1700179760011004467468"),
+ mp_float("1569396701548619508432"),
+ mp_float("1373222113855042069878"),
+ mp_float("1138769557831010496972"),
+ mp_float("894747509724365390478"),
+ mp_float("665858611887899825472"),
+ mp_float("469127658375565786128"),
+ mp_float("312751772250377190752"),
+ mp_float("197169595549150837648"),
+ mp_float("117462737773962201152"),
+ mp_float("66072789997853738148"),
+ mp_float("35059031427432595752"),
+ mp_float("17529515713716297876"),
+ mp_float(static_cast<boost::int64_t>(8249183865278257824LL)),
+ mp_float(static_cast<boost::int64_t>(3648677478873075576LL)),
+ mp_float(static_cast<boost::int64_t>(1514545368588823824LL)),
+ mp_float(static_cast<boost::int64_t>(588989865562320376LL)),
+ mp_float(static_cast<boost::int64_t>(214178132931752864LL)),
+ mp_float(static_cast<boost::int64_t>(72667580816130436LL)),
+ mp_float(static_cast<boost::int64_t>(22947657099830664LL)),
+ mp_float(static_cast<boost::int64_t>(6726037425812436LL)),
+ mp_float(static_cast<boost::int64_t>(1824010149372864LL)),
+ mp_float(static_cast<boost::int64_t>(456002537343216LL)),
+ mp_float(static_cast<boost::int64_t>(104656320045984LL)),
+ mp_float(static_cast<boost::int64_t>(21944067106416LL)),
+ mp_float(static_cast<boost::int64_t>(4179822305984LL)),
+ mp_float(static_cast<boost::int64_t>(718406958841LL)),
+ mp_float(static_cast<boost::int64_t>(110524147514LL)),
+ mp_float(static_cast<boost::int64_t>(15071474661LL)),
+ mp_float(static_cast<boost::int32_t>(1799579064L)),
+ mp_float(static_cast<boost::int32_t>(185250786L)),
+ mp_float(static_cast<boost::int32_t>(16108764L)),
+ mp_float(static_cast<boost::int32_t>(1150626L)),
+ mp_float(static_cast<boost::int32_t>(64824L)),
+ mp_float(static_cast<boost::int32_t>(2701L)),
+ mp_float(static_cast<boost::int32_t>(74L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_74_vect(A007318_74_data.begin(), A007318_74_data.end());
+
+ return A007318_74_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_75(void)
+ {
+ static const boost::array<mp_float, 76u> A007318_75_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(75L)),
+ mp_float(static_cast<boost::int32_t>(2775L)),
+ mp_float(static_cast<boost::int32_t>(67525L)),
+ mp_float(static_cast<boost::int32_t>(1215450L)),
+ mp_float(static_cast<boost::int32_t>(17259390L)),
+ mp_float(static_cast<boost::int32_t>(201359550L)),
+ mp_float(static_cast<boost::int32_t>(1984829850L)),
+ mp_float(static_cast<boost::int64_t>(16871053725LL)),
+ mp_float(static_cast<boost::int64_t>(125595622175LL)),
+ mp_float(static_cast<boost::int64_t>(828931106355LL)),
+ mp_float(static_cast<boost::int64_t>(4898229264825LL)),
+ mp_float(static_cast<boost::int64_t>(26123889412400LL)),
+ mp_float(static_cast<boost::int64_t>(126600387152400LL)),
+ mp_float(static_cast<boost::int64_t>(560658857389200LL)),
+ mp_float(static_cast<boost::int64_t>(2280012686716080LL)),
+ mp_float(static_cast<boost::int64_t>(8550047575185300LL)),
+ mp_float(static_cast<boost::int64_t>(29673694525643100LL)),
+ mp_float(static_cast<boost::int64_t>(95615237915961100LL)),
+ mp_float(static_cast<boost::int64_t>(286845713747883300LL)),
+ mp_float(static_cast<boost::int64_t>(803167998494073240LL)),
+ mp_float(static_cast<boost::int64_t>(2103535234151144200LL)),
+ mp_float(static_cast<boost::int64_t>(5163222847461899400LL)),
+ mp_float("11897861344151333400"),
+ mp_float("25778699578994555700"),
+ mp_float("52588547141148893628"),
+ mp_float("101131821425286333900"),
+ mp_float("183535527771815939300"),
+ mp_float("314632333323113038800"),
+ mp_float("509921367799528028400"),
+ mp_float("781879430625942976880"),
+ mp_float("1134986270263465611600"),
+ mp_float("1560606121612265215950"),
+ mp_float("2033517067555375887450"),
+ mp_float("2511991671686052566850"),
+ mp_float("2942618815403661578310"),
+ mp_float("3269576461559623975900"),
+ mp_float("3446310324346630677300"),
+ mp_float("3446310324346630677300"),
+ mp_float("3269576461559623975900"),
+ mp_float("2942618815403661578310"),
+ mp_float("2511991671686052566850"),
+ mp_float("2033517067555375887450"),
+ mp_float("1560606121612265215950"),
+ mp_float("1134986270263465611600"),
+ mp_float("781879430625942976880"),
+ mp_float("509921367799528028400"),
+ mp_float("314632333323113038800"),
+ mp_float("183535527771815939300"),
+ mp_float("101131821425286333900"),
+ mp_float("52588547141148893628"),
+ mp_float("25778699578994555700"),
+ mp_float("11897861344151333400"),
+ mp_float(static_cast<boost::int64_t>(5163222847461899400LL)),
+ mp_float(static_cast<boost::int64_t>(2103535234151144200LL)),
+ mp_float(static_cast<boost::int64_t>(803167998494073240LL)),
+ mp_float(static_cast<boost::int64_t>(286845713747883300LL)),
+ mp_float(static_cast<boost::int64_t>(95615237915961100LL)),
+ mp_float(static_cast<boost::int64_t>(29673694525643100LL)),
+ mp_float(static_cast<boost::int64_t>(8550047575185300LL)),
+ mp_float(static_cast<boost::int64_t>(2280012686716080LL)),
+ mp_float(static_cast<boost::int64_t>(560658857389200LL)),
+ mp_float(static_cast<boost::int64_t>(126600387152400LL)),
+ mp_float(static_cast<boost::int64_t>(26123889412400LL)),
+ mp_float(static_cast<boost::int64_t>(4898229264825LL)),
+ mp_float(static_cast<boost::int64_t>(828931106355LL)),
+ mp_float(static_cast<boost::int64_t>(125595622175LL)),
+ mp_float(static_cast<boost::int64_t>(16871053725LL)),
+ mp_float(static_cast<boost::int32_t>(1984829850L)),
+ mp_float(static_cast<boost::int32_t>(201359550L)),
+ mp_float(static_cast<boost::int32_t>(17259390L)),
+ mp_float(static_cast<boost::int32_t>(1215450L)),
+ mp_float(static_cast<boost::int32_t>(67525L)),
+ mp_float(static_cast<boost::int32_t>(2775L)),
+ mp_float(static_cast<boost::int32_t>(75L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_75_vect(A007318_75_data.begin(), A007318_75_data.end());
+
+ return A007318_75_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_76(void)
+ {
+ static const boost::array<mp_float, 77u> A007318_76_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(76L)),
+ mp_float(static_cast<boost::int32_t>(2850L)),
+ mp_float(static_cast<boost::int32_t>(70300L)),
+ mp_float(static_cast<boost::int32_t>(1282975L)),
+ mp_float(static_cast<boost::int32_t>(18474840L)),
+ mp_float(static_cast<boost::int32_t>(218618940L)),
+ mp_float(static_cast<boost::int64_t>(2186189400LL)),
+ mp_float(static_cast<boost::int64_t>(18855883575LL)),
+ mp_float(static_cast<boost::int64_t>(142466675900LL)),
+ mp_float(static_cast<boost::int64_t>(954526728530LL)),
+ mp_float(static_cast<boost::int64_t>(5727160371180LL)),
+ mp_float(static_cast<boost::int64_t>(31022118677225LL)),
+ mp_float(static_cast<boost::int64_t>(152724276564800LL)),
+ mp_float(static_cast<boost::int64_t>(687259244541600LL)),
+ mp_float(static_cast<boost::int64_t>(2840671544105280LL)),
+ mp_float(static_cast<boost::int64_t>(10830060261901380LL)),
+ mp_float(static_cast<boost::int64_t>(38223742100828400LL)),
+ mp_float(static_cast<boost::int64_t>(125288932441604200LL)),
+ mp_float(static_cast<boost::int64_t>(382460951663844400LL)),
+ mp_float(static_cast<boost::int64_t>(1090013712241956540LL)),
+ mp_float(static_cast<boost::int64_t>(2906703232645217440LL)),
+ mp_float(static_cast<boost::int64_t>(7266758081613043600LL)),
+ mp_float("17061084191613232800"),
+ mp_float("37676560923145889100"),
+ mp_float("78367246720143449328"),
+ mp_float("153720368566435227528"),
+ mp_float("284667349197102273200"),
+ mp_float("498167861094928978100"),
+ mp_float("824553701122641067200"),
+ mp_float("1291800798425471005280"),
+ mp_float("1916865700889408588480"),
+ mp_float("2695592391875730827550"),
+ mp_float("3594123189167641103400"),
+ mp_float("4545508739241428454300"),
+ mp_float("5454610487089714145160"),
+ mp_float("6212195276963285554210"),
+ mp_float("6715886785906254653200"),
+ mp_float("6892620648693261354600"),
+ mp_float("6715886785906254653200"),
+ mp_float("6212195276963285554210"),
+ mp_float("5454610487089714145160"),
+ mp_float("4545508739241428454300"),
+ mp_float("3594123189167641103400"),
+ mp_float("2695592391875730827550"),
+ mp_float("1916865700889408588480"),
+ mp_float("1291800798425471005280"),
+ mp_float("824553701122641067200"),
+ mp_float("498167861094928978100"),
+ mp_float("284667349197102273200"),
+ mp_float("153720368566435227528"),
+ mp_float("78367246720143449328"),
+ mp_float("37676560923145889100"),
+ mp_float("17061084191613232800"),
+ mp_float(static_cast<boost::int64_t>(7266758081613043600LL)),
+ mp_float(static_cast<boost::int64_t>(2906703232645217440LL)),
+ mp_float(static_cast<boost::int64_t>(1090013712241956540LL)),
+ mp_float(static_cast<boost::int64_t>(382460951663844400LL)),
+ mp_float(static_cast<boost::int64_t>(125288932441604200LL)),
+ mp_float(static_cast<boost::int64_t>(38223742100828400LL)),
+ mp_float(static_cast<boost::int64_t>(10830060261901380LL)),
+ mp_float(static_cast<boost::int64_t>(2840671544105280LL)),
+ mp_float(static_cast<boost::int64_t>(687259244541600LL)),
+ mp_float(static_cast<boost::int64_t>(152724276564800LL)),
+ mp_float(static_cast<boost::int64_t>(31022118677225LL)),
+ mp_float(static_cast<boost::int64_t>(5727160371180LL)),
+ mp_float(static_cast<boost::int64_t>(954526728530LL)),
+ mp_float(static_cast<boost::int64_t>(142466675900LL)),
+ mp_float(static_cast<boost::int64_t>(18855883575LL)),
+ mp_float(static_cast<boost::int64_t>(2186189400LL)),
+ mp_float(static_cast<boost::int32_t>(218618940L)),
+ mp_float(static_cast<boost::int32_t>(18474840L)),
+ mp_float(static_cast<boost::int32_t>(1282975L)),
+ mp_float(static_cast<boost::int32_t>(70300L)),
+ mp_float(static_cast<boost::int32_t>(2850L)),
+ mp_float(static_cast<boost::int32_t>(76L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_76_vect(A007318_76_data.begin(), A007318_76_data.end());
+
+ return A007318_76_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_77(void)
+ {
+ static const boost::array<mp_float, 78u> A007318_77_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(77L)),
+ mp_float(static_cast<boost::int32_t>(2926L)),
+ mp_float(static_cast<boost::int32_t>(73150L)),
+ mp_float(static_cast<boost::int32_t>(1353275L)),
+ mp_float(static_cast<boost::int32_t>(19757815L)),
+ mp_float(static_cast<boost::int32_t>(237093780L)),
+ mp_float(static_cast<boost::int64_t>(2404808340LL)),
+ mp_float(static_cast<boost::int64_t>(21042072975LL)),
+ mp_float(static_cast<boost::int64_t>(161322559475LL)),
+ mp_float(static_cast<boost::int64_t>(1096993404430LL)),
+ mp_float(static_cast<boost::int64_t>(6681687099710LL)),
+ mp_float(static_cast<boost::int64_t>(36749279048405LL)),
+ mp_float(static_cast<boost::int64_t>(183746395242025LL)),
+ mp_float(static_cast<boost::int64_t>(839983521106400LL)),
+ mp_float(static_cast<boost::int64_t>(3527930788646880LL)),
+ mp_float(static_cast<boost::int64_t>(13670731806006660LL)),
+ mp_float(static_cast<boost::int64_t>(49053802362729780LL)),
+ mp_float(static_cast<boost::int64_t>(163512674542432600LL)),
+ mp_float(static_cast<boost::int64_t>(507749884105448600LL)),
+ mp_float(static_cast<boost::int64_t>(1472474663905800940LL)),
+ mp_float(static_cast<boost::int64_t>(3996716944887173980LL)),
+ mp_float("10173461314258261040"),
+ mp_float("24327842273226276400"),
+ mp_float("54737645114759121900"),
+ mp_float("116043807643289338428"),
+ mp_float("232087615286578676856"),
+ mp_float("438387717763537500728"),
+ mp_float("782835210292031251300"),
+ mp_float("1322721562217570045300"),
+ mp_float("2116354499548112072480"),
+ mp_float("3208666499314879593760"),
+ mp_float("4612458092765139416030"),
+ mp_float("6289715581043371930950"),
+ mp_float("8139631928409069557700"),
+ mp_float("10000119226331142599460"),
+ mp_float("11666805764052999699370"),
+ mp_float("12928082062869540207410"),
+ mp_float("13608507434599516007800"),
+ mp_float("13608507434599516007800"),
+ mp_float("12928082062869540207410"),
+ mp_float("11666805764052999699370"),
+ mp_float("10000119226331142599460"),
+ mp_float("8139631928409069557700"),
+ mp_float("6289715581043371930950"),
+ mp_float("4612458092765139416030"),
+ mp_float("3208666499314879593760"),
+ mp_float("2116354499548112072480"),
+ mp_float("1322721562217570045300"),
+ mp_float("782835210292031251300"),
+ mp_float("438387717763537500728"),
+ mp_float("232087615286578676856"),
+ mp_float("116043807643289338428"),
+ mp_float("54737645114759121900"),
+ mp_float("24327842273226276400"),
+ mp_float("10173461314258261040"),
+ mp_float(static_cast<boost::int64_t>(3996716944887173980LL)),
+ mp_float(static_cast<boost::int64_t>(1472474663905800940LL)),
+ mp_float(static_cast<boost::int64_t>(507749884105448600LL)),
+ mp_float(static_cast<boost::int64_t>(163512674542432600LL)),
+ mp_float(static_cast<boost::int64_t>(49053802362729780LL)),
+ mp_float(static_cast<boost::int64_t>(13670731806006660LL)),
+ mp_float(static_cast<boost::int64_t>(3527930788646880LL)),
+ mp_float(static_cast<boost::int64_t>(839983521106400LL)),
+ mp_float(static_cast<boost::int64_t>(183746395242025LL)),
+ mp_float(static_cast<boost::int64_t>(36749279048405LL)),
+ mp_float(static_cast<boost::int64_t>(6681687099710LL)),
+ mp_float(static_cast<boost::int64_t>(1096993404430LL)),
+ mp_float(static_cast<boost::int64_t>(161322559475LL)),
+ mp_float(static_cast<boost::int64_t>(21042072975LL)),
+ mp_float(static_cast<boost::int64_t>(2404808340LL)),
+ mp_float(static_cast<boost::int32_t>(237093780L)),
+ mp_float(static_cast<boost::int32_t>(19757815L)),
+ mp_float(static_cast<boost::int32_t>(1353275L)),
+ mp_float(static_cast<boost::int32_t>(73150L)),
+ mp_float(static_cast<boost::int32_t>(2926L)),
+ mp_float(static_cast<boost::int32_t>(77L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_77_vect(A007318_77_data.begin(), A007318_77_data.end());
+
+ return A007318_77_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_78(void)
+ {
+ static const boost::array<mp_float, 79u> A007318_78_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(78L)),
+ mp_float(static_cast<boost::int32_t>(3003L)),
+ mp_float(static_cast<boost::int32_t>(76076L)),
+ mp_float(static_cast<boost::int32_t>(1426425L)),
+ mp_float(static_cast<boost::int32_t>(21111090L)),
+ mp_float(static_cast<boost::int32_t>(256851595L)),
+ mp_float(static_cast<boost::int64_t>(2641902120LL)),
+ mp_float(static_cast<boost::int64_t>(23446881315LL)),
+ mp_float(static_cast<boost::int64_t>(182364632450LL)),
+ mp_float(static_cast<boost::int64_t>(1258315963905LL)),
+ mp_float(static_cast<boost::int64_t>(7778680504140LL)),
+ mp_float(static_cast<boost::int64_t>(43430966148115LL)),
+ mp_float(static_cast<boost::int64_t>(220495674290430LL)),
+ mp_float(static_cast<boost::int64_t>(1023729916348425LL)),
+ mp_float(static_cast<boost::int64_t>(4367914309753280LL)),
+ mp_float(static_cast<boost::int64_t>(17198662594653540LL)),
+ mp_float(static_cast<boost::int64_t>(62724534168736440LL)),
+ mp_float(static_cast<boost::int64_t>(212566476905162380LL)),
+ mp_float(static_cast<boost::int64_t>(671262558647881200LL)),
+ mp_float(static_cast<boost::int64_t>(1980224548011249540LL)),
+ mp_float(static_cast<boost::int64_t>(5469191608792974920LL)),
+ mp_float("14170178259145435020"),
+ mp_float("34501303587484537440"),
+ mp_float("79065487387985398300"),
+ mp_float("170781452758048460328"),
+ mp_float("348131422929868015284"),
+ mp_float("670475333050116177584"),
+ mp_float("1221222928055568752028"),
+ mp_float("2105556772509601296600"),
+ mp_float("3439076061765682117780"),
+ mp_float("5325020998862991666240"),
+ mp_float("7821124592080019009790"),
+ mp_float("10902173673808511346980"),
+ mp_float("14429347509452441488650"),
+ mp_float("18139751154740212157160"),
+ mp_float("21666924990384142298830"),
+ mp_float("24594887826922539906780"),
+ mp_float("26536589497469056215210"),
+ mp_float("27217014869199032015600"),
+ mp_float("26536589497469056215210"),
+ mp_float("24594887826922539906780"),
+ mp_float("21666924990384142298830"),
+ mp_float("18139751154740212157160"),
+ mp_float("14429347509452441488650"),
+ mp_float("10902173673808511346980"),
+ mp_float("7821124592080019009790"),
+ mp_float("5325020998862991666240"),
+ mp_float("3439076061765682117780"),
+ mp_float("2105556772509601296600"),
+ mp_float("1221222928055568752028"),
+ mp_float("670475333050116177584"),
+ mp_float("348131422929868015284"),
+ mp_float("170781452758048460328"),
+ mp_float("79065487387985398300"),
+ mp_float("34501303587484537440"),
+ mp_float("14170178259145435020"),
+ mp_float(static_cast<boost::int64_t>(5469191608792974920LL)),
+ mp_float(static_cast<boost::int64_t>(1980224548011249540LL)),
+ mp_float(static_cast<boost::int64_t>(671262558647881200LL)),
+ mp_float(static_cast<boost::int64_t>(212566476905162380LL)),
+ mp_float(static_cast<boost::int64_t>(62724534168736440LL)),
+ mp_float(static_cast<boost::int64_t>(17198662594653540LL)),
+ mp_float(static_cast<boost::int64_t>(4367914309753280LL)),
+ mp_float(static_cast<boost::int64_t>(1023729916348425LL)),
+ mp_float(static_cast<boost::int64_t>(220495674290430LL)),
+ mp_float(static_cast<boost::int64_t>(43430966148115LL)),
+ mp_float(static_cast<boost::int64_t>(7778680504140LL)),
+ mp_float(static_cast<boost::int64_t>(1258315963905LL)),
+ mp_float(static_cast<boost::int64_t>(182364632450LL)),
+ mp_float(static_cast<boost::int64_t>(23446881315LL)),
+ mp_float(static_cast<boost::int64_t>(2641902120LL)),
+ mp_float(static_cast<boost::int32_t>(256851595L)),
+ mp_float(static_cast<boost::int32_t>(21111090L)),
+ mp_float(static_cast<boost::int32_t>(1426425L)),
+ mp_float(static_cast<boost::int32_t>(76076L)),
+ mp_float(static_cast<boost::int32_t>(3003L)),
+ mp_float(static_cast<boost::int32_t>(78L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_78_vect(A007318_78_data.begin(), A007318_78_data.end());
+
+ return A007318_78_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_79(void)
+ {
+ static const boost::array<mp_float, 80u> A007318_79_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(79L)),
+ mp_float(static_cast<boost::int32_t>(3081L)),
+ mp_float(static_cast<boost::int32_t>(79079L)),
+ mp_float(static_cast<boost::int32_t>(1502501L)),
+ mp_float(static_cast<boost::int32_t>(22537515L)),
+ mp_float(static_cast<boost::int32_t>(277962685L)),
+ mp_float(static_cast<boost::int64_t>(2898753715LL)),
+ mp_float(static_cast<boost::int64_t>(26088783435LL)),
+ mp_float(static_cast<boost::int64_t>(205811513765LL)),
+ mp_float(static_cast<boost::int64_t>(1440680596355LL)),
+ mp_float(static_cast<boost::int64_t>(9036996468045LL)),
+ mp_float(static_cast<boost::int64_t>(51209646652255LL)),
+ mp_float(static_cast<boost::int64_t>(263926640438545LL)),
+ mp_float(static_cast<boost::int64_t>(1244225590638855LL)),
+ mp_float(static_cast<boost::int64_t>(5391644226101705LL)),
+ mp_float(static_cast<boost::int64_t>(21566576904406820LL)),
+ mp_float(static_cast<boost::int64_t>(79923196763389980LL)),
+ mp_float(static_cast<boost::int64_t>(275291011073898820LL)),
+ mp_float(static_cast<boost::int64_t>(883829035553043580LL)),
+ mp_float(static_cast<boost::int64_t>(2651487106659130740LL)),
+ mp_float(static_cast<boost::int64_t>(7449416156804224460LL)),
+ mp_float("19639369867938409940"),
+ mp_float("48671481846629972460"),
+ mp_float("113566790975469935740"),
+ mp_float("249846940146033858628"),
+ mp_float("518912875687916475612"),
+ mp_float("1018606755979984192868"),
+ mp_float("1891698261105684929612"),
+ mp_float("3326779700565170048628"),
+ mp_float("5544632834275283414380"),
+ mp_float("8764097060628673784020"),
+ mp_float("13146145590943010676030"),
+ mp_float("18723298265888530356770"),
+ mp_float("25331521183260952835630"),
+ mp_float("32569098664192653645810"),
+ mp_float("39806676145124354455990"),
+ mp_float("46261812817306682205610"),
+ mp_float("51131477324391596121990"),
+ mp_float("53753604366668088230810"),
+ mp_float("53753604366668088230810"),
+ mp_float("51131477324391596121990"),
+ mp_float("46261812817306682205610"),
+ mp_float("39806676145124354455990"),
+ mp_float("32569098664192653645810"),
+ mp_float("25331521183260952835630"),
+ mp_float("18723298265888530356770"),
+ mp_float("13146145590943010676030"),
+ mp_float("8764097060628673784020"),
+ mp_float("5544632834275283414380"),
+ mp_float("3326779700565170048628"),
+ mp_float("1891698261105684929612"),
+ mp_float("1018606755979984192868"),
+ mp_float("518912875687916475612"),
+ mp_float("249846940146033858628"),
+ mp_float("113566790975469935740"),
+ mp_float("48671481846629972460"),
+ mp_float("19639369867938409940"),
+ mp_float(static_cast<boost::int64_t>(7449416156804224460LL)),
+ mp_float(static_cast<boost::int64_t>(2651487106659130740LL)),
+ mp_float(static_cast<boost::int64_t>(883829035553043580LL)),
+ mp_float(static_cast<boost::int64_t>(275291011073898820LL)),
+ mp_float(static_cast<boost::int64_t>(79923196763389980LL)),
+ mp_float(static_cast<boost::int64_t>(21566576904406820LL)),
+ mp_float(static_cast<boost::int64_t>(5391644226101705LL)),
+ mp_float(static_cast<boost::int64_t>(1244225590638855LL)),
+ mp_float(static_cast<boost::int64_t>(263926640438545LL)),
+ mp_float(static_cast<boost::int64_t>(51209646652255LL)),
+ mp_float(static_cast<boost::int64_t>(9036996468045LL)),
+ mp_float(static_cast<boost::int64_t>(1440680596355LL)),
+ mp_float(static_cast<boost::int64_t>(205811513765LL)),
+ mp_float(static_cast<boost::int64_t>(26088783435LL)),
+ mp_float(static_cast<boost::int64_t>(2898753715LL)),
+ mp_float(static_cast<boost::int32_t>(277962685L)),
+ mp_float(static_cast<boost::int32_t>(22537515L)),
+ mp_float(static_cast<boost::int32_t>(1502501L)),
+ mp_float(static_cast<boost::int32_t>(79079L)),
+ mp_float(static_cast<boost::int32_t>(3081L)),
+ mp_float(static_cast<boost::int32_t>(79L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_79_vect(A007318_79_data.begin(), A007318_79_data.end());
+
+ return A007318_79_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_80(void)
+ {
+ static const boost::array<mp_float, 81u> A007318_80_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(80L)),
+ mp_float(static_cast<boost::int32_t>(3160L)),
+ mp_float(static_cast<boost::int32_t>(82160L)),
+ mp_float(static_cast<boost::int32_t>(1581580L)),
+ mp_float(static_cast<boost::int32_t>(24040016L)),
+ mp_float(static_cast<boost::int32_t>(300500200L)),
+ mp_float(static_cast<boost::int64_t>(3176716400LL)),
+ mp_float(static_cast<boost::int64_t>(28987537150LL)),
+ mp_float(static_cast<boost::int64_t>(231900297200LL)),
+ mp_float(static_cast<boost::int64_t>(1646492110120LL)),
+ mp_float(static_cast<boost::int64_t>(10477677064400LL)),
+ mp_float(static_cast<boost::int64_t>(60246643120300LL)),
+ mp_float(static_cast<boost::int64_t>(315136287090800LL)),
+ mp_float(static_cast<boost::int64_t>(1508152231077400LL)),
+ mp_float(static_cast<boost::int64_t>(6635869816740560LL)),
+ mp_float(static_cast<boost::int64_t>(26958221130508525LL)),
+ mp_float(static_cast<boost::int64_t>(101489773667796800LL)),
+ mp_float(static_cast<boost::int64_t>(355214207837288800LL)),
+ mp_float(static_cast<boost::int64_t>(1159120046626942400LL)),
+ mp_float(static_cast<boost::int64_t>(3535316142212174320LL)),
+ mp_float("10100903263463355200"),
+ mp_float("27088786024742634400"),
+ mp_float("68310851714568382400"),
+ mp_float("162238272822099908200"),
+ mp_float("363413731121503794368"),
+ mp_float("768759815833950334240"),
+ mp_float("1537519631667900668480"),
+ mp_float("2910305017085669122480"),
+ mp_float("5218477961670854978240"),
+ mp_float("8871412534840453463008"),
+ mp_float("14308729894903957198400"),
+ mp_float("21910242651571684460050"),
+ mp_float("31869443856831541032800"),
+ mp_float("44054819449149483192400"),
+ mp_float("57900619847453606481440"),
+ mp_float("72375774809317008101800"),
+ mp_float("86068488962431036661600"),
+ mp_float("97393290141698278327600"),
+ mp_float("104885081691059684352800"),
+ mp_float("107507208733336176461620"),
+ mp_float("104885081691059684352800"),
+ mp_float("97393290141698278327600"),
+ mp_float("86068488962431036661600"),
+ mp_float("72375774809317008101800"),
+ mp_float("57900619847453606481440"),
+ mp_float("44054819449149483192400"),
+ mp_float("31869443856831541032800"),
+ mp_float("21910242651571684460050"),
+ mp_float("14308729894903957198400"),
+ mp_float("8871412534840453463008"),
+ mp_float("5218477961670854978240"),
+ mp_float("2910305017085669122480"),
+ mp_float("1537519631667900668480"),
+ mp_float("768759815833950334240"),
+ mp_float("363413731121503794368"),
+ mp_float("162238272822099908200"),
+ mp_float("68310851714568382400"),
+ mp_float("27088786024742634400"),
+ mp_float("10100903263463355200"),
+ mp_float(static_cast<boost::int64_t>(3535316142212174320LL)),
+ mp_float(static_cast<boost::int64_t>(1159120046626942400LL)),
+ mp_float(static_cast<boost::int64_t>(355214207837288800LL)),
+ mp_float(static_cast<boost::int64_t>(101489773667796800LL)),
+ mp_float(static_cast<boost::int64_t>(26958221130508525LL)),
+ mp_float(static_cast<boost::int64_t>(6635869816740560LL)),
+ mp_float(static_cast<boost::int64_t>(1508152231077400LL)),
+ mp_float(static_cast<boost::int64_t>(315136287090800LL)),
+ mp_float(static_cast<boost::int64_t>(60246643120300LL)),
+ mp_float(static_cast<boost::int64_t>(10477677064400LL)),
+ mp_float(static_cast<boost::int64_t>(1646492110120LL)),
+ mp_float(static_cast<boost::int64_t>(231900297200LL)),
+ mp_float(static_cast<boost::int64_t>(28987537150LL)),
+ mp_float(static_cast<boost::int64_t>(3176716400LL)),
+ mp_float(static_cast<boost::int32_t>(300500200L)),
+ mp_float(static_cast<boost::int32_t>(24040016L)),
+ mp_float(static_cast<boost::int32_t>(1581580L)),
+ mp_float(static_cast<boost::int32_t>(82160L)),
+ mp_float(static_cast<boost::int32_t>(3160L)),
+ mp_float(static_cast<boost::int32_t>(80L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_80_vect(A007318_80_data.begin(), A007318_80_data.end());
+
+ return A007318_80_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_81(void)
+ {
+ static const boost::array<mp_float, 82u> A007318_81_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(81L)),
+ mp_float(static_cast<boost::int32_t>(3240L)),
+ mp_float(static_cast<boost::int32_t>(85320L)),
+ mp_float(static_cast<boost::int32_t>(1663740L)),
+ mp_float(static_cast<boost::int32_t>(25621596L)),
+ mp_float(static_cast<boost::int32_t>(324540216L)),
+ mp_float(static_cast<boost::int64_t>(3477216600LL)),
+ mp_float(static_cast<boost::int64_t>(32164253550LL)),
+ mp_float(static_cast<boost::int64_t>(260887834350LL)),
+ mp_float(static_cast<boost::int64_t>(1878392407320LL)),
+ mp_float(static_cast<boost::int64_t>(12124169174520LL)),
+ mp_float(static_cast<boost::int64_t>(70724320184700LL)),
+ mp_float(static_cast<boost::int64_t>(375382930211100LL)),
+ mp_float(static_cast<boost::int64_t>(1823288518168200LL)),
+ mp_float(static_cast<boost::int64_t>(8144022047817960LL)),
+ mp_float(static_cast<boost::int64_t>(33594090947249085LL)),
+ mp_float(static_cast<boost::int64_t>(128447994798305325LL)),
+ mp_float(static_cast<boost::int64_t>(456703981505085600LL)),
+ mp_float(static_cast<boost::int64_t>(1514334254464231200LL)),
+ mp_float(static_cast<boost::int64_t>(4694436188839116720LL)),
+ mp_float("13636219405675529520"),
+ mp_float("37189689288205989600"),
+ mp_float("95399637739311016800"),
+ mp_float("230549124536668290600"),
+ mp_float("525652003943603702568"),
+ mp_float("1132173546955454128608"),
+ mp_float("2306279447501851002720"),
+ mp_float("4447824648753569790960"),
+ mp_float("8128782978756524100720"),
+ mp_float("14089890496511308441248"),
+ mp_float("23180142429744410661408"),
+ mp_float("36218972546475641658450"),
+ mp_float("53779686508403225492850"),
+ mp_float("75924263305981024225200"),
+ mp_float("101955439296603089673840"),
+ mp_float("130276394656770614583240"),
+ mp_float("158444263771748044763400"),
+ mp_float("183461779104129314989200"),
+ mp_float("202278371832757962680400"),
+ mp_float("212392290424395860814420"),
+ mp_float("212392290424395860814420"),
+ mp_float("202278371832757962680400"),
+ mp_float("183461779104129314989200"),
+ mp_float("158444263771748044763400"),
+ mp_float("130276394656770614583240"),
+ mp_float("101955439296603089673840"),
+ mp_float("75924263305981024225200"),
+ mp_float("53779686508403225492850"),
+ mp_float("36218972546475641658450"),
+ mp_float("23180142429744410661408"),
+ mp_float("14089890496511308441248"),
+ mp_float("8128782978756524100720"),
+ mp_float("4447824648753569790960"),
+ mp_float("2306279447501851002720"),
+ mp_float("1132173546955454128608"),
+ mp_float("525652003943603702568"),
+ mp_float("230549124536668290600"),
+ mp_float("95399637739311016800"),
+ mp_float("37189689288205989600"),
+ mp_float("13636219405675529520"),
+ mp_float(static_cast<boost::int64_t>(4694436188839116720LL)),
+ mp_float(static_cast<boost::int64_t>(1514334254464231200LL)),
+ mp_float(static_cast<boost::int64_t>(456703981505085600LL)),
+ mp_float(static_cast<boost::int64_t>(128447994798305325LL)),
+ mp_float(static_cast<boost::int64_t>(33594090947249085LL)),
+ mp_float(static_cast<boost::int64_t>(8144022047817960LL)),
+ mp_float(static_cast<boost::int64_t>(1823288518168200LL)),
+ mp_float(static_cast<boost::int64_t>(375382930211100LL)),
+ mp_float(static_cast<boost::int64_t>(70724320184700LL)),
+ mp_float(static_cast<boost::int64_t>(12124169174520LL)),
+ mp_float(static_cast<boost::int64_t>(1878392407320LL)),
+ mp_float(static_cast<boost::int64_t>(260887834350LL)),
+ mp_float(static_cast<boost::int64_t>(32164253550LL)),
+ mp_float(static_cast<boost::int64_t>(3477216600LL)),
+ mp_float(static_cast<boost::int32_t>(324540216L)),
+ mp_float(static_cast<boost::int32_t>(25621596L)),
+ mp_float(static_cast<boost::int32_t>(1663740L)),
+ mp_float(static_cast<boost::int32_t>(85320L)),
+ mp_float(static_cast<boost::int32_t>(3240L)),
+ mp_float(static_cast<boost::int32_t>(81L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_81_vect(A007318_81_data.begin(), A007318_81_data.end());
+
+ return A007318_81_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_82(void)
+ {
+ static const boost::array<mp_float, 83u> A007318_82_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(82L)),
+ mp_float(static_cast<boost::int32_t>(3321L)),
+ mp_float(static_cast<boost::int32_t>(88560L)),
+ mp_float(static_cast<boost::int32_t>(1749060L)),
+ mp_float(static_cast<boost::int32_t>(27285336L)),
+ mp_float(static_cast<boost::int32_t>(350161812L)),
+ mp_float(static_cast<boost::int64_t>(3801756816LL)),
+ mp_float(static_cast<boost::int64_t>(35641470150LL)),
+ mp_float(static_cast<boost::int64_t>(293052087900LL)),
+ mp_float(static_cast<boost::int64_t>(2139280241670LL)),
+ mp_float(static_cast<boost::int64_t>(14002561581840LL)),
+ mp_float(static_cast<boost::int64_t>(82848489359220LL)),
+ mp_float(static_cast<boost::int64_t>(446107250395800LL)),
+ mp_float(static_cast<boost::int64_t>(2198671448379300LL)),
+ mp_float(static_cast<boost::int64_t>(9967310565986160LL)),
+ mp_float(static_cast<boost::int64_t>(41738112995067045LL)),
+ mp_float(static_cast<boost::int64_t>(162042085745554410LL)),
+ mp_float(static_cast<boost::int64_t>(585151976303390925LL)),
+ mp_float(static_cast<boost::int64_t>(1971038235969316800LL)),
+ mp_float(static_cast<boost::int64_t>(6208770443303347920LL)),
+ mp_float("18330655594514646240"),
+ mp_float("50825908693881519120"),
+ mp_float("132589327027517006400"),
+ mp_float("325948762275979307400"),
+ mp_float("756201128480271993168"),
+ mp_float("1657825550899057831176"),
+ mp_float("3438452994457305131328"),
+ mp_float("6754104096255420793680"),
+ mp_float("12576607627510093891680"),
+ mp_float("22218673475267832541968"),
+ mp_float("37270032926255719102656"),
+ mp_float("59399114976220052319858"),
+ mp_float("89998659054878867151300"),
+ mp_float("129703949814384249718050"),
+ mp_float("177879702602584113899040"),
+ mp_float("232231833953373704257080"),
+ mp_float("288720658428518659346640"),
+ mp_float("341906042875877359752600"),
+ mp_float("385740150936887277669600"),
+ mp_float("414670662257153823494820"),
+ mp_float("424784580848791721628840"),
+ mp_float("414670662257153823494820"),
+ mp_float("385740150936887277669600"),
+ mp_float("341906042875877359752600"),
+ mp_float("288720658428518659346640"),
+ mp_float("232231833953373704257080"),
+ mp_float("177879702602584113899040"),
+ mp_float("129703949814384249718050"),
+ mp_float("89998659054878867151300"),
+ mp_float("59399114976220052319858"),
+ mp_float("37270032926255719102656"),
+ mp_float("22218673475267832541968"),
+ mp_float("12576607627510093891680"),
+ mp_float("6754104096255420793680"),
+ mp_float("3438452994457305131328"),
+ mp_float("1657825550899057831176"),
+ mp_float("756201128480271993168"),
+ mp_float("325948762275979307400"),
+ mp_float("132589327027517006400"),
+ mp_float("50825908693881519120"),
+ mp_float("18330655594514646240"),
+ mp_float(static_cast<boost::int64_t>(6208770443303347920LL)),
+ mp_float(static_cast<boost::int64_t>(1971038235969316800LL)),
+ mp_float(static_cast<boost::int64_t>(585151976303390925LL)),
+ mp_float(static_cast<boost::int64_t>(162042085745554410LL)),
+ mp_float(static_cast<boost::int64_t>(41738112995067045LL)),
+ mp_float(static_cast<boost::int64_t>(9967310565986160LL)),
+ mp_float(static_cast<boost::int64_t>(2198671448379300LL)),
+ mp_float(static_cast<boost::int64_t>(446107250395800LL)),
+ mp_float(static_cast<boost::int64_t>(82848489359220LL)),
+ mp_float(static_cast<boost::int64_t>(14002561581840LL)),
+ mp_float(static_cast<boost::int64_t>(2139280241670LL)),
+ mp_float(static_cast<boost::int64_t>(293052087900LL)),
+ mp_float(static_cast<boost::int64_t>(35641470150LL)),
+ mp_float(static_cast<boost::int64_t>(3801756816LL)),
+ mp_float(static_cast<boost::int32_t>(350161812L)),
+ mp_float(static_cast<boost::int32_t>(27285336L)),
+ mp_float(static_cast<boost::int32_t>(1749060L)),
+ mp_float(static_cast<boost::int32_t>(88560L)),
+ mp_float(static_cast<boost::int32_t>(3321L)),
+ mp_float(static_cast<boost::int32_t>(82L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_82_vect(A007318_82_data.begin(), A007318_82_data.end());
+
+ return A007318_82_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_83(void)
+ {
+ static const boost::array<mp_float, 84u> A007318_83_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(83L)),
+ mp_float(static_cast<boost::int32_t>(3403L)),
+ mp_float(static_cast<boost::int32_t>(91881L)),
+ mp_float(static_cast<boost::int32_t>(1837620L)),
+ mp_float(static_cast<boost::int32_t>(29034396L)),
+ mp_float(static_cast<boost::int32_t>(377447148L)),
+ mp_float(static_cast<boost::int64_t>(4151918628LL)),
+ mp_float(static_cast<boost::int64_t>(39443226966LL)),
+ mp_float(static_cast<boost::int64_t>(328693558050LL)),
+ mp_float(static_cast<boost::int64_t>(2432332329570LL)),
+ mp_float(static_cast<boost::int64_t>(16141841823510LL)),
+ mp_float(static_cast<boost::int64_t>(96851050941060LL)),
+ mp_float(static_cast<boost::int64_t>(528955739755020LL)),
+ mp_float(static_cast<boost::int64_t>(2644778698775100LL)),
+ mp_float(static_cast<boost::int64_t>(12165982014365460LL)),
+ mp_float(static_cast<boost::int64_t>(51705423561053205LL)),
+ mp_float(static_cast<boost::int64_t>(203780198740621455LL)),
+ mp_float(static_cast<boost::int64_t>(747194062048945335LL)),
+ mp_float(static_cast<boost::int64_t>(2556190212272707725LL)),
+ mp_float(static_cast<boost::int64_t>(8179808679272664720LL)),
+ mp_float("24539426037817994160"),
+ mp_float("69156564288396165360"),
+ mp_float("183415235721398525520"),
+ mp_float("458538089303496313800"),
+ mp_float("1082149890756251300568"),
+ mp_float("2414026679379329824344"),
+ mp_float("5096278545356362962504"),
+ mp_float("10192557090712725925008"),
+ mp_float("19330711723765514685360"),
+ mp_float("34795281102777926433648"),
+ mp_float("59488706401523551644624"),
+ mp_float("96669147902475771422514"),
+ mp_float("149397774031098919471158"),
+ mp_float("219702608869263116869350"),
+ mp_float("307583652416968363617090"),
+ mp_float("410111536555957818156120"),
+ mp_float("520952492381892363603720"),
+ mp_float("630626701304396019099240"),
+ mp_float("727646193812764637422200"),
+ mp_float("800410813194041101164420"),
+ mp_float("839455243105945545123660"),
+ mp_float("839455243105945545123660"),
+ mp_float("800410813194041101164420"),
+ mp_float("727646193812764637422200"),
+ mp_float("630626701304396019099240"),
+ mp_float("520952492381892363603720"),
+ mp_float("410111536555957818156120"),
+ mp_float("307583652416968363617090"),
+ mp_float("219702608869263116869350"),
+ mp_float("149397774031098919471158"),
+ mp_float("96669147902475771422514"),
+ mp_float("59488706401523551644624"),
+ mp_float("34795281102777926433648"),
+ mp_float("19330711723765514685360"),
+ mp_float("10192557090712725925008"),
+ mp_float("5096278545356362962504"),
+ mp_float("2414026679379329824344"),
+ mp_float("1082149890756251300568"),
+ mp_float("458538089303496313800"),
+ mp_float("183415235721398525520"),
+ mp_float("69156564288396165360"),
+ mp_float("24539426037817994160"),
+ mp_float(static_cast<boost::int64_t>(8179808679272664720LL)),
+ mp_float(static_cast<boost::int64_t>(2556190212272707725LL)),
+ mp_float(static_cast<boost::int64_t>(747194062048945335LL)),
+ mp_float(static_cast<boost::int64_t>(203780198740621455LL)),
+ mp_float(static_cast<boost::int64_t>(51705423561053205LL)),
+ mp_float(static_cast<boost::int64_t>(12165982014365460LL)),
+ mp_float(static_cast<boost::int64_t>(2644778698775100LL)),
+ mp_float(static_cast<boost::int64_t>(528955739755020LL)),
+ mp_float(static_cast<boost::int64_t>(96851050941060LL)),
+ mp_float(static_cast<boost::int64_t>(16141841823510LL)),
+ mp_float(static_cast<boost::int64_t>(2432332329570LL)),
+ mp_float(static_cast<boost::int64_t>(328693558050LL)),
+ mp_float(static_cast<boost::int64_t>(39443226966LL)),
+ mp_float(static_cast<boost::int64_t>(4151918628LL)),
+ mp_float(static_cast<boost::int32_t>(377447148L)),
+ mp_float(static_cast<boost::int32_t>(29034396L)),
+ mp_float(static_cast<boost::int32_t>(1837620L)),
+ mp_float(static_cast<boost::int32_t>(91881L)),
+ mp_float(static_cast<boost::int32_t>(3403L)),
+ mp_float(static_cast<boost::int32_t>(83L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_83_vect(A007318_83_data.begin(), A007318_83_data.end());
+
+ return A007318_83_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_84(void)
+ {
+ static const boost::array<mp_float, 85u> A007318_84_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(84L)),
+ mp_float(static_cast<boost::int32_t>(3486L)),
+ mp_float(static_cast<boost::int32_t>(95284L)),
+ mp_float(static_cast<boost::int32_t>(1929501L)),
+ mp_float(static_cast<boost::int32_t>(30872016L)),
+ mp_float(static_cast<boost::int32_t>(406481544L)),
+ mp_float(static_cast<boost::int64_t>(4529365776LL)),
+ mp_float(static_cast<boost::int64_t>(43595145594LL)),
+ mp_float(static_cast<boost::int64_t>(368136785016LL)),
+ mp_float(static_cast<boost::int64_t>(2761025887620LL)),
+ mp_float(static_cast<boost::int64_t>(18574174153080LL)),
+ mp_float(static_cast<boost::int64_t>(112992892764570LL)),
+ mp_float(static_cast<boost::int64_t>(625806790696080LL)),
+ mp_float(static_cast<boost::int64_t>(3173734438530120LL)),
+ mp_float(static_cast<boost::int64_t>(14810760713140560LL)),
+ mp_float(static_cast<boost::int64_t>(63871405575418665LL)),
+ mp_float(static_cast<boost::int64_t>(255485622301674660LL)),
+ mp_float(static_cast<boost::int64_t>(950974260789566790LL)),
+ mp_float(static_cast<boost::int64_t>(3303384274321653060LL)),
+ mp_float("10735998891545372445"),
+ mp_float("32719234717090658880"),
+ mp_float("93695990326214159520"),
+ mp_float("252571800009794690880"),
+ mp_float("641953325024894839320"),
+ mp_float("1540687980059747614368"),
+ mp_float("3496176570135581124912"),
+ mp_float("7510305224735692786848"),
+ mp_float("15288835636069088887512"),
+ mp_float("29523268814478240610368"),
+ mp_float("54125992826543441119008"),
+ mp_float("94283987504301478078272"),
+ mp_float("156157854303999323067138"),
+ mp_float("246066921933574690893672"),
+ mp_float("369100382900362036340508"),
+ mp_float("527286261286231480486440"),
+ mp_float("717695188972926181773210"),
+ mp_float("931064028937850181759840"),
+ mp_float("1151579193686288382702960"),
+ mp_float("1358272895117160656521440"),
+ mp_float("1528057007006805738586620"),
+ mp_float("1639866056299986646288080"),
+ mp_float("1678910486211891090247320"),
+ mp_float("1639866056299986646288080"),
+ mp_float("1528057007006805738586620"),
+ mp_float("1358272895117160656521440"),
+ mp_float("1151579193686288382702960"),
+ mp_float("931064028937850181759840"),
+ mp_float("717695188972926181773210"),
+ mp_float("527286261286231480486440"),
+ mp_float("369100382900362036340508"),
+ mp_float("246066921933574690893672"),
+ mp_float("156157854303999323067138"),
+ mp_float("94283987504301478078272"),
+ mp_float("54125992826543441119008"),
+ mp_float("29523268814478240610368"),
+ mp_float("15288835636069088887512"),
+ mp_float("7510305224735692786848"),
+ mp_float("3496176570135581124912"),
+ mp_float("1540687980059747614368"),
+ mp_float("641953325024894839320"),
+ mp_float("252571800009794690880"),
+ mp_float("93695990326214159520"),
+ mp_float("32719234717090658880"),
+ mp_float("10735998891545372445"),
+ mp_float(static_cast<boost::int64_t>(3303384274321653060LL)),
+ mp_float(static_cast<boost::int64_t>(950974260789566790LL)),
+ mp_float(static_cast<boost::int64_t>(255485622301674660LL)),
+ mp_float(static_cast<boost::int64_t>(63871405575418665LL)),
+ mp_float(static_cast<boost::int64_t>(14810760713140560LL)),
+ mp_float(static_cast<boost::int64_t>(3173734438530120LL)),
+ mp_float(static_cast<boost::int64_t>(625806790696080LL)),
+ mp_float(static_cast<boost::int64_t>(112992892764570LL)),
+ mp_float(static_cast<boost::int64_t>(18574174153080LL)),
+ mp_float(static_cast<boost::int64_t>(2761025887620LL)),
+ mp_float(static_cast<boost::int64_t>(368136785016LL)),
+ mp_float(static_cast<boost::int64_t>(43595145594LL)),
+ mp_float(static_cast<boost::int64_t>(4529365776LL)),
+ mp_float(static_cast<boost::int32_t>(406481544L)),
+ mp_float(static_cast<boost::int32_t>(30872016L)),
+ mp_float(static_cast<boost::int32_t>(1929501L)),
+ mp_float(static_cast<boost::int32_t>(95284L)),
+ mp_float(static_cast<boost::int32_t>(3486L)),
+ mp_float(static_cast<boost::int32_t>(84L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_84_vect(A007318_84_data.begin(), A007318_84_data.end());
+
+ return A007318_84_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_85(void)
+ {
+ static const boost::array<mp_float, 86u> A007318_85_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(85L)),
+ mp_float(static_cast<boost::int32_t>(3570L)),
+ mp_float(static_cast<boost::int32_t>(98770L)),
+ mp_float(static_cast<boost::int32_t>(2024785L)),
+ mp_float(static_cast<boost::int32_t>(32801517L)),
+ mp_float(static_cast<boost::int32_t>(437353560L)),
+ mp_float(static_cast<boost::int64_t>(4935847320LL)),
+ mp_float(static_cast<boost::int64_t>(48124511370LL)),
+ mp_float(static_cast<boost::int64_t>(411731930610LL)),
+ mp_float(static_cast<boost::int64_t>(3129162672636LL)),
+ mp_float(static_cast<boost::int64_t>(21335200040700LL)),
+ mp_float(static_cast<boost::int64_t>(131567066917650LL)),
+ mp_float(static_cast<boost::int64_t>(738799683460650LL)),
+ mp_float(static_cast<boost::int64_t>(3799541229226200LL)),
+ mp_float(static_cast<boost::int64_t>(17984495151670680LL)),
+ mp_float(static_cast<boost::int64_t>(78682166288559225LL)),
+ mp_float(static_cast<boost::int64_t>(319357027877093325LL)),
+ mp_float(static_cast<boost::int64_t>(1206459883091241450LL)),
+ mp_float(static_cast<boost::int64_t>(4254358535111219850LL)),
+ mp_float("14039383165867025505"),
+ mp_float("43455233608636031325"),
+ mp_float("126415225043304818400"),
+ mp_float("346267790336008850400"),
+ mp_float("894525125034689530200"),
+ mp_float("2182641305084642453688"),
+ mp_float("5036864550195328739280"),
+ mp_float("11006481794871273911760"),
+ mp_float("22799140860804781674360"),
+ mp_float("44812104450547329497880"),
+ mp_float("83649261641021681729376"),
+ mp_float("148409980330844919197280"),
+ mp_float("250441841808300801145410"),
+ mp_float("402224776237574013960810"),
+ mp_float("615167304833936727234180"),
+ mp_float("896386644186593516826948"),
+ mp_float("1244981450259157662259650"),
+ mp_float("1648759217910776363533050"),
+ mp_float("2082643222624138564462800"),
+ mp_float("2509852088803449039224400"),
+ mp_float("2886329902123966395108060"),
+ mp_float("3167923063306792384874700"),
+ mp_float("3318776542511877736535400"),
+ mp_float("3318776542511877736535400"),
+ mp_float("3167923063306792384874700"),
+ mp_float("2886329902123966395108060"),
+ mp_float("2509852088803449039224400"),
+ mp_float("2082643222624138564462800"),
+ mp_float("1648759217910776363533050"),
+ mp_float("1244981450259157662259650"),
+ mp_float("896386644186593516826948"),
+ mp_float("615167304833936727234180"),
+ mp_float("402224776237574013960810"),
+ mp_float("250441841808300801145410"),
+ mp_float("148409980330844919197280"),
+ mp_float("83649261641021681729376"),
+ mp_float("44812104450547329497880"),
+ mp_float("22799140860804781674360"),
+ mp_float("11006481794871273911760"),
+ mp_float("5036864550195328739280"),
+ mp_float("2182641305084642453688"),
+ mp_float("894525125034689530200"),
+ mp_float("346267790336008850400"),
+ mp_float("126415225043304818400"),
+ mp_float("43455233608636031325"),
+ mp_float("14039383165867025505"),
+ mp_float(static_cast<boost::int64_t>(4254358535111219850LL)),
+ mp_float(static_cast<boost::int64_t>(1206459883091241450LL)),
+ mp_float(static_cast<boost::int64_t>(319357027877093325LL)),
+ mp_float(static_cast<boost::int64_t>(78682166288559225LL)),
+ mp_float(static_cast<boost::int64_t>(17984495151670680LL)),
+ mp_float(static_cast<boost::int64_t>(3799541229226200LL)),
+ mp_float(static_cast<boost::int64_t>(738799683460650LL)),
+ mp_float(static_cast<boost::int64_t>(131567066917650LL)),
+ mp_float(static_cast<boost::int64_t>(21335200040700LL)),
+ mp_float(static_cast<boost::int64_t>(3129162672636LL)),
+ mp_float(static_cast<boost::int64_t>(411731930610LL)),
+ mp_float(static_cast<boost::int64_t>(48124511370LL)),
+ mp_float(static_cast<boost::int64_t>(4935847320LL)),
+ mp_float(static_cast<boost::int32_t>(437353560L)),
+ mp_float(static_cast<boost::int32_t>(32801517L)),
+ mp_float(static_cast<boost::int32_t>(2024785L)),
+ mp_float(static_cast<boost::int32_t>(98770L)),
+ mp_float(static_cast<boost::int32_t>(3570L)),
+ mp_float(static_cast<boost::int32_t>(85L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_85_vect(A007318_85_data.begin(), A007318_85_data.end());
+
+ return A007318_85_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_86(void)
+ {
+ static const boost::array<mp_float, 87u> A007318_86_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(86L)),
+ mp_float(static_cast<boost::int32_t>(3655L)),
+ mp_float(static_cast<boost::int32_t>(102340L)),
+ mp_float(static_cast<boost::int32_t>(2123555L)),
+ mp_float(static_cast<boost::int32_t>(34826302L)),
+ mp_float(static_cast<boost::int32_t>(470155077L)),
+ mp_float(static_cast<boost::int64_t>(5373200880LL)),
+ mp_float(static_cast<boost::int64_t>(53060358690LL)),
+ mp_float(static_cast<boost::int64_t>(459856441980LL)),
+ mp_float(static_cast<boost::int64_t>(3540894603246LL)),
+ mp_float(static_cast<boost::int64_t>(24464362713336LL)),
+ mp_float(static_cast<boost::int64_t>(152902266958350LL)),
+ mp_float(static_cast<boost::int64_t>(870366750378300LL)),
+ mp_float(static_cast<boost::int64_t>(4538340912686850LL)),
+ mp_float(static_cast<boost::int64_t>(21784036380896880LL)),
+ mp_float(static_cast<boost::int64_t>(96666661440229905LL)),
+ mp_float(static_cast<boost::int64_t>(398039194165652550LL)),
+ mp_float(static_cast<boost::int64_t>(1525816910968334775LL)),
+ mp_float(static_cast<boost::int64_t>(5460818418202461300LL)),
+ mp_float("18293741700978245355"),
+ mp_float("57494616774503056830"),
+ mp_float("169870458651940849725"),
+ mp_float("472683015379313668800"),
+ mp_float("1240792915370698380600"),
+ mp_float("3077166430119331983888"),
+ mp_float("7219505855279971192968"),
+ mp_float("16043346345066602651040"),
+ mp_float("33805622655676055586120"),
+ mp_float("67611245311352111172240"),
+ mp_float("128461366091569011227256"),
+ mp_float("232059241971866600926656"),
+ mp_float("398851822139145720342690"),
+ mp_float("652666618045874815106220"),
+ mp_float("1017392081071510741194990"),
+ mp_float("1511553949020530244061128"),
+ mp_float("2141368094445751179086598"),
+ mp_float("2893740668169934025792700"),
+ mp_float("3731402440534914927995850"),
+ mp_float("4592495311427587603687200"),
+ mp_float("5396181990927415434332460"),
+ mp_float("6054252965430758779982760"),
+ mp_float("6486699605818670121410100"),
+ mp_float("6637553085023755473070800"),
+ mp_float("6486699605818670121410100"),
+ mp_float("6054252965430758779982760"),
+ mp_float("5396181990927415434332460"),
+ mp_float("4592495311427587603687200"),
+ mp_float("3731402440534914927995850"),
+ mp_float("2893740668169934025792700"),
+ mp_float("2141368094445751179086598"),
+ mp_float("1511553949020530244061128"),
+ mp_float("1017392081071510741194990"),
+ mp_float("652666618045874815106220"),
+ mp_float("398851822139145720342690"),
+ mp_float("232059241971866600926656"),
+ mp_float("128461366091569011227256"),
+ mp_float("67611245311352111172240"),
+ mp_float("33805622655676055586120"),
+ mp_float("16043346345066602651040"),
+ mp_float("7219505855279971192968"),
+ mp_float("3077166430119331983888"),
+ mp_float("1240792915370698380600"),
+ mp_float("472683015379313668800"),
+ mp_float("169870458651940849725"),
+ mp_float("57494616774503056830"),
+ mp_float("18293741700978245355"),
+ mp_float(static_cast<boost::int64_t>(5460818418202461300LL)),
+ mp_float(static_cast<boost::int64_t>(1525816910968334775LL)),
+ mp_float(static_cast<boost::int64_t>(398039194165652550LL)),
+ mp_float(static_cast<boost::int64_t>(96666661440229905LL)),
+ mp_float(static_cast<boost::int64_t>(21784036380896880LL)),
+ mp_float(static_cast<boost::int64_t>(4538340912686850LL)),
+ mp_float(static_cast<boost::int64_t>(870366750378300LL)),
+ mp_float(static_cast<boost::int64_t>(152902266958350LL)),
+ mp_float(static_cast<boost::int64_t>(24464362713336LL)),
+ mp_float(static_cast<boost::int64_t>(3540894603246LL)),
+ mp_float(static_cast<boost::int64_t>(459856441980LL)),
+ mp_float(static_cast<boost::int64_t>(53060358690LL)),
+ mp_float(static_cast<boost::int64_t>(5373200880LL)),
+ mp_float(static_cast<boost::int32_t>(470155077L)),
+ mp_float(static_cast<boost::int32_t>(34826302L)),
+ mp_float(static_cast<boost::int32_t>(2123555L)),
+ mp_float(static_cast<boost::int32_t>(102340L)),
+ mp_float(static_cast<boost::int32_t>(3655L)),
+ mp_float(static_cast<boost::int32_t>(86L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_86_vect(A007318_86_data.begin(), A007318_86_data.end());
+
+ return A007318_86_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_87(void)
+ {
+ static const boost::array<mp_float, 88u> A007318_87_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(87L)),
+ mp_float(static_cast<boost::int32_t>(3741L)),
+ mp_float(static_cast<boost::int32_t>(105995L)),
+ mp_float(static_cast<boost::int32_t>(2225895L)),
+ mp_float(static_cast<boost::int32_t>(36949857L)),
+ mp_float(static_cast<boost::int32_t>(504981379L)),
+ mp_float(static_cast<boost::int64_t>(5843355957LL)),
+ mp_float(static_cast<boost::int64_t>(58433559570LL)),
+ mp_float(static_cast<boost::int64_t>(512916800670LL)),
+ mp_float(static_cast<boost::int64_t>(4000751045226LL)),
+ mp_float(static_cast<boost::int64_t>(28005257316582LL)),
+ mp_float(static_cast<boost::int64_t>(177366629671686LL)),
+ mp_float(static_cast<boost::int64_t>(1023269017336650LL)),
+ mp_float(static_cast<boost::int64_t>(5408707663065150LL)),
+ mp_float(static_cast<boost::int64_t>(26322377293583730LL)),
+ mp_float(static_cast<boost::int64_t>(118450697821126785LL)),
+ mp_float(static_cast<boost::int64_t>(494705855605882455LL)),
+ mp_float(static_cast<boost::int64_t>(1923856105133987325LL)),
+ mp_float(static_cast<boost::int64_t>(6986635329170796075LL)),
+ mp_float("23754560119180706655"),
+ mp_float("75788358475481302185"),
+ mp_float("227365075426443906555"),
+ mp_float("642553474031254518525"),
+ mp_float("1713475930750012049400"),
+ mp_float("4317959345490030364488"),
+ mp_float("10296672285399303176856"),
+ mp_float("23262852200346573844008"),
+ mp_float("49848969000742658237160"),
+ mp_float("101416867967028166758360"),
+ mp_float("196072611402921122399496"),
+ mp_float("360520608063435612153912"),
+ mp_float("630911064111012321269346"),
+ mp_float("1051518440185020535448910"),
+ mp_float("1670058699117385556301210"),
+ mp_float("2528946030092040985256118"),
+ mp_float("3652922043466281423147726"),
+ mp_float("5035108762615685204879298"),
+ mp_float("6625143108704848953788550"),
+ mp_float("8323897751962502531683050"),
+ mp_float("9988677302355003038019660"),
+ mp_float("11450434956358174214315220"),
+ mp_float("12540952571249428901392860"),
+ mp_float("13124252690842425594480900"),
+ mp_float("13124252690842425594480900"),
+ mp_float("12540952571249428901392860"),
+ mp_float("11450434956358174214315220"),
+ mp_float("9988677302355003038019660"),
+ mp_float("8323897751962502531683050"),
+ mp_float("6625143108704848953788550"),
+ mp_float("5035108762615685204879298"),
+ mp_float("3652922043466281423147726"),
+ mp_float("2528946030092040985256118"),
+ mp_float("1670058699117385556301210"),
+ mp_float("1051518440185020535448910"),
+ mp_float("630911064111012321269346"),
+ mp_float("360520608063435612153912"),
+ mp_float("196072611402921122399496"),
+ mp_float("101416867967028166758360"),
+ mp_float("49848969000742658237160"),
+ mp_float("23262852200346573844008"),
+ mp_float("10296672285399303176856"),
+ mp_float("4317959345490030364488"),
+ mp_float("1713475930750012049400"),
+ mp_float("642553474031254518525"),
+ mp_float("227365075426443906555"),
+ mp_float("75788358475481302185"),
+ mp_float("23754560119180706655"),
+ mp_float(static_cast<boost::int64_t>(6986635329170796075LL)),
+ mp_float(static_cast<boost::int64_t>(1923856105133987325LL)),
+ mp_float(static_cast<boost::int64_t>(494705855605882455LL)),
+ mp_float(static_cast<boost::int64_t>(118450697821126785LL)),
+ mp_float(static_cast<boost::int64_t>(26322377293583730LL)),
+ mp_float(static_cast<boost::int64_t>(5408707663065150LL)),
+ mp_float(static_cast<boost::int64_t>(1023269017336650LL)),
+ mp_float(static_cast<boost::int64_t>(177366629671686LL)),
+ mp_float(static_cast<boost::int64_t>(28005257316582LL)),
+ mp_float(static_cast<boost::int64_t>(4000751045226LL)),
+ mp_float(static_cast<boost::int64_t>(512916800670LL)),
+ mp_float(static_cast<boost::int64_t>(58433559570LL)),
+ mp_float(static_cast<boost::int64_t>(5843355957LL)),
+ mp_float(static_cast<boost::int32_t>(504981379L)),
+ mp_float(static_cast<boost::int32_t>(36949857L)),
+ mp_float(static_cast<boost::int32_t>(2225895L)),
+ mp_float(static_cast<boost::int32_t>(105995L)),
+ mp_float(static_cast<boost::int32_t>(3741L)),
+ mp_float(static_cast<boost::int32_t>(87L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_87_vect(A007318_87_data.begin(), A007318_87_data.end());
+
+ return A007318_87_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_88(void)
+ {
+ static const boost::array<mp_float, 89u> A007318_88_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(88L)),
+ mp_float(static_cast<boost::int32_t>(3828L)),
+ mp_float(static_cast<boost::int32_t>(109736L)),
+ mp_float(static_cast<boost::int32_t>(2331890L)),
+ mp_float(static_cast<boost::int32_t>(39175752L)),
+ mp_float(static_cast<boost::int32_t>(541931236L)),
+ mp_float(static_cast<boost::int64_t>(6348337336LL)),
+ mp_float(static_cast<boost::int64_t>(64276915527LL)),
+ mp_float(static_cast<boost::int64_t>(571350360240LL)),
+ mp_float(static_cast<boost::int64_t>(4513667845896LL)),
+ mp_float(static_cast<boost::int64_t>(32006008361808LL)),
+ mp_float(static_cast<boost::int64_t>(205371886988268LL)),
+ mp_float(static_cast<boost::int64_t>(1200635647008336LL)),
+ mp_float(static_cast<boost::int64_t>(6431976680401800LL)),
+ mp_float(static_cast<boost::int64_t>(31731084956648880LL)),
+ mp_float(static_cast<boost::int64_t>(144773075114710515LL)),
+ mp_float(static_cast<boost::int64_t>(613156553427009240LL)),
+ mp_float(static_cast<boost::int64_t>(2418561960739869780LL)),
+ mp_float(static_cast<boost::int64_t>(8910491434304783400LL)),
+ mp_float("30741195448351502730"),
+ mp_float("99542918594662008840"),
+ mp_float("303153433901925208740"),
+ mp_float("869918549457698425080"),
+ mp_float("2356029404781266567925"),
+ mp_float("6031435276240042413888"),
+ mp_float("14614631630889333541344"),
+ mp_float("33559524485745877020864"),
+ mp_float("73111821201089232081168"),
+ mp_float("151265836967770824995520"),
+ mp_float("297489479369949289157856"),
+ mp_float("556593219466356734553408"),
+ mp_float("991431672174447933423258"),
+ mp_float("1682429504296032856718256"),
+ mp_float("2721577139302406091750120"),
+ mp_float("4199004729209426541557328"),
+ mp_float("6181868073558322408403844"),
+ mp_float("8688030806081966628027024"),
+ mp_float("11660251871320534158667848"),
+ mp_float("14949040860667351485471600"),
+ mp_float("18312575054317505569702710"),
+ mp_float("21439112258713177252334880"),
+ mp_float("23991387527607603115708080"),
+ mp_float("25665205262091854495873760"),
+ mp_float("26248505381684851188961800"),
+ mp_float("25665205262091854495873760"),
+ mp_float("23991387527607603115708080"),
+ mp_float("21439112258713177252334880"),
+ mp_float("18312575054317505569702710"),
+ mp_float("14949040860667351485471600"),
+ mp_float("11660251871320534158667848"),
+ mp_float("8688030806081966628027024"),
+ mp_float("6181868073558322408403844"),
+ mp_float("4199004729209426541557328"),
+ mp_float("2721577139302406091750120"),
+ mp_float("1682429504296032856718256"),
+ mp_float("991431672174447933423258"),
+ mp_float("556593219466356734553408"),
+ mp_float("297489479369949289157856"),
+ mp_float("151265836967770824995520"),
+ mp_float("73111821201089232081168"),
+ mp_float("33559524485745877020864"),
+ mp_float("14614631630889333541344"),
+ mp_float("6031435276240042413888"),
+ mp_float("2356029404781266567925"),
+ mp_float("869918549457698425080"),
+ mp_float("303153433901925208740"),
+ mp_float("99542918594662008840"),
+ mp_float("30741195448351502730"),
+ mp_float(static_cast<boost::int64_t>(8910491434304783400LL)),
+ mp_float(static_cast<boost::int64_t>(2418561960739869780LL)),
+ mp_float(static_cast<boost::int64_t>(613156553427009240LL)),
+ mp_float(static_cast<boost::int64_t>(144773075114710515LL)),
+ mp_float(static_cast<boost::int64_t>(31731084956648880LL)),
+ mp_float(static_cast<boost::int64_t>(6431976680401800LL)),
+ mp_float(static_cast<boost::int64_t>(1200635647008336LL)),
+ mp_float(static_cast<boost::int64_t>(205371886988268LL)),
+ mp_float(static_cast<boost::int64_t>(32006008361808LL)),
+ mp_float(static_cast<boost::int64_t>(4513667845896LL)),
+ mp_float(static_cast<boost::int64_t>(571350360240LL)),
+ mp_float(static_cast<boost::int64_t>(64276915527LL)),
+ mp_float(static_cast<boost::int64_t>(6348337336LL)),
+ mp_float(static_cast<boost::int32_t>(541931236L)),
+ mp_float(static_cast<boost::int32_t>(39175752L)),
+ mp_float(static_cast<boost::int32_t>(2331890L)),
+ mp_float(static_cast<boost::int32_t>(109736L)),
+ mp_float(static_cast<boost::int32_t>(3828L)),
+ mp_float(static_cast<boost::int32_t>(88L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_88_vect(A007318_88_data.begin(), A007318_88_data.end());
+
+ return A007318_88_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_89(void)
+ {
+ static const boost::array<mp_float, 90u> A007318_89_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(89L)),
+ mp_float(static_cast<boost::int32_t>(3916L)),
+ mp_float(static_cast<boost::int32_t>(113564L)),
+ mp_float(static_cast<boost::int32_t>(2441626L)),
+ mp_float(static_cast<boost::int32_t>(41507642L)),
+ mp_float(static_cast<boost::int32_t>(581106988L)),
+ mp_float(static_cast<boost::int64_t>(6890268572LL)),
+ mp_float(static_cast<boost::int64_t>(70625252863LL)),
+ mp_float(static_cast<boost::int64_t>(635627275767LL)),
+ mp_float(static_cast<boost::int64_t>(5085018206136LL)),
+ mp_float(static_cast<boost::int64_t>(36519676207704LL)),
+ mp_float(static_cast<boost::int64_t>(237377895350076LL)),
+ mp_float(static_cast<boost::int64_t>(1406007533996604LL)),
+ mp_float(static_cast<boost::int64_t>(7632612327410136LL)),
+ mp_float(static_cast<boost::int64_t>(38163061637050680LL)),
+ mp_float(static_cast<boost::int64_t>(176504160071359395LL)),
+ mp_float(static_cast<boost::int64_t>(757929628541719755LL)),
+ mp_float(static_cast<boost::int64_t>(3031718514166879020LL)),
+ mp_float("11329053395044653180"),
+ mp_float("39651686882656286130"),
+ mp_float("130284114043013511570"),
+ mp_float("402696352496587217580"),
+ mp_float("1173071983359623633820"),
+ mp_float("3225947954238964993005"),
+ mp_float("8387464681021308981813"),
+ mp_float("20646066907129375955232"),
+ mp_float("48174156116635210562208"),
+ mp_float("106671345686835109102032"),
+ mp_float("224377658168860057076688"),
+ mp_float("448755316337720114153376"),
+ mp_float("854082698836306023711264"),
+ mp_float("1548024891640804667976666"),
+ mp_float("2673861176470480790141514"),
+ mp_float("4404006643598438948468376"),
+ mp_float("6920581868511832633307448"),
+ mp_float("10380872802767748949961172"),
+ mp_float("14869898879640289036430868"),
+ mp_float("20348282677402500786694872"),
+ mp_float("26609292731987885644139448"),
+ mp_float("33261615914984857055174310"),
+ mp_float("39751687313030682822037590"),
+ mp_float("45430499786320780368042960"),
+ mp_float("49656592789699457611581840"),
+ mp_float("51913710643776705684835560"),
+ mp_float("51913710643776705684835560"),
+ mp_float("49656592789699457611581840"),
+ mp_float("45430499786320780368042960"),
+ mp_float("39751687313030682822037590"),
+ mp_float("33261615914984857055174310"),
+ mp_float("26609292731987885644139448"),
+ mp_float("20348282677402500786694872"),
+ mp_float("14869898879640289036430868"),
+ mp_float("10380872802767748949961172"),
+ mp_float("6920581868511832633307448"),
+ mp_float("4404006643598438948468376"),
+ mp_float("2673861176470480790141514"),
+ mp_float("1548024891640804667976666"),
+ mp_float("854082698836306023711264"),
+ mp_float("448755316337720114153376"),
+ mp_float("224377658168860057076688"),
+ mp_float("106671345686835109102032"),
+ mp_float("48174156116635210562208"),
+ mp_float("20646066907129375955232"),
+ mp_float("8387464681021308981813"),
+ mp_float("3225947954238964993005"),
+ mp_float("1173071983359623633820"),
+ mp_float("402696352496587217580"),
+ mp_float("130284114043013511570"),
+ mp_float("39651686882656286130"),
+ mp_float("11329053395044653180"),
+ mp_float(static_cast<boost::int64_t>(3031718514166879020LL)),
+ mp_float(static_cast<boost::int64_t>(757929628541719755LL)),
+ mp_float(static_cast<boost::int64_t>(176504160071359395LL)),
+ mp_float(static_cast<boost::int64_t>(38163061637050680LL)),
+ mp_float(static_cast<boost::int64_t>(7632612327410136LL)),
+ mp_float(static_cast<boost::int64_t>(1406007533996604LL)),
+ mp_float(static_cast<boost::int64_t>(237377895350076LL)),
+ mp_float(static_cast<boost::int64_t>(36519676207704LL)),
+ mp_float(static_cast<boost::int64_t>(5085018206136LL)),
+ mp_float(static_cast<boost::int64_t>(635627275767LL)),
+ mp_float(static_cast<boost::int64_t>(70625252863LL)),
+ mp_float(static_cast<boost::int64_t>(6890268572LL)),
+ mp_float(static_cast<boost::int32_t>(581106988L)),
+ mp_float(static_cast<boost::int32_t>(41507642L)),
+ mp_float(static_cast<boost::int32_t>(2441626L)),
+ mp_float(static_cast<boost::int32_t>(113564L)),
+ mp_float(static_cast<boost::int32_t>(3916L)),
+ mp_float(static_cast<boost::int32_t>(89L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_89_vect(A007318_89_data.begin(), A007318_89_data.end());
+
+ return A007318_89_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_90(void)
+ {
+ static const boost::array<mp_float, 91u> A007318_90_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(90L)),
+ mp_float(static_cast<boost::int32_t>(4005L)),
+ mp_float(static_cast<boost::int32_t>(117480L)),
+ mp_float(static_cast<boost::int32_t>(2555190L)),
+ mp_float(static_cast<boost::int32_t>(43949268L)),
+ mp_float(static_cast<boost::int32_t>(622614630L)),
+ mp_float(static_cast<boost::int64_t>(7471375560LL)),
+ mp_float(static_cast<boost::int64_t>(77515521435LL)),
+ mp_float(static_cast<boost::int64_t>(706252528630LL)),
+ mp_float(static_cast<boost::int64_t>(5720645481903LL)),
+ mp_float(static_cast<boost::int64_t>(41604694413840LL)),
+ mp_float(static_cast<boost::int64_t>(273897571557780LL)),
+ mp_float(static_cast<boost::int64_t>(1643385429346680LL)),
+ mp_float(static_cast<boost::int64_t>(9038619861406740LL)),
+ mp_float(static_cast<boost::int64_t>(45795673964460816LL)),
+ mp_float(static_cast<boost::int64_t>(214667221708410075LL)),
+ mp_float(static_cast<boost::int64_t>(934433788613079150LL)),
+ mp_float(static_cast<boost::int64_t>(3789648142708598775LL)),
+ mp_float("14360771909211532200"),
+ mp_float("50980740277700939310"),
+ mp_float("169935800925669797700"),
+ mp_float("532980466539600729150"),
+ mp_float("1575768335856210851400"),
+ mp_float("4399019937598588626825"),
+ mp_float("11613412635260273974818"),
+ mp_float("29033531588150684937045"),
+ mp_float("68820223023764586517440"),
+ mp_float("154845501803470319664240"),
+ mp_float("331049003855695166178720"),
+ mp_float("673132974506580171230064"),
+ mp_float("1302838015174026137864640"),
+ mp_float("2402107590477110691687930"),
+ mp_float("4221886068111285458118180"),
+ mp_float("7077867820068919738609890"),
+ mp_float("11324588512110271581775824"),
+ mp_float("17301454671279581583268620"),
+ mp_float("25250771682408037986392040"),
+ mp_float("35218181557042789823125740"),
+ mp_float("46957575409390386430834320"),
+ mp_float("59870908646972742699313758"),
+ mp_float("73013303228015539877211900"),
+ mp_float("85182187099351463190080550"),
+ mp_float("95087092576020237979624800"),
+ mp_float("101570303433476163296417400"),
+ mp_float("103827421287553411369671120"),
+ mp_float("101570303433476163296417400"),
+ mp_float("95087092576020237979624800"),
+ mp_float("85182187099351463190080550"),
+ mp_float("73013303228015539877211900"),
+ mp_float("59870908646972742699313758"),
+ mp_float("46957575409390386430834320"),
+ mp_float("35218181557042789823125740"),
+ mp_float("25250771682408037986392040"),
+ mp_float("17301454671279581583268620"),
+ mp_float("11324588512110271581775824"),
+ mp_float("7077867820068919738609890"),
+ mp_float("4221886068111285458118180"),
+ mp_float("2402107590477110691687930"),
+ mp_float("1302838015174026137864640"),
+ mp_float("673132974506580171230064"),
+ mp_float("331049003855695166178720"),
+ mp_float("154845501803470319664240"),
+ mp_float("68820223023764586517440"),
+ mp_float("29033531588150684937045"),
+ mp_float("11613412635260273974818"),
+ mp_float("4399019937598588626825"),
+ mp_float("1575768335856210851400"),
+ mp_float("532980466539600729150"),
+ mp_float("169935800925669797700"),
+ mp_float("50980740277700939310"),
+ mp_float("14360771909211532200"),
+ mp_float(static_cast<boost::int64_t>(3789648142708598775LL)),
+ mp_float(static_cast<boost::int64_t>(934433788613079150LL)),
+ mp_float(static_cast<boost::int64_t>(214667221708410075LL)),
+ mp_float(static_cast<boost::int64_t>(45795673964460816LL)),
+ mp_float(static_cast<boost::int64_t>(9038619861406740LL)),
+ mp_float(static_cast<boost::int64_t>(1643385429346680LL)),
+ mp_float(static_cast<boost::int64_t>(273897571557780LL)),
+ mp_float(static_cast<boost::int64_t>(41604694413840LL)),
+ mp_float(static_cast<boost::int64_t>(5720645481903LL)),
+ mp_float(static_cast<boost::int64_t>(706252528630LL)),
+ mp_float(static_cast<boost::int64_t>(77515521435LL)),
+ mp_float(static_cast<boost::int64_t>(7471375560LL)),
+ mp_float(static_cast<boost::int32_t>(622614630L)),
+ mp_float(static_cast<boost::int32_t>(43949268L)),
+ mp_float(static_cast<boost::int32_t>(2555190L)),
+ mp_float(static_cast<boost::int32_t>(117480L)),
+ mp_float(static_cast<boost::int32_t>(4005L)),
+ mp_float(static_cast<boost::int32_t>(90L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_90_vect(A007318_90_data.begin(), A007318_90_data.end());
+
+ return A007318_90_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_91(void)
+ {
+ static const boost::array<mp_float, 92u> A007318_91_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(91L)),
+ mp_float(static_cast<boost::int32_t>(4095L)),
+ mp_float(static_cast<boost::int32_t>(121485L)),
+ mp_float(static_cast<boost::int32_t>(2672670L)),
+ mp_float(static_cast<boost::int32_t>(46504458L)),
+ mp_float(static_cast<boost::int32_t>(666563898L)),
+ mp_float(static_cast<boost::int64_t>(8093990190LL)),
+ mp_float(static_cast<boost::int64_t>(84986896995LL)),
+ mp_float(static_cast<boost::int64_t>(783768050065LL)),
+ mp_float(static_cast<boost::int64_t>(6426898010533LL)),
+ mp_float(static_cast<boost::int64_t>(47325339895743LL)),
+ mp_float(static_cast<boost::int64_t>(315502265971620LL)),
+ mp_float(static_cast<boost::int64_t>(1917283000904460LL)),
+ mp_float(static_cast<boost::int64_t>(10682005290753420LL)),
+ mp_float(static_cast<boost::int64_t>(54834293825867556LL)),
+ mp_float(static_cast<boost::int64_t>(260462895672870891LL)),
+ mp_float(static_cast<boost::int64_t>(1149101010321489225LL)),
+ mp_float(static_cast<boost::int64_t>(4724081931321677925LL)),
+ mp_float("18150420051920130975"),
+ mp_float("65341512186912471510"),
+ mp_float("220916541203370737010"),
+ mp_float("702916267465270526850"),
+ mp_float("2108748802395811580550"),
+ mp_float("5974788273454799478225"),
+ mp_float("16012432572858862601643"),
+ mp_float("40646944223410958911863"),
+ mp_float("97853754611915271454485"),
+ mp_float("223665724827234906181680"),
+ mp_float("485894505659165485842960"),
+ mp_float("1004181978362275337408784"),
+ mp_float("1975970989680606309094704"),
+ mp_float("3704945605651136829552570"),
+ mp_float("6623993658588396149806110"),
+ mp_float("11299753888180205196728070"),
+ mp_float("18402456332179191320385714"),
+ mp_float("28626043183389853165044444"),
+ mp_float("42552226353687619569660660"),
+ mp_float("60468953239450827809517780"),
+ mp_float("82175756966433176253960060"),
+ mp_float("106828484056363129130148078"),
+ mp_float("132884211874988282576525658"),
+ mp_float("158195490327367003067292450"),
+ mp_float("180269279675371701169705350"),
+ mp_float("196657396009496401276042200"),
+ mp_float("205397724721029574666088520"),
+ mp_float("205397724721029574666088520"),
+ mp_float("196657396009496401276042200"),
+ mp_float("180269279675371701169705350"),
+ mp_float("158195490327367003067292450"),
+ mp_float("132884211874988282576525658"),
+ mp_float("106828484056363129130148078"),
+ mp_float("82175756966433176253960060"),
+ mp_float("60468953239450827809517780"),
+ mp_float("42552226353687619569660660"),
+ mp_float("28626043183389853165044444"),
+ mp_float("18402456332179191320385714"),
+ mp_float("11299753888180205196728070"),
+ mp_float("6623993658588396149806110"),
+ mp_float("3704945605651136829552570"),
+ mp_float("1975970989680606309094704"),
+ mp_float("1004181978362275337408784"),
+ mp_float("485894505659165485842960"),
+ mp_float("223665724827234906181680"),
+ mp_float("97853754611915271454485"),
+ mp_float("40646944223410958911863"),
+ mp_float("16012432572858862601643"),
+ mp_float("5974788273454799478225"),
+ mp_float("2108748802395811580550"),
+ mp_float("702916267465270526850"),
+ mp_float("220916541203370737010"),
+ mp_float("65341512186912471510"),
+ mp_float("18150420051920130975"),
+ mp_float(static_cast<boost::int64_t>(4724081931321677925LL)),
+ mp_float(static_cast<boost::int64_t>(1149101010321489225LL)),
+ mp_float(static_cast<boost::int64_t>(260462895672870891LL)),
+ mp_float(static_cast<boost::int64_t>(54834293825867556LL)),
+ mp_float(static_cast<boost::int64_t>(10682005290753420LL)),
+ mp_float(static_cast<boost::int64_t>(1917283000904460LL)),
+ mp_float(static_cast<boost::int64_t>(315502265971620LL)),
+ mp_float(static_cast<boost::int64_t>(47325339895743LL)),
+ mp_float(static_cast<boost::int64_t>(6426898010533LL)),
+ mp_float(static_cast<boost::int64_t>(783768050065LL)),
+ mp_float(static_cast<boost::int64_t>(84986896995LL)),
+ mp_float(static_cast<boost::int64_t>(8093990190LL)),
+ mp_float(static_cast<boost::int32_t>(666563898L)),
+ mp_float(static_cast<boost::int32_t>(46504458L)),
+ mp_float(static_cast<boost::int32_t>(2672670L)),
+ mp_float(static_cast<boost::int32_t>(121485L)),
+ mp_float(static_cast<boost::int32_t>(4095L)),
+ mp_float(static_cast<boost::int32_t>(91L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_91_vect(A007318_91_data.begin(), A007318_91_data.end());
+
+ return A007318_91_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_92(void)
+ {
+ static const boost::array<mp_float, 93u> A007318_92_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(92L)),
+ mp_float(static_cast<boost::int32_t>(4186L)),
+ mp_float(static_cast<boost::int32_t>(125580L)),
+ mp_float(static_cast<boost::int32_t>(2794155L)),
+ mp_float(static_cast<boost::int32_t>(49177128L)),
+ mp_float(static_cast<boost::int32_t>(713068356L)),
+ mp_float(static_cast<boost::int64_t>(8760554088LL)),
+ mp_float(static_cast<boost::int64_t>(93080887185LL)),
+ mp_float(static_cast<boost::int64_t>(868754947060LL)),
+ mp_float(static_cast<boost::int64_t>(7210666060598LL)),
+ mp_float(static_cast<boost::int64_t>(53752237906276LL)),
+ mp_float(static_cast<boost::int64_t>(362827605867363LL)),
+ mp_float(static_cast<boost::int64_t>(2232785266876080LL)),
+ mp_float(static_cast<boost::int64_t>(12599288291657880LL)),
+ mp_float(static_cast<boost::int64_t>(65516299116620976LL)),
+ mp_float(static_cast<boost::int64_t>(315297189498738447LL)),
+ mp_float(static_cast<boost::int64_t>(1409563905994360116LL)),
+ mp_float(static_cast<boost::int64_t>(5873182941643167150LL)),
+ mp_float("22874501983241808900"),
+ mp_float("83491932238832602485"),
+ mp_float("286258053390283208520"),
+ mp_float("923832808668641263860"),
+ mp_float("2811665069861082107400"),
+ mp_float("8083537075850611058775"),
+ mp_float("21987220846313662079868"),
+ mp_float("56659376796269821513506"),
+ mp_float("138500698835326230366348"),
+ mp_float("321519479439150177636165"),
+ mp_float("709560230486400392024640"),
+ mp_float("1490076484021440823251744"),
+ mp_float("2980152968042881646503488"),
+ mp_float("5680916595331743138647274"),
+ mp_float("10328939264239532979358680"),
+ mp_float("17923747546768601346534180"),
+ mp_float("29702210220359396517113784"),
+ mp_float("47028499515569044485430158"),
+ mp_float("71178269537077472734705104"),
+ mp_float("103021179593138447379178440"),
+ mp_float("142644710205884004063477840"),
+ mp_float("189004241022796305384108138"),
+ mp_float("239712695931351411706673736"),
+ mp_float("291079702202355285643818108"),
+ mp_float("338464770002738704236997800"),
+ mp_float("376926675684868102445747550"),
+ mp_float("402055120730525975942130720"),
+ mp_float("410795449442059149332177040"),
+ mp_float("402055120730525975942130720"),
+ mp_float("376926675684868102445747550"),
+ mp_float("338464770002738704236997800"),
+ mp_float("291079702202355285643818108"),
+ mp_float("239712695931351411706673736"),
+ mp_float("189004241022796305384108138"),
+ mp_float("142644710205884004063477840"),
+ mp_float("103021179593138447379178440"),
+ mp_float("71178269537077472734705104"),
+ mp_float("47028499515569044485430158"),
+ mp_float("29702210220359396517113784"),
+ mp_float("17923747546768601346534180"),
+ mp_float("10328939264239532979358680"),
+ mp_float("5680916595331743138647274"),
+ mp_float("2980152968042881646503488"),
+ mp_float("1490076484021440823251744"),
+ mp_float("709560230486400392024640"),
+ mp_float("321519479439150177636165"),
+ mp_float("138500698835326230366348"),
+ mp_float("56659376796269821513506"),
+ mp_float("21987220846313662079868"),
+ mp_float("8083537075850611058775"),
+ mp_float("2811665069861082107400"),
+ mp_float("923832808668641263860"),
+ mp_float("286258053390283208520"),
+ mp_float("83491932238832602485"),
+ mp_float("22874501983241808900"),
+ mp_float(static_cast<boost::int64_t>(5873182941643167150LL)),
+ mp_float(static_cast<boost::int64_t>(1409563905994360116LL)),
+ mp_float(static_cast<boost::int64_t>(315297189498738447LL)),
+ mp_float(static_cast<boost::int64_t>(65516299116620976LL)),
+ mp_float(static_cast<boost::int64_t>(12599288291657880LL)),
+ mp_float(static_cast<boost::int64_t>(2232785266876080LL)),
+ mp_float(static_cast<boost::int64_t>(362827605867363LL)),
+ mp_float(static_cast<boost::int64_t>(53752237906276LL)),
+ mp_float(static_cast<boost::int64_t>(7210666060598LL)),
+ mp_float(static_cast<boost::int64_t>(868754947060LL)),
+ mp_float(static_cast<boost::int64_t>(93080887185LL)),
+ mp_float(static_cast<boost::int64_t>(8760554088LL)),
+ mp_float(static_cast<boost::int32_t>(713068356L)),
+ mp_float(static_cast<boost::int32_t>(49177128L)),
+ mp_float(static_cast<boost::int32_t>(2794155L)),
+ mp_float(static_cast<boost::int32_t>(125580L)),
+ mp_float(static_cast<boost::int32_t>(4186L)),
+ mp_float(static_cast<boost::int32_t>(92L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_92_vect(A007318_92_data.begin(), A007318_92_data.end());
+
+ return A007318_92_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_93(void)
+ {
+ static const boost::array<mp_float, 94u> A007318_93_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(93L)),
+ mp_float(static_cast<boost::int32_t>(4278L)),
+ mp_float(static_cast<boost::int32_t>(129766L)),
+ mp_float(static_cast<boost::int32_t>(2919735L)),
+ mp_float(static_cast<boost::int32_t>(51971283L)),
+ mp_float(static_cast<boost::int32_t>(762245484L)),
+ mp_float(static_cast<boost::int64_t>(9473622444LL)),
+ mp_float(static_cast<boost::int64_t>(101841441273LL)),
+ mp_float(static_cast<boost::int64_t>(961835834245LL)),
+ mp_float(static_cast<boost::int64_t>(8079421007658LL)),
+ mp_float(static_cast<boost::int64_t>(60962903966874LL)),
+ mp_float(static_cast<boost::int64_t>(416579843773639LL)),
+ mp_float(static_cast<boost::int64_t>(2595612872743443LL)),
+ mp_float(static_cast<boost::int64_t>(14832073558533960LL)),
+ mp_float(static_cast<boost::int64_t>(78115587408278856LL)),
+ mp_float(static_cast<boost::int64_t>(380813488615359423LL)),
+ mp_float(static_cast<boost::int64_t>(1724861095493098563LL)),
+ mp_float(static_cast<boost::int64_t>(7282746847637527266LL)),
+ mp_float("28747684924884976050"),
+ mp_float("106366434222074411385"),
+ mp_float("369749985629115811005"),
+ mp_float("1210090862058924472380"),
+ mp_float("3735497878529723371260"),
+ mp_float("10895202145711693166175"),
+ mp_float("30070757922164273138643"),
+ mp_float("78646597642583483593374"),
+ mp_float("195160075631596051879854"),
+ mp_float("460020178274476408002513"),
+ mp_float("1031079709925550569660805"),
+ mp_float("2199636714507841215276384"),
+ mp_float("4470229452064322469755232"),
+ mp_float("8661069563374624785150762"),
+ mp_float("16009855859571276118005954"),
+ mp_float("28252686811008134325892860"),
+ mp_float("47625957767127997863647964"),
+ mp_float("76730709735928441002543942"),
+ mp_float("118206769052646517220135262"),
+ mp_float("174199449130215920113883544"),
+ mp_float("245665889799022451442656280"),
+ mp_float("331648951228680309447585978"),
+ mp_float("428716936954147717090781874"),
+ mp_float("530792398133706697350491844"),
+ mp_float("629544472205093989880815908"),
+ mp_float("715391445687606806682745350"),
+ mp_float("778981796415394078387878270"),
+ mp_float("812850570172585125274307760"),
+ mp_float("812850570172585125274307760"),
+ mp_float("778981796415394078387878270"),
+ mp_float("715391445687606806682745350"),
+ mp_float("629544472205093989880815908"),
+ mp_float("530792398133706697350491844"),
+ mp_float("428716936954147717090781874"),
+ mp_float("331648951228680309447585978"),
+ mp_float("245665889799022451442656280"),
+ mp_float("174199449130215920113883544"),
+ mp_float("118206769052646517220135262"),
+ mp_float("76730709735928441002543942"),
+ mp_float("47625957767127997863647964"),
+ mp_float("28252686811008134325892860"),
+ mp_float("16009855859571276118005954"),
+ mp_float("8661069563374624785150762"),
+ mp_float("4470229452064322469755232"),
+ mp_float("2199636714507841215276384"),
+ mp_float("1031079709925550569660805"),
+ mp_float("460020178274476408002513"),
+ mp_float("195160075631596051879854"),
+ mp_float("78646597642583483593374"),
+ mp_float("30070757922164273138643"),
+ mp_float("10895202145711693166175"),
+ mp_float("3735497878529723371260"),
+ mp_float("1210090862058924472380"),
+ mp_float("369749985629115811005"),
+ mp_float("106366434222074411385"),
+ mp_float("28747684924884976050"),
+ mp_float(static_cast<boost::int64_t>(7282746847637527266LL)),
+ mp_float(static_cast<boost::int64_t>(1724861095493098563LL)),
+ mp_float(static_cast<boost::int64_t>(380813488615359423LL)),
+ mp_float(static_cast<boost::int64_t>(78115587408278856LL)),
+ mp_float(static_cast<boost::int64_t>(14832073558533960LL)),
+ mp_float(static_cast<boost::int64_t>(2595612872743443LL)),
+ mp_float(static_cast<boost::int64_t>(416579843773639LL)),
+ mp_float(static_cast<boost::int64_t>(60962903966874LL)),
+ mp_float(static_cast<boost::int64_t>(8079421007658LL)),
+ mp_float(static_cast<boost::int64_t>(961835834245LL)),
+ mp_float(static_cast<boost::int64_t>(101841441273LL)),
+ mp_float(static_cast<boost::int64_t>(9473622444LL)),
+ mp_float(static_cast<boost::int32_t>(762245484L)),
+ mp_float(static_cast<boost::int32_t>(51971283L)),
+ mp_float(static_cast<boost::int32_t>(2919735L)),
+ mp_float(static_cast<boost::int32_t>(129766L)),
+ mp_float(static_cast<boost::int32_t>(4278L)),
+ mp_float(static_cast<boost::int32_t>(93L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_93_vect(A007318_93_data.begin(), A007318_93_data.end());
+
+ return A007318_93_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_94(void)
+ {
+ static const boost::array<mp_float, 95u> A007318_94_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(94L)),
+ mp_float(static_cast<boost::int32_t>(4371L)),
+ mp_float(static_cast<boost::int32_t>(134044L)),
+ mp_float(static_cast<boost::int32_t>(3049501L)),
+ mp_float(static_cast<boost::int32_t>(54891018L)),
+ mp_float(static_cast<boost::int32_t>(814216767L)),
+ mp_float(static_cast<boost::int64_t>(10235867928LL)),
+ mp_float(static_cast<boost::int64_t>(111315063717LL)),
+ mp_float(static_cast<boost::int64_t>(1063677275518LL)),
+ mp_float(static_cast<boost::int64_t>(9041256841903LL)),
+ mp_float(static_cast<boost::int64_t>(69042324974532LL)),
+ mp_float(static_cast<boost::int64_t>(477542747740513LL)),
+ mp_float(static_cast<boost::int64_t>(3012192716517082LL)),
+ mp_float(static_cast<boost::int64_t>(17427686431277403LL)),
+ mp_float(static_cast<boost::int64_t>(92947660966812816LL)),
+ mp_float(static_cast<boost::int64_t>(458929076023638279LL)),
+ mp_float(static_cast<boost::int64_t>(2105674584108457986LL)),
+ mp_float(static_cast<boost::int64_t>(9007607943130625829LL)),
+ mp_float("36030431772522503316"),
+ mp_float("135114119146959387435"),
+ mp_float("476116419851190222390"),
+ mp_float("1579840847688040283385"),
+ mp_float("4945588740588647843640"),
+ mp_float("14630700024241416537435"),
+ mp_float("40965960067875966304818"),
+ mp_float("108717355564747756732017"),
+ mp_float("273806673274179535473228"),
+ mp_float("655180253906072459882367"),
+ mp_float("1491099888200026977663318"),
+ mp_float("3230716424433391784937189"),
+ mp_float("6669866166572163685031616"),
+ mp_float("13131299015438947254905994"),
+ mp_float("24670925422945900903156716"),
+ mp_float("44262542670579410443898814"),
+ mp_float("75878644578136132189540824"),
+ mp_float("124356667503056438866191906"),
+ mp_float("194937478788574958222679204"),
+ mp_float("292406218182862437334018806"),
+ mp_float("419865338929238371556539824"),
+ mp_float("577314841027702760890242258"),
+ mp_float("760365888182828026538367852"),
+ mp_float("959509335087854414441273718"),
+ mp_float("1160336870338800687231307752"),
+ mp_float("1344935917892700796563561258"),
+ mp_float("1494373242103000885070623620"),
+ mp_float("1591832366587979203662186030"),
+ mp_float("1625701140345170250548615520"),
+ mp_float("1591832366587979203662186030"),
+ mp_float("1494373242103000885070623620"),
+ mp_float("1344935917892700796563561258"),
+ mp_float("1160336870338800687231307752"),
+ mp_float("959509335087854414441273718"),
+ mp_float("760365888182828026538367852"),
+ mp_float("577314841027702760890242258"),
+ mp_float("419865338929238371556539824"),
+ mp_float("292406218182862437334018806"),
+ mp_float("194937478788574958222679204"),
+ mp_float("124356667503056438866191906"),
+ mp_float("75878644578136132189540824"),
+ mp_float("44262542670579410443898814"),
+ mp_float("24670925422945900903156716"),
+ mp_float("13131299015438947254905994"),
+ mp_float("6669866166572163685031616"),
+ mp_float("3230716424433391784937189"),
+ mp_float("1491099888200026977663318"),
+ mp_float("655180253906072459882367"),
+ mp_float("273806673274179535473228"),
+ mp_float("108717355564747756732017"),
+ mp_float("40965960067875966304818"),
+ mp_float("14630700024241416537435"),
+ mp_float("4945588740588647843640"),
+ mp_float("1579840847688040283385"),
+ mp_float("476116419851190222390"),
+ mp_float("135114119146959387435"),
+ mp_float("36030431772522503316"),
+ mp_float(static_cast<boost::int64_t>(9007607943130625829LL)),
+ mp_float(static_cast<boost::int64_t>(2105674584108457986LL)),
+ mp_float(static_cast<boost::int64_t>(458929076023638279LL)),
+ mp_float(static_cast<boost::int64_t>(92947660966812816LL)),
+ mp_float(static_cast<boost::int64_t>(17427686431277403LL)),
+ mp_float(static_cast<boost::int64_t>(3012192716517082LL)),
+ mp_float(static_cast<boost::int64_t>(477542747740513LL)),
+ mp_float(static_cast<boost::int64_t>(69042324974532LL)),
+ mp_float(static_cast<boost::int64_t>(9041256841903LL)),
+ mp_float(static_cast<boost::int64_t>(1063677275518LL)),
+ mp_float(static_cast<boost::int64_t>(111315063717LL)),
+ mp_float(static_cast<boost::int64_t>(10235867928LL)),
+ mp_float(static_cast<boost::int32_t>(814216767L)),
+ mp_float(static_cast<boost::int32_t>(54891018L)),
+ mp_float(static_cast<boost::int32_t>(3049501L)),
+ mp_float(static_cast<boost::int32_t>(134044L)),
+ mp_float(static_cast<boost::int32_t>(4371L)),
+ mp_float(static_cast<boost::int32_t>(94L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_94_vect(A007318_94_data.begin(), A007318_94_data.end());
+
+ return A007318_94_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_95(void)
+ {
+ static const boost::array<mp_float, 96u> A007318_95_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(95L)),
+ mp_float(static_cast<boost::int32_t>(4465L)),
+ mp_float(static_cast<boost::int32_t>(138415L)),
+ mp_float(static_cast<boost::int32_t>(3183545L)),
+ mp_float(static_cast<boost::int32_t>(57940519L)),
+ mp_float(static_cast<boost::int32_t>(869107785L)),
+ mp_float(static_cast<boost::int64_t>(11050084695LL)),
+ mp_float(static_cast<boost::int64_t>(121550931645LL)),
+ mp_float(static_cast<boost::int64_t>(1174992339235LL)),
+ mp_float(static_cast<boost::int64_t>(10104934117421LL)),
+ mp_float(static_cast<boost::int64_t>(78083581816435LL)),
+ mp_float(static_cast<boost::int64_t>(546585072715045LL)),
+ mp_float(static_cast<boost::int64_t>(3489735464257595LL)),
+ mp_float(static_cast<boost::int64_t>(20439879147794485LL)),
+ mp_float(static_cast<boost::int64_t>(110375347398090219LL)),
+ mp_float(static_cast<boost::int64_t>(551876736990451095LL)),
+ mp_float(static_cast<boost::int64_t>(2564603660132096265LL)),
+ mp_float("11113282527239083815"),
+ mp_float("45038039715653129145"),
+ mp_float("171144550919481890751"),
+ mp_float("611230538998149609825"),
+ mp_float("2055957267539230505775"),
+ mp_float("6525429588276688127025"),
+ mp_float("19576288764830064381075"),
+ mp_float("55596660092117382842253"),
+ mp_float("149683315632623723036835"),
+ mp_float("382524028838927292205245"),
+ mp_float("928986927180251995355595"),
+ mp_float("2146280142106099437545685"),
+ mp_float("4721816312633418762600507"),
+ mp_float("9900582591005555469968805"),
+ mp_float("19801165182011110939937610"),
+ mp_float("37802224438384848158062710"),
+ mp_float("68933468093525311347055530"),
+ mp_float("120141187248715542633439638"),
+ mp_float("200235312081192571055732730"),
+ mp_float("319294146291631397088871110"),
+ mp_float("487343696971437395556698010"),
+ mp_float("712271557112100808890558630"),
+ mp_float("997180179956941132446782082"),
+ mp_float("1337680729210530787428610110"),
+ mp_float("1719875223270682440979641570"),
+ mp_float("2119846205426655101672581470"),
+ mp_float("2505272788231501483794869010"),
+ mp_float("2839309159995701681634184878"),
+ mp_float("3086205608690980088732809650"),
+ mp_float("3217533506933149454210801550"),
+ mp_float("3217533506933149454210801550"),
+ mp_float("3086205608690980088732809650"),
+ mp_float("2839309159995701681634184878"),
+ mp_float("2505272788231501483794869010"),
+ mp_float("2119846205426655101672581470"),
+ mp_float("1719875223270682440979641570"),
+ mp_float("1337680729210530787428610110"),
+ mp_float("997180179956941132446782082"),
+ mp_float("712271557112100808890558630"),
+ mp_float("487343696971437395556698010"),
+ mp_float("319294146291631397088871110"),
+ mp_float("200235312081192571055732730"),
+ mp_float("120141187248715542633439638"),
+ mp_float("68933468093525311347055530"),
+ mp_float("37802224438384848158062710"),
+ mp_float("19801165182011110939937610"),
+ mp_float("9900582591005555469968805"),
+ mp_float("4721816312633418762600507"),
+ mp_float("2146280142106099437545685"),
+ mp_float("928986927180251995355595"),
+ mp_float("382524028838927292205245"),
+ mp_float("149683315632623723036835"),
+ mp_float("55596660092117382842253"),
+ mp_float("19576288764830064381075"),
+ mp_float("6525429588276688127025"),
+ mp_float("2055957267539230505775"),
+ mp_float("611230538998149609825"),
+ mp_float("171144550919481890751"),
+ mp_float("45038039715653129145"),
+ mp_float("11113282527239083815"),
+ mp_float(static_cast<boost::int64_t>(2564603660132096265LL)),
+ mp_float(static_cast<boost::int64_t>(551876736990451095LL)),
+ mp_float(static_cast<boost::int64_t>(110375347398090219LL)),
+ mp_float(static_cast<boost::int64_t>(20439879147794485LL)),
+ mp_float(static_cast<boost::int64_t>(3489735464257595LL)),
+ mp_float(static_cast<boost::int64_t>(546585072715045LL)),
+ mp_float(static_cast<boost::int64_t>(78083581816435LL)),
+ mp_float(static_cast<boost::int64_t>(10104934117421LL)),
+ mp_float(static_cast<boost::int64_t>(1174992339235LL)),
+ mp_float(static_cast<boost::int64_t>(121550931645LL)),
+ mp_float(static_cast<boost::int64_t>(11050084695LL)),
+ mp_float(static_cast<boost::int32_t>(869107785L)),
+ mp_float(static_cast<boost::int32_t>(57940519L)),
+ mp_float(static_cast<boost::int32_t>(3183545L)),
+ mp_float(static_cast<boost::int32_t>(138415L)),
+ mp_float(static_cast<boost::int32_t>(4465L)),
+ mp_float(static_cast<boost::int32_t>(95L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_95_vect(A007318_95_data.begin(), A007318_95_data.end());
+
+ return A007318_95_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_96(void)
+ {
+ static const boost::array<mp_float, 97u> A007318_96_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(96L)),
+ mp_float(static_cast<boost::int32_t>(4560L)),
+ mp_float(static_cast<boost::int32_t>(142880L)),
+ mp_float(static_cast<boost::int32_t>(3321960L)),
+ mp_float(static_cast<boost::int32_t>(61124064L)),
+ mp_float(static_cast<boost::int32_t>(927048304L)),
+ mp_float(static_cast<boost::int64_t>(11919192480LL)),
+ mp_float(static_cast<boost::int64_t>(132601016340LL)),
+ mp_float(static_cast<boost::int64_t>(1296543270880LL)),
+ mp_float(static_cast<boost::int64_t>(11279926456656LL)),
+ mp_float(static_cast<boost::int64_t>(88188515933856LL)),
+ mp_float(static_cast<boost::int64_t>(624668654531480LL)),
+ mp_float(static_cast<boost::int64_t>(4036320536972640LL)),
+ mp_float(static_cast<boost::int64_t>(23929614612052080LL)),
+ mp_float(static_cast<boost::int64_t>(130815226545884704LL)),
+ mp_float(static_cast<boost::int64_t>(662252084388541314LL)),
+ mp_float(static_cast<boost::int64_t>(3116480397122547360LL)),
+ mp_float("13677886187371180080"),
+ mp_float("56151322242892212960"),
+ mp_float("216182590635135019896"),
+ mp_float("782375089917631500576"),
+ mp_float("2667187806537380115600"),
+ mp_float("8581386855815918632800"),
+ mp_float("26101718353106752508100"),
+ mp_float("75172948856947447223328"),
+ mp_float("205279975724741105879088"),
+ mp_float("532207344471551015242080"),
+ mp_float("1311510956019179287560840"),
+ mp_float("3075267069286351432901280"),
+ mp_float("6868096454739518200146192"),
+ mp_float("14622398903638974232569312"),
+ mp_float("29701747773016666409906415"),
+ mp_float("57603389620395959098000320"),
+ mp_float("106735692531910159505118240"),
+ mp_float("189074655342240853980495168"),
+ mp_float("320376499329908113689172368"),
+ mp_float("519529458372823968144603840"),
+ mp_float("806637843263068792645569120"),
+ mp_float("1199615254083538204447256640"),
+ mp_float("1709451737069041941337340712"),
+ mp_float("2334860909167471919875392192"),
+ mp_float("3057555952481213228408251680"),
+ mp_float("3839721428697337542652223040"),
+ mp_float("4625118993658156585467450480"),
+ mp_float("5344581948227203165429053888"),
+ mp_float("5925514768686681770366994528"),
+ mp_float("6303739115624129542943611200"),
+ mp_float("6435067013866298908421603100"),
+ mp_float("6303739115624129542943611200"),
+ mp_float("5925514768686681770366994528"),
+ mp_float("5344581948227203165429053888"),
+ mp_float("4625118993658156585467450480"),
+ mp_float("3839721428697337542652223040"),
+ mp_float("3057555952481213228408251680"),
+ mp_float("2334860909167471919875392192"),
+ mp_float("1709451737069041941337340712"),
+ mp_float("1199615254083538204447256640"),
+ mp_float("806637843263068792645569120"),
+ mp_float("519529458372823968144603840"),
+ mp_float("320376499329908113689172368"),
+ mp_float("189074655342240853980495168"),
+ mp_float("106735692531910159505118240"),
+ mp_float("57603389620395959098000320"),
+ mp_float("29701747773016666409906415"),
+ mp_float("14622398903638974232569312"),
+ mp_float("6868096454739518200146192"),
+ mp_float("3075267069286351432901280"),
+ mp_float("1311510956019179287560840"),
+ mp_float("532207344471551015242080"),
+ mp_float("205279975724741105879088"),
+ mp_float("75172948856947447223328"),
+ mp_float("26101718353106752508100"),
+ mp_float("8581386855815918632800"),
+ mp_float("2667187806537380115600"),
+ mp_float("782375089917631500576"),
+ mp_float("216182590635135019896"),
+ mp_float("56151322242892212960"),
+ mp_float("13677886187371180080"),
+ mp_float(static_cast<boost::int64_t>(3116480397122547360LL)),
+ mp_float(static_cast<boost::int64_t>(662252084388541314LL)),
+ mp_float(static_cast<boost::int64_t>(130815226545884704LL)),
+ mp_float(static_cast<boost::int64_t>(23929614612052080LL)),
+ mp_float(static_cast<boost::int64_t>(4036320536972640LL)),
+ mp_float(static_cast<boost::int64_t>(624668654531480LL)),
+ mp_float(static_cast<boost::int64_t>(88188515933856LL)),
+ mp_float(static_cast<boost::int64_t>(11279926456656LL)),
+ mp_float(static_cast<boost::int64_t>(1296543270880LL)),
+ mp_float(static_cast<boost::int64_t>(132601016340LL)),
+ mp_float(static_cast<boost::int64_t>(11919192480LL)),
+ mp_float(static_cast<boost::int32_t>(927048304L)),
+ mp_float(static_cast<boost::int32_t>(61124064L)),
+ mp_float(static_cast<boost::int32_t>(3321960L)),
+ mp_float(static_cast<boost::int32_t>(142880L)),
+ mp_float(static_cast<boost::int32_t>(4560L)),
+ mp_float(static_cast<boost::int32_t>(96L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_96_vect(A007318_96_data.begin(), A007318_96_data.end());
+
+ return A007318_96_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_97(void)
+ {
+ static const boost::array<mp_float, 98u> A007318_97_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(97L)),
+ mp_float(static_cast<boost::int32_t>(4656L)),
+ mp_float(static_cast<boost::int32_t>(147440L)),
+ mp_float(static_cast<boost::int32_t>(3464840L)),
+ mp_float(static_cast<boost::int32_t>(64446024L)),
+ mp_float(static_cast<boost::int32_t>(988172368L)),
+ mp_float(static_cast<boost::int64_t>(12846240784LL)),
+ mp_float(static_cast<boost::int64_t>(144520208820LL)),
+ mp_float(static_cast<boost::int64_t>(1429144287220LL)),
+ mp_float(static_cast<boost::int64_t>(12576469727536LL)),
+ mp_float(static_cast<boost::int64_t>(99468442390512LL)),
+ mp_float(static_cast<boost::int64_t>(712857170465336LL)),
+ mp_float(static_cast<boost::int64_t>(4660989191504120LL)),
+ mp_float(static_cast<boost::int64_t>(27965935149024720LL)),
+ mp_float(static_cast<boost::int64_t>(154744841157936784LL)),
+ mp_float(static_cast<boost::int64_t>(793067310934426018LL)),
+ mp_float(static_cast<boost::int64_t>(3778732481511088674LL)),
+ mp_float("16794366584493727440"),
+ mp_float("69829208430263393040"),
+ mp_float("272333912878027232856"),
+ mp_float("998557680552766520472"),
+ mp_float("3449562896455011616176"),
+ mp_float("11248574662353298748400"),
+ mp_float("34683105208922671140900"),
+ mp_float("101274667210054199731428"),
+ mp_float("280452924581688553102416"),
+ mp_float("737487320196292121121168"),
+ mp_float("1843718300490730302802920"),
+ mp_float("4386778025305530720462120"),
+ mp_float("9943363524025869633047472"),
+ mp_float("21490495358378492432715504"),
+ mp_float("44324146676655640642475727"),
+ mp_float("87305137393412625507906735"),
+ mp_float("164339082152306118603118560"),
+ mp_float("295810347874151013485613408"),
+ mp_float("509451154672148967669667536"),
+ mp_float("839905957702732081833776208"),
+ mp_float("1326167301635892760790172960"),
+ mp_float("2006253097346606997092825760"),
+ mp_float("2909066991152580145784597352"),
+ mp_float("4044312646236513861212732904"),
+ mp_float("5392416861648685148283643872"),
+ mp_float("6897277381178550771060474720"),
+ mp_float("8464840422355494128119673520"),
+ mp_float("9969700941885359750896504368"),
+ mp_float("11270096716913884935796048416"),
+ mp_float("12229253884310811313310605728"),
+ mp_float("12738806129490428451365214300"),
+ mp_float("12738806129490428451365214300"),
+ mp_float("12229253884310811313310605728"),
+ mp_float("11270096716913884935796048416"),
+ mp_float("9969700941885359750896504368"),
+ mp_float("8464840422355494128119673520"),
+ mp_float("6897277381178550771060474720"),
+ mp_float("5392416861648685148283643872"),
+ mp_float("4044312646236513861212732904"),
+ mp_float("2909066991152580145784597352"),
+ mp_float("2006253097346606997092825760"),
+ mp_float("1326167301635892760790172960"),
+ mp_float("839905957702732081833776208"),
+ mp_float("509451154672148967669667536"),
+ mp_float("295810347874151013485613408"),
+ mp_float("164339082152306118603118560"),
+ mp_float("87305137393412625507906735"),
+ mp_float("44324146676655640642475727"),
+ mp_float("21490495358378492432715504"),
+ mp_float("9943363524025869633047472"),
+ mp_float("4386778025305530720462120"),
+ mp_float("1843718300490730302802920"),
+ mp_float("737487320196292121121168"),
+ mp_float("280452924581688553102416"),
+ mp_float("101274667210054199731428"),
+ mp_float("34683105208922671140900"),
+ mp_float("11248574662353298748400"),
+ mp_float("3449562896455011616176"),
+ mp_float("998557680552766520472"),
+ mp_float("272333912878027232856"),
+ mp_float("69829208430263393040"),
+ mp_float("16794366584493727440"),
+ mp_float(static_cast<boost::int64_t>(3778732481511088674LL)),
+ mp_float(static_cast<boost::int64_t>(793067310934426018LL)),
+ mp_float(static_cast<boost::int64_t>(154744841157936784LL)),
+ mp_float(static_cast<boost::int64_t>(27965935149024720LL)),
+ mp_float(static_cast<boost::int64_t>(4660989191504120LL)),
+ mp_float(static_cast<boost::int64_t>(712857170465336LL)),
+ mp_float(static_cast<boost::int64_t>(99468442390512LL)),
+ mp_float(static_cast<boost::int64_t>(12576469727536LL)),
+ mp_float(static_cast<boost::int64_t>(1429144287220LL)),
+ mp_float(static_cast<boost::int64_t>(144520208820LL)),
+ mp_float(static_cast<boost::int64_t>(12846240784LL)),
+ mp_float(static_cast<boost::int32_t>(988172368L)),
+ mp_float(static_cast<boost::int32_t>(64446024L)),
+ mp_float(static_cast<boost::int32_t>(3464840L)),
+ mp_float(static_cast<boost::int32_t>(147440L)),
+ mp_float(static_cast<boost::int32_t>(4656L)),
+ mp_float(static_cast<boost::int32_t>(97L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_97_vect(A007318_97_data.begin(), A007318_97_data.end());
+
+ return A007318_97_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_98(void)
+ {
+ static const boost::array<mp_float, 99u> A007318_98_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(98L)),
+ mp_float(static_cast<boost::int32_t>(4753L)),
+ mp_float(static_cast<boost::int32_t>(152096L)),
+ mp_float(static_cast<boost::int32_t>(3612280L)),
+ mp_float(static_cast<boost::int32_t>(67910864L)),
+ mp_float(static_cast<boost::int32_t>(1052618392L)),
+ mp_float(static_cast<boost::int64_t>(13834413152LL)),
+ mp_float(static_cast<boost::int64_t>(157366449604LL)),
+ mp_float(static_cast<boost::int64_t>(1573664496040LL)),
+ mp_float(static_cast<boost::int64_t>(14005614014756LL)),
+ mp_float(static_cast<boost::int64_t>(112044912118048LL)),
+ mp_float(static_cast<boost::int64_t>(812325612855848LL)),
+ mp_float(static_cast<boost::int64_t>(5373846361969456LL)),
+ mp_float(static_cast<boost::int64_t>(32626924340528840LL)),
+ mp_float(static_cast<boost::int64_t>(182710776306961504LL)),
+ mp_float(static_cast<boost::int64_t>(947812152092362802LL)),
+ mp_float(static_cast<boost::int64_t>(4571799792445514692LL)),
+ mp_float("20573099066004816114"),
+ mp_float("86623575014757120480"),
+ mp_float("342163121308290625896"),
+ mp_float("1270891593430793753328"),
+ mp_float("4448120577007778136648"),
+ mp_float("14698137558808310364576"),
+ mp_float("45931679871275969889300"),
+ mp_float("135957772418976870872328"),
+ mp_float("381727591791742752833844"),
+ mp_float("1017940244777980674223584"),
+ mp_float("2581205620687022423924088"),
+ mp_float("6230496325796261023265040"),
+ mp_float("14330141549331400353509592"),
+ mp_float("31433858882404362065762976"),
+ mp_float("65814642035034133075191231"),
+ mp_float("131629284070068266150382462"),
+ mp_float("251644219545718744111025295"),
+ mp_float("460149430026457132088731968"),
+ mp_float("805261502546299981155280944"),
+ mp_float("1349357112374881049503443744"),
+ mp_float("2166073259338624842623949168"),
+ mp_float("3332420398982499757882998720"),
+ mp_float("4915320088499187142877423112"),
+ mp_float("6953379637389094006997330256"),
+ mp_float("9436729507885199009496376776"),
+ mp_float("12289694242827235919344118592"),
+ mp_float("15362117803534044899180148240"),
+ mp_float("18434541364240853879016177888"),
+ mp_float("21239797658799244686692552784"),
+ mp_float("23499350601224696249106654144"),
+ mp_float("24968060013801239764675820028"),
+ mp_float("25477612258980856902730428600"),
+ mp_float("24968060013801239764675820028"),
+ mp_float("23499350601224696249106654144"),
+ mp_float("21239797658799244686692552784"),
+ mp_float("18434541364240853879016177888"),
+ mp_float("15362117803534044899180148240"),
+ mp_float("12289694242827235919344118592"),
+ mp_float("9436729507885199009496376776"),
+ mp_float("6953379637389094006997330256"),
+ mp_float("4915320088499187142877423112"),
+ mp_float("3332420398982499757882998720"),
+ mp_float("2166073259338624842623949168"),
+ mp_float("1349357112374881049503443744"),
+ mp_float("805261502546299981155280944"),
+ mp_float("460149430026457132088731968"),
+ mp_float("251644219545718744111025295"),
+ mp_float("131629284070068266150382462"),
+ mp_float("65814642035034133075191231"),
+ mp_float("31433858882404362065762976"),
+ mp_float("14330141549331400353509592"),
+ mp_float("6230496325796261023265040"),
+ mp_float("2581205620687022423924088"),
+ mp_float("1017940244777980674223584"),
+ mp_float("381727591791742752833844"),
+ mp_float("135957772418976870872328"),
+ mp_float("45931679871275969889300"),
+ mp_float("14698137558808310364576"),
+ mp_float("4448120577007778136648"),
+ mp_float("1270891593430793753328"),
+ mp_float("342163121308290625896"),
+ mp_float("86623575014757120480"),
+ mp_float("20573099066004816114"),
+ mp_float(static_cast<boost::int64_t>(4571799792445514692LL)),
+ mp_float(static_cast<boost::int64_t>(947812152092362802LL)),
+ mp_float(static_cast<boost::int64_t>(182710776306961504LL)),
+ mp_float(static_cast<boost::int64_t>(32626924340528840LL)),
+ mp_float(static_cast<boost::int64_t>(5373846361969456LL)),
+ mp_float(static_cast<boost::int64_t>(812325612855848LL)),
+ mp_float(static_cast<boost::int64_t>(112044912118048LL)),
+ mp_float(static_cast<boost::int64_t>(14005614014756LL)),
+ mp_float(static_cast<boost::int64_t>(1573664496040LL)),
+ mp_float(static_cast<boost::int64_t>(157366449604LL)),
+ mp_float(static_cast<boost::int64_t>(13834413152LL)),
+ mp_float(static_cast<boost::int32_t>(1052618392L)),
+ mp_float(static_cast<boost::int32_t>(67910864L)),
+ mp_float(static_cast<boost::int32_t>(3612280L)),
+ mp_float(static_cast<boost::int32_t>(152096L)),
+ mp_float(static_cast<boost::int32_t>(4753L)),
+ mp_float(static_cast<boost::int32_t>(98L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_98_vect(A007318_98_data.begin(), A007318_98_data.end());
+
+ return A007318_98_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_99(void)
+ {
+ static const boost::array<mp_float, 100u> A007318_99_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(99L)),
+ mp_float(static_cast<boost::int32_t>(4851L)),
+ mp_float(static_cast<boost::int32_t>(156849L)),
+ mp_float(static_cast<boost::int32_t>(3764376L)),
+ mp_float(static_cast<boost::int32_t>(71523144L)),
+ mp_float(static_cast<boost::int32_t>(1120529256L)),
+ mp_float(static_cast<boost::int64_t>(14887031544LL)),
+ mp_float(static_cast<boost::int64_t>(171200862756LL)),
+ mp_float(static_cast<boost::int64_t>(1731030945644LL)),
+ mp_float(static_cast<boost::int64_t>(15579278510796LL)),
+ mp_float(static_cast<boost::int64_t>(126050526132804LL)),
+ mp_float(static_cast<boost::int64_t>(924370524973896LL)),
+ mp_float(static_cast<boost::int64_t>(6186171974825304LL)),
+ mp_float(static_cast<boost::int64_t>(38000770702498296LL)),
+ mp_float(static_cast<boost::int64_t>(215337700647490344LL)),
+ mp_float(static_cast<boost::int64_t>(1130522928399324306LL)),
+ mp_float(static_cast<boost::int64_t>(5519611944537877494LL)),
+ mp_float("25144898858450330806"),
+ mp_float("107196674080761936594"),
+ mp_float("428786696323047746376"),
+ mp_float("1613054714739084379224"),
+ mp_float("5719012170438571889976"),
+ mp_float("19146258135816088501224"),
+ mp_float("60629817430084280253876"),
+ mp_float("181889452290252840761628"),
+ mp_float("517685364210719623706172"),
+ mp_float("1399667836569723427057428"),
+ mp_float("3599145865465003098147672"),
+ mp_float("8811701946483283447189128"),
+ mp_float("20560637875127661376774632"),
+ mp_float("45764000431735762419272568"),
+ mp_float("97248500917438495140954207"),
+ mp_float("197443926105102399225573693"),
+ mp_float("383273503615787010261407757"),
+ mp_float("711793649572175876199757263"),
+ mp_float("1265410932572757113244012912"),
+ mp_float("2154618614921181030658724688"),
+ mp_float("3515430371713505892127392912"),
+ mp_float("5498493658321124600506947888"),
+ mp_float("8247740487481686900760421832"),
+ mp_float("11868699725888281149874753368"),
+ mp_float("16390109145274293016493707032"),
+ mp_float("21726423750712434928840495368"),
+ mp_float("27651812046361280818524266832"),
+ mp_float("33796659167774898778196326128"),
+ mp_float("39674339023040098565708730672"),
+ mp_float("44739148260023940935799206928"),
+ mp_float("48467410615025936013782474172"),
+ mp_float("50445672272782096667406248628"),
+ mp_float("50445672272782096667406248628"),
+ mp_float("48467410615025936013782474172"),
+ mp_float("44739148260023940935799206928"),
+ mp_float("39674339023040098565708730672"),
+ mp_float("33796659167774898778196326128"),
+ mp_float("27651812046361280818524266832"),
+ mp_float("21726423750712434928840495368"),
+ mp_float("16390109145274293016493707032"),
+ mp_float("11868699725888281149874753368"),
+ mp_float("8247740487481686900760421832"),
+ mp_float("5498493658321124600506947888"),
+ mp_float("3515430371713505892127392912"),
+ mp_float("2154618614921181030658724688"),
+ mp_float("1265410932572757113244012912"),
+ mp_float("711793649572175876199757263"),
+ mp_float("383273503615787010261407757"),
+ mp_float("197443926105102399225573693"),
+ mp_float("97248500917438495140954207"),
+ mp_float("45764000431735762419272568"),
+ mp_float("20560637875127661376774632"),
+ mp_float("8811701946483283447189128"),
+ mp_float("3599145865465003098147672"),
+ mp_float("1399667836569723427057428"),
+ mp_float("517685364210719623706172"),
+ mp_float("181889452290252840761628"),
+ mp_float("60629817430084280253876"),
+ mp_float("19146258135816088501224"),
+ mp_float("5719012170438571889976"),
+ mp_float("1613054714739084379224"),
+ mp_float("428786696323047746376"),
+ mp_float("107196674080761936594"),
+ mp_float("25144898858450330806"),
+ mp_float(static_cast<boost::int64_t>(5519611944537877494LL)),
+ mp_float(static_cast<boost::int64_t>(1130522928399324306LL)),
+ mp_float(static_cast<boost::int64_t>(215337700647490344LL)),
+ mp_float(static_cast<boost::int64_t>(38000770702498296LL)),
+ mp_float(static_cast<boost::int64_t>(6186171974825304LL)),
+ mp_float(static_cast<boost::int64_t>(924370524973896LL)),
+ mp_float(static_cast<boost::int64_t>(126050526132804LL)),
+ mp_float(static_cast<boost::int64_t>(15579278510796LL)),
+ mp_float(static_cast<boost::int64_t>(1731030945644LL)),
+ mp_float(static_cast<boost::int64_t>(171200862756LL)),
+ mp_float(static_cast<boost::int64_t>(14887031544LL)),
+ mp_float(static_cast<boost::int32_t>(1120529256L)),
+ mp_float(static_cast<boost::int32_t>(71523144L)),
+ mp_float(static_cast<boost::int32_t>(3764376L)),
+ mp_float(static_cast<boost::int32_t>(156849L)),
+ mp_float(static_cast<boost::int32_t>(4851L)),
+ mp_float(static_cast<boost::int32_t>(99L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_99_vect(A007318_99_data.begin(), A007318_99_data.end());
+
+ return A007318_99_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_100(void)
+ {
+ static const boost::array<mp_float, 101u> A007318_100_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(100L)),
+ mp_float(static_cast<boost::int32_t>(4950L)),
+ mp_float(static_cast<boost::int32_t>(161700L)),
+ mp_float(static_cast<boost::int32_t>(3921225L)),
+ mp_float(static_cast<boost::int32_t>(75287520L)),
+ mp_float(static_cast<boost::int32_t>(1192052400L)),
+ mp_float(static_cast<boost::int64_t>(16007560800LL)),
+ mp_float(static_cast<boost::int64_t>(186087894300LL)),
+ mp_float(static_cast<boost::int64_t>(1902231808400LL)),
+ mp_float(static_cast<boost::int64_t>(17310309456440LL)),
+ mp_float(static_cast<boost::int64_t>(141629804643600LL)),
+ mp_float(static_cast<boost::int64_t>(1050421051106700LL)),
+ mp_float(static_cast<boost::int64_t>(7110542499799200LL)),
+ mp_float(static_cast<boost::int64_t>(44186942677323600LL)),
+ mp_float(static_cast<boost::int64_t>(253338471349988640LL)),
+ mp_float(static_cast<boost::int64_t>(1345860629046814650LL)),
+ mp_float(static_cast<boost::int64_t>(6650134872937201800LL)),
+ mp_float("30664510802988208300"),
+ mp_float("132341572939212267400"),
+ mp_float("535983370403809682970"),
+ mp_float("2041841411062132125600"),
+ mp_float("7332066885177656269200"),
+ mp_float("24865270306254660391200"),
+ mp_float("79776075565900368755100"),
+ mp_float("242519269720337121015504"),
+ mp_float("699574816500972464467800"),
+ mp_float("1917353200780443050763600"),
+ mp_float("4998813702034726525205100"),
+ mp_float("12410847811948286545336800"),
+ mp_float("29372339821610944823963760"),
+ mp_float("66324638306863423796047200"),
+ mp_float("143012501349174257560226775"),
+ mp_float("294692427022540894366527900"),
+ mp_float("580717429720889409486981450"),
+ mp_float("1095067153187962886461165020"),
+ mp_float("1977204582144932989443770175"),
+ mp_float("3420029547493938143902737600"),
+ mp_float("5670048986634686922786117600"),
+ mp_float("9013924030034630492634340800"),
+ mp_float("13746234145802811501267369720"),
+ mp_float("20116440213369968050635175200"),
+ mp_float("28258808871162574166368460400"),
+ mp_float("38116532895986727945334202400"),
+ mp_float("49378235797073715747364762200"),
+ mp_float("61448471214136179596720592960"),
+ mp_float("73470998190814997343905056800"),
+ mp_float("84413487283064039501507937600"),
+ mp_float("93206558875049876949581681100"),
+ mp_float("98913082887808032681188722800"),
+ mp_float("100891344545564193334812497256"),
+ mp_float("98913082887808032681188722800"),
+ mp_float("93206558875049876949581681100"),
+ mp_float("84413487283064039501507937600"),
+ mp_float("73470998190814997343905056800"),
+ mp_float("61448471214136179596720592960"),
+ mp_float("49378235797073715747364762200"),
+ mp_float("38116532895986727945334202400"),
+ mp_float("28258808871162574166368460400"),
+ mp_float("20116440213369968050635175200"),
+ mp_float("13746234145802811501267369720"),
+ mp_float("9013924030034630492634340800"),
+ mp_float("5670048986634686922786117600"),
+ mp_float("3420029547493938143902737600"),
+ mp_float("1977204582144932989443770175"),
+ mp_float("1095067153187962886461165020"),
+ mp_float("580717429720889409486981450"),
+ mp_float("294692427022540894366527900"),
+ mp_float("143012501349174257560226775"),
+ mp_float("66324638306863423796047200"),
+ mp_float("29372339821610944823963760"),
+ mp_float("12410847811948286545336800"),
+ mp_float("4998813702034726525205100"),
+ mp_float("1917353200780443050763600"),
+ mp_float("699574816500972464467800"),
+ mp_float("242519269720337121015504"),
+ mp_float("79776075565900368755100"),
+ mp_float("24865270306254660391200"),
+ mp_float("7332066885177656269200"),
+ mp_float("2041841411062132125600"),
+ mp_float("535983370403809682970"),
+ mp_float("132341572939212267400"),
+ mp_float("30664510802988208300"),
+ mp_float(static_cast<boost::int64_t>(6650134872937201800LL)),
+ mp_float(static_cast<boost::int64_t>(1345860629046814650LL)),
+ mp_float(static_cast<boost::int64_t>(253338471349988640LL)),
+ mp_float(static_cast<boost::int64_t>(44186942677323600LL)),
+ mp_float(static_cast<boost::int64_t>(7110542499799200LL)),
+ mp_float(static_cast<boost::int64_t>(1050421051106700LL)),
+ mp_float(static_cast<boost::int64_t>(141629804643600LL)),
+ mp_float(static_cast<boost::int64_t>(17310309456440LL)),
+ mp_float(static_cast<boost::int64_t>(1902231808400LL)),
+ mp_float(static_cast<boost::int64_t>(186087894300LL)),
+ mp_float(static_cast<boost::int64_t>(16007560800LL)),
+ mp_float(static_cast<boost::int32_t>(1192052400L)),
+ mp_float(static_cast<boost::int32_t>(75287520L)),
+ mp_float(static_cast<boost::int32_t>(3921225L)),
+ mp_float(static_cast<boost::int32_t>(161700L)),
+ mp_float(static_cast<boost::int32_t>(4950L)),
+ mp_float(static_cast<boost::int32_t>(100L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_100_vect(A007318_100_data.begin(), A007318_100_data.end());
+
+ return A007318_100_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_101(void)
+ {
+ static const boost::array<mp_float, 102u> A007318_101_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(101L)),
+ mp_float(static_cast<boost::int32_t>(5050L)),
+ mp_float(static_cast<boost::int32_t>(166650L)),
+ mp_float(static_cast<boost::int32_t>(4082925L)),
+ mp_float(static_cast<boost::int32_t>(79208745L)),
+ mp_float(static_cast<boost::int32_t>(1267339920L)),
+ mp_float(static_cast<boost::int64_t>(17199613200LL)),
+ mp_float(static_cast<boost::int64_t>(202095455100LL)),
+ mp_float(static_cast<boost::int64_t>(2088319702700LL)),
+ mp_float(static_cast<boost::int64_t>(19212541264840LL)),
+ mp_float(static_cast<boost::int64_t>(158940114100040LL)),
+ mp_float(static_cast<boost::int64_t>(1192050855750300LL)),
+ mp_float(static_cast<boost::int64_t>(8160963550905900LL)),
+ mp_float(static_cast<boost::int64_t>(51297485177122800LL)),
+ mp_float(static_cast<boost::int64_t>(297525414027312240LL)),
+ mp_float(static_cast<boost::int64_t>(1599199100396803290LL)),
+ mp_float(static_cast<boost::int64_t>(7995995501984016450LL)),
+ mp_float("37314645675925410100"),
+ mp_float("163006083742200475700"),
+ mp_float("668324943343021950370"),
+ mp_float("2577824781465941808570"),
+ mp_float("9373908296239788394800"),
+ mp_float("32197337191432316660400"),
+ mp_float("104641345872155029146300"),
+ mp_float("322295345286237489770604"),
+ mp_float("942094086221309585483304"),
+ mp_float("2616928017281415515231400"),
+ mp_float("6916166902815169575968700"),
+ mp_float("17409661513983013070541900"),
+ mp_float("41783187633559231369300560"),
+ mp_float("95696978128474368620010960"),
+ mp_float("209337139656037681356273975"),
+ mp_float("437704928371715151926754675"),
+ mp_float("875409856743430303853509350"),
+ mp_float("1675784582908852295948146470"),
+ mp_float("3072271735332895875904935195"),
+ mp_float("5397234129638871133346507775"),
+ mp_float("9090078534128625066688855200"),
+ mp_float("14683973016669317415420458400"),
+ mp_float("22760158175837441993901710520"),
+ mp_float("33862674359172779551902544920"),
+ mp_float("48375249084532542217003635600"),
+ mp_float("66375341767149302111702662800"),
+ mp_float("87494768693060443692698964600"),
+ mp_float("110826707011209895344085355160"),
+ mp_float("134919469404951176940625649760"),
+ mp_float("157884485473879036845412994400"),
+ mp_float("177620046158113916451089618700"),
+ mp_float("192119641762857909630770403900"),
+ mp_float("199804427433372226016001220056"),
+ mp_float("199804427433372226016001220056"),
+ mp_float("192119641762857909630770403900"),
+ mp_float("177620046158113916451089618700"),
+ mp_float("157884485473879036845412994400"),
+ mp_float("134919469404951176940625649760"),
+ mp_float("110826707011209895344085355160"),
+ mp_float("87494768693060443692698964600"),
+ mp_float("66375341767149302111702662800"),
+ mp_float("48375249084532542217003635600"),
+ mp_float("33862674359172779551902544920"),
+ mp_float("22760158175837441993901710520"),
+ mp_float("14683973016669317415420458400"),
+ mp_float("9090078534128625066688855200"),
+ mp_float("5397234129638871133346507775"),
+ mp_float("3072271735332895875904935195"),
+ mp_float("1675784582908852295948146470"),
+ mp_float("875409856743430303853509350"),
+ mp_float("437704928371715151926754675"),
+ mp_float("209337139656037681356273975"),
+ mp_float("95696978128474368620010960"),
+ mp_float("41783187633559231369300560"),
+ mp_float("17409661513983013070541900"),
+ mp_float("6916166902815169575968700"),
+ mp_float("2616928017281415515231400"),
+ mp_float("942094086221309585483304"),
+ mp_float("322295345286237489770604"),
+ mp_float("104641345872155029146300"),
+ mp_float("32197337191432316660400"),
+ mp_float("9373908296239788394800"),
+ mp_float("2577824781465941808570"),
+ mp_float("668324943343021950370"),
+ mp_float("163006083742200475700"),
+ mp_float("37314645675925410100"),
+ mp_float(static_cast<boost::int64_t>(7995995501984016450LL)),
+ mp_float(static_cast<boost::int64_t>(1599199100396803290LL)),
+ mp_float(static_cast<boost::int64_t>(297525414027312240LL)),
+ mp_float(static_cast<boost::int64_t>(51297485177122800LL)),
+ mp_float(static_cast<boost::int64_t>(8160963550905900LL)),
+ mp_float(static_cast<boost::int64_t>(1192050855750300LL)),
+ mp_float(static_cast<boost::int64_t>(158940114100040LL)),
+ mp_float(static_cast<boost::int64_t>(19212541264840LL)),
+ mp_float(static_cast<boost::int64_t>(2088319702700LL)),
+ mp_float(static_cast<boost::int64_t>(202095455100LL)),
+ mp_float(static_cast<boost::int64_t>(17199613200LL)),
+ mp_float(static_cast<boost::int32_t>(1267339920L)),
+ mp_float(static_cast<boost::int32_t>(79208745L)),
+ mp_float(static_cast<boost::int32_t>(4082925L)),
+ mp_float(static_cast<boost::int32_t>(166650L)),
+ mp_float(static_cast<boost::int32_t>(5050L)),
+ mp_float(static_cast<boost::int32_t>(101L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_101_vect(A007318_101_data.begin(), A007318_101_data.end());
+
+ return A007318_101_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_102(void)
+ {
+ static const boost::array<mp_float, 103u> A007318_102_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(102L)),
+ mp_float(static_cast<boost::int32_t>(5151L)),
+ mp_float(static_cast<boost::int32_t>(171700L)),
+ mp_float(static_cast<boost::int32_t>(4249575L)),
+ mp_float(static_cast<boost::int32_t>(83291670L)),
+ mp_float(static_cast<boost::int32_t>(1346548665L)),
+ mp_float(static_cast<boost::int64_t>(18466953120LL)),
+ mp_float(static_cast<boost::int64_t>(219295068300LL)),
+ mp_float(static_cast<boost::int64_t>(2290415157800LL)),
+ mp_float(static_cast<boost::int64_t>(21300860967540LL)),
+ mp_float(static_cast<boost::int64_t>(178152655364880LL)),
+ mp_float(static_cast<boost::int64_t>(1350990969850340LL)),
+ mp_float(static_cast<boost::int64_t>(9353014406656200LL)),
+ mp_float(static_cast<boost::int64_t>(59458448728028700LL)),
+ mp_float(static_cast<boost::int64_t>(348822899204435040LL)),
+ mp_float(static_cast<boost::int64_t>(1896724514424115530LL)),
+ mp_float("9595194602380819740"),
+ mp_float("45310641177909426550"),
+ mp_float("200320729418125885800"),
+ mp_float("831331027085222426070"),
+ mp_float("3246149724808963758940"),
+ mp_float("11951733077705730203370"),
+ mp_float("41571245487672105055200"),
+ mp_float("136838683063587345806700"),
+ mp_float("426936691158392518916904"),
+ mp_float("1264389431507547075253908"),
+ mp_float("3559022103502725100714704"),
+ mp_float("9533094920096585091200100"),
+ mp_float("24325828416798182646510600"),
+ mp_float("59192849147542244439842460"),
+ mp_float("137480165762033599989311520"),
+ mp_float("305034117784512049976284935"),
+ mp_float("647042068027752833283028650"),
+ mp_float("1313114785115145455780264025"),
+ mp_float("2551194439652282599801655820"),
+ mp_float("4748056318241748171853081665"),
+ mp_float("8469505864971767009251442970"),
+ mp_float("14487312663767496200035362975"),
+ mp_float("23774051550797942482109313600"),
+ mp_float("37444131192506759409322168920"),
+ mp_float("56622832535010221545804255440"),
+ mp_float("82237923443705321768906180520"),
+ mp_float("114750590851681844328706298400"),
+ mp_float("153870110460209745804401627400"),
+ mp_float("198321475704270339036784319760"),
+ mp_float("245746176416161072284711004920"),
+ mp_float("292803954878830213786038644160"),
+ mp_float("335504531631992953296502613100"),
+ mp_float("369739687920971826081860022600"),
+ mp_float("391924069196230135646771623956"),
+ mp_float("399608854866744452032002440112"),
+ mp_float("391924069196230135646771623956"),
+ mp_float("369739687920971826081860022600"),
+ mp_float("335504531631992953296502613100"),
+ mp_float("292803954878830213786038644160"),
+ mp_float("245746176416161072284711004920"),
+ mp_float("198321475704270339036784319760"),
+ mp_float("153870110460209745804401627400"),
+ mp_float("114750590851681844328706298400"),
+ mp_float("82237923443705321768906180520"),
+ mp_float("56622832535010221545804255440"),
+ mp_float("37444131192506759409322168920"),
+ mp_float("23774051550797942482109313600"),
+ mp_float("14487312663767496200035362975"),
+ mp_float("8469505864971767009251442970"),
+ mp_float("4748056318241748171853081665"),
+ mp_float("2551194439652282599801655820"),
+ mp_float("1313114785115145455780264025"),
+ mp_float("647042068027752833283028650"),
+ mp_float("305034117784512049976284935"),
+ mp_float("137480165762033599989311520"),
+ mp_float("59192849147542244439842460"),
+ mp_float("24325828416798182646510600"),
+ mp_float("9533094920096585091200100"),
+ mp_float("3559022103502725100714704"),
+ mp_float("1264389431507547075253908"),
+ mp_float("426936691158392518916904"),
+ mp_float("136838683063587345806700"),
+ mp_float("41571245487672105055200"),
+ mp_float("11951733077705730203370"),
+ mp_float("3246149724808963758940"),
+ mp_float("831331027085222426070"),
+ mp_float("200320729418125885800"),
+ mp_float("45310641177909426550"),
+ mp_float("9595194602380819740"),
+ mp_float(static_cast<boost::int64_t>(1896724514424115530LL)),
+ mp_float(static_cast<boost::int64_t>(348822899204435040LL)),
+ mp_float(static_cast<boost::int64_t>(59458448728028700LL)),
+ mp_float(static_cast<boost::int64_t>(9353014406656200LL)),
+ mp_float(static_cast<boost::int64_t>(1350990969850340LL)),
+ mp_float(static_cast<boost::int64_t>(178152655364880LL)),
+ mp_float(static_cast<boost::int64_t>(21300860967540LL)),
+ mp_float(static_cast<boost::int64_t>(2290415157800LL)),
+ mp_float(static_cast<boost::int64_t>(219295068300LL)),
+ mp_float(static_cast<boost::int64_t>(18466953120LL)),
+ mp_float(static_cast<boost::int32_t>(1346548665L)),
+ mp_float(static_cast<boost::int32_t>(83291670L)),
+ mp_float(static_cast<boost::int32_t>(4249575L)),
+ mp_float(static_cast<boost::int32_t>(171700L)),
+ mp_float(static_cast<boost::int32_t>(5151L)),
+ mp_float(static_cast<boost::int32_t>(102L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_102_vect(A007318_102_data.begin(), A007318_102_data.end());
+
+ return A007318_102_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_103(void)
+ {
+ static const boost::array<mp_float, 104u> A007318_103_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(103L)),
+ mp_float(static_cast<boost::int32_t>(5253L)),
+ mp_float(static_cast<boost::int32_t>(176851L)),
+ mp_float(static_cast<boost::int32_t>(4421275L)),
+ mp_float(static_cast<boost::int32_t>(87541245L)),
+ mp_float(static_cast<boost::int32_t>(1429840335L)),
+ mp_float(static_cast<boost::int64_t>(19813501785LL)),
+ mp_float(static_cast<boost::int64_t>(237762021420LL)),
+ mp_float(static_cast<boost::int64_t>(2509710226100LL)),
+ mp_float(static_cast<boost::int64_t>(23591276125340LL)),
+ mp_float(static_cast<boost::int64_t>(199453516332420LL)),
+ mp_float(static_cast<boost::int64_t>(1529143625215220LL)),
+ mp_float(static_cast<boost::int64_t>(10704005376506540LL)),
+ mp_float(static_cast<boost::int64_t>(68811463134684900LL)),
+ mp_float(static_cast<boost::int64_t>(408281347932463740LL)),
+ mp_float(static_cast<boost::int64_t>(2245547413628550570LL)),
+ mp_float("11491919116804935270"),
+ mp_float("54905835780290246290"),
+ mp_float("245631370596035312350"),
+ mp_float("1031651756503348311870"),
+ mp_float("4077480751894186185010"),
+ mp_float("15197882802514693962310"),
+ mp_float("53522978565377835258570"),
+ mp_float("178409928551259450861900"),
+ mp_float("563775374221979864723604"),
+ mp_float("1691326122665939594170812"),
+ mp_float("4823411535010272175968612"),
+ mp_float("13092117023599310191914804"),
+ mp_float("33858923336894767737710700"),
+ mp_float("83518677564340427086353060"),
+ mp_float("196673014909575844429153980"),
+ mp_float("442514283546545649965596455"),
+ mp_float("952076185812264883259313585"),
+ mp_float("1960156853142898289063292675"),
+ mp_float("3864309224767428055581919845"),
+ mp_float("7299250757894030771654737485"),
+ mp_float("13217562183213515181104524635"),
+ mp_float("22956818528739263209286805945"),
+ mp_float("38261364214565438682144676575"),
+ mp_float("61218182743304701891431482520"),
+ mp_float("94066963727516980955126424360"),
+ mp_float("138860755978715543314710435960"),
+ mp_float("196988514295387166097612478920"),
+ mp_float("268620701311891590133107925800"),
+ mp_float("352191586164480084841185947160"),
+ mp_float("444067652120431411321495324680"),
+ mp_float("538550131294991286070749649080"),
+ mp_float("628308486510823167082541257260"),
+ mp_float("705244219552964779378362635700"),
+ mp_float("761663757117201961728631646556"),
+ mp_float("791532924062974587678774064068"),
+ mp_float("791532924062974587678774064068"),
+ mp_float("761663757117201961728631646556"),
+ mp_float("705244219552964779378362635700"),
+ mp_float("628308486510823167082541257260"),
+ mp_float("538550131294991286070749649080"),
+ mp_float("444067652120431411321495324680"),
+ mp_float("352191586164480084841185947160"),
+ mp_float("268620701311891590133107925800"),
+ mp_float("196988514295387166097612478920"),
+ mp_float("138860755978715543314710435960"),
+ mp_float("94066963727516980955126424360"),
+ mp_float("61218182743304701891431482520"),
+ mp_float("38261364214565438682144676575"),
+ mp_float("22956818528739263209286805945"),
+ mp_float("13217562183213515181104524635"),
+ mp_float("7299250757894030771654737485"),
+ mp_float("3864309224767428055581919845"),
+ mp_float("1960156853142898289063292675"),
+ mp_float("952076185812264883259313585"),
+ mp_float("442514283546545649965596455"),
+ mp_float("196673014909575844429153980"),
+ mp_float("83518677564340427086353060"),
+ mp_float("33858923336894767737710700"),
+ mp_float("13092117023599310191914804"),
+ mp_float("4823411535010272175968612"),
+ mp_float("1691326122665939594170812"),
+ mp_float("563775374221979864723604"),
+ mp_float("178409928551259450861900"),
+ mp_float("53522978565377835258570"),
+ mp_float("15197882802514693962310"),
+ mp_float("4077480751894186185010"),
+ mp_float("1031651756503348311870"),
+ mp_float("245631370596035312350"),
+ mp_float("54905835780290246290"),
+ mp_float("11491919116804935270"),
+ mp_float(static_cast<boost::int64_t>(2245547413628550570LL)),
+ mp_float(static_cast<boost::int64_t>(408281347932463740LL)),
+ mp_float(static_cast<boost::int64_t>(68811463134684900LL)),
+ mp_float(static_cast<boost::int64_t>(10704005376506540LL)),
+ mp_float(static_cast<boost::int64_t>(1529143625215220LL)),
+ mp_float(static_cast<boost::int64_t>(199453516332420LL)),
+ mp_float(static_cast<boost::int64_t>(23591276125340LL)),
+ mp_float(static_cast<boost::int64_t>(2509710226100LL)),
+ mp_float(static_cast<boost::int64_t>(237762021420LL)),
+ mp_float(static_cast<boost::int64_t>(19813501785LL)),
+ mp_float(static_cast<boost::int32_t>(1429840335L)),
+ mp_float(static_cast<boost::int32_t>(87541245L)),
+ mp_float(static_cast<boost::int32_t>(4421275L)),
+ mp_float(static_cast<boost::int32_t>(176851L)),
+ mp_float(static_cast<boost::int32_t>(5253L)),
+ mp_float(static_cast<boost::int32_t>(103L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_103_vect(A007318_103_data.begin(), A007318_103_data.end());
+
+ return A007318_103_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_104(void)
+ {
+ static const boost::array<mp_float, 105u> A007318_104_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(104L)),
+ mp_float(static_cast<boost::int32_t>(5356L)),
+ mp_float(static_cast<boost::int32_t>(182104L)),
+ mp_float(static_cast<boost::int32_t>(4598126L)),
+ mp_float(static_cast<boost::int32_t>(91962520L)),
+ mp_float(static_cast<boost::int32_t>(1517381580L)),
+ mp_float(static_cast<boost::int64_t>(21243342120LL)),
+ mp_float(static_cast<boost::int64_t>(257575523205LL)),
+ mp_float(static_cast<boost::int64_t>(2747472247520LL)),
+ mp_float(static_cast<boost::int64_t>(26100986351440LL)),
+ mp_float(static_cast<boost::int64_t>(223044792457760LL)),
+ mp_float(static_cast<boost::int64_t>(1728597141547640LL)),
+ mp_float(static_cast<boost::int64_t>(12233149001721760LL)),
+ mp_float(static_cast<boost::int64_t>(79515468511191440LL)),
+ mp_float(static_cast<boost::int64_t>(477092811067148640LL)),
+ mp_float(static_cast<boost::int64_t>(2653828761561014310LL)),
+ mp_float("13737466530433485840"),
+ mp_float("66397754897095181560"),
+ mp_float("300537206376325558640"),
+ mp_float("1277283127099383624220"),
+ mp_float("5109132508397534496880"),
+ mp_float("19275363554408880147320"),
+ mp_float("68720861367892529220880"),
+ mp_float("231932907116637286120470"),
+ mp_float("742185302773239315585504"),
+ mp_float("2255101496887919458894416"),
+ mp_float("6514737657676211770139424"),
+ mp_float("17915528558609582367883416"),
+ mp_float("46951040360494077929625504"),
+ mp_float("117377600901235194824063760"),
+ mp_float("280191692473916271515507040"),
+ mp_float("639187298456121494394750435"),
+ mp_float("1394590469358810533224910040"),
+ mp_float("2912233038955163172322606260"),
+ mp_float("5824466077910326344645212520"),
+ mp_float("11163559982661458827236657330"),
+ mp_float("20516812941107545952759262120"),
+ mp_float("36174380711952778390391330580"),
+ mp_float("61218182743304701891431482520"),
+ mp_float("99479546957870140573576159095"),
+ mp_float("155285146470821682846557906880"),
+ mp_float("232927719706232524269836860320"),
+ mp_float("335849270274102709412322914880"),
+ mp_float("465609215607278756230720404720"),
+ mp_float("620812287476371674974293872960"),
+ mp_float("796259238284911496162681271840"),
+ mp_float("982617783415422697392244973760"),
+ mp_float("1166858617805814453153290906340"),
+ mp_float("1333552706063787946460903892960"),
+ mp_float("1466907976670166741106994282256"),
+ mp_float("1553196681180176549407405710624"),
+ mp_float("1583065848125949175357548128136"),
+ mp_float("1553196681180176549407405710624"),
+ mp_float("1466907976670166741106994282256"),
+ mp_float("1333552706063787946460903892960"),
+ mp_float("1166858617805814453153290906340"),
+ mp_float("982617783415422697392244973760"),
+ mp_float("796259238284911496162681271840"),
+ mp_float("620812287476371674974293872960"),
+ mp_float("465609215607278756230720404720"),
+ mp_float("335849270274102709412322914880"),
+ mp_float("232927719706232524269836860320"),
+ mp_float("155285146470821682846557906880"),
+ mp_float("99479546957870140573576159095"),
+ mp_float("61218182743304701891431482520"),
+ mp_float("36174380711952778390391330580"),
+ mp_float("20516812941107545952759262120"),
+ mp_float("11163559982661458827236657330"),
+ mp_float("5824466077910326344645212520"),
+ mp_float("2912233038955163172322606260"),
+ mp_float("1394590469358810533224910040"),
+ mp_float("639187298456121494394750435"),
+ mp_float("280191692473916271515507040"),
+ mp_float("117377600901235194824063760"),
+ mp_float("46951040360494077929625504"),
+ mp_float("17915528558609582367883416"),
+ mp_float("6514737657676211770139424"),
+ mp_float("2255101496887919458894416"),
+ mp_float("742185302773239315585504"),
+ mp_float("231932907116637286120470"),
+ mp_float("68720861367892529220880"),
+ mp_float("19275363554408880147320"),
+ mp_float("5109132508397534496880"),
+ mp_float("1277283127099383624220"),
+ mp_float("300537206376325558640"),
+ mp_float("66397754897095181560"),
+ mp_float("13737466530433485840"),
+ mp_float(static_cast<boost::int64_t>(2653828761561014310LL)),
+ mp_float(static_cast<boost::int64_t>(477092811067148640LL)),
+ mp_float(static_cast<boost::int64_t>(79515468511191440LL)),
+ mp_float(static_cast<boost::int64_t>(12233149001721760LL)),
+ mp_float(static_cast<boost::int64_t>(1728597141547640LL)),
+ mp_float(static_cast<boost::int64_t>(223044792457760LL)),
+ mp_float(static_cast<boost::int64_t>(26100986351440LL)),
+ mp_float(static_cast<boost::int64_t>(2747472247520LL)),
+ mp_float(static_cast<boost::int64_t>(257575523205LL)),
+ mp_float(static_cast<boost::int64_t>(21243342120LL)),
+ mp_float(static_cast<boost::int32_t>(1517381580L)),
+ mp_float(static_cast<boost::int32_t>(91962520L)),
+ mp_float(static_cast<boost::int32_t>(4598126L)),
+ mp_float(static_cast<boost::int32_t>(182104L)),
+ mp_float(static_cast<boost::int32_t>(5356L)),
+ mp_float(static_cast<boost::int32_t>(104L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_104_vect(A007318_104_data.begin(), A007318_104_data.end());
+
+ return A007318_104_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_105(void)
+ {
+ static const boost::array<mp_float, 106u> A007318_105_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(105L)),
+ mp_float(static_cast<boost::int32_t>(5460L)),
+ mp_float(static_cast<boost::int32_t>(187460L)),
+ mp_float(static_cast<boost::int32_t>(4780230L)),
+ mp_float(static_cast<boost::int32_t>(96560646L)),
+ mp_float(static_cast<boost::int32_t>(1609344100L)),
+ mp_float(static_cast<boost::int64_t>(22760723700LL)),
+ mp_float(static_cast<boost::int64_t>(278818865325LL)),
+ mp_float(static_cast<boost::int64_t>(3005047770725LL)),
+ mp_float(static_cast<boost::int64_t>(28848458598960LL)),
+ mp_float(static_cast<boost::int64_t>(249145778809200LL)),
+ mp_float(static_cast<boost::int64_t>(1951641934005400LL)),
+ mp_float(static_cast<boost::int64_t>(13961746143269400LL)),
+ mp_float(static_cast<boost::int64_t>(91748617512913200LL)),
+ mp_float(static_cast<boost::int64_t>(556608279578340080LL)),
+ mp_float(static_cast<boost::int64_t>(3130921572628162950LL)),
+ mp_float("16391295291994500150"),
+ mp_float("80135221427528667400"),
+ mp_float("366934961273420740200"),
+ mp_float("1577820333475709182860"),
+ mp_float("6386415635496918121100"),
+ mp_float("24384496062806414644200"),
+ mp_float("87996224922301409368200"),
+ mp_float("300653768484529815341350"),
+ mp_float("974118209889876601705974"),
+ mp_float("2997286799661158774479920"),
+ mp_float("8769839154564131229033840"),
+ mp_float("24430266216285794138022840"),
+ mp_float("64866568919103660297508920"),
+ mp_float("164328641261729272753689264"),
+ mp_float("397569293375151466339570800"),
+ mp_float("919378990930037765910257475"),
+ mp_float("2033777767814932027619660475"),
+ mp_float("4306823508313973705547516300"),
+ mp_float("8736699116865489516967818780"),
+ mp_float("16988026060571785171881869850"),
+ mp_float("31680372923769004779995919450"),
+ mp_float("56691193653060324343150592700"),
+ mp_float("97392563455257480281822813100"),
+ mp_float("160697729701174842465007641615"),
+ mp_float("254764693428691823420134065975"),
+ mp_float("388212866177054207116394767200"),
+ mp_float("568776989980335233682159775200"),
+ mp_float("801458485881381465643043319600"),
+ mp_float("1086421503083650431205014277680"),
+ mp_float("1417071525761283171136975144800"),
+ mp_float("1778877021700334193554926245600"),
+ mp_float("2149476401221237150545535880100"),
+ mp_float("2500411323869602399614194799300"),
+ mp_float("2800460682733954687567898175216"),
+ mp_float("3020104657850343290514399992880"),
+ mp_float("3136262529306125724764953838760"),
+ mp_float("3136262529306125724764953838760"),
+ mp_float("3020104657850343290514399992880"),
+ mp_float("2800460682733954687567898175216"),
+ mp_float("2500411323869602399614194799300"),
+ mp_float("2149476401221237150545535880100"),
+ mp_float("1778877021700334193554926245600"),
+ mp_float("1417071525761283171136975144800"),
+ mp_float("1086421503083650431205014277680"),
+ mp_float("801458485881381465643043319600"),
+ mp_float("568776989980335233682159775200"),
+ mp_float("388212866177054207116394767200"),
+ mp_float("254764693428691823420134065975"),
+ mp_float("160697729701174842465007641615"),
+ mp_float("97392563455257480281822813100"),
+ mp_float("56691193653060324343150592700"),
+ mp_float("31680372923769004779995919450"),
+ mp_float("16988026060571785171881869850"),
+ mp_float("8736699116865489516967818780"),
+ mp_float("4306823508313973705547516300"),
+ mp_float("2033777767814932027619660475"),
+ mp_float("919378990930037765910257475"),
+ mp_float("397569293375151466339570800"),
+ mp_float("164328641261729272753689264"),
+ mp_float("64866568919103660297508920"),
+ mp_float("24430266216285794138022840"),
+ mp_float("8769839154564131229033840"),
+ mp_float("2997286799661158774479920"),
+ mp_float("974118209889876601705974"),
+ mp_float("300653768484529815341350"),
+ mp_float("87996224922301409368200"),
+ mp_float("24384496062806414644200"),
+ mp_float("6386415635496918121100"),
+ mp_float("1577820333475709182860"),
+ mp_float("366934961273420740200"),
+ mp_float("80135221427528667400"),
+ mp_float("16391295291994500150"),
+ mp_float(static_cast<boost::int64_t>(3130921572628162950LL)),
+ mp_float(static_cast<boost::int64_t>(556608279578340080LL)),
+ mp_float(static_cast<boost::int64_t>(91748617512913200LL)),
+ mp_float(static_cast<boost::int64_t>(13961746143269400LL)),
+ mp_float(static_cast<boost::int64_t>(1951641934005400LL)),
+ mp_float(static_cast<boost::int64_t>(249145778809200LL)),
+ mp_float(static_cast<boost::int64_t>(28848458598960LL)),
+ mp_float(static_cast<boost::int64_t>(3005047770725LL)),
+ mp_float(static_cast<boost::int64_t>(278818865325LL)),
+ mp_float(static_cast<boost::int64_t>(22760723700LL)),
+ mp_float(static_cast<boost::int32_t>(1609344100L)),
+ mp_float(static_cast<boost::int32_t>(96560646L)),
+ mp_float(static_cast<boost::int32_t>(4780230L)),
+ mp_float(static_cast<boost::int32_t>(187460L)),
+ mp_float(static_cast<boost::int32_t>(5460L)),
+ mp_float(static_cast<boost::int32_t>(105L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_105_vect(A007318_105_data.begin(), A007318_105_data.end());
+
+ return A007318_105_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_106(void)
+ {
+ static const boost::array<mp_float, 107u> A007318_106_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(106L)),
+ mp_float(static_cast<boost::int32_t>(5565L)),
+ mp_float(static_cast<boost::int32_t>(192920L)),
+ mp_float(static_cast<boost::int32_t>(4967690L)),
+ mp_float(static_cast<boost::int32_t>(101340876L)),
+ mp_float(static_cast<boost::int32_t>(1705904746L)),
+ mp_float(static_cast<boost::int64_t>(24370067800LL)),
+ mp_float(static_cast<boost::int64_t>(301579589025LL)),
+ mp_float(static_cast<boost::int64_t>(3283866636050LL)),
+ mp_float(static_cast<boost::int64_t>(31853506369685LL)),
+ mp_float(static_cast<boost::int64_t>(277994237408160LL)),
+ mp_float(static_cast<boost::int64_t>(2200787712814600LL)),
+ mp_float(static_cast<boost::int64_t>(15913388077274800LL)),
+ mp_float(static_cast<boost::int64_t>(105710363656182600LL)),
+ mp_float(static_cast<boost::int64_t>(648356897091253280LL)),
+ mp_float(static_cast<boost::int64_t>(3687529852206503030LL)),
+ mp_float("19522216864622663100"),
+ mp_float("96526516719523167550"),
+ mp_float("447070182700949407600"),
+ mp_float("1944755294749129923060"),
+ mp_float("7964235968972627303960"),
+ mp_float("30770911698303332765300"),
+ mp_float("112380720985107824012400"),
+ mp_float("388649993406831224709550"),
+ mp_float("1274771978374406417047324"),
+ mp_float("3971405009551035376185894"),
+ mp_float("11767125954225290003513760"),
+ mp_float("33200105370849925367056680"),
+ mp_float("89296835135389454435531760"),
+ mp_float("229195210180832933051198184"),
+ mp_float("561897934636880739093260064"),
+ mp_float("1316948284305189232249828275"),
+ mp_float("2953156758744969793529917950"),
+ mp_float("6340601276128905733167176775"),
+ mp_float("13043522625179463222515335080"),
+ mp_float("25724725177437274688849688630"),
+ mp_float("48668398984340789951877789300"),
+ mp_float("88371566576829329123146512150"),
+ mp_float("154083757108317804624973405800"),
+ mp_float("258090293156432322746830454715"),
+ mp_float("415462423129866665885141707590"),
+ mp_float("642977559605746030536528833175"),
+ mp_float("956989856157389440798554542400"),
+ mp_float("1370235475861716699325203094800"),
+ mp_float("1887879988965031896848057597280"),
+ mp_float("2503493028844933602341989422480"),
+ mp_float("3195948547461617364691901390400"),
+ mp_float("3928353422921571344100462125700"),
+ mp_float("4649887725090839550159730679400"),
+ mp_float("5300872006603557087182092974516"),
+ mp_float("5820565340584297978082298168096"),
+ mp_float("6156367187156469015279353831640"),
+ mp_float("6272525058612251449529907677520"),
+ mp_float("6156367187156469015279353831640"),
+ mp_float("5820565340584297978082298168096"),
+ mp_float("5300872006603557087182092974516"),
+ mp_float("4649887725090839550159730679400"),
+ mp_float("3928353422921571344100462125700"),
+ mp_float("3195948547461617364691901390400"),
+ mp_float("2503493028844933602341989422480"),
+ mp_float("1887879988965031896848057597280"),
+ mp_float("1370235475861716699325203094800"),
+ mp_float("956989856157389440798554542400"),
+ mp_float("642977559605746030536528833175"),
+ mp_float("415462423129866665885141707590"),
+ mp_float("258090293156432322746830454715"),
+ mp_float("154083757108317804624973405800"),
+ mp_float("88371566576829329123146512150"),
+ mp_float("48668398984340789951877789300"),
+ mp_float("25724725177437274688849688630"),
+ mp_float("13043522625179463222515335080"),
+ mp_float("6340601276128905733167176775"),
+ mp_float("2953156758744969793529917950"),
+ mp_float("1316948284305189232249828275"),
+ mp_float("561897934636880739093260064"),
+ mp_float("229195210180832933051198184"),
+ mp_float("89296835135389454435531760"),
+ mp_float("33200105370849925367056680"),
+ mp_float("11767125954225290003513760"),
+ mp_float("3971405009551035376185894"),
+ mp_float("1274771978374406417047324"),
+ mp_float("388649993406831224709550"),
+ mp_float("112380720985107824012400"),
+ mp_float("30770911698303332765300"),
+ mp_float("7964235968972627303960"),
+ mp_float("1944755294749129923060"),
+ mp_float("447070182700949407600"),
+ mp_float("96526516719523167550"),
+ mp_float("19522216864622663100"),
+ mp_float(static_cast<boost::int64_t>(3687529852206503030LL)),
+ mp_float(static_cast<boost::int64_t>(648356897091253280LL)),
+ mp_float(static_cast<boost::int64_t>(105710363656182600LL)),
+ mp_float(static_cast<boost::int64_t>(15913388077274800LL)),
+ mp_float(static_cast<boost::int64_t>(2200787712814600LL)),
+ mp_float(static_cast<boost::int64_t>(277994237408160LL)),
+ mp_float(static_cast<boost::int64_t>(31853506369685LL)),
+ mp_float(static_cast<boost::int64_t>(3283866636050LL)),
+ mp_float(static_cast<boost::int64_t>(301579589025LL)),
+ mp_float(static_cast<boost::int64_t>(24370067800LL)),
+ mp_float(static_cast<boost::int32_t>(1705904746L)),
+ mp_float(static_cast<boost::int32_t>(101340876L)),
+ mp_float(static_cast<boost::int32_t>(4967690L)),
+ mp_float(static_cast<boost::int32_t>(192920L)),
+ mp_float(static_cast<boost::int32_t>(5565L)),
+ mp_float(static_cast<boost::int32_t>(106L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_106_vect(A007318_106_data.begin(), A007318_106_data.end());
+
+ return A007318_106_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_107(void)
+ {
+ static const boost::array<mp_float, 108u> A007318_107_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(107L)),
+ mp_float(static_cast<boost::int32_t>(5671L)),
+ mp_float(static_cast<boost::int32_t>(198485L)),
+ mp_float(static_cast<boost::int32_t>(5160610L)),
+ mp_float(static_cast<boost::int32_t>(106308566L)),
+ mp_float(static_cast<boost::int32_t>(1807245622L)),
+ mp_float(static_cast<boost::int64_t>(26075972546LL)),
+ mp_float(static_cast<boost::int64_t>(325949656825LL)),
+ mp_float(static_cast<boost::int64_t>(3585446225075LL)),
+ mp_float(static_cast<boost::int64_t>(35137373005735LL)),
+ mp_float(static_cast<boost::int64_t>(309847743777845LL)),
+ mp_float(static_cast<boost::int64_t>(2478781950222760LL)),
+ mp_float(static_cast<boost::int64_t>(18114175790089400LL)),
+ mp_float(static_cast<boost::int64_t>(121623751733457400LL)),
+ mp_float(static_cast<boost::int64_t>(754067260747435880LL)),
+ mp_float(static_cast<boost::int64_t>(4335886749297756310LL)),
+ mp_float("23209746716829166130"),
+ mp_float("116048733584145830650"),
+ mp_float("543596699420472575150"),
+ mp_float("2391825477450079330660"),
+ mp_float("9908991263721757227020"),
+ mp_float("38735147667275960069260"),
+ mp_float("143151632683411156777700"),
+ mp_float("501030714391939048721950"),
+ mp_float("1663421971781237641756874"),
+ mp_float("5246176987925441793233218"),
+ mp_float("15738530963776325379699654"),
+ mp_float("44967231325075215370570440"),
+ mp_float("122496940506239379802588440"),
+ mp_float("318492045316222387486729944"),
+ mp_float("791093144817713672144458248"),
+ mp_float("1878846218942069971343088339"),
+ mp_float("4270105043050159025779746225"),
+ mp_float("9293758034873875526697094725"),
+ mp_float("19384123901308368955682511855"),
+ mp_float("38768247802616737911365023710"),
+ mp_float("74393124161778064640727477930"),
+ mp_float("137039965561170119075024301450"),
+ mp_float("242455323685147133748119917950"),
+ mp_float("412174050264750127371803860515"),
+ mp_float("673552716286298988631972162305"),
+ mp_float("1058439982735612696421670540765"),
+ mp_float("1599967415763135471335083375575"),
+ mp_float("2327225332019106140123757637200"),
+ mp_float("3258115464826748596173260692080"),
+ mp_float("4391373017809965499190047019760"),
+ mp_float("5699441576306550967033890812880"),
+ mp_float("7124301970383188708792363516100"),
+ mp_float("8578241148012410894260192805100"),
+ mp_float("9950759731694396637341823653916"),
+ mp_float("11121437347187855065264391142612"),
+ mp_float("11976932527740766993361651999736"),
+ mp_float("12428892245768720464809261509160"),
+ mp_float("12428892245768720464809261509160"),
+ mp_float("11976932527740766993361651999736"),
+ mp_float("11121437347187855065264391142612"),
+ mp_float("9950759731694396637341823653916"),
+ mp_float("8578241148012410894260192805100"),
+ mp_float("7124301970383188708792363516100"),
+ mp_float("5699441576306550967033890812880"),
+ mp_float("4391373017809965499190047019760"),
+ mp_float("3258115464826748596173260692080"),
+ mp_float("2327225332019106140123757637200"),
+ mp_float("1599967415763135471335083375575"),
+ mp_float("1058439982735612696421670540765"),
+ mp_float("673552716286298988631972162305"),
+ mp_float("412174050264750127371803860515"),
+ mp_float("242455323685147133748119917950"),
+ mp_float("137039965561170119075024301450"),
+ mp_float("74393124161778064640727477930"),
+ mp_float("38768247802616737911365023710"),
+ mp_float("19384123901308368955682511855"),
+ mp_float("9293758034873875526697094725"),
+ mp_float("4270105043050159025779746225"),
+ mp_float("1878846218942069971343088339"),
+ mp_float("791093144817713672144458248"),
+ mp_float("318492045316222387486729944"),
+ mp_float("122496940506239379802588440"),
+ mp_float("44967231325075215370570440"),
+ mp_float("15738530963776325379699654"),
+ mp_float("5246176987925441793233218"),
+ mp_float("1663421971781237641756874"),
+ mp_float("501030714391939048721950"),
+ mp_float("143151632683411156777700"),
+ mp_float("38735147667275960069260"),
+ mp_float("9908991263721757227020"),
+ mp_float("2391825477450079330660"),
+ mp_float("543596699420472575150"),
+ mp_float("116048733584145830650"),
+ mp_float("23209746716829166130"),
+ mp_float(static_cast<boost::int64_t>(4335886749297756310LL)),
+ mp_float(static_cast<boost::int64_t>(754067260747435880LL)),
+ mp_float(static_cast<boost::int64_t>(121623751733457400LL)),
+ mp_float(static_cast<boost::int64_t>(18114175790089400LL)),
+ mp_float(static_cast<boost::int64_t>(2478781950222760LL)),
+ mp_float(static_cast<boost::int64_t>(309847743777845LL)),
+ mp_float(static_cast<boost::int64_t>(35137373005735LL)),
+ mp_float(static_cast<boost::int64_t>(3585446225075LL)),
+ mp_float(static_cast<boost::int64_t>(325949656825LL)),
+ mp_float(static_cast<boost::int64_t>(26075972546LL)),
+ mp_float(static_cast<boost::int32_t>(1807245622L)),
+ mp_float(static_cast<boost::int32_t>(106308566L)),
+ mp_float(static_cast<boost::int32_t>(5160610L)),
+ mp_float(static_cast<boost::int32_t>(198485L)),
+ mp_float(static_cast<boost::int32_t>(5671L)),
+ mp_float(static_cast<boost::int32_t>(107L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_107_vect(A007318_107_data.begin(), A007318_107_data.end());
+
+ return A007318_107_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_108(void)
+ {
+ static const boost::array<mp_float, 109u> A007318_108_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(108L)),
+ mp_float(static_cast<boost::int32_t>(5778L)),
+ mp_float(static_cast<boost::int32_t>(204156L)),
+ mp_float(static_cast<boost::int32_t>(5359095L)),
+ mp_float(static_cast<boost::int32_t>(111469176L)),
+ mp_float(static_cast<boost::int32_t>(1913554188L)),
+ mp_float(static_cast<boost::int64_t>(27883218168LL)),
+ mp_float(static_cast<boost::int64_t>(352025629371LL)),
+ mp_float(static_cast<boost::int64_t>(3911395881900LL)),
+ mp_float(static_cast<boost::int64_t>(38722819230810LL)),
+ mp_float(static_cast<boost::int64_t>(344985116783580LL)),
+ mp_float(static_cast<boost::int64_t>(2788629694000605LL)),
+ mp_float(static_cast<boost::int64_t>(20592957740312160LL)),
+ mp_float(static_cast<boost::int64_t>(139737927523546800LL)),
+ mp_float(static_cast<boost::int64_t>(875691012480893280LL)),
+ mp_float(static_cast<boost::int64_t>(5089954010045192190LL)),
+ mp_float("27545633466126922440"),
+ mp_float("139258480300974996780"),
+ mp_float("659645433004618405800"),
+ mp_float("2935422176870551905810"),
+ mp_float("12300816741171836557680"),
+ mp_float("48644138930997717296280"),
+ mp_float("181886780350687116846960"),
+ mp_float("644182347075350205499650"),
+ mp_float("2164452686173176690478824"),
+ mp_float("6909598959706679434990092"),
+ mp_float("20984707951701767172932872"),
+ mp_float("60705762288851540750270094"),
+ mp_float("167464171831314595173158880"),
+ mp_float("440988985822461767289318384"),
+ mp_float("1109585190133936059631188192"),
+ mp_float("2669939363759783643487546587"),
+ mp_float("6148951261992228997122834564"),
+ mp_float("13563863077924034552476840950"),
+ mp_float("28677881936182244482379606580"),
+ mp_float("58152371703925106867047535565"),
+ mp_float("113161371964394802552092501640"),
+ mp_float("211433089722948183715751779380"),
+ mp_float("379495289246317252823144219400"),
+ mp_float("654629373949897261119923778465"),
+ mp_float("1085726766551049116003776022820"),
+ mp_float("1731992699021911685053642703070"),
+ mp_float("2658407398498748167756753916340"),
+ mp_float("3927192747782241611458841012775"),
+ mp_float("5585340796845854736297018329280"),
+ mp_float("7649488482636714095363307711840"),
+ mp_float("10090814594116516466223937832640"),
+ mp_float("12823743546689739675826254328980"),
+ mp_float("15702543118395599603052556321200"),
+ mp_float("18529000879706807531602016459016"),
+ mp_float("21072197078882251702606214796528"),
+ mp_float("23098369874928622058626043142348"),
+ mp_float("24405824773509487458170913508896"),
+ mp_float("24857784491537440929618523018320"),
+ mp_float("24405824773509487458170913508896"),
+ mp_float("23098369874928622058626043142348"),
+ mp_float("21072197078882251702606214796528"),
+ mp_float("18529000879706807531602016459016"),
+ mp_float("15702543118395599603052556321200"),
+ mp_float("12823743546689739675826254328980"),
+ mp_float("10090814594116516466223937832640"),
+ mp_float("7649488482636714095363307711840"),
+ mp_float("5585340796845854736297018329280"),
+ mp_float("3927192747782241611458841012775"),
+ mp_float("2658407398498748167756753916340"),
+ mp_float("1731992699021911685053642703070"),
+ mp_float("1085726766551049116003776022820"),
+ mp_float("654629373949897261119923778465"),
+ mp_float("379495289246317252823144219400"),
+ mp_float("211433089722948183715751779380"),
+ mp_float("113161371964394802552092501640"),
+ mp_float("58152371703925106867047535565"),
+ mp_float("28677881936182244482379606580"),
+ mp_float("13563863077924034552476840950"),
+ mp_float("6148951261992228997122834564"),
+ mp_float("2669939363759783643487546587"),
+ mp_float("1109585190133936059631188192"),
+ mp_float("440988985822461767289318384"),
+ mp_float("167464171831314595173158880"),
+ mp_float("60705762288851540750270094"),
+ mp_float("20984707951701767172932872"),
+ mp_float("6909598959706679434990092"),
+ mp_float("2164452686173176690478824"),
+ mp_float("644182347075350205499650"),
+ mp_float("181886780350687116846960"),
+ mp_float("48644138930997717296280"),
+ mp_float("12300816741171836557680"),
+ mp_float("2935422176870551905810"),
+ mp_float("659645433004618405800"),
+ mp_float("139258480300974996780"),
+ mp_float("27545633466126922440"),
+ mp_float(static_cast<boost::int64_t>(5089954010045192190LL)),
+ mp_float(static_cast<boost::int64_t>(875691012480893280LL)),
+ mp_float(static_cast<boost::int64_t>(139737927523546800LL)),
+ mp_float(static_cast<boost::int64_t>(20592957740312160LL)),
+ mp_float(static_cast<boost::int64_t>(2788629694000605LL)),
+ mp_float(static_cast<boost::int64_t>(344985116783580LL)),
+ mp_float(static_cast<boost::int64_t>(38722819230810LL)),
+ mp_float(static_cast<boost::int64_t>(3911395881900LL)),
+ mp_float(static_cast<boost::int64_t>(352025629371LL)),
+ mp_float(static_cast<boost::int64_t>(27883218168LL)),
+ mp_float(static_cast<boost::int32_t>(1913554188L)),
+ mp_float(static_cast<boost::int32_t>(111469176L)),
+ mp_float(static_cast<boost::int32_t>(5359095L)),
+ mp_float(static_cast<boost::int32_t>(204156L)),
+ mp_float(static_cast<boost::int32_t>(5778L)),
+ mp_float(static_cast<boost::int32_t>(108L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_108_vect(A007318_108_data.begin(), A007318_108_data.end());
+
+ return A007318_108_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_109(void)
+ {
+ static const boost::array<mp_float, 110u> A007318_109_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(109L)),
+ mp_float(static_cast<boost::int32_t>(5886L)),
+ mp_float(static_cast<boost::int32_t>(209934L)),
+ mp_float(static_cast<boost::int32_t>(5563251L)),
+ mp_float(static_cast<boost::int32_t>(116828271L)),
+ mp_float(static_cast<boost::int32_t>(2025023364L)),
+ mp_float(static_cast<boost::int64_t>(29796772356LL)),
+ mp_float(static_cast<boost::int64_t>(379908847539LL)),
+ mp_float(static_cast<boost::int64_t>(4263421511271LL)),
+ mp_float(static_cast<boost::int64_t>(42634215112710LL)),
+ mp_float(static_cast<boost::int64_t>(383707936014390LL)),
+ mp_float(static_cast<boost::int64_t>(3133614810784185LL)),
+ mp_float(static_cast<boost::int64_t>(23381587434312765LL)),
+ mp_float(static_cast<boost::int64_t>(160330885263858960LL)),
+ mp_float(static_cast<boost::int64_t>(1015428940004440080LL)),
+ mp_float(static_cast<boost::int64_t>(5965645022526085470LL)),
+ mp_float("32635587476172114630"),
+ mp_float("166804113767101919220"),
+ mp_float("798903913305593402580"),
+ mp_float("3595067609875170311610"),
+ mp_float("15236238918042388463490"),
+ mp_float("60944955672169553853960"),
+ mp_float("230530919281684834143240"),
+ mp_float("826069127426037322346610"),
+ mp_float("2808635033248526895978474"),
+ mp_float("9074051645879856125468916"),
+ mp_float("27894306911408446607922964"),
+ mp_float("81690470240553307923202966"),
+ mp_float("228169934120166135923428974"),
+ mp_float("608453157653776362462477264"),
+ mp_float("1550574175956397826920506576"),
+ mp_float("3779524553893719703118734779"),
+ mp_float("8818890625752012640610381151"),
+ mp_float("19712814339916263549599675514"),
+ mp_float("42241745014106279034856447530"),
+ mp_float("86830253640107351349427142145"),
+ mp_float("171313743668319909419140037205"),
+ mp_float("324594461687342986267844281020"),
+ mp_float("590928378969265436538895998780"),
+ mp_float("1034124663196214513943067997865"),
+ mp_float("1740356140500946377123699801285"),
+ mp_float("2817719465572960801057418725890"),
+ mp_float("4390400097520659852810396619410"),
+ mp_float("6585600146280989779215594929115"),
+ mp_float("9512533544628096347755859342055"),
+ mp_float("13234829279482568831660326041120"),
+ mp_float("17740303076753230561587245544480"),
+ mp_float("22914558140806256142050192161620"),
+ mp_float("28526286665085339278878810650180"),
+ mp_float("34231543998102407134654572780216"),
+ mp_float("39601197958589059234208231255544"),
+ mp_float("44170566953810873761232257938876"),
+ mp_float("47504194648438109516796956651244"),
+ mp_float("49263609265046928387789436527216"),
+ mp_float("49263609265046928387789436527216"),
+ mp_float("47504194648438109516796956651244"),
+ mp_float("44170566953810873761232257938876"),
+ mp_float("39601197958589059234208231255544"),
+ mp_float("34231543998102407134654572780216"),
+ mp_float("28526286665085339278878810650180"),
+ mp_float("22914558140806256142050192161620"),
+ mp_float("17740303076753230561587245544480"),
+ mp_float("13234829279482568831660326041120"),
+ mp_float("9512533544628096347755859342055"),
+ mp_float("6585600146280989779215594929115"),
+ mp_float("4390400097520659852810396619410"),
+ mp_float("2817719465572960801057418725890"),
+ mp_float("1740356140500946377123699801285"),
+ mp_float("1034124663196214513943067997865"),
+ mp_float("590928378969265436538895998780"),
+ mp_float("324594461687342986267844281020"),
+ mp_float("171313743668319909419140037205"),
+ mp_float("86830253640107351349427142145"),
+ mp_float("42241745014106279034856447530"),
+ mp_float("19712814339916263549599675514"),
+ mp_float("8818890625752012640610381151"),
+ mp_float("3779524553893719703118734779"),
+ mp_float("1550574175956397826920506576"),
+ mp_float("608453157653776362462477264"),
+ mp_float("228169934120166135923428974"),
+ mp_float("81690470240553307923202966"),
+ mp_float("27894306911408446607922964"),
+ mp_float("9074051645879856125468916"),
+ mp_float("2808635033248526895978474"),
+ mp_float("826069127426037322346610"),
+ mp_float("230530919281684834143240"),
+ mp_float("60944955672169553853960"),
+ mp_float("15236238918042388463490"),
+ mp_float("3595067609875170311610"),
+ mp_float("798903913305593402580"),
+ mp_float("166804113767101919220"),
+ mp_float("32635587476172114630"),
+ mp_float(static_cast<boost::int64_t>(5965645022526085470LL)),
+ mp_float(static_cast<boost::int64_t>(1015428940004440080LL)),
+ mp_float(static_cast<boost::int64_t>(160330885263858960LL)),
+ mp_float(static_cast<boost::int64_t>(23381587434312765LL)),
+ mp_float(static_cast<boost::int64_t>(3133614810784185LL)),
+ mp_float(static_cast<boost::int64_t>(383707936014390LL)),
+ mp_float(static_cast<boost::int64_t>(42634215112710LL)),
+ mp_float(static_cast<boost::int64_t>(4263421511271LL)),
+ mp_float(static_cast<boost::int64_t>(379908847539LL)),
+ mp_float(static_cast<boost::int64_t>(29796772356LL)),
+ mp_float(static_cast<boost::int32_t>(2025023364L)),
+ mp_float(static_cast<boost::int32_t>(116828271L)),
+ mp_float(static_cast<boost::int32_t>(5563251L)),
+ mp_float(static_cast<boost::int32_t>(209934L)),
+ mp_float(static_cast<boost::int32_t>(5886L)),
+ mp_float(static_cast<boost::int32_t>(109L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_109_vect(A007318_109_data.begin(), A007318_109_data.end());
+
+ return A007318_109_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_110(void)
+ {
+ static const boost::array<mp_float, 111u> A007318_110_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(110L)),
+ mp_float(static_cast<boost::int32_t>(5995L)),
+ mp_float(static_cast<boost::int32_t>(215820L)),
+ mp_float(static_cast<boost::int32_t>(5773185L)),
+ mp_float(static_cast<boost::int32_t>(122391522L)),
+ mp_float(static_cast<boost::int32_t>(2141851635L)),
+ mp_float(static_cast<boost::int64_t>(31821795720LL)),
+ mp_float(static_cast<boost::int64_t>(409705619895LL)),
+ mp_float(static_cast<boost::int64_t>(4643330358810LL)),
+ mp_float(static_cast<boost::int64_t>(46897636623981LL)),
+ mp_float(static_cast<boost::int64_t>(426342151127100LL)),
+ mp_float(static_cast<boost::int64_t>(3517322746798575LL)),
+ mp_float(static_cast<boost::int64_t>(26515202245096950LL)),
+ mp_float(static_cast<boost::int64_t>(183712472698171725LL)),
+ mp_float(static_cast<boost::int64_t>(1175759825268299040LL)),
+ mp_float(static_cast<boost::int64_t>(6981073962530525550LL)),
+ mp_float("38601232498698200100"),
+ mp_float("199439701243274033850"),
+ mp_float("965708027072695321800"),
+ mp_float("4393971523180763714190"),
+ mp_float("18831306527917558775100"),
+ mp_float("76181194590211942317450"),
+ mp_float("291475874953854387997200"),
+ mp_float("1056600046707722156489850"),
+ mp_float("3634704160674564218325084"),
+ mp_float("11882686679128383021447390"),
+ mp_float("36968358557288302733391880"),
+ mp_float("109584777151961754531125930"),
+ mp_float("309860404360719443846631940"),
+ mp_float("836623091773942498385906238"),
+ mp_float("2159027333610174189382983840"),
+ mp_float("5330098729850117530039241355"),
+ mp_float("12598415179645732343729115930"),
+ mp_float("28531704965668276190210056665"),
+ mp_float("61954559354022542584456123044"),
+ mp_float("129071998654213630384283589675"),
+ mp_float("258143997308427260768567179350"),
+ mp_float("495908205355662895686984318225"),
+ mp_float("915522840656608422806740279800"),
+ mp_float("1625053042165479950481963996645"),
+ mp_float("2774480803697160891066767799150"),
+ mp_float("4558075606073907178181118527175"),
+ mp_float("7208119563093620653867815345300"),
+ mp_float("10976000243801649632025991548525"),
+ mp_float("16098133690909086126971454271170"),
+ mp_float("22747362824110665179416185383175"),
+ mp_float("30975132356235799393247571585600"),
+ mp_float("40654861217559486703637437706100"),
+ mp_float("51440844805891595420929002811800"),
+ mp_float("62757830663187746413533383430396"),
+ mp_float("73832741956691466368862804035760"),
+ mp_float("83771764912399932995440489194420"),
+ mp_float("91674761602248983278029214590120"),
+ mp_float("96767803913485037904586393178460"),
+ mp_float("98527218530093856775578873054432"),
+ mp_float("96767803913485037904586393178460"),
+ mp_float("91674761602248983278029214590120"),
+ mp_float("83771764912399932995440489194420"),
+ mp_float("73832741956691466368862804035760"),
+ mp_float("62757830663187746413533383430396"),
+ mp_float("51440844805891595420929002811800"),
+ mp_float("40654861217559486703637437706100"),
+ mp_float("30975132356235799393247571585600"),
+ mp_float("22747362824110665179416185383175"),
+ mp_float("16098133690909086126971454271170"),
+ mp_float("10976000243801649632025991548525"),
+ mp_float("7208119563093620653867815345300"),
+ mp_float("4558075606073907178181118527175"),
+ mp_float("2774480803697160891066767799150"),
+ mp_float("1625053042165479950481963996645"),
+ mp_float("915522840656608422806740279800"),
+ mp_float("495908205355662895686984318225"),
+ mp_float("258143997308427260768567179350"),
+ mp_float("129071998654213630384283589675"),
+ mp_float("61954559354022542584456123044"),
+ mp_float("28531704965668276190210056665"),
+ mp_float("12598415179645732343729115930"),
+ mp_float("5330098729850117530039241355"),
+ mp_float("2159027333610174189382983840"),
+ mp_float("836623091773942498385906238"),
+ mp_float("309860404360719443846631940"),
+ mp_float("109584777151961754531125930"),
+ mp_float("36968358557288302733391880"),
+ mp_float("11882686679128383021447390"),
+ mp_float("3634704160674564218325084"),
+ mp_float("1056600046707722156489850"),
+ mp_float("291475874953854387997200"),
+ mp_float("76181194590211942317450"),
+ mp_float("18831306527917558775100"),
+ mp_float("4393971523180763714190"),
+ mp_float("965708027072695321800"),
+ mp_float("199439701243274033850"),
+ mp_float("38601232498698200100"),
+ mp_float(static_cast<boost::int64_t>(6981073962530525550LL)),
+ mp_float(static_cast<boost::int64_t>(1175759825268299040LL)),
+ mp_float(static_cast<boost::int64_t>(183712472698171725LL)),
+ mp_float(static_cast<boost::int64_t>(26515202245096950LL)),
+ mp_float(static_cast<boost::int64_t>(3517322746798575LL)),
+ mp_float(static_cast<boost::int64_t>(426342151127100LL)),
+ mp_float(static_cast<boost::int64_t>(46897636623981LL)),
+ mp_float(static_cast<boost::int64_t>(4643330358810LL)),
+ mp_float(static_cast<boost::int64_t>(409705619895LL)),
+ mp_float(static_cast<boost::int64_t>(31821795720LL)),
+ mp_float(static_cast<boost::int32_t>(2141851635L)),
+ mp_float(static_cast<boost::int32_t>(122391522L)),
+ mp_float(static_cast<boost::int32_t>(5773185L)),
+ mp_float(static_cast<boost::int32_t>(215820L)),
+ mp_float(static_cast<boost::int32_t>(5995L)),
+ mp_float(static_cast<boost::int32_t>(110L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_110_vect(A007318_110_data.begin(), A007318_110_data.end());
+
+ return A007318_110_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_111(void)
+ {
+ static const boost::array<mp_float, 112u> A007318_111_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(111L)),
+ mp_float(static_cast<boost::int32_t>(6105L)),
+ mp_float(static_cast<boost::int32_t>(221815L)),
+ mp_float(static_cast<boost::int32_t>(5989005L)),
+ mp_float(static_cast<boost::int32_t>(128164707L)),
+ mp_float(static_cast<boost::int64_t>(2264243157LL)),
+ mp_float(static_cast<boost::int64_t>(33963647355LL)),
+ mp_float(static_cast<boost::int64_t>(441527415615LL)),
+ mp_float(static_cast<boost::int64_t>(5053035978705LL)),
+ mp_float(static_cast<boost::int64_t>(51540966982791LL)),
+ mp_float(static_cast<boost::int64_t>(473239787751081LL)),
+ mp_float(static_cast<boost::int64_t>(3943664897925675LL)),
+ mp_float(static_cast<boost::int64_t>(30032524991895525LL)),
+ mp_float(static_cast<boost::int64_t>(210227674943268675LL)),
+ mp_float(static_cast<boost::int64_t>(1359472297966470765LL)),
+ mp_float(static_cast<boost::int64_t>(8156833787798824590LL)),
+ mp_float("45582306461228725650"),
+ mp_float("238040933741972233950"),
+ mp_float("1165147728315969355650"),
+ mp_float("5359679550253459035990"),
+ mp_float("23225278051098322489290"),
+ mp_float("95012501118129501092550"),
+ mp_float("367657069544066330314650"),
+ mp_float("1348075921661576544487050"),
+ mp_float("4691304207382286374814934"),
+ mp_float("15517390839802947239772474"),
+ mp_float("48851045236416685754839270"),
+ mp_float("146553135709250057264517810"),
+ mp_float("419445181512681198377757870"),
+ mp_float("1146483496134661942232538178"),
+ mp_float("2995650425384116687768890078"),
+ mp_float("7489126063460291719422225195"),
+ mp_float("17928513909495849873768357285"),
+ mp_float("41130120145314008533939172595"),
+ mp_float("90486264319690818774666179709"),
+ mp_float("191026558008236172968739712719"),
+ mp_float("387215995962640891152850769025"),
+ mp_float("754052202664090156455551497575"),
+ mp_float("1411431046012271318493724598025"),
+ mp_float("2540575882822088373288704276445"),
+ mp_float("4399533845862640841548731795795"),
+ mp_float("7332556409771068069247886326325"),
+ mp_float("11766195169167527832048933872475"),
+ mp_float("18184119806895270285893806893825"),
+ mp_float("27074133934710735758997445819695"),
+ mp_float("38845496515019751306387639654345"),
+ mp_float("53722495180346464572663756968775"),
+ mp_float("71629993573795286096885009291700"),
+ mp_float("92095706023451082124566440517900"),
+ mp_float("114198675469079341834462386242196"),
+ mp_float("136590572619879212782396187466156"),
+ mp_float("157604506869091399364303293230180"),
+ mp_float("175446526514648916273469703784540"),
+ mp_float("188442565515734021182615607768580"),
+ mp_float("195295022443578894680165266232892"),
+ mp_float("195295022443578894680165266232892"),
+ mp_float("188442565515734021182615607768580"),
+ mp_float("175446526514648916273469703784540"),
+ mp_float("157604506869091399364303293230180"),
+ mp_float("136590572619879212782396187466156"),
+ mp_float("114198675469079341834462386242196"),
+ mp_float("92095706023451082124566440517900"),
+ mp_float("71629993573795286096885009291700"),
+ mp_float("53722495180346464572663756968775"),
+ mp_float("38845496515019751306387639654345"),
+ mp_float("27074133934710735758997445819695"),
+ mp_float("18184119806895270285893806893825"),
+ mp_float("11766195169167527832048933872475"),
+ mp_float("7332556409771068069247886326325"),
+ mp_float("4399533845862640841548731795795"),
+ mp_float("2540575882822088373288704276445"),
+ mp_float("1411431046012271318493724598025"),
+ mp_float("754052202664090156455551497575"),
+ mp_float("387215995962640891152850769025"),
+ mp_float("191026558008236172968739712719"),
+ mp_float("90486264319690818774666179709"),
+ mp_float("41130120145314008533939172595"),
+ mp_float("17928513909495849873768357285"),
+ mp_float("7489126063460291719422225195"),
+ mp_float("2995650425384116687768890078"),
+ mp_float("1146483496134661942232538178"),
+ mp_float("419445181512681198377757870"),
+ mp_float("146553135709250057264517810"),
+ mp_float("48851045236416685754839270"),
+ mp_float("15517390839802947239772474"),
+ mp_float("4691304207382286374814934"),
+ mp_float("1348075921661576544487050"),
+ mp_float("367657069544066330314650"),
+ mp_float("95012501118129501092550"),
+ mp_float("23225278051098322489290"),
+ mp_float("5359679550253459035990"),
+ mp_float("1165147728315969355650"),
+ mp_float("238040933741972233950"),
+ mp_float("45582306461228725650"),
+ mp_float(static_cast<boost::int64_t>(8156833787798824590LL)),
+ mp_float(static_cast<boost::int64_t>(1359472297966470765LL)),
+ mp_float(static_cast<boost::int64_t>(210227674943268675LL)),
+ mp_float(static_cast<boost::int64_t>(30032524991895525LL)),
+ mp_float(static_cast<boost::int64_t>(3943664897925675LL)),
+ mp_float(static_cast<boost::int64_t>(473239787751081LL)),
+ mp_float(static_cast<boost::int64_t>(51540966982791LL)),
+ mp_float(static_cast<boost::int64_t>(5053035978705LL)),
+ mp_float(static_cast<boost::int64_t>(441527415615LL)),
+ mp_float(static_cast<boost::int64_t>(33963647355LL)),
+ mp_float(static_cast<boost::int64_t>(2264243157LL)),
+ mp_float(static_cast<boost::int32_t>(128164707L)),
+ mp_float(static_cast<boost::int32_t>(5989005L)),
+ mp_float(static_cast<boost::int32_t>(221815L)),
+ mp_float(static_cast<boost::int32_t>(6105L)),
+ mp_float(static_cast<boost::int32_t>(111L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_111_vect(A007318_111_data.begin(), A007318_111_data.end());
+
+ return A007318_111_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_112(void)
+ {
+ static const boost::array<mp_float, 113u> A007318_112_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(112L)),
+ mp_float(static_cast<boost::int32_t>(6216L)),
+ mp_float(static_cast<boost::int32_t>(227920L)),
+ mp_float(static_cast<boost::int32_t>(6210820L)),
+ mp_float(static_cast<boost::int32_t>(134153712L)),
+ mp_float(static_cast<boost::int64_t>(2392407864LL)),
+ mp_float(static_cast<boost::int64_t>(36227890512LL)),
+ mp_float(static_cast<boost::int64_t>(475491062970LL)),
+ mp_float(static_cast<boost::int64_t>(5494563394320LL)),
+ mp_float(static_cast<boost::int64_t>(56594002961496LL)),
+ mp_float(static_cast<boost::int64_t>(524780754733872LL)),
+ mp_float(static_cast<boost::int64_t>(4416904685676756LL)),
+ mp_float(static_cast<boost::int64_t>(33976189889821200LL)),
+ mp_float(static_cast<boost::int64_t>(240260199935164200LL)),
+ mp_float(static_cast<boost::int64_t>(1569699972909739440LL)),
+ mp_float("9516306085765295355"),
+ mp_float("53739140249027550240"),
+ mp_float("283623240203200959600"),
+ mp_float("1403188662057941589600"),
+ mp_float("6524827278569428391640"),
+ mp_float("28584957601351781525280"),
+ mp_float("118237779169227823581840"),
+ mp_float("462669570662195831407200"),
+ mp_float("1715732991205642874801700"),
+ mp_float("6039380129043862919301984"),
+ mp_float("20208695047185233614587408"),
+ mp_float("64368436076219632994611744"),
+ mp_float("195404180945666743019357080"),
+ mp_float("565998317221931255642275680"),
+ mp_float("1565928677647343140610296048"),
+ mp_float("4142133921518778630001428256"),
+ mp_float("10484776488844408407191115273"),
+ mp_float("25417639972956141593190582480"),
+ mp_float("59058634054809858407707529880"),
+ mp_float("131616384465004827308605352304"),
+ mp_float("281512822327926991743405892428"),
+ mp_float("578242553970877064121590481744"),
+ mp_float("1141268198626731047608402266600"),
+ mp_float("2165483248676361474949276095600"),
+ mp_float("3952006928834359691782428874470"),
+ mp_float("6940109728684729214837436072240"),
+ mp_float("11732090255633708910796618122120"),
+ mp_float("19098751578938595901296820198800"),
+ mp_float("29950314976062798117942740766300"),
+ mp_float("45258253741606006044891252713520"),
+ mp_float("65919630449730487065385085474040"),
+ mp_float("92567991695366215879051396623120"),
+ mp_float("125352488754141750669548766260475"),
+ mp_float("163725699597246368221451449809600"),
+ mp_float("206294381492530423959028826760096"),
+ mp_float("250789248088958554616858573708352"),
+ mp_float("294195079488970612146699480696336"),
+ mp_float("333051033383740315637772997014720"),
+ mp_float("363889092030382937456085311553120"),
+ mp_float("383737587959312915862780874001472"),
+ mp_float("390590044887157789360330532465784"),
+ mp_float("383737587959312915862780874001472"),
+ mp_float("363889092030382937456085311553120"),
+ mp_float("333051033383740315637772997014720"),
+ mp_float("294195079488970612146699480696336"),
+ mp_float("250789248088958554616858573708352"),
+ mp_float("206294381492530423959028826760096"),
+ mp_float("163725699597246368221451449809600"),
+ mp_float("125352488754141750669548766260475"),
+ mp_float("92567991695366215879051396623120"),
+ mp_float("65919630449730487065385085474040"),
+ mp_float("45258253741606006044891252713520"),
+ mp_float("29950314976062798117942740766300"),
+ mp_float("19098751578938595901296820198800"),
+ mp_float("11732090255633708910796618122120"),
+ mp_float("6940109728684729214837436072240"),
+ mp_float("3952006928834359691782428874470"),
+ mp_float("2165483248676361474949276095600"),
+ mp_float("1141268198626731047608402266600"),
+ mp_float("578242553970877064121590481744"),
+ mp_float("281512822327926991743405892428"),
+ mp_float("131616384465004827308605352304"),
+ mp_float("59058634054809858407707529880"),
+ mp_float("25417639972956141593190582480"),
+ mp_float("10484776488844408407191115273"),
+ mp_float("4142133921518778630001428256"),
+ mp_float("1565928677647343140610296048"),
+ mp_float("565998317221931255642275680"),
+ mp_float("195404180945666743019357080"),
+ mp_float("64368436076219632994611744"),
+ mp_float("20208695047185233614587408"),
+ mp_float("6039380129043862919301984"),
+ mp_float("1715732991205642874801700"),
+ mp_float("462669570662195831407200"),
+ mp_float("118237779169227823581840"),
+ mp_float("28584957601351781525280"),
+ mp_float("6524827278569428391640"),
+ mp_float("1403188662057941589600"),
+ mp_float("283623240203200959600"),
+ mp_float("53739140249027550240"),
+ mp_float("9516306085765295355"),
+ mp_float(static_cast<boost::int64_t>(1569699972909739440LL)),
+ mp_float(static_cast<boost::int64_t>(240260199935164200LL)),
+ mp_float(static_cast<boost::int64_t>(33976189889821200LL)),
+ mp_float(static_cast<boost::int64_t>(4416904685676756LL)),
+ mp_float(static_cast<boost::int64_t>(524780754733872LL)),
+ mp_float(static_cast<boost::int64_t>(56594002961496LL)),
+ mp_float(static_cast<boost::int64_t>(5494563394320LL)),
+ mp_float(static_cast<boost::int64_t>(475491062970LL)),
+ mp_float(static_cast<boost::int64_t>(36227890512LL)),
+ mp_float(static_cast<boost::int64_t>(2392407864LL)),
+ mp_float(static_cast<boost::int32_t>(134153712L)),
+ mp_float(static_cast<boost::int32_t>(6210820L)),
+ mp_float(static_cast<boost::int32_t>(227920L)),
+ mp_float(static_cast<boost::int32_t>(6216L)),
+ mp_float(static_cast<boost::int32_t>(112L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_112_vect(A007318_112_data.begin(), A007318_112_data.end());
+
+ return A007318_112_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_113(void)
+ {
+ static const boost::array<mp_float, 114u> A007318_113_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(113L)),
+ mp_float(static_cast<boost::int32_t>(6328L)),
+ mp_float(static_cast<boost::int32_t>(234136L)),
+ mp_float(static_cast<boost::int32_t>(6438740L)),
+ mp_float(static_cast<boost::int32_t>(140364532L)),
+ mp_float(static_cast<boost::int64_t>(2526561576LL)),
+ mp_float(static_cast<boost::int64_t>(38620298376LL)),
+ mp_float(static_cast<boost::int64_t>(511718953482LL)),
+ mp_float(static_cast<boost::int64_t>(5970054457290LL)),
+ mp_float(static_cast<boost::int64_t>(62088566355816LL)),
+ mp_float(static_cast<boost::int64_t>(581374757695368LL)),
+ mp_float(static_cast<boost::int64_t>(4941685440410628LL)),
+ mp_float(static_cast<boost::int64_t>(38393094575497956LL)),
+ mp_float(static_cast<boost::int64_t>(274236389824985400LL)),
+ mp_float(static_cast<boost::int64_t>(1809960172844903640LL)),
+ mp_float("11086006058675034795"),
+ mp_float("63255446334792845595"),
+ mp_float("337362380452228509840"),
+ mp_float("1686811902261142549200"),
+ mp_float("7928015940627369981240"),
+ mp_float("35109784879921209916920"),
+ mp_float("146822736770579605107120"),
+ mp_float("580907349831423654989040"),
+ mp_float("2178402561867838706208900"),
+ mp_float("7755113120249505794103684"),
+ mp_float("26248075176229096533889392"),
+ mp_float("84577131123404866609199152"),
+ mp_float("259772617021886376013968824"),
+ mp_float("761402498167597998661632760"),
+ mp_float("2131926994869274396252571728"),
+ mp_float("5708062599166121770611724304"),
+ mp_float("14626910410363187037192543529"),
+ mp_float("35902416461800550000381697753"),
+ mp_float("84476274027766000000898112360"),
+ mp_float("190675018519814685716312882184"),
+ mp_float("413129206792931819052011244732"),
+ mp_float("859755376298804055864996374172"),
+ mp_float("1719510752597608111729992748344"),
+ mp_float("3306751447303092522557678362200"),
+ mp_float("6117490177510721166731704970070"),
+ mp_float("10892116657519088906619864946710"),
+ mp_float("18672199984318438125634054194360"),
+ mp_float("30830841834572304812093438320920"),
+ mp_float("49049066555001394019239560965100"),
+ mp_float("75208568717668804162833993479820"),
+ mp_float("111177884191336493110276338187560"),
+ mp_float("158487622145096702944436482097160"),
+ mp_float("217920480449507966548600162883595"),
+ mp_float("289078188351388118891000216070075"),
+ mp_float("370020081089776792180480276569696"),
+ mp_float("457083629581488978575887400468448"),
+ mp_float("544984327577929166763558054404688"),
+ mp_float("627246112872710927784472477711056"),
+ mp_float("696940125414123253093858308567840"),
+ mp_float("747626679989695853318866185554592"),
+ mp_float("774327632846470705223111406467256"),
+ mp_float("774327632846470705223111406467256"),
+ mp_float("747626679989695853318866185554592"),
+ mp_float("696940125414123253093858308567840"),
+ mp_float("627246112872710927784472477711056"),
+ mp_float("544984327577929166763558054404688"),
+ mp_float("457083629581488978575887400468448"),
+ mp_float("370020081089776792180480276569696"),
+ mp_float("289078188351388118891000216070075"),
+ mp_float("217920480449507966548600162883595"),
+ mp_float("158487622145096702944436482097160"),
+ mp_float("111177884191336493110276338187560"),
+ mp_float("75208568717668804162833993479820"),
+ mp_float("49049066555001394019239560965100"),
+ mp_float("30830841834572304812093438320920"),
+ mp_float("18672199984318438125634054194360"),
+ mp_float("10892116657519088906619864946710"),
+ mp_float("6117490177510721166731704970070"),
+ mp_float("3306751447303092522557678362200"),
+ mp_float("1719510752597608111729992748344"),
+ mp_float("859755376298804055864996374172"),
+ mp_float("413129206792931819052011244732"),
+ mp_float("190675018519814685716312882184"),
+ mp_float("84476274027766000000898112360"),
+ mp_float("35902416461800550000381697753"),
+ mp_float("14626910410363187037192543529"),
+ mp_float("5708062599166121770611724304"),
+ mp_float("2131926994869274396252571728"),
+ mp_float("761402498167597998661632760"),
+ mp_float("259772617021886376013968824"),
+ mp_float("84577131123404866609199152"),
+ mp_float("26248075176229096533889392"),
+ mp_float("7755113120249505794103684"),
+ mp_float("2178402561867838706208900"),
+ mp_float("580907349831423654989040"),
+ mp_float("146822736770579605107120"),
+ mp_float("35109784879921209916920"),
+ mp_float("7928015940627369981240"),
+ mp_float("1686811902261142549200"),
+ mp_float("337362380452228509840"),
+ mp_float("63255446334792845595"),
+ mp_float("11086006058675034795"),
+ mp_float(static_cast<boost::int64_t>(1809960172844903640LL)),
+ mp_float(static_cast<boost::int64_t>(274236389824985400LL)),
+ mp_float(static_cast<boost::int64_t>(38393094575497956LL)),
+ mp_float(static_cast<boost::int64_t>(4941685440410628LL)),
+ mp_float(static_cast<boost::int64_t>(581374757695368LL)),
+ mp_float(static_cast<boost::int64_t>(62088566355816LL)),
+ mp_float(static_cast<boost::int64_t>(5970054457290LL)),
+ mp_float(static_cast<boost::int64_t>(511718953482LL)),
+ mp_float(static_cast<boost::int64_t>(38620298376LL)),
+ mp_float(static_cast<boost::int64_t>(2526561576LL)),
+ mp_float(static_cast<boost::int32_t>(140364532L)),
+ mp_float(static_cast<boost::int32_t>(6438740L)),
+ mp_float(static_cast<boost::int32_t>(234136L)),
+ mp_float(static_cast<boost::int32_t>(6328L)),
+ mp_float(static_cast<boost::int32_t>(113L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_113_vect(A007318_113_data.begin(), A007318_113_data.end());
+
+ return A007318_113_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_114(void)
+ {
+ static const boost::array<mp_float, 115u> A007318_114_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(114L)),
+ mp_float(static_cast<boost::int32_t>(6441L)),
+ mp_float(static_cast<boost::int32_t>(240464L)),
+ mp_float(static_cast<boost::int32_t>(6672876L)),
+ mp_float(static_cast<boost::int32_t>(146803272L)),
+ mp_float(static_cast<boost::int64_t>(2666926108LL)),
+ mp_float(static_cast<boost::int64_t>(41146859952LL)),
+ mp_float(static_cast<boost::int64_t>(550339251858LL)),
+ mp_float(static_cast<boost::int64_t>(6481773410772LL)),
+ mp_float(static_cast<boost::int64_t>(68058620813106LL)),
+ mp_float(static_cast<boost::int64_t>(643463324051184LL)),
+ mp_float(static_cast<boost::int64_t>(5523060198105996LL)),
+ mp_float(static_cast<boost::int64_t>(43334780015908584LL)),
+ mp_float(static_cast<boost::int64_t>(312629484400483356LL)),
+ mp_float(static_cast<boost::int64_t>(2084196562669889040LL)),
+ mp_float("12895966231519938435"),
+ mp_float("74341452393467880390"),
+ mp_float("400617826787021355435"),
+ mp_float("2024174282713371059040"),
+ mp_float("9614827842888512530440"),
+ mp_float("43037800820548579898160"),
+ mp_float("181932521650500815024040"),
+ mp_float("727730086602003260096160"),
+ mp_float("2759309911699262361197940"),
+ mp_float("9933515682117344500312584"),
+ mp_float("34003188296478602327993076"),
+ mp_float("110825206299633963143088544"),
+ mp_float("344349748145291242623167976"),
+ mp_float("1021175115189484374675601584"),
+ mp_float("2893329493036872394914204488"),
+ mp_float("7839989594035396166864296032"),
+ mp_float("20334973009529308807804267833"),
+ mp_float("50529326872163737037574241282"),
+ mp_float("120378690489566550001279810113"),
+ mp_float("275151292547580685717210994544"),
+ mp_float("603804225312746504768324126916"),
+ mp_float("1272884583091735874917007618904"),
+ mp_float("2579266128896412167594989122516"),
+ mp_float("5026262199900700634287671110544"),
+ mp_float("9424241624813813689289383332270"),
+ mp_float("17009606835029810073351569916780"),
+ mp_float("29564316641837527032253919141070"),
+ mp_float("49503041818890742937727492515280"),
+ mp_float("79879908389573698831332999286020"),
+ mp_float("124257635272670198182073554444920"),
+ mp_float("186386452909005297273110331667380"),
+ mp_float("269665506336433196054712820284720"),
+ mp_float("376408102594604669493036644980755"),
+ mp_float("506998668800896085439600378953670"),
+ mp_float("659098269441164911071480492639771"),
+ mp_float("827103710671265770756367677038144"),
+ mp_float("1002067957159418145339445454873136"),
+ mp_float("1172230440450640094548030532115744"),
+ mp_float("1324186238286834180878330786278896"),
+ mp_float("1444566805403819106412724494122432"),
+ mp_float("1521954312836166558541977592021848"),
+ mp_float("1548655265692941410446222812934512"),
+ mp_float("1521954312836166558541977592021848"),
+ mp_float("1444566805403819106412724494122432"),
+ mp_float("1324186238286834180878330786278896"),
+ mp_float("1172230440450640094548030532115744"),
+ mp_float("1002067957159418145339445454873136"),
+ mp_float("827103710671265770756367677038144"),
+ mp_float("659098269441164911071480492639771"),
+ mp_float("506998668800896085439600378953670"),
+ mp_float("376408102594604669493036644980755"),
+ mp_float("269665506336433196054712820284720"),
+ mp_float("186386452909005297273110331667380"),
+ mp_float("124257635272670198182073554444920"),
+ mp_float("79879908389573698831332999286020"),
+ mp_float("49503041818890742937727492515280"),
+ mp_float("29564316641837527032253919141070"),
+ mp_float("17009606835029810073351569916780"),
+ mp_float("9424241624813813689289383332270"),
+ mp_float("5026262199900700634287671110544"),
+ mp_float("2579266128896412167594989122516"),
+ mp_float("1272884583091735874917007618904"),
+ mp_float("603804225312746504768324126916"),
+ mp_float("275151292547580685717210994544"),
+ mp_float("120378690489566550001279810113"),
+ mp_float("50529326872163737037574241282"),
+ mp_float("20334973009529308807804267833"),
+ mp_float("7839989594035396166864296032"),
+ mp_float("2893329493036872394914204488"),
+ mp_float("1021175115189484374675601584"),
+ mp_float("344349748145291242623167976"),
+ mp_float("110825206299633963143088544"),
+ mp_float("34003188296478602327993076"),
+ mp_float("9933515682117344500312584"),
+ mp_float("2759309911699262361197940"),
+ mp_float("727730086602003260096160"),
+ mp_float("181932521650500815024040"),
+ mp_float("43037800820548579898160"),
+ mp_float("9614827842888512530440"),
+ mp_float("2024174282713371059040"),
+ mp_float("400617826787021355435"),
+ mp_float("74341452393467880390"),
+ mp_float("12895966231519938435"),
+ mp_float(static_cast<boost::int64_t>(2084196562669889040LL)),
+ mp_float(static_cast<boost::int64_t>(312629484400483356LL)),
+ mp_float(static_cast<boost::int64_t>(43334780015908584LL)),
+ mp_float(static_cast<boost::int64_t>(5523060198105996LL)),
+ mp_float(static_cast<boost::int64_t>(643463324051184LL)),
+ mp_float(static_cast<boost::int64_t>(68058620813106LL)),
+ mp_float(static_cast<boost::int64_t>(6481773410772LL)),
+ mp_float(static_cast<boost::int64_t>(550339251858LL)),
+ mp_float(static_cast<boost::int64_t>(41146859952LL)),
+ mp_float(static_cast<boost::int64_t>(2666926108LL)),
+ mp_float(static_cast<boost::int32_t>(146803272L)),
+ mp_float(static_cast<boost::int32_t>(6672876L)),
+ mp_float(static_cast<boost::int32_t>(240464L)),
+ mp_float(static_cast<boost::int32_t>(6441L)),
+ mp_float(static_cast<boost::int32_t>(114L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_114_vect(A007318_114_data.begin(), A007318_114_data.end());
+
+ return A007318_114_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_115(void)
+ {
+ static const boost::array<mp_float, 116u> A007318_115_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(115L)),
+ mp_float(static_cast<boost::int32_t>(6555L)),
+ mp_float(static_cast<boost::int32_t>(246905L)),
+ mp_float(static_cast<boost::int32_t>(6913340L)),
+ mp_float(static_cast<boost::int32_t>(153476148L)),
+ mp_float(static_cast<boost::int64_t>(2813729380LL)),
+ mp_float(static_cast<boost::int64_t>(43813786060LL)),
+ mp_float(static_cast<boost::int64_t>(591486111810LL)),
+ mp_float(static_cast<boost::int64_t>(7032112662630LL)),
+ mp_float(static_cast<boost::int64_t>(74540394223878LL)),
+ mp_float(static_cast<boost::int64_t>(711521944864290LL)),
+ mp_float(static_cast<boost::int64_t>(6166523522157180LL)),
+ mp_float(static_cast<boost::int64_t>(48857840214014580LL)),
+ mp_float(static_cast<boost::int64_t>(355964264416391940LL)),
+ mp_float(static_cast<boost::int64_t>(2396826047070372396LL)),
+ mp_float("14980162794189827475"),
+ mp_float("87237418624987818825"),
+ mp_float("474959279180489235825"),
+ mp_float("2424792109500392414475"),
+ mp_float("11639002125601883589480"),
+ mp_float("52652628663437092428600"),
+ mp_float("224970322471049394922200"),
+ mp_float("909662608252504075120200"),
+ mp_float("3487039998301265621294100"),
+ mp_float("12692825593816606861510524"),
+ mp_float("43936703978595946828305660"),
+ mp_float("144828394596112565471081620"),
+ mp_float("455174954444925205766256520"),
+ mp_float("1365524863334775617298769560"),
+ mp_float("3914504608226356769589806072"),
+ mp_float("10733319087072268561778500520"),
+ mp_float("28174962603564704974668563865"),
+ mp_float("70864299881693045845378509115"),
+ mp_float("170908017361730287038854051395"),
+ mp_float("395529983037147235718490804657"),
+ mp_float("878955517860327190485535121460"),
+ mp_float("1876688808404482379685331745820"),
+ mp_float("3852150711988148042511996741420"),
+ mp_float("7605528328797112801882660233060"),
+ mp_float("14450503824714514323577054442814"),
+ mp_float("26433848459843623762640953249050"),
+ mp_float("46573923476867337105605489057850"),
+ mp_float("79067358460728269969981411656350"),
+ mp_float("129382950208464441769060491801300"),
+ mp_float("204137543662243897013406553730940"),
+ mp_float("310644088181675495455183886112300"),
+ mp_float("456051959245438493327823151952100"),
+ mp_float("646073608931037865547749465265475"),
+ mp_float("883406771395500754932637023934425"),
+ mp_float("1166096938242060996511080871593441"),
+ mp_float("1486201980112430681827848169677915"),
+ mp_float("1829171667830683916095813131911280"),
+ mp_float("2174298397610058239887475986988880"),
+ mp_float("2496416678737474275426361318394640"),
+ mp_float("2768753043690653287291055280401328"),
+ mp_float("2966521118239985664954702086144280"),
+ mp_float("3070609578529107968988200404956360"),
+ mp_float("3070609578529107968988200404956360"),
+ mp_float("2966521118239985664954702086144280"),
+ mp_float("2768753043690653287291055280401328"),
+ mp_float("2496416678737474275426361318394640"),
+ mp_float("2174298397610058239887475986988880"),
+ mp_float("1829171667830683916095813131911280"),
+ mp_float("1486201980112430681827848169677915"),
+ mp_float("1166096938242060996511080871593441"),
+ mp_float("883406771395500754932637023934425"),
+ mp_float("646073608931037865547749465265475"),
+ mp_float("456051959245438493327823151952100"),
+ mp_float("310644088181675495455183886112300"),
+ mp_float("204137543662243897013406553730940"),
+ mp_float("129382950208464441769060491801300"),
+ mp_float("79067358460728269969981411656350"),
+ mp_float("46573923476867337105605489057850"),
+ mp_float("26433848459843623762640953249050"),
+ mp_float("14450503824714514323577054442814"),
+ mp_float("7605528328797112801882660233060"),
+ mp_float("3852150711988148042511996741420"),
+ mp_float("1876688808404482379685331745820"),
+ mp_float("878955517860327190485535121460"),
+ mp_float("395529983037147235718490804657"),
+ mp_float("170908017361730287038854051395"),
+ mp_float("70864299881693045845378509115"),
+ mp_float("28174962603564704974668563865"),
+ mp_float("10733319087072268561778500520"),
+ mp_float("3914504608226356769589806072"),
+ mp_float("1365524863334775617298769560"),
+ mp_float("455174954444925205766256520"),
+ mp_float("144828394596112565471081620"),
+ mp_float("43936703978595946828305660"),
+ mp_float("12692825593816606861510524"),
+ mp_float("3487039998301265621294100"),
+ mp_float("909662608252504075120200"),
+ mp_float("224970322471049394922200"),
+ mp_float("52652628663437092428600"),
+ mp_float("11639002125601883589480"),
+ mp_float("2424792109500392414475"),
+ mp_float("474959279180489235825"),
+ mp_float("87237418624987818825"),
+ mp_float("14980162794189827475"),
+ mp_float(static_cast<boost::int64_t>(2396826047070372396LL)),
+ mp_float(static_cast<boost::int64_t>(355964264416391940LL)),
+ mp_float(static_cast<boost::int64_t>(48857840214014580LL)),
+ mp_float(static_cast<boost::int64_t>(6166523522157180LL)),
+ mp_float(static_cast<boost::int64_t>(711521944864290LL)),
+ mp_float(static_cast<boost::int64_t>(74540394223878LL)),
+ mp_float(static_cast<boost::int64_t>(7032112662630LL)),
+ mp_float(static_cast<boost::int64_t>(591486111810LL)),
+ mp_float(static_cast<boost::int64_t>(43813786060LL)),
+ mp_float(static_cast<boost::int64_t>(2813729380LL)),
+ mp_float(static_cast<boost::int32_t>(153476148L)),
+ mp_float(static_cast<boost::int32_t>(6913340L)),
+ mp_float(static_cast<boost::int32_t>(246905L)),
+ mp_float(static_cast<boost::int32_t>(6555L)),
+ mp_float(static_cast<boost::int32_t>(115L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_115_vect(A007318_115_data.begin(), A007318_115_data.end());
+
+ return A007318_115_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_116(void)
+ {
+ static const boost::array<mp_float, 117u> A007318_116_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(116L)),
+ mp_float(static_cast<boost::int32_t>(6670L)),
+ mp_float(static_cast<boost::int32_t>(253460L)),
+ mp_float(static_cast<boost::int32_t>(7160245L)),
+ mp_float(static_cast<boost::int32_t>(160389488L)),
+ mp_float(static_cast<boost::int64_t>(2967205528LL)),
+ mp_float(static_cast<boost::int64_t>(46627515440LL)),
+ mp_float(static_cast<boost::int64_t>(635299897870LL)),
+ mp_float(static_cast<boost::int64_t>(7623598774440LL)),
+ mp_float(static_cast<boost::int64_t>(81572506886508LL)),
+ mp_float(static_cast<boost::int64_t>(786062339088168LL)),
+ mp_float(static_cast<boost::int64_t>(6878045467021470LL)),
+ mp_float(static_cast<boost::int64_t>(55024363736171760LL)),
+ mp_float(static_cast<boost::int64_t>(404822104630406520LL)),
+ mp_float(static_cast<boost::int64_t>(2752790311486764336LL)),
+ mp_float("17376988841260199871"),
+ mp_float("102217581419177646300"),
+ mp_float("562196697805477054650"),
+ mp_float("2899751388680881650300"),
+ mp_float("14063794235102276003955"),
+ mp_float("64291630789038976018080"),
+ mp_float("277622951134486487350800"),
+ mp_float("1134632930723553470042400"),
+ mp_float("4396702606553769696414300"),
+ mp_float("16179865592117872482804624"),
+ mp_float("56629529572412553689816184"),
+ mp_float("188765098574708512299387280"),
+ mp_float("600003349041037771237338140"),
+ mp_float("1820699817779700823065026080"),
+ mp_float("5280029471561132386888575632"),
+ mp_float("14647823695298625331368306592"),
+ mp_float("38908281690636973536447064385"),
+ mp_float("99039262485257750820047072980"),
+ mp_float("241772317243423332884232560510"),
+ mp_float("566438000398877522757344856052"),
+ mp_float("1274485500897474426204025926117"),
+ mp_float("2755644326264809570170866867280"),
+ mp_float("5728839520392630422197328487240"),
+ mp_float("11457679040785260844394656974480"),
+ mp_float("22056032153511627125459714675874"),
+ mp_float("40884352284558138086218007691864"),
+ mp_float("73007771936710960868246442306900"),
+ mp_float("125641281937595607075586900714200"),
+ mp_float("208450308669192711739041903457650"),
+ mp_float("333520493870708338782467045532240"),
+ mp_float("514781631843919392468590439843240"),
+ mp_float("766696047427113988783007038064400"),
+ mp_float("1102125568176476358875572617217575"),
+ mp_float("1529480380326538620480386489199900"),
+ mp_float("2049503709637561751443717895527866"),
+ mp_float("2652298918354491678338929041271356"),
+ mp_float("3315373647943114597923661301589195"),
+ mp_float("4003470065440742155983289118900160"),
+ mp_float("4670715076347532515313837305383520"),
+ mp_float("5265169722428127562717416598795968"),
+ mp_float("5735274161930638952245757366545608"),
+ mp_float("6037130696769093633942902491100640"),
+ mp_float("6141219157058215937976400809912720"),
+ mp_float("6037130696769093633942902491100640"),
+ mp_float("5735274161930638952245757366545608"),
+ mp_float("5265169722428127562717416598795968"),
+ mp_float("4670715076347532515313837305383520"),
+ mp_float("4003470065440742155983289118900160"),
+ mp_float("3315373647943114597923661301589195"),
+ mp_float("2652298918354491678338929041271356"),
+ mp_float("2049503709637561751443717895527866"),
+ mp_float("1529480380326538620480386489199900"),
+ mp_float("1102125568176476358875572617217575"),
+ mp_float("766696047427113988783007038064400"),
+ mp_float("514781631843919392468590439843240"),
+ mp_float("333520493870708338782467045532240"),
+ mp_float("208450308669192711739041903457650"),
+ mp_float("125641281937595607075586900714200"),
+ mp_float("73007771936710960868246442306900"),
+ mp_float("40884352284558138086218007691864"),
+ mp_float("22056032153511627125459714675874"),
+ mp_float("11457679040785260844394656974480"),
+ mp_float("5728839520392630422197328487240"),
+ mp_float("2755644326264809570170866867280"),
+ mp_float("1274485500897474426204025926117"),
+ mp_float("566438000398877522757344856052"),
+ mp_float("241772317243423332884232560510"),
+ mp_float("99039262485257750820047072980"),
+ mp_float("38908281690636973536447064385"),
+ mp_float("14647823695298625331368306592"),
+ mp_float("5280029471561132386888575632"),
+ mp_float("1820699817779700823065026080"),
+ mp_float("600003349041037771237338140"),
+ mp_float("188765098574708512299387280"),
+ mp_float("56629529572412553689816184"),
+ mp_float("16179865592117872482804624"),
+ mp_float("4396702606553769696414300"),
+ mp_float("1134632930723553470042400"),
+ mp_float("277622951134486487350800"),
+ mp_float("64291630789038976018080"),
+ mp_float("14063794235102276003955"),
+ mp_float("2899751388680881650300"),
+ mp_float("562196697805477054650"),
+ mp_float("102217581419177646300"),
+ mp_float("17376988841260199871"),
+ mp_float(static_cast<boost::int64_t>(2752790311486764336LL)),
+ mp_float(static_cast<boost::int64_t>(404822104630406520LL)),
+ mp_float(static_cast<boost::int64_t>(55024363736171760LL)),
+ mp_float(static_cast<boost::int64_t>(6878045467021470LL)),
+ mp_float(static_cast<boost::int64_t>(786062339088168LL)),
+ mp_float(static_cast<boost::int64_t>(81572506886508LL)),
+ mp_float(static_cast<boost::int64_t>(7623598774440LL)),
+ mp_float(static_cast<boost::int64_t>(635299897870LL)),
+ mp_float(static_cast<boost::int64_t>(46627515440LL)),
+ mp_float(static_cast<boost::int64_t>(2967205528LL)),
+ mp_float(static_cast<boost::int32_t>(160389488L)),
+ mp_float(static_cast<boost::int32_t>(7160245L)),
+ mp_float(static_cast<boost::int32_t>(253460L)),
+ mp_float(static_cast<boost::int32_t>(6670L)),
+ mp_float(static_cast<boost::int32_t>(116L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_116_vect(A007318_116_data.begin(), A007318_116_data.end());
+
+ return A007318_116_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_117(void)
+ {
+ static const boost::array<mp_float, 118u> A007318_117_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(117L)),
+ mp_float(static_cast<boost::int32_t>(6786L)),
+ mp_float(static_cast<boost::int32_t>(260130L)),
+ mp_float(static_cast<boost::int32_t>(7413705L)),
+ mp_float(static_cast<boost::int32_t>(167549733L)),
+ mp_float(static_cast<boost::int64_t>(3127595016LL)),
+ mp_float(static_cast<boost::int64_t>(49594720968LL)),
+ mp_float(static_cast<boost::int64_t>(681927413310LL)),
+ mp_float(static_cast<boost::int64_t>(8258898672310LL)),
+ mp_float(static_cast<boost::int64_t>(89196105660948LL)),
+ mp_float(static_cast<boost::int64_t>(867634845974676LL)),
+ mp_float(static_cast<boost::int64_t>(7664107806109638LL)),
+ mp_float(static_cast<boost::int64_t>(61902409203193230LL)),
+ mp_float(static_cast<boost::int64_t>(459846468366578280LL)),
+ mp_float(static_cast<boost::int64_t>(3157612416117170856LL)),
+ mp_float("20129779152746964207"),
+ mp_float("119594570260437846171"),
+ mp_float("664414279224654700950"),
+ mp_float("3461948086486358704950"),
+ mp_float("16963545623783157654255"),
+ mp_float("78355425024141252022035"),
+ mp_float("341914581923525463368880"),
+ mp_float("1412255881858039957393200"),
+ mp_float("5531335537277323166456700"),
+ mp_float("20576568198671642179218924"),
+ mp_float("72809395164530426172620808"),
+ mp_float("245394628147121065989203464"),
+ mp_float("788768447615746283536725420"),
+ mp_float("2420703166820738594302364220"),
+ mp_float("7100729289340833209953601712"),
+ mp_float("19927853166859757718256882224"),
+ mp_float("53556105385935598867815370977"),
+ mp_float("137947544175894724356494137365"),
+ mp_float("340811579728681083704279633490"),
+ mp_float("808210317642300855641577416562"),
+ mp_float("1840923501296351948961370782169"),
+ mp_float("4030129827162283996374892793397"),
+ mp_float("8484483846657439992368195354520"),
+ mp_float("17186518561177891266591985461720"),
+ mp_float("33513711194296887969854371650354"),
+ mp_float("62940384438069765211677722367738"),
+ mp_float("113892124221269098954464449998764"),
+ mp_float("198649053874306567943833343021100"),
+ mp_float("334091590606788318814628804171850"),
+ mp_float("541970802539901050521508948989890"),
+ mp_float("848302125714627731251057485375480"),
+ mp_float("1281477679271033381251597477907640"),
+ mp_float("1868821615603590347658579655281975"),
+ mp_float("2631605948503014979355959106417475"),
+ mp_float("3578984089964100371924104384727766"),
+ mp_float("4701802627992053429782646936799222"),
+ mp_float("5967672566297606276262590342860551"),
+ mp_float("7318843713383856753906950420489355"),
+ mp_float("8674185141788274671297126424283680"),
+ mp_float("9935884798775660078031253904179488"),
+ mp_float("11000443884358766514963173965341576"),
+ mp_float("11772404858699732586188659857646248"),
+ mp_float("12178349853827309571919303301013360"),
+ mp_float("12178349853827309571919303301013360"),
+ mp_float("11772404858699732586188659857646248"),
+ mp_float("11000443884358766514963173965341576"),
+ mp_float("9935884798775660078031253904179488"),
+ mp_float("8674185141788274671297126424283680"),
+ mp_float("7318843713383856753906950420489355"),
+ mp_float("5967672566297606276262590342860551"),
+ mp_float("4701802627992053429782646936799222"),
+ mp_float("3578984089964100371924104384727766"),
+ mp_float("2631605948503014979355959106417475"),
+ mp_float("1868821615603590347658579655281975"),
+ mp_float("1281477679271033381251597477907640"),
+ mp_float("848302125714627731251057485375480"),
+ mp_float("541970802539901050521508948989890"),
+ mp_float("334091590606788318814628804171850"),
+ mp_float("198649053874306567943833343021100"),
+ mp_float("113892124221269098954464449998764"),
+ mp_float("62940384438069765211677722367738"),
+ mp_float("33513711194296887969854371650354"),
+ mp_float("17186518561177891266591985461720"),
+ mp_float("8484483846657439992368195354520"),
+ mp_float("4030129827162283996374892793397"),
+ mp_float("1840923501296351948961370782169"),
+ mp_float("808210317642300855641577416562"),
+ mp_float("340811579728681083704279633490"),
+ mp_float("137947544175894724356494137365"),
+ mp_float("53556105385935598867815370977"),
+ mp_float("19927853166859757718256882224"),
+ mp_float("7100729289340833209953601712"),
+ mp_float("2420703166820738594302364220"),
+ mp_float("788768447615746283536725420"),
+ mp_float("245394628147121065989203464"),
+ mp_float("72809395164530426172620808"),
+ mp_float("20576568198671642179218924"),
+ mp_float("5531335537277323166456700"),
+ mp_float("1412255881858039957393200"),
+ mp_float("341914581923525463368880"),
+ mp_float("78355425024141252022035"),
+ mp_float("16963545623783157654255"),
+ mp_float("3461948086486358704950"),
+ mp_float("664414279224654700950"),
+ mp_float("119594570260437846171"),
+ mp_float("20129779152746964207"),
+ mp_float(static_cast<boost::int64_t>(3157612416117170856LL)),
+ mp_float(static_cast<boost::int64_t>(459846468366578280LL)),
+ mp_float(static_cast<boost::int64_t>(61902409203193230LL)),
+ mp_float(static_cast<boost::int64_t>(7664107806109638LL)),
+ mp_float(static_cast<boost::int64_t>(867634845974676LL)),
+ mp_float(static_cast<boost::int64_t>(89196105660948LL)),
+ mp_float(static_cast<boost::int64_t>(8258898672310LL)),
+ mp_float(static_cast<boost::int64_t>(681927413310LL)),
+ mp_float(static_cast<boost::int64_t>(49594720968LL)),
+ mp_float(static_cast<boost::int64_t>(3127595016LL)),
+ mp_float(static_cast<boost::int32_t>(167549733L)),
+ mp_float(static_cast<boost::int32_t>(7413705L)),
+ mp_float(static_cast<boost::int32_t>(260130L)),
+ mp_float(static_cast<boost::int32_t>(6786L)),
+ mp_float(static_cast<boost::int32_t>(117L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_117_vect(A007318_117_data.begin(), A007318_117_data.end());
+
+ return A007318_117_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_118(void)
+ {
+ static const boost::array<mp_float, 119u> A007318_118_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(118L)),
+ mp_float(static_cast<boost::int32_t>(6903L)),
+ mp_float(static_cast<boost::int32_t>(266916L)),
+ mp_float(static_cast<boost::int32_t>(7673835L)),
+ mp_float(static_cast<boost::int32_t>(174963438L)),
+ mp_float(static_cast<boost::int64_t>(3295144749LL)),
+ mp_float(static_cast<boost::int64_t>(52722315984LL)),
+ mp_float(static_cast<boost::int64_t>(731522134278LL)),
+ mp_float(static_cast<boost::int64_t>(8940826085620LL)),
+ mp_float(static_cast<boost::int64_t>(97455004333258LL)),
+ mp_float(static_cast<boost::int64_t>(956830951635624LL)),
+ mp_float(static_cast<boost::int64_t>(8531742652084314LL)),
+ mp_float(static_cast<boost::int64_t>(69566517009302868LL)),
+ mp_float(static_cast<boost::int64_t>(521748877569771510LL)),
+ mp_float(static_cast<boost::int64_t>(3617458884483749136LL)),
+ mp_float("23287391568864135063"),
+ mp_float("139724349413184810378"),
+ mp_float("784008849485092547121"),
+ mp_float("4126362365711013405900"),
+ mp_float("20425493710269516359205"),
+ mp_float("95318970647924409676290"),
+ mp_float("420270006947666715390915"),
+ mp_float("1754170463781565420762080"),
+ mp_float("6943591419135363123849900"),
+ mp_float("26107903735948965345675624"),
+ mp_float("93385963363202068351839732"),
+ mp_float("318204023311651492161824272"),
+ mp_float("1034163075762867349525928884"),
+ mp_float("3209471614436484877839089640"),
+ mp_float("9521432456161571804255965932"),
+ mp_float("27028582456200590928210483936"),
+ mp_float("73483958552795356586072253201"),
+ mp_float("191503649561830323224309508342"),
+ mp_float("478759123904575808060773770855"),
+ mp_float("1149021897370981939345857050052"),
+ mp_float("2649133818938652804602948198731"),
+ mp_float("5871053328458635945336263575566"),
+ mp_float("12514613673819723988743088147917"),
+ mp_float("25671002407835331258960180816240"),
+ mp_float("50700229755474779236446357112074"),
+ mp_float("96454095632366653181532094018092"),
+ mp_float("176832508659338864166142172366502"),
+ mp_float("312541178095575666898297793019864"),
+ mp_float("532740644481094886758462147192950"),
+ mp_float("876062393146689369336137753161740"),
+ mp_float("1390272928254528781772566434365370"),
+ mp_float("2129779804985661112502654963283120"),
+ mp_float("3150299294874623728910177133189615"),
+ mp_float("4500427564106605327014538761699450"),
+ mp_float("6210590038467115351280063491145241"),
+ mp_float("8280786717956153801706751321526988"),
+ mp_float("10669475194289659706045237279659773"),
+ mp_float("13286516279681463030169540763349906"),
+ mp_float("15993028855172131425204076844773035"),
+ mp_float("18610069940563934749328380328463168"),
+ mp_float("20936328683134426592994427869521064"),
+ mp_float("22772848743058499101151833822987824"),
+ mp_float("23950754712527042158107963158659608"),
+ mp_float("24356699707654619143838606602026720"),
+ mp_float("23950754712527042158107963158659608"),
+ mp_float("22772848743058499101151833822987824"),
+ mp_float("20936328683134426592994427869521064"),
+ mp_float("18610069940563934749328380328463168"),
+ mp_float("15993028855172131425204076844773035"),
+ mp_float("13286516279681463030169540763349906"),
+ mp_float("10669475194289659706045237279659773"),
+ mp_float("8280786717956153801706751321526988"),
+ mp_float("6210590038467115351280063491145241"),
+ mp_float("4500427564106605327014538761699450"),
+ mp_float("3150299294874623728910177133189615"),
+ mp_float("2129779804985661112502654963283120"),
+ mp_float("1390272928254528781772566434365370"),
+ mp_float("876062393146689369336137753161740"),
+ mp_float("532740644481094886758462147192950"),
+ mp_float("312541178095575666898297793019864"),
+ mp_float("176832508659338864166142172366502"),
+ mp_float("96454095632366653181532094018092"),
+ mp_float("50700229755474779236446357112074"),
+ mp_float("25671002407835331258960180816240"),
+ mp_float("12514613673819723988743088147917"),
+ mp_float("5871053328458635945336263575566"),
+ mp_float("2649133818938652804602948198731"),
+ mp_float("1149021897370981939345857050052"),
+ mp_float("478759123904575808060773770855"),
+ mp_float("191503649561830323224309508342"),
+ mp_float("73483958552795356586072253201"),
+ mp_float("27028582456200590928210483936"),
+ mp_float("9521432456161571804255965932"),
+ mp_float("3209471614436484877839089640"),
+ mp_float("1034163075762867349525928884"),
+ mp_float("318204023311651492161824272"),
+ mp_float("93385963363202068351839732"),
+ mp_float("26107903735948965345675624"),
+ mp_float("6943591419135363123849900"),
+ mp_float("1754170463781565420762080"),
+ mp_float("420270006947666715390915"),
+ mp_float("95318970647924409676290"),
+ mp_float("20425493710269516359205"),
+ mp_float("4126362365711013405900"),
+ mp_float("784008849485092547121"),
+ mp_float("139724349413184810378"),
+ mp_float("23287391568864135063"),
+ mp_float(static_cast<boost::int64_t>(3617458884483749136LL)),
+ mp_float(static_cast<boost::int64_t>(521748877569771510LL)),
+ mp_float(static_cast<boost::int64_t>(69566517009302868LL)),
+ mp_float(static_cast<boost::int64_t>(8531742652084314LL)),
+ mp_float(static_cast<boost::int64_t>(956830951635624LL)),
+ mp_float(static_cast<boost::int64_t>(97455004333258LL)),
+ mp_float(static_cast<boost::int64_t>(8940826085620LL)),
+ mp_float(static_cast<boost::int64_t>(731522134278LL)),
+ mp_float(static_cast<boost::int64_t>(52722315984LL)),
+ mp_float(static_cast<boost::int64_t>(3295144749LL)),
+ mp_float(static_cast<boost::int32_t>(174963438L)),
+ mp_float(static_cast<boost::int32_t>(7673835L)),
+ mp_float(static_cast<boost::int32_t>(266916L)),
+ mp_float(static_cast<boost::int32_t>(6903L)),
+ mp_float(static_cast<boost::int32_t>(118L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_118_vect(A007318_118_data.begin(), A007318_118_data.end());
+
+ return A007318_118_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_119(void)
+ {
+ static const boost::array<mp_float, 120u> A007318_119_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(119L)),
+ mp_float(static_cast<boost::int32_t>(7021L)),
+ mp_float(static_cast<boost::int32_t>(273819L)),
+ mp_float(static_cast<boost::int32_t>(7940751L)),
+ mp_float(static_cast<boost::int32_t>(182637273L)),
+ mp_float(static_cast<boost::int64_t>(3470108187LL)),
+ mp_float(static_cast<boost::int64_t>(56017460733LL)),
+ mp_float(static_cast<boost::int64_t>(784244450262LL)),
+ mp_float(static_cast<boost::int64_t>(9672348219898LL)),
+ mp_float(static_cast<boost::int64_t>(106395830418878LL)),
+ mp_float(static_cast<boost::int64_t>(1054285955968882LL)),
+ mp_float(static_cast<boost::int64_t>(9488573603719938LL)),
+ mp_float(static_cast<boost::int64_t>(78098259661387182LL)),
+ mp_float(static_cast<boost::int64_t>(591315394579074378LL)),
+ mp_float(static_cast<boost::int64_t>(4139207762053520646LL)),
+ mp_float("26904850453347884199"),
+ mp_float("163011740982048945441"),
+ mp_float("923733198898277357499"),
+ mp_float("4910371215196105953021"),
+ mp_float("24551856075980529765105"),
+ mp_float("115744464358193926035495"),
+ mp_float("515588977595591125067205"),
+ mp_float("2174440470729232136152995"),
+ mp_float("8697761882916928544611980"),
+ mp_float("33051495155084328469525524"),
+ mp_float("119493867099151033697515356"),
+ mp_float("411589986674853560513664004"),
+ mp_float("1352367099074518841687753156"),
+ mp_float("4243634690199352227365018524"),
+ mp_float("12730904070598056682095055572"),
+ mp_float("36550014912362162732466449868"),
+ mp_float("100512541008995947514282737137"),
+ mp_float("264987608114625679810381761543"),
+ mp_float("670262773466406131285083279197"),
+ mp_float("1627781021275557747406630820907"),
+ mp_float("3798155716309634743948805248783"),
+ mp_float("8520187147397288749939211774297"),
+ mp_float("18385667002278359934079351723483"),
+ mp_float("38185616081655055247703268964157"),
+ mp_float("76371232163310110495406537928314"),
+ mp_float("147154325387841432417978451130166"),
+ mp_float("273286604291705517347674266384594"),
+ mp_float("489373686754914531064439965386366"),
+ mp_float("845281822576670553656759940212814"),
+ mp_float("1408803037627784256094599900354690"),
+ mp_float("2266335321401218151108704187527110"),
+ mp_float("3520052733240189894275221397648490"),
+ mp_float("5280079099860284841412832096472735"),
+ mp_float("7650726858981229055924715894889065"),
+ mp_float("10711017602573720678294602252844691"),
+ mp_float("14491376756423269152986814812672229"),
+ mp_float("18950261912245813507751988601186761"),
+ mp_float("23955991473971122736214778043009679"),
+ mp_float("29279545134853594455373617608122941"),
+ mp_float("34603098795736066174532457173236203"),
+ mp_float("39546398623698361342322808197984232"),
+ mp_float("43709177426192925694146261692508888"),
+ mp_float("46723603455585541259259796981647432"),
+ mp_float("48307454420181661301946569760686328"),
+ mp_float("48307454420181661301946569760686328"),
+ mp_float("46723603455585541259259796981647432"),
+ mp_float("43709177426192925694146261692508888"),
+ mp_float("39546398623698361342322808197984232"),
+ mp_float("34603098795736066174532457173236203"),
+ mp_float("29279545134853594455373617608122941"),
+ mp_float("23955991473971122736214778043009679"),
+ mp_float("18950261912245813507751988601186761"),
+ mp_float("14491376756423269152986814812672229"),
+ mp_float("10711017602573720678294602252844691"),
+ mp_float("7650726858981229055924715894889065"),
+ mp_float("5280079099860284841412832096472735"),
+ mp_float("3520052733240189894275221397648490"),
+ mp_float("2266335321401218151108704187527110"),
+ mp_float("1408803037627784256094599900354690"),
+ mp_float("845281822576670553656759940212814"),
+ mp_float("489373686754914531064439965386366"),
+ mp_float("273286604291705517347674266384594"),
+ mp_float("147154325387841432417978451130166"),
+ mp_float("76371232163310110495406537928314"),
+ mp_float("38185616081655055247703268964157"),
+ mp_float("18385667002278359934079351723483"),
+ mp_float("8520187147397288749939211774297"),
+ mp_float("3798155716309634743948805248783"),
+ mp_float("1627781021275557747406630820907"),
+ mp_float("670262773466406131285083279197"),
+ mp_float("264987608114625679810381761543"),
+ mp_float("100512541008995947514282737137"),
+ mp_float("36550014912362162732466449868"),
+ mp_float("12730904070598056682095055572"),
+ mp_float("4243634690199352227365018524"),
+ mp_float("1352367099074518841687753156"),
+ mp_float("411589986674853560513664004"),
+ mp_float("119493867099151033697515356"),
+ mp_float("33051495155084328469525524"),
+ mp_float("8697761882916928544611980"),
+ mp_float("2174440470729232136152995"),
+ mp_float("515588977595591125067205"),
+ mp_float("115744464358193926035495"),
+ mp_float("24551856075980529765105"),
+ mp_float("4910371215196105953021"),
+ mp_float("923733198898277357499"),
+ mp_float("163011740982048945441"),
+ mp_float("26904850453347884199"),
+ mp_float(static_cast<boost::int64_t>(4139207762053520646LL)),
+ mp_float(static_cast<boost::int64_t>(591315394579074378LL)),
+ mp_float(static_cast<boost::int64_t>(78098259661387182LL)),
+ mp_float(static_cast<boost::int64_t>(9488573603719938LL)),
+ mp_float(static_cast<boost::int64_t>(1054285955968882LL)),
+ mp_float(static_cast<boost::int64_t>(106395830418878LL)),
+ mp_float(static_cast<boost::int64_t>(9672348219898LL)),
+ mp_float(static_cast<boost::int64_t>(784244450262LL)),
+ mp_float(static_cast<boost::int64_t>(56017460733LL)),
+ mp_float(static_cast<boost::int64_t>(3470108187LL)),
+ mp_float(static_cast<boost::int32_t>(182637273L)),
+ mp_float(static_cast<boost::int32_t>(7940751L)),
+ mp_float(static_cast<boost::int32_t>(273819L)),
+ mp_float(static_cast<boost::int32_t>(7021L)),
+ mp_float(static_cast<boost::int32_t>(119L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_119_vect(A007318_119_data.begin(), A007318_119_data.end());
+
+ return A007318_119_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_120(void)
+ {
+ static const boost::array<mp_float, 121u> A007318_120_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(120L)),
+ mp_float(static_cast<boost::int32_t>(7140L)),
+ mp_float(static_cast<boost::int32_t>(280840L)),
+ mp_float(static_cast<boost::int32_t>(8214570L)),
+ mp_float(static_cast<boost::int32_t>(190578024L)),
+ mp_float(static_cast<boost::int64_t>(3652745460LL)),
+ mp_float(static_cast<boost::int64_t>(59487568920LL)),
+ mp_float(static_cast<boost::int64_t>(840261910995LL)),
+ mp_float(static_cast<boost::int64_t>(10456592670160LL)),
+ mp_float(static_cast<boost::int64_t>(116068178638776LL)),
+ mp_float(static_cast<boost::int64_t>(1160681786387760LL)),
+ mp_float(static_cast<boost::int64_t>(10542859559688820LL)),
+ mp_float(static_cast<boost::int64_t>(87586833265107120LL)),
+ mp_float(static_cast<boost::int64_t>(669413654240461560LL)),
+ mp_float(static_cast<boost::int64_t>(4730523156632595024LL)),
+ mp_float("31044058215401404845"),
+ mp_float("189916591435396829640"),
+ mp_float("1086744939880326302940"),
+ mp_float("5834104414094383310520"),
+ mp_float("29462227291176635718126"),
+ mp_float("140296320434174455800600"),
+ mp_float("631333441953785051102700"),
+ mp_float("2690029448324823261220200"),
+ mp_float("10872202353646160680764975"),
+ mp_float("41749257038001257014137504"),
+ mp_float("152545362254235362167040880"),
+ mp_float("531083853774004594211179360"),
+ mp_float("1763957085749372402201417160"),
+ mp_float("5596001789273871069052771680"),
+ mp_float("16974538760797408909460074096"),
+ mp_float("49280918982960219414561505440"),
+ mp_float("137062555921358110246749187005"),
+ mp_float("365500149123621627324664498680"),
+ mp_float("935250381581031811095465040740"),
+ mp_float("2298043794741963878691714100104"),
+ mp_float("5425936737585192491355436069690"),
+ mp_float("12318342863706923493888017023080"),
+ mp_float("26905854149675648684018563497780"),
+ mp_float("56571283083933415181782620687640"),
+ mp_float("114556848244965165743109806892471"),
+ mp_float("223525557551151542913384989058480"),
+ mp_float("420440929679546949765652717514760"),
+ mp_float("762660291046620048412114231770960"),
+ mp_float("1334655509331585084721199905599180"),
+ mp_float("2254084860204454809751359840567504"),
+ mp_float("3675138359029002407203304087881800"),
+ mp_float("5786388054641408045383925585175600"),
+ mp_float("8800131833100474735688053494121225"),
+ mp_float("12930805958841513897337547991361800"),
+ mp_float("18361744461554949734219318147733756"),
+ mp_float("25202394358996989831281417065516920"),
+ mp_float("33441638668669082660738803413858990"),
+ mp_float("42906253386216936243966766644196440"),
+ mp_float("53235536608824717191588395651132620"),
+ mp_float("63882643930589660629906074781359144"),
+ mp_float("74149497419434427516855265371220435"),
+ mp_float("83255576049891287036469069890493120"),
+ mp_float("90432780881778466953406058674156320"),
+ mp_float("95031057875767202561206366742333760"),
+ mp_float("96614908840363322603893139521372656"),
+ mp_float("95031057875767202561206366742333760"),
+ mp_float("90432780881778466953406058674156320"),
+ mp_float("83255576049891287036469069890493120"),
+ mp_float("74149497419434427516855265371220435"),
+ mp_float("63882643930589660629906074781359144"),
+ mp_float("53235536608824717191588395651132620"),
+ mp_float("42906253386216936243966766644196440"),
+ mp_float("33441638668669082660738803413858990"),
+ mp_float("25202394358996989831281417065516920"),
+ mp_float("18361744461554949734219318147733756"),
+ mp_float("12930805958841513897337547991361800"),
+ mp_float("8800131833100474735688053494121225"),
+ mp_float("5786388054641408045383925585175600"),
+ mp_float("3675138359029002407203304087881800"),
+ mp_float("2254084860204454809751359840567504"),
+ mp_float("1334655509331585084721199905599180"),
+ mp_float("762660291046620048412114231770960"),
+ mp_float("420440929679546949765652717514760"),
+ mp_float("223525557551151542913384989058480"),
+ mp_float("114556848244965165743109806892471"),
+ mp_float("56571283083933415181782620687640"),
+ mp_float("26905854149675648684018563497780"),
+ mp_float("12318342863706923493888017023080"),
+ mp_float("5425936737585192491355436069690"),
+ mp_float("2298043794741963878691714100104"),
+ mp_float("935250381581031811095465040740"),
+ mp_float("365500149123621627324664498680"),
+ mp_float("137062555921358110246749187005"),
+ mp_float("49280918982960219414561505440"),
+ mp_float("16974538760797408909460074096"),
+ mp_float("5596001789273871069052771680"),
+ mp_float("1763957085749372402201417160"),
+ mp_float("531083853774004594211179360"),
+ mp_float("152545362254235362167040880"),
+ mp_float("41749257038001257014137504"),
+ mp_float("10872202353646160680764975"),
+ mp_float("2690029448324823261220200"),
+ mp_float("631333441953785051102700"),
+ mp_float("140296320434174455800600"),
+ mp_float("29462227291176635718126"),
+ mp_float("5834104414094383310520"),
+ mp_float("1086744939880326302940"),
+ mp_float("189916591435396829640"),
+ mp_float("31044058215401404845"),
+ mp_float(static_cast<boost::int64_t>(4730523156632595024LL)),
+ mp_float(static_cast<boost::int64_t>(669413654240461560LL)),
+ mp_float(static_cast<boost::int64_t>(87586833265107120LL)),
+ mp_float(static_cast<boost::int64_t>(10542859559688820LL)),
+ mp_float(static_cast<boost::int64_t>(1160681786387760LL)),
+ mp_float(static_cast<boost::int64_t>(116068178638776LL)),
+ mp_float(static_cast<boost::int64_t>(10456592670160LL)),
+ mp_float(static_cast<boost::int64_t>(840261910995LL)),
+ mp_float(static_cast<boost::int64_t>(59487568920LL)),
+ mp_float(static_cast<boost::int64_t>(3652745460LL)),
+ mp_float(static_cast<boost::int32_t>(190578024L)),
+ mp_float(static_cast<boost::int32_t>(8214570L)),
+ mp_float(static_cast<boost::int32_t>(280840L)),
+ mp_float(static_cast<boost::int32_t>(7140L)),
+ mp_float(static_cast<boost::int32_t>(120L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_120_vect(A007318_120_data.begin(), A007318_120_data.end());
+
+ return A007318_120_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_121(void)
+ {
+ static const boost::array<mp_float, 122u> A007318_121_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(121L)),
+ mp_float(static_cast<boost::int32_t>(7260L)),
+ mp_float(static_cast<boost::int32_t>(287980L)),
+ mp_float(static_cast<boost::int32_t>(8495410L)),
+ mp_float(static_cast<boost::int32_t>(198792594L)),
+ mp_float(static_cast<boost::int64_t>(3843323484LL)),
+ mp_float(static_cast<boost::int64_t>(63140314380LL)),
+ mp_float(static_cast<boost::int64_t>(899749479915LL)),
+ mp_float(static_cast<boost::int64_t>(11296854581155LL)),
+ mp_float(static_cast<boost::int64_t>(126524771308936LL)),
+ mp_float(static_cast<boost::int64_t>(1276749965026536LL)),
+ mp_float(static_cast<boost::int64_t>(11703541346076580LL)),
+ mp_float(static_cast<boost::int64_t>(98129692824795940LL)),
+ mp_float(static_cast<boost::int64_t>(757000487505568680LL)),
+ mp_float(static_cast<boost::int64_t>(5399936810873056584LL)),
+ mp_float("35774581372033999869"),
+ mp_float("220960649650798234485"),
+ mp_float("1276661531315723132580"),
+ mp_float("6920849353974709613460"),
+ mp_float("35296331705271019028646"),
+ mp_float("169758547725351091518726"),
+ mp_float("771629762387959506903300"),
+ mp_float("3321362890278608312322900"),
+ mp_float("13562231801970983941985175"),
+ mp_float("52621459391647417694902479"),
+ mp_float("194294619292236619181178384"),
+ mp_float("683629216028239956378220240"),
+ mp_float("2295040939523376996412596520"),
+ mp_float("7359958875023243471254188840"),
+ mp_float("22570540550071279978512845776"),
+ mp_float("66255457743757628324021579536"),
+ mp_float("186343474904318329661310692445"),
+ mp_float("502562705044979737571413685685"),
+ mp_float("1300750530704653438420129539420"),
+ mp_float("3233294176322995689787179140844"),
+ mp_float("7723980532327156370047150169794"),
+ mp_float("17744279601292115985243453092770"),
+ mp_float("39224197013382572177906580520860"),
+ mp_float("83477137233609063865801184185420"),
+ mp_float("171128131328898580924892427580111"),
+ mp_float("338082405796116708656494795950951"),
+ mp_float("643966487230698492679037706573240"),
+ mp_float("1183101220726166998177766949285720"),
+ mp_float("2097315800378205133133314137370140"),
+ mp_float("3588740369536039894472559746166684"),
+ mp_float("5929223219233457216954663928449304"),
+ mp_float("9461526413670410452587229673057400"),
+ mp_float("14586519887741882781071979079296825"),
+ mp_float("21730937791941988633025601485483025"),
+ mp_float("31292550420396463631556866139095556"),
+ mp_float("43564138820551939565500735213250676"),
+ mp_float("58644033027666072492020220479375910"),
+ mp_float("76347892054886018904705570058055430"),
+ mp_float("96141789995041653435555162295329060"),
+ mp_float("117118180539414377821494470432491764"),
+ mp_float("138032141350024088146761340152579579"),
+ mp_float("157405073469325714553324335261713555"),
+ mp_float("173688356931669753989875128564649440"),
+ mp_float("185463838757545669514612425416490080"),
+ mp_float("191645966716130525165099506263706416"),
+ mp_float("191645966716130525165099506263706416"),
+ mp_float("185463838757545669514612425416490080"),
+ mp_float("173688356931669753989875128564649440"),
+ mp_float("157405073469325714553324335261713555"),
+ mp_float("138032141350024088146761340152579579"),
+ mp_float("117118180539414377821494470432491764"),
+ mp_float("96141789995041653435555162295329060"),
+ mp_float("76347892054886018904705570058055430"),
+ mp_float("58644033027666072492020220479375910"),
+ mp_float("43564138820551939565500735213250676"),
+ mp_float("31292550420396463631556866139095556"),
+ mp_float("21730937791941988633025601485483025"),
+ mp_float("14586519887741882781071979079296825"),
+ mp_float("9461526413670410452587229673057400"),
+ mp_float("5929223219233457216954663928449304"),
+ mp_float("3588740369536039894472559746166684"),
+ mp_float("2097315800378205133133314137370140"),
+ mp_float("1183101220726166998177766949285720"),
+ mp_float("643966487230698492679037706573240"),
+ mp_float("338082405796116708656494795950951"),
+ mp_float("171128131328898580924892427580111"),
+ mp_float("83477137233609063865801184185420"),
+ mp_float("39224197013382572177906580520860"),
+ mp_float("17744279601292115985243453092770"),
+ mp_float("7723980532327156370047150169794"),
+ mp_float("3233294176322995689787179140844"),
+ mp_float("1300750530704653438420129539420"),
+ mp_float("502562705044979737571413685685"),
+ mp_float("186343474904318329661310692445"),
+ mp_float("66255457743757628324021579536"),
+ mp_float("22570540550071279978512845776"),
+ mp_float("7359958875023243471254188840"),
+ mp_float("2295040939523376996412596520"),
+ mp_float("683629216028239956378220240"),
+ mp_float("194294619292236619181178384"),
+ mp_float("52621459391647417694902479"),
+ mp_float("13562231801970983941985175"),
+ mp_float("3321362890278608312322900"),
+ mp_float("771629762387959506903300"),
+ mp_float("169758547725351091518726"),
+ mp_float("35296331705271019028646"),
+ mp_float("6920849353974709613460"),
+ mp_float("1276661531315723132580"),
+ mp_float("220960649650798234485"),
+ mp_float("35774581372033999869"),
+ mp_float(static_cast<boost::int64_t>(5399936810873056584LL)),
+ mp_float(static_cast<boost::int64_t>(757000487505568680LL)),
+ mp_float(static_cast<boost::int64_t>(98129692824795940LL)),
+ mp_float(static_cast<boost::int64_t>(11703541346076580LL)),
+ mp_float(static_cast<boost::int64_t>(1276749965026536LL)),
+ mp_float(static_cast<boost::int64_t>(126524771308936LL)),
+ mp_float(static_cast<boost::int64_t>(11296854581155LL)),
+ mp_float(static_cast<boost::int64_t>(899749479915LL)),
+ mp_float(static_cast<boost::int64_t>(63140314380LL)),
+ mp_float(static_cast<boost::int64_t>(3843323484LL)),
+ mp_float(static_cast<boost::int32_t>(198792594L)),
+ mp_float(static_cast<boost::int32_t>(8495410L)),
+ mp_float(static_cast<boost::int32_t>(287980L)),
+ mp_float(static_cast<boost::int32_t>(7260L)),
+ mp_float(static_cast<boost::int32_t>(121L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_121_vect(A007318_121_data.begin(), A007318_121_data.end());
+
+ return A007318_121_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_122(void)
+ {
+ static const boost::array<mp_float, 123u> A007318_122_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(122L)),
+ mp_float(static_cast<boost::int32_t>(7381L)),
+ mp_float(static_cast<boost::int32_t>(295240L)),
+ mp_float(static_cast<boost::int32_t>(8783390L)),
+ mp_float(static_cast<boost::int32_t>(207288004L)),
+ mp_float(static_cast<boost::int64_t>(4042116078LL)),
+ mp_float(static_cast<boost::int64_t>(66983637864LL)),
+ mp_float(static_cast<boost::int64_t>(962889794295LL)),
+ mp_float(static_cast<boost::int64_t>(12196604061070LL)),
+ mp_float(static_cast<boost::int64_t>(137821625890091LL)),
+ mp_float(static_cast<boost::int64_t>(1403274736335472LL)),
+ mp_float(static_cast<boost::int64_t>(12980291311103116LL)),
+ mp_float(static_cast<boost::int64_t>(109833234170872520LL)),
+ mp_float(static_cast<boost::int64_t>(855130180330364620LL)),
+ mp_float(static_cast<boost::int64_t>(6156937298378625264LL)),
+ mp_float("41174518182907056453"),
+ mp_float("256735231022832234354"),
+ mp_float("1497622180966521367065"),
+ mp_float("8197510885290432746040"),
+ mp_float("42217181059245728642106"),
+ mp_float("205054879430622110547372"),
+ mp_float("941388310113310598422026"),
+ mp_float("4092992652666567819226200"),
+ mp_float("16883594692249592254308075"),
+ mp_float("66183691193618401636887654"),
+ mp_float("246916078683884036876080863"),
+ mp_float("877923835320476575559398624"),
+ mp_float("2978670155551616952790816760"),
+ mp_float("9654999814546620467666785360"),
+ mp_float("29930499425094523449767034616"),
+ mp_float("88825998293828908302534425312"),
+ mp_float("252598932648075957985332271981"),
+ mp_float("688906179949298067232724378130"),
+ mp_float("1803313235749633175991543225105"),
+ mp_float("4534044707027649128207308680264"),
+ mp_float("10957274708650152059834329310638"),
+ mp_float("25468260133619272355290603262564"),
+ mp_float("56968476614674688163150033613630"),
+ mp_float("122701334246991636043707764706280"),
+ mp_float("254605268562507644790693611765531"),
+ mp_float("509210537125015289581387223531062"),
+ mp_float("982048893026815201335532502524191"),
+ mp_float("1827067707956865490856804655858960"),
+ mp_float("3280417021104372131311081086655860"),
+ mp_float("5686056169914245027605873883536824"),
+ mp_float("9517963588769497111427223674615988"),
+ mp_float("15390749632903867669541893601506704"),
+ mp_float("24048046301412293233659208752354225"),
+ mp_float("36317457679683871414097580564779850"),
+ mp_float("53023488212338452264582467624578581"),
+ mp_float("74856689240948403197057601352346232"),
+ mp_float("102208171848218012057520955692626586"),
+ mp_float("134991925082552091396725790537431340"),
+ mp_float("172489682049927672340260732353384490"),
+ mp_float("213259970534456031257049632727820824"),
+ mp_float("255150321889438465968255810585071343"),
+ mp_float("295437214819349802700085675414293134"),
+ mp_float("331093430400995468543199463826362995"),
+ mp_float("359152195689215423504487553981139520"),
+ mp_float("377109805473676194679711931680196496"),
+ mp_float("383291933432261050330199012527412832"),
+ mp_float("377109805473676194679711931680196496"),
+ mp_float("359152195689215423504487553981139520"),
+ mp_float("331093430400995468543199463826362995"),
+ mp_float("295437214819349802700085675414293134"),
+ mp_float("255150321889438465968255810585071343"),
+ mp_float("213259970534456031257049632727820824"),
+ mp_float("172489682049927672340260732353384490"),
+ mp_float("134991925082552091396725790537431340"),
+ mp_float("102208171848218012057520955692626586"),
+ mp_float("74856689240948403197057601352346232"),
+ mp_float("53023488212338452264582467624578581"),
+ mp_float("36317457679683871414097580564779850"),
+ mp_float("24048046301412293233659208752354225"),
+ mp_float("15390749632903867669541893601506704"),
+ mp_float("9517963588769497111427223674615988"),
+ mp_float("5686056169914245027605873883536824"),
+ mp_float("3280417021104372131311081086655860"),
+ mp_float("1827067707956865490856804655858960"),
+ mp_float("982048893026815201335532502524191"),
+ mp_float("509210537125015289581387223531062"),
+ mp_float("254605268562507644790693611765531"),
+ mp_float("122701334246991636043707764706280"),
+ mp_float("56968476614674688163150033613630"),
+ mp_float("25468260133619272355290603262564"),
+ mp_float("10957274708650152059834329310638"),
+ mp_float("4534044707027649128207308680264"),
+ mp_float("1803313235749633175991543225105"),
+ mp_float("688906179949298067232724378130"),
+ mp_float("252598932648075957985332271981"),
+ mp_float("88825998293828908302534425312"),
+ mp_float("29930499425094523449767034616"),
+ mp_float("9654999814546620467666785360"),
+ mp_float("2978670155551616952790816760"),
+ mp_float("877923835320476575559398624"),
+ mp_float("246916078683884036876080863"),
+ mp_float("66183691193618401636887654"),
+ mp_float("16883594692249592254308075"),
+ mp_float("4092992652666567819226200"),
+ mp_float("941388310113310598422026"),
+ mp_float("205054879430622110547372"),
+ mp_float("42217181059245728642106"),
+ mp_float("8197510885290432746040"),
+ mp_float("1497622180966521367065"),
+ mp_float("256735231022832234354"),
+ mp_float("41174518182907056453"),
+ mp_float(static_cast<boost::int64_t>(6156937298378625264LL)),
+ mp_float(static_cast<boost::int64_t>(855130180330364620LL)),
+ mp_float(static_cast<boost::int64_t>(109833234170872520LL)),
+ mp_float(static_cast<boost::int64_t>(12980291311103116LL)),
+ mp_float(static_cast<boost::int64_t>(1403274736335472LL)),
+ mp_float(static_cast<boost::int64_t>(137821625890091LL)),
+ mp_float(static_cast<boost::int64_t>(12196604061070LL)),
+ mp_float(static_cast<boost::int64_t>(962889794295LL)),
+ mp_float(static_cast<boost::int64_t>(66983637864LL)),
+ mp_float(static_cast<boost::int64_t>(4042116078LL)),
+ mp_float(static_cast<boost::int32_t>(207288004L)),
+ mp_float(static_cast<boost::int32_t>(8783390L)),
+ mp_float(static_cast<boost::int32_t>(295240L)),
+ mp_float(static_cast<boost::int32_t>(7381L)),
+ mp_float(static_cast<boost::int32_t>(122L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_122_vect(A007318_122_data.begin(), A007318_122_data.end());
+
+ return A007318_122_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_123(void)
+ {
+ static const boost::array<mp_float, 124u> A007318_123_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(123L)),
+ mp_float(static_cast<boost::int32_t>(7503L)),
+ mp_float(static_cast<boost::int32_t>(302621L)),
+ mp_float(static_cast<boost::int32_t>(9078630L)),
+ mp_float(static_cast<boost::int32_t>(216071394L)),
+ mp_float(static_cast<boost::int64_t>(4249404082LL)),
+ mp_float(static_cast<boost::int64_t>(71025753942LL)),
+ mp_float(static_cast<boost::int64_t>(1029873432159LL)),
+ mp_float(static_cast<boost::int64_t>(13159493855365LL)),
+ mp_float(static_cast<boost::int64_t>(150018229951161LL)),
+ mp_float(static_cast<boost::int64_t>(1541096362225563LL)),
+ mp_float(static_cast<boost::int64_t>(14383566047438588LL)),
+ mp_float(static_cast<boost::int64_t>(122813525481975636LL)),
+ mp_float(static_cast<boost::int64_t>(964963414501237140LL)),
+ mp_float(static_cast<boost::int64_t>(7012067478708989884LL)),
+ mp_float("47331455481285681717"),
+ mp_float("297909749205739290807"),
+ mp_float("1754357411989353601419"),
+ mp_float("9695133066256954113105"),
+ mp_float("50414691944536161388146"),
+ mp_float("247272060489867839189478"),
+ mp_float("1146443189543932708969398"),
+ mp_float("5034380962779878417648226"),
+ mp_float("20976587344916160073534275"),
+ mp_float("83067285885867993891195729"),
+ mp_float("313099769877502438512968517"),
+ mp_float("1124839914004360612435479487"),
+ mp_float("3856593990872093528350215384"),
+ mp_float("12633669970098237420457602120"),
+ mp_float("39585499239641143917433819976"),
+ mp_float("118756497718923431752301459928"),
+ mp_float("341424930941904866287866697293"),
+ mp_float("941505112597374025218056650111"),
+ mp_float("2492219415698931243224267603235"),
+ mp_float("6337357942777282304198851905369"),
+ mp_float("15491319415677801188041637990902"),
+ mp_float("36425534842269424415124932573202"),
+ mp_float("82436736748293960518440636876194"),
+ mp_float("179669810861666324206857798319910"),
+ mp_float("377306602809499280834401376471811"),
+ mp_float("763815805687522934372080835296593"),
+ mp_float("1491259430151830490916919726055253"),
+ mp_float("2809116600983680692192337158383151"),
+ mp_float("5107484729061237622167885742514820"),
+ mp_float("8966473191018617158916954970192684"),
+ mp_float("15204019758683742139033097558152812"),
+ mp_float("24908713221673364780969117276122692"),
+ mp_float("39438795934316160903201102353860929"),
+ mp_float("60365503981096164647756789317134075"),
+ mp_float("89340945892022323678680048189358431"),
+ mp_float("127880177453286855461640068976924813"),
+ mp_float("177064861089166415254578557044972818"),
+ mp_float("237200096930770103454246746230057926"),
+ mp_float("307481607132479763736986522890815830"),
+ mp_float("385749652584383703597310365081205314"),
+ mp_float("468410292423894497225305443312892167"),
+ mp_float("550587536708788268668341485999364477"),
+ mp_float("626530645220345271243285139240656129"),
+ mp_float("690245626090210892047687017807502515"),
+ mp_float("736262001162891618184199485661336016"),
+ mp_float("760401738905937245009910944207609328"),
+ mp_float("760401738905937245009910944207609328"),
+ mp_float("736262001162891618184199485661336016"),
+ mp_float("690245626090210892047687017807502515"),
+ mp_float("626530645220345271243285139240656129"),
+ mp_float("550587536708788268668341485999364477"),
+ mp_float("468410292423894497225305443312892167"),
+ mp_float("385749652584383703597310365081205314"),
+ mp_float("307481607132479763736986522890815830"),
+ mp_float("237200096930770103454246746230057926"),
+ mp_float("177064861089166415254578557044972818"),
+ mp_float("127880177453286855461640068976924813"),
+ mp_float("89340945892022323678680048189358431"),
+ mp_float("60365503981096164647756789317134075"),
+ mp_float("39438795934316160903201102353860929"),
+ mp_float("24908713221673364780969117276122692"),
+ mp_float("15204019758683742139033097558152812"),
+ mp_float("8966473191018617158916954970192684"),
+ mp_float("5107484729061237622167885742514820"),
+ mp_float("2809116600983680692192337158383151"),
+ mp_float("1491259430151830490916919726055253"),
+ mp_float("763815805687522934372080835296593"),
+ mp_float("377306602809499280834401376471811"),
+ mp_float("179669810861666324206857798319910"),
+ mp_float("82436736748293960518440636876194"),
+ mp_float("36425534842269424415124932573202"),
+ mp_float("15491319415677801188041637990902"),
+ mp_float("6337357942777282304198851905369"),
+ mp_float("2492219415698931243224267603235"),
+ mp_float("941505112597374025218056650111"),
+ mp_float("341424930941904866287866697293"),
+ mp_float("118756497718923431752301459928"),
+ mp_float("39585499239641143917433819976"),
+ mp_float("12633669970098237420457602120"),
+ mp_float("3856593990872093528350215384"),
+ mp_float("1124839914004360612435479487"),
+ mp_float("313099769877502438512968517"),
+ mp_float("83067285885867993891195729"),
+ mp_float("20976587344916160073534275"),
+ mp_float("5034380962779878417648226"),
+ mp_float("1146443189543932708969398"),
+ mp_float("247272060489867839189478"),
+ mp_float("50414691944536161388146"),
+ mp_float("9695133066256954113105"),
+ mp_float("1754357411989353601419"),
+ mp_float("297909749205739290807"),
+ mp_float("47331455481285681717"),
+ mp_float(static_cast<boost::int64_t>(7012067478708989884LL)),
+ mp_float(static_cast<boost::int64_t>(964963414501237140LL)),
+ mp_float(static_cast<boost::int64_t>(122813525481975636LL)),
+ mp_float(static_cast<boost::int64_t>(14383566047438588LL)),
+ mp_float(static_cast<boost::int64_t>(1541096362225563LL)),
+ mp_float(static_cast<boost::int64_t>(150018229951161LL)),
+ mp_float(static_cast<boost::int64_t>(13159493855365LL)),
+ mp_float(static_cast<boost::int64_t>(1029873432159LL)),
+ mp_float(static_cast<boost::int64_t>(71025753942LL)),
+ mp_float(static_cast<boost::int64_t>(4249404082LL)),
+ mp_float(static_cast<boost::int32_t>(216071394L)),
+ mp_float(static_cast<boost::int32_t>(9078630L)),
+ mp_float(static_cast<boost::int32_t>(302621L)),
+ mp_float(static_cast<boost::int32_t>(7503L)),
+ mp_float(static_cast<boost::int32_t>(123L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_123_vect(A007318_123_data.begin(), A007318_123_data.end());
+
+ return A007318_123_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_124(void)
+ {
+ static const boost::array<mp_float, 125u> A007318_124_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(124L)),
+ mp_float(static_cast<boost::int32_t>(7626L)),
+ mp_float(static_cast<boost::int32_t>(310124L)),
+ mp_float(static_cast<boost::int32_t>(9381251L)),
+ mp_float(static_cast<boost::int32_t>(225150024L)),
+ mp_float(static_cast<boost::int64_t>(4465475476LL)),
+ mp_float(static_cast<boost::int64_t>(75275158024LL)),
+ mp_float(static_cast<boost::int64_t>(1100899186101LL)),
+ mp_float(static_cast<boost::int64_t>(14189367287524LL)),
+ mp_float(static_cast<boost::int64_t>(163177723806526LL)),
+ mp_float(static_cast<boost::int64_t>(1691114592176724LL)),
+ mp_float(static_cast<boost::int64_t>(15924662409664151LL)),
+ mp_float(static_cast<boost::int64_t>(137197091529414224LL)),
+ mp_float(static_cast<boost::int64_t>(1087776939983212776LL)),
+ mp_float(static_cast<boost::int64_t>(7977030893210227024LL)),
+ mp_float("54343522959994671601"),
+ mp_float("345241204687024972524"),
+ mp_float("2052267161195092892226"),
+ mp_float("11449490478246307714524"),
+ mp_float("60109825010793115501251"),
+ mp_float("297686752434404000577624"),
+ mp_float("1393715250033800548158876"),
+ mp_float("6180824152323811126617624"),
+ mp_float("26010968307696038491182501"),
+ mp_float("104043873230784153964730004"),
+ mp_float("396167055763370432404164246"),
+ mp_float("1437939683881863050948448004"),
+ mp_float("4981433904876454140785694871"),
+ mp_float("16490263960970330948807817504"),
+ mp_float("52219169209739381337891422096"),
+ mp_float("158341996958564575669735279904"),
+ mp_float("460181428660828298040168157221"),
+ mp_float("1282930043539278891505923347404"),
+ mp_float("3433724528296305268442324253346"),
+ mp_float("8829577358476213547423119508604"),
+ mp_float("21828677358455083492240489896271"),
+ mp_float("51916854257947225603166570564104"),
+ mp_float("118862271590563384933565569449396"),
+ mp_float("262106547609960284725298435196104"),
+ mp_float("556976413671165605041259174791721"),
+ mp_float("1141122408497022215206482211768404"),
+ mp_float("2255075235839353425289000561351846"),
+ mp_float("4300376031135511183109256884438404"),
+ mp_float("7916601330044918314360222900897971"),
+ mp_float("14073957920079854781084840712707504"),
+ mp_float("24170492949702359297950052528345496"),
+ mp_float("40112732980357106920002214834275504"),
+ mp_float("64347509155989525684170219629983621"),
+ mp_float("99804299915412325550957891670995004"),
+ mp_float("149706449873118488326436837506492506"),
+ mp_float("217221123345309179140320117166283244"),
+ mp_float("304945038542453270716218626021897631"),
+ mp_float("414264958019936518708825303275030744"),
+ mp_float("544681704063249867191233269120873756"),
+ mp_float("693231259716863467334296887972021144"),
+ mp_float("854159945008278200822615808394097481"),
+ mp_float("1018997829132682765893646929312256644"),
+ mp_float("1177118181929133539911626625240020606"),
+ mp_float("1316776271310556163290972157048158644"),
+ mp_float("1426507627253102510231886503468838531"),
+ mp_float("1496663740068828863194110429868945344"),
+ mp_float("1520803477811874490019821888415218656"),
+ mp_float("1496663740068828863194110429868945344"),
+ mp_float("1426507627253102510231886503468838531"),
+ mp_float("1316776271310556163290972157048158644"),
+ mp_float("1177118181929133539911626625240020606"),
+ mp_float("1018997829132682765893646929312256644"),
+ mp_float("854159945008278200822615808394097481"),
+ mp_float("693231259716863467334296887972021144"),
+ mp_float("544681704063249867191233269120873756"),
+ mp_float("414264958019936518708825303275030744"),
+ mp_float("304945038542453270716218626021897631"),
+ mp_float("217221123345309179140320117166283244"),
+ mp_float("149706449873118488326436837506492506"),
+ mp_float("99804299915412325550957891670995004"),
+ mp_float("64347509155989525684170219629983621"),
+ mp_float("40112732980357106920002214834275504"),
+ mp_float("24170492949702359297950052528345496"),
+ mp_float("14073957920079854781084840712707504"),
+ mp_float("7916601330044918314360222900897971"),
+ mp_float("4300376031135511183109256884438404"),
+ mp_float("2255075235839353425289000561351846"),
+ mp_float("1141122408497022215206482211768404"),
+ mp_float("556976413671165605041259174791721"),
+ mp_float("262106547609960284725298435196104"),
+ mp_float("118862271590563384933565569449396"),
+ mp_float("51916854257947225603166570564104"),
+ mp_float("21828677358455083492240489896271"),
+ mp_float("8829577358476213547423119508604"),
+ mp_float("3433724528296305268442324253346"),
+ mp_float("1282930043539278891505923347404"),
+ mp_float("460181428660828298040168157221"),
+ mp_float("158341996958564575669735279904"),
+ mp_float("52219169209739381337891422096"),
+ mp_float("16490263960970330948807817504"),
+ mp_float("4981433904876454140785694871"),
+ mp_float("1437939683881863050948448004"),
+ mp_float("396167055763370432404164246"),
+ mp_float("104043873230784153964730004"),
+ mp_float("26010968307696038491182501"),
+ mp_float("6180824152323811126617624"),
+ mp_float("1393715250033800548158876"),
+ mp_float("297686752434404000577624"),
+ mp_float("60109825010793115501251"),
+ mp_float("11449490478246307714524"),
+ mp_float("2052267161195092892226"),
+ mp_float("345241204687024972524"),
+ mp_float("54343522959994671601"),
+ mp_float(static_cast<boost::int64_t>(7977030893210227024LL)),
+ mp_float(static_cast<boost::int64_t>(1087776939983212776LL)),
+ mp_float(static_cast<boost::int64_t>(137197091529414224LL)),
+ mp_float(static_cast<boost::int64_t>(15924662409664151LL)),
+ mp_float(static_cast<boost::int64_t>(1691114592176724LL)),
+ mp_float(static_cast<boost::int64_t>(163177723806526LL)),
+ mp_float(static_cast<boost::int64_t>(14189367287524LL)),
+ mp_float(static_cast<boost::int64_t>(1100899186101LL)),
+ mp_float(static_cast<boost::int64_t>(75275158024LL)),
+ mp_float(static_cast<boost::int64_t>(4465475476LL)),
+ mp_float(static_cast<boost::int32_t>(225150024L)),
+ mp_float(static_cast<boost::int32_t>(9381251L)),
+ mp_float(static_cast<boost::int32_t>(310124L)),
+ mp_float(static_cast<boost::int32_t>(7626L)),
+ mp_float(static_cast<boost::int32_t>(124L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_124_vect(A007318_124_data.begin(), A007318_124_data.end());
+
+ return A007318_124_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_125(void)
+ {
+ static const boost::array<mp_float, 126u> A007318_125_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(125L)),
+ mp_float(static_cast<boost::int32_t>(7750L)),
+ mp_float(static_cast<boost::int32_t>(317750L)),
+ mp_float(static_cast<boost::int32_t>(9691375L)),
+ mp_float(static_cast<boost::int32_t>(234531275L)),
+ mp_float(static_cast<boost::int64_t>(4690625500LL)),
+ mp_float(static_cast<boost::int64_t>(79740633500LL)),
+ mp_float(static_cast<boost::int64_t>(1176174344125LL)),
+ mp_float(static_cast<boost::int64_t>(15290266473625LL)),
+ mp_float(static_cast<boost::int64_t>(177367091094050LL)),
+ mp_float(static_cast<boost::int64_t>(1854292315983250LL)),
+ mp_float(static_cast<boost::int64_t>(17615777001840875LL)),
+ mp_float(static_cast<boost::int64_t>(153121753939078375LL)),
+ mp_float(static_cast<boost::int64_t>(1224974031512627000LL)),
+ mp_float(static_cast<boost::int64_t>(9064807833193439800LL)),
+ mp_float("62320553853204898625"),
+ mp_float("399584727647019644125"),
+ mp_float("2397508365882117864750"),
+ mp_float("13501757639441400606750"),
+ mp_float("71559315489039423215775"),
+ mp_float("357796577445197116078875"),
+ mp_float("1691402002468204548736500"),
+ mp_float("7574539402357611674776500"),
+ mp_float("32191792460019849617800125"),
+ mp_float("130054841538480192455912505"),
+ mp_float("500210928994154586368894250"),
+ mp_float("1834106739645233483352612250"),
+ mp_float("6419373588758317191734142875"),
+ mp_float("21471697865846785089593512375"),
+ mp_float("68709433170709712286699239600"),
+ mp_float("210561166168303957007626702000"),
+ mp_float("618523425619392873709903437125"),
+ mp_float("1743111472200107189546091504625"),
+ mp_float("4716654571835584159948247600750"),
+ mp_float("12263301886772518815865443761950"),
+ mp_float("30658254716931297039663609404875"),
+ mp_float("73745531616402309095407060460375"),
+ mp_float("170779125848510610536732140013500"),
+ mp_float("380968819200523669658864004645500"),
+ mp_float("819082961281125889766557609987825"),
+ mp_float("1698098822168187820247741386560125"),
+ mp_float("3396197644336375640495482773120250"),
+ mp_float("6555451266974864608398257445790250"),
+ mp_float("12216977361180429497469479785336375"),
+ mp_float("21990559250124773095445063613605475"),
+ mp_float("38244450869782214079034893241053000"),
+ mp_float("64283225930059466217952267362621000"),
+ mp_float("104460242136346632604172434464259125"),
+ mp_float("164151809071401851235128111300978625"),
+ mp_float("249510749788530813877394729177487510"),
+ mp_float("366927573218427667466756954672775750"),
+ mp_float("522166161887762449856538743188180875"),
+ mp_float("719209996562389789425043929296928375"),
+ mp_float("958946662083186385900058572395904500"),
+ mp_float("1237912963780113334525530157092894900"),
+ mp_float("1547391204725141668156912696366118625"),
+ mp_float("1873157774140960966716262737706354125"),
+ mp_float("2196116011061816305805273554552277250"),
+ mp_float("2493894453239689703202598782288179250"),
+ mp_float("2743283898563658673522858660516997175"),
+ mp_float("2923171367321931373425996933337783875"),
+ mp_float("3017467217880703353213932318284164000"),
+ mp_float("3017467217880703353213932318284164000"),
+ mp_float("2923171367321931373425996933337783875"),
+ mp_float("2743283898563658673522858660516997175"),
+ mp_float("2493894453239689703202598782288179250"),
+ mp_float("2196116011061816305805273554552277250"),
+ mp_float("1873157774140960966716262737706354125"),
+ mp_float("1547391204725141668156912696366118625"),
+ mp_float("1237912963780113334525530157092894900"),
+ mp_float("958946662083186385900058572395904500"),
+ mp_float("719209996562389789425043929296928375"),
+ mp_float("522166161887762449856538743188180875"),
+ mp_float("366927573218427667466756954672775750"),
+ mp_float("249510749788530813877394729177487510"),
+ mp_float("164151809071401851235128111300978625"),
+ mp_float("104460242136346632604172434464259125"),
+ mp_float("64283225930059466217952267362621000"),
+ mp_float("38244450869782214079034893241053000"),
+ mp_float("21990559250124773095445063613605475"),
+ mp_float("12216977361180429497469479785336375"),
+ mp_float("6555451266974864608398257445790250"),
+ mp_float("3396197644336375640495482773120250"),
+ mp_float("1698098822168187820247741386560125"),
+ mp_float("819082961281125889766557609987825"),
+ mp_float("380968819200523669658864004645500"),
+ mp_float("170779125848510610536732140013500"),
+ mp_float("73745531616402309095407060460375"),
+ mp_float("30658254716931297039663609404875"),
+ mp_float("12263301886772518815865443761950"),
+ mp_float("4716654571835584159948247600750"),
+ mp_float("1743111472200107189546091504625"),
+ mp_float("618523425619392873709903437125"),
+ mp_float("210561166168303957007626702000"),
+ mp_float("68709433170709712286699239600"),
+ mp_float("21471697865846785089593512375"),
+ mp_float("6419373588758317191734142875"),
+ mp_float("1834106739645233483352612250"),
+ mp_float("500210928994154586368894250"),
+ mp_float("130054841538480192455912505"),
+ mp_float("32191792460019849617800125"),
+ mp_float("7574539402357611674776500"),
+ mp_float("1691402002468204548736500"),
+ mp_float("357796577445197116078875"),
+ mp_float("71559315489039423215775"),
+ mp_float("13501757639441400606750"),
+ mp_float("2397508365882117864750"),
+ mp_float("399584727647019644125"),
+ mp_float("62320553853204898625"),
+ mp_float(static_cast<boost::int64_t>(9064807833193439800LL)),
+ mp_float(static_cast<boost::int64_t>(1224974031512627000LL)),
+ mp_float(static_cast<boost::int64_t>(153121753939078375LL)),
+ mp_float(static_cast<boost::int64_t>(17615777001840875LL)),
+ mp_float(static_cast<boost::int64_t>(1854292315983250LL)),
+ mp_float(static_cast<boost::int64_t>(177367091094050LL)),
+ mp_float(static_cast<boost::int64_t>(15290266473625LL)),
+ mp_float(static_cast<boost::int64_t>(1176174344125LL)),
+ mp_float(static_cast<boost::int64_t>(79740633500LL)),
+ mp_float(static_cast<boost::int64_t>(4690625500LL)),
+ mp_float(static_cast<boost::int32_t>(234531275L)),
+ mp_float(static_cast<boost::int32_t>(9691375L)),
+ mp_float(static_cast<boost::int32_t>(317750L)),
+ mp_float(static_cast<boost::int32_t>(7750L)),
+ mp_float(static_cast<boost::int32_t>(125L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_125_vect(A007318_125_data.begin(), A007318_125_data.end());
+
+ return A007318_125_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_126(void)
+ {
+ static const boost::array<mp_float, 127u> A007318_126_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(126L)),
+ mp_float(static_cast<boost::int32_t>(7875L)),
+ mp_float(static_cast<boost::int32_t>(325500L)),
+ mp_float(static_cast<boost::int32_t>(10009125L)),
+ mp_float(static_cast<boost::int32_t>(244222650L)),
+ mp_float(static_cast<boost::int64_t>(4925156775LL)),
+ mp_float(static_cast<boost::int64_t>(84431259000LL)),
+ mp_float(static_cast<boost::int64_t>(1255914977625LL)),
+ mp_float(static_cast<boost::int64_t>(16466440817750LL)),
+ mp_float(static_cast<boost::int64_t>(192657357567675LL)),
+ mp_float(static_cast<boost::int64_t>(2031659407077300LL)),
+ mp_float(static_cast<boost::int64_t>(19470069317824125LL)),
+ mp_float(static_cast<boost::int64_t>(170737530940919250LL)),
+ mp_float(static_cast<boost::int64_t>(1378095785451705375LL)),
+ mp_float("10289781864706066800"),
+ mp_float("71385361686398338425"),
+ mp_float("461905281500224542750"),
+ mp_float("2797093093529137508875"),
+ mp_float("15899266005323518471500"),
+ mp_float("85061073128480823822525"),
+ mp_float("429355892934236539294650"),
+ mp_float("2049198579913401664815375"),
+ mp_float("9265941404825816223513000"),
+ mp_float("39766331862377461292576625"),
+ mp_float("162246633998500042073712630"),
+ mp_float("630265770532634778824806755"),
+ mp_float("2334317668639388069721506500"),
+ mp_float("8253480328403550675086755125"),
+ mp_float("27891071454605102281327655250"),
+ mp_float("90181131036556497376292751975"),
+ mp_float("279270599339013669294325941600"),
+ mp_float("829084591787696830717530139125"),
+ mp_float("2361634897819500063255994941750"),
+ mp_float("6459766044035691349494339105375"),
+ mp_float("16979956458608102975813691362700"),
+ mp_float("42921556603703815855529053166825"),
+ mp_float("104403786333333606135070669865250"),
+ mp_float("244524657464912919632139200473875"),
+ mp_float("551747945049034280195596144659000"),
+ mp_float("1200051780481649559425421614633325"),
+ mp_float("2517181783449313710014298996547950"),
+ mp_float("5094296466504563460743224159680375"),
+ mp_float("9951648911311240248893740218910500"),
+ mp_float("18772428628155294105867737231126625"),
+ mp_float("34207536611305202592914543398941850"),
+ mp_float("60235010119906987174479956854658475"),
+ mp_float("102527676799841680296987160603674000"),
+ mp_float("168743468066406098822124701826880125"),
+ mp_float("268612051207748483839300545765237750"),
+ mp_float("413662558859932665112522840478466135"),
+ mp_float("616438323006958481344151683850263260"),
+ mp_float("889093735106190117323295697860956625"),
+ mp_float("1241376158450152239281582672485109250"),
+ mp_float("1678156658645576175325102501692832875"),
+ mp_float("2196859625863299720425588729488799400"),
+ mp_float("2785304168505255002682442853459013525"),
+ mp_float("3420548978866102634873175434072472750"),
+ mp_float("4069273785202777272521536292258631375"),
+ mp_float("4690010464301506009007872336840456500"),
+ mp_float("5237178351803348376725457442805176425"),
+ mp_float("5666455265885590046948855593854781050"),
+ mp_float("5940638585202634726639929251621947875"),
+ mp_float("6034934435761406706427864636568328000"),
+ mp_float("5940638585202634726639929251621947875"),
+ mp_float("5666455265885590046948855593854781050"),
+ mp_float("5237178351803348376725457442805176425"),
+ mp_float("4690010464301506009007872336840456500"),
+ mp_float("4069273785202777272521536292258631375"),
+ mp_float("3420548978866102634873175434072472750"),
+ mp_float("2785304168505255002682442853459013525"),
+ mp_float("2196859625863299720425588729488799400"),
+ mp_float("1678156658645576175325102501692832875"),
+ mp_float("1241376158450152239281582672485109250"),
+ mp_float("889093735106190117323295697860956625"),
+ mp_float("616438323006958481344151683850263260"),
+ mp_float("413662558859932665112522840478466135"),
+ mp_float("268612051207748483839300545765237750"),
+ mp_float("168743468066406098822124701826880125"),
+ mp_float("102527676799841680296987160603674000"),
+ mp_float("60235010119906987174479956854658475"),
+ mp_float("34207536611305202592914543398941850"),
+ mp_float("18772428628155294105867737231126625"),
+ mp_float("9951648911311240248893740218910500"),
+ mp_float("5094296466504563460743224159680375"),
+ mp_float("2517181783449313710014298996547950"),
+ mp_float("1200051780481649559425421614633325"),
+ mp_float("551747945049034280195596144659000"),
+ mp_float("244524657464912919632139200473875"),
+ mp_float("104403786333333606135070669865250"),
+ mp_float("42921556603703815855529053166825"),
+ mp_float("16979956458608102975813691362700"),
+ mp_float("6459766044035691349494339105375"),
+ mp_float("2361634897819500063255994941750"),
+ mp_float("829084591787696830717530139125"),
+ mp_float("279270599339013669294325941600"),
+ mp_float("90181131036556497376292751975"),
+ mp_float("27891071454605102281327655250"),
+ mp_float("8253480328403550675086755125"),
+ mp_float("2334317668639388069721506500"),
+ mp_float("630265770532634778824806755"),
+ mp_float("162246633998500042073712630"),
+ mp_float("39766331862377461292576625"),
+ mp_float("9265941404825816223513000"),
+ mp_float("2049198579913401664815375"),
+ mp_float("429355892934236539294650"),
+ mp_float("85061073128480823822525"),
+ mp_float("15899266005323518471500"),
+ mp_float("2797093093529137508875"),
+ mp_float("461905281500224542750"),
+ mp_float("71385361686398338425"),
+ mp_float("10289781864706066800"),
+ mp_float(static_cast<boost::int64_t>(1378095785451705375LL)),
+ mp_float(static_cast<boost::int64_t>(170737530940919250LL)),
+ mp_float(static_cast<boost::int64_t>(19470069317824125LL)),
+ mp_float(static_cast<boost::int64_t>(2031659407077300LL)),
+ mp_float(static_cast<boost::int64_t>(192657357567675LL)),
+ mp_float(static_cast<boost::int64_t>(16466440817750LL)),
+ mp_float(static_cast<boost::int64_t>(1255914977625LL)),
+ mp_float(static_cast<boost::int64_t>(84431259000LL)),
+ mp_float(static_cast<boost::int64_t>(4925156775LL)),
+ mp_float(static_cast<boost::int32_t>(244222650L)),
+ mp_float(static_cast<boost::int32_t>(10009125L)),
+ mp_float(static_cast<boost::int32_t>(325500L)),
+ mp_float(static_cast<boost::int32_t>(7875L)),
+ mp_float(static_cast<boost::int32_t>(126L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_126_vect(A007318_126_data.begin(), A007318_126_data.end());
+
+ return A007318_126_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_127(void)
+ {
+ static const boost::array<mp_float, 128u> A007318_127_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(127L)),
+ mp_float(static_cast<boost::int32_t>(8001L)),
+ mp_float(static_cast<boost::int32_t>(333375L)),
+ mp_float(static_cast<boost::int32_t>(10334625L)),
+ mp_float(static_cast<boost::int32_t>(254231775L)),
+ mp_float(static_cast<boost::int64_t>(5169379425LL)),
+ mp_float(static_cast<boost::int64_t>(89356415775LL)),
+ mp_float(static_cast<boost::int64_t>(1340346236625LL)),
+ mp_float(static_cast<boost::int64_t>(17722355795375LL)),
+ mp_float(static_cast<boost::int64_t>(209123798385425LL)),
+ mp_float(static_cast<boost::int64_t>(2224316764644975LL)),
+ mp_float(static_cast<boost::int64_t>(21501728724901425LL)),
+ mp_float(static_cast<boost::int64_t>(190207600258743375LL)),
+ mp_float(static_cast<boost::int64_t>(1548833316392624625LL)),
+ mp_float("11667877650157772175"),
+ mp_float("81675143551104405225"),
+ mp_float("533290643186622881175"),
+ mp_float("3258998375029362051625"),
+ mp_float("18696359098852655980375"),
+ mp_float("100960339133804342294025"),
+ mp_float("514416966062717363117175"),
+ mp_float("2478554472847638204110025"),
+ mp_float("11315139984739217888328375"),
+ mp_float("49032273267203277516089625"),
+ mp_float("202012965860877503366289255"),
+ mp_float("792512404531134820898519385"),
+ mp_float("2964583439172022848546313255"),
+ mp_float("10587797997042938744808261625"),
+ mp_float("36144551783008652956414410375"),
+ mp_float("118072202491161599657620407225"),
+ mp_float("369451730375570166670618693575"),
+ mp_float("1108355191126710500011856080725"),
+ mp_float("3190719489607196893973525080875"),
+ mp_float("8821400941855191412750334047125"),
+ mp_float("23439722502643794325308030468075"),
+ mp_float("59901513062311918831342744529525"),
+ mp_float("147325342937037421990599723032075"),
+ mp_float("348928443798246525767209870339125"),
+ mp_float("796272602513947199827735345132875"),
+ mp_float("1751799725530683839621017759292325"),
+ mp_float("3717233563930963269439720611181275"),
+ mp_float("7611478249953877170757523156228325"),
+ mp_float("15045945377815803709636964378590875"),
+ mp_float("28724077539466534354761477450037125"),
+ mp_float("52979965239460496698782280630068475"),
+ mp_float("94442546731212189767394500253600325"),
+ mp_float("162762686919748667471467117458332475"),
+ mp_float("271271144866247779119111862430554125"),
+ mp_float("437355519274154582661425247592117875"),
+ mp_float("682274610067681148951823386243703885"),
+ mp_float("1030100881866891146456674524328729395"),
+ mp_float("1505532058113148598667447381711219885"),
+ mp_float("2130469893556342356604878370346065875"),
+ mp_float("2919532817095728414606685174177942125"),
+ mp_float("3875016284508875895750691231181632275"),
+ mp_float("4982163794368554723108031582947812925"),
+ mp_float("6205853147371357637555618287531486275"),
+ mp_float("7489822764068879907394711726331104125"),
+ mp_float("8759284249504283281529408629099087875"),
+ mp_float("9927188816104854385733329779645632925"),
+ mp_float("10903633617688938423674313036659957475"),
+ mp_float("11607093851088224773588784845476728925"),
+ mp_float("11975573020964041433067793888190275875"),
+ mp_float("11975573020964041433067793888190275875"),
+ mp_float("11607093851088224773588784845476728925"),
+ mp_float("10903633617688938423674313036659957475"),
+ mp_float("9927188816104854385733329779645632925"),
+ mp_float("8759284249504283281529408629099087875"),
+ mp_float("7489822764068879907394711726331104125"),
+ mp_float("6205853147371357637555618287531486275"),
+ mp_float("4982163794368554723108031582947812925"),
+ mp_float("3875016284508875895750691231181632275"),
+ mp_float("2919532817095728414606685174177942125"),
+ mp_float("2130469893556342356604878370346065875"),
+ mp_float("1505532058113148598667447381711219885"),
+ mp_float("1030100881866891146456674524328729395"),
+ mp_float("682274610067681148951823386243703885"),
+ mp_float("437355519274154582661425247592117875"),
+ mp_float("271271144866247779119111862430554125"),
+ mp_float("162762686919748667471467117458332475"),
+ mp_float("94442546731212189767394500253600325"),
+ mp_float("52979965239460496698782280630068475"),
+ mp_float("28724077539466534354761477450037125"),
+ mp_float("15045945377815803709636964378590875"),
+ mp_float("7611478249953877170757523156228325"),
+ mp_float("3717233563930963269439720611181275"),
+ mp_float("1751799725530683839621017759292325"),
+ mp_float("796272602513947199827735345132875"),
+ mp_float("348928443798246525767209870339125"),
+ mp_float("147325342937037421990599723032075"),
+ mp_float("59901513062311918831342744529525"),
+ mp_float("23439722502643794325308030468075"),
+ mp_float("8821400941855191412750334047125"),
+ mp_float("3190719489607196893973525080875"),
+ mp_float("1108355191126710500011856080725"),
+ mp_float("369451730375570166670618693575"),
+ mp_float("118072202491161599657620407225"),
+ mp_float("36144551783008652956414410375"),
+ mp_float("10587797997042938744808261625"),
+ mp_float("2964583439172022848546313255"),
+ mp_float("792512404531134820898519385"),
+ mp_float("202012965860877503366289255"),
+ mp_float("49032273267203277516089625"),
+ mp_float("11315139984739217888328375"),
+ mp_float("2478554472847638204110025"),
+ mp_float("514416966062717363117175"),
+ mp_float("100960339133804342294025"),
+ mp_float("18696359098852655980375"),
+ mp_float("3258998375029362051625"),
+ mp_float("533290643186622881175"),
+ mp_float("81675143551104405225"),
+ mp_float("11667877650157772175"),
+ mp_float(static_cast<boost::int64_t>(1548833316392624625LL)),
+ mp_float(static_cast<boost::int64_t>(190207600258743375LL)),
+ mp_float(static_cast<boost::int64_t>(21501728724901425LL)),
+ mp_float(static_cast<boost::int64_t>(2224316764644975LL)),
+ mp_float(static_cast<boost::int64_t>(209123798385425LL)),
+ mp_float(static_cast<boost::int64_t>(17722355795375LL)),
+ mp_float(static_cast<boost::int64_t>(1340346236625LL)),
+ mp_float(static_cast<boost::int64_t>(89356415775LL)),
+ mp_float(static_cast<boost::int64_t>(5169379425LL)),
+ mp_float(static_cast<boost::int32_t>(254231775L)),
+ mp_float(static_cast<boost::int32_t>(10334625L)),
+ mp_float(static_cast<boost::int32_t>(333375L)),
+ mp_float(static_cast<boost::int32_t>(8001L)),
+ mp_float(static_cast<boost::int32_t>(127L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_127_vect(A007318_127_data.begin(), A007318_127_data.end());
+
+ return A007318_127_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_128(void)
+ {
+ static const boost::array<mp_float, 129u> A007318_128_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(128L)),
+ mp_float(static_cast<boost::int32_t>(8128L)),
+ mp_float(static_cast<boost::int32_t>(341376L)),
+ mp_float(static_cast<boost::int32_t>(10668000L)),
+ mp_float(static_cast<boost::int32_t>(264566400L)),
+ mp_float(static_cast<boost::int64_t>(5423611200LL)),
+ mp_float(static_cast<boost::int64_t>(94525795200LL)),
+ mp_float(static_cast<boost::int64_t>(1429702652400LL)),
+ mp_float(static_cast<boost::int64_t>(19062702032000LL)),
+ mp_float(static_cast<boost::int64_t>(226846154180800LL)),
+ mp_float(static_cast<boost::int64_t>(2433440563030400LL)),
+ mp_float(static_cast<boost::int64_t>(23726045489546400LL)),
+ mp_float(static_cast<boost::int64_t>(211709328983644800LL)),
+ mp_float(static_cast<boost::int64_t>(1739040916651368000LL)),
+ mp_float("13216710966550396800"),
+ mp_float("93343021201262177400"),
+ mp_float("614965786737727286400"),
+ mp_float("3792289018215984932800"),
+ mp_float("21955357473882018032000"),
+ mp_float("119656698232656998274400"),
+ mp_float("615377305196521705411200"),
+ mp_float("2992971438910355567227200"),
+ mp_float("13793694457586856092438400"),
+ mp_float("60347413251942495404418000"),
+ mp_float("251045239128080780882378880"),
+ mp_float("994525370392012324264808640"),
+ mp_float("3757095843703157669444832640"),
+ mp_float("13552381436214961593354574880"),
+ mp_float("46732349780051591701222672000"),
+ mp_float("154216754274170252614034817600"),
+ mp_float("487523932866731766328239100800"),
+ mp_float("1477806921502280666682474774300"),
+ mp_float("4299074680733907393985381161600"),
+ mp_float("12012120431462388306723859128000"),
+ mp_float("32261123444498985738058364515200"),
+ mp_float("83341235564955713156650774997600"),
+ mp_float("207226855999349340821942467561600"),
+ mp_float("496253786735283947757809593371200"),
+ mp_float("1145201046312193725594945215472000"),
+ mp_float("2548072328044631039448753104425200"),
+ mp_float("5469033289461647109060738370473600"),
+ mp_float("11328711813884840440197243767409600"),
+ mp_float("22657423627769680880394487534819200"),
+ mp_float("43770022917282338064398441828628000"),
+ mp_float("81704042778927031053543758080105600"),
+ mp_float("147422511970672686466176780883668800"),
+ mp_float("257205233650960857238861617711932800"),
+ mp_float("434033831785996446590578979888886600"),
+ mp_float("708626664140402361780537110022672000"),
+ mp_float("1119630129341835731613248633835821760"),
+ mp_float("1712375491934572295408497910572433280"),
+ mp_float("2535632939980039745124121906039949280"),
+ mp_float("3636001951669490955272325752057285760"),
+ mp_float("5050002710652070771211563544524008000"),
+ mp_float("6794549101604604310357376405359574400"),
+ mp_float("8857180078877430618858722814129445200"),
+ mp_float("11188016941739912360663649870479299200"),
+ mp_float("13695675911440237544950330013862590400"),
+ mp_float("16249107013573163188924120355430192000"),
+ mp_float("18686473065609137667262738408744720800"),
+ mp_float("20830822433793792809407642816305590400"),
+ mp_float("22510727468777163197263097882136686400"),
+ mp_float("23582666872052266206656578733667004800"),
+ mp_float("23951146041928082866135587776380551750"),
+ mp_float("23582666872052266206656578733667004800"),
+ mp_float("22510727468777163197263097882136686400"),
+ mp_float("20830822433793792809407642816305590400"),
+ mp_float("18686473065609137667262738408744720800"),
+ mp_float("16249107013573163188924120355430192000"),
+ mp_float("13695675911440237544950330013862590400"),
+ mp_float("11188016941739912360663649870479299200"),
+ mp_float("8857180078877430618858722814129445200"),
+ mp_float("6794549101604604310357376405359574400"),
+ mp_float("5050002710652070771211563544524008000"),
+ mp_float("3636001951669490955272325752057285760"),
+ mp_float("2535632939980039745124121906039949280"),
+ mp_float("1712375491934572295408497910572433280"),
+ mp_float("1119630129341835731613248633835821760"),
+ mp_float("708626664140402361780537110022672000"),
+ mp_float("434033831785996446590578979888886600"),
+ mp_float("257205233650960857238861617711932800"),
+ mp_float("147422511970672686466176780883668800"),
+ mp_float("81704042778927031053543758080105600"),
+ mp_float("43770022917282338064398441828628000"),
+ mp_float("22657423627769680880394487534819200"),
+ mp_float("11328711813884840440197243767409600"),
+ mp_float("5469033289461647109060738370473600"),
+ mp_float("2548072328044631039448753104425200"),
+ mp_float("1145201046312193725594945215472000"),
+ mp_float("496253786735283947757809593371200"),
+ mp_float("207226855999349340821942467561600"),
+ mp_float("83341235564955713156650774997600"),
+ mp_float("32261123444498985738058364515200"),
+ mp_float("12012120431462388306723859128000"),
+ mp_float("4299074680733907393985381161600"),
+ mp_float("1477806921502280666682474774300"),
+ mp_float("487523932866731766328239100800"),
+ mp_float("154216754274170252614034817600"),
+ mp_float("46732349780051591701222672000"),
+ mp_float("13552381436214961593354574880"),
+ mp_float("3757095843703157669444832640"),
+ mp_float("994525370392012324264808640"),
+ mp_float("251045239128080780882378880"),
+ mp_float("60347413251942495404418000"),
+ mp_float("13793694457586856092438400"),
+ mp_float("2992971438910355567227200"),
+ mp_float("615377305196521705411200"),
+ mp_float("119656698232656998274400"),
+ mp_float("21955357473882018032000"),
+ mp_float("3792289018215984932800"),
+ mp_float("614965786737727286400"),
+ mp_float("93343021201262177400"),
+ mp_float("13216710966550396800"),
+ mp_float(static_cast<boost::int64_t>(1739040916651368000LL)),
+ mp_float(static_cast<boost::int64_t>(211709328983644800LL)),
+ mp_float(static_cast<boost::int64_t>(23726045489546400LL)),
+ mp_float(static_cast<boost::int64_t>(2433440563030400LL)),
+ mp_float(static_cast<boost::int64_t>(226846154180800LL)),
+ mp_float(static_cast<boost::int64_t>(19062702032000LL)),
+ mp_float(static_cast<boost::int64_t>(1429702652400LL)),
+ mp_float(static_cast<boost::int64_t>(94525795200LL)),
+ mp_float(static_cast<boost::int64_t>(5423611200LL)),
+ mp_float(static_cast<boost::int32_t>(264566400L)),
+ mp_float(static_cast<boost::int32_t>(10668000L)),
+ mp_float(static_cast<boost::int32_t>(341376L)),
+ mp_float(static_cast<boost::int32_t>(8128L)),
+ mp_float(static_cast<boost::int32_t>(128L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_128_vect(A007318_128_data.begin(), A007318_128_data.end());
+
+ return A007318_128_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_129(void)
+ {
+ static const boost::array<mp_float, 130u> A007318_129_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(129L)),
+ mp_float(static_cast<boost::int32_t>(8256L)),
+ mp_float(static_cast<boost::int32_t>(349504L)),
+ mp_float(static_cast<boost::int32_t>(11009376L)),
+ mp_float(static_cast<boost::int32_t>(275234400L)),
+ mp_float(static_cast<boost::int64_t>(5688177600LL)),
+ mp_float(static_cast<boost::int64_t>(99949406400LL)),
+ mp_float(static_cast<boost::int64_t>(1524228447600LL)),
+ mp_float(static_cast<boost::int64_t>(20492404684400LL)),
+ mp_float(static_cast<boost::int64_t>(245908856212800LL)),
+ mp_float(static_cast<boost::int64_t>(2660286717211200LL)),
+ mp_float(static_cast<boost::int64_t>(26159486052576800LL)),
+ mp_float(static_cast<boost::int64_t>(235435374473191200LL)),
+ mp_float(static_cast<boost::int64_t>(1950750245635012800LL)),
+ mp_float("14955751883201764800"),
+ mp_float("106559732167812574200"),
+ mp_float("708308807938989463800"),
+ mp_float("4407254804953712219200"),
+ mp_float("25747646492098002964800"),
+ mp_float("141612055706539016306400"),
+ mp_float("735034003429178703685600"),
+ mp_float("3608348744106877272638400"),
+ mp_float("16786665896497211659665600"),
+ mp_float("74141107709529351496856400"),
+ mp_float("311392652380023276286796880"),
+ mp_float("1245570609520093105147187520"),
+ mp_float("4751621214095169993709641280"),
+ mp_float("17309477279918119262799407520"),
+ mp_float("60284731216266553294577246880"),
+ mp_float("200949104054221844315257489600"),
+ mp_float("641740687140902018942273918400"),
+ mp_float("1965330854369012433010713875100"),
+ mp_float("5776881602236188060667855935900"),
+ mp_float("16311195112196295700709240289600"),
+ mp_float("44273243875961374044782223643200"),
+ mp_float("115602359009454698894709139512800"),
+ mp_float("290568091564305053978593242559200"),
+ mp_float("703480642734633288579752060932800"),
+ mp_float("1641454833047477673352754808843200"),
+ mp_float("3693273374356824765043698319897200"),
+ mp_float("8017105617506278148509491474898800"),
+ mp_float("16797745103346487549257982137883200"),
+ mp_float("33986135441654521320591731302228800"),
+ mp_float("66427446545052018944792929363447200"),
+ mp_float("125474065696209369117942199908733600"),
+ mp_float("229126554749599717519720538963774400"),
+ mp_float("404627745621633543705038398595601600"),
+ mp_float("691239065436957303829440597600819400"),
+ mp_float("1142660495926398808371116089911558600"),
+ mp_float("1828256793482238093393785743858493760"),
+ mp_float("2832005621276408027021746544408255040"),
+ mp_float("4248008431914612040532619816612382560"),
+ mp_float("6171634891649530700396447658097235040"),
+ mp_float("8686004662321561726483889296581293760"),
+ mp_float("11844551812256675081568939949883582400"),
+ mp_float("15651729180482034929216099219489019600"),
+ mp_float("20045197020617342979522372684608744400"),
+ mp_float("24883692853180149905613979884341889600"),
+ mp_float("29944782925013400733874450369292782400"),
+ mp_float("34935580079182300856186858764174912800"),
+ mp_float("39517295499402930476670381225050311200"),
+ mp_float("43341549902570956006670740698442276800"),
+ mp_float("46093394340829429403919676615803691200"),
+ mp_float("47533812913980349072792166510047556550"),
+ mp_float("47533812913980349072792166510047556550"),
+ mp_float("46093394340829429403919676615803691200"),
+ mp_float("43341549902570956006670740698442276800"),
+ mp_float("39517295499402930476670381225050311200"),
+ mp_float("34935580079182300856186858764174912800"),
+ mp_float("29944782925013400733874450369292782400"),
+ mp_float("24883692853180149905613979884341889600"),
+ mp_float("20045197020617342979522372684608744400"),
+ mp_float("15651729180482034929216099219489019600"),
+ mp_float("11844551812256675081568939949883582400"),
+ mp_float("8686004662321561726483889296581293760"),
+ mp_float("6171634891649530700396447658097235040"),
+ mp_float("4248008431914612040532619816612382560"),
+ mp_float("2832005621276408027021746544408255040"),
+ mp_float("1828256793482238093393785743858493760"),
+ mp_float("1142660495926398808371116089911558600"),
+ mp_float("691239065436957303829440597600819400"),
+ mp_float("404627745621633543705038398595601600"),
+ mp_float("229126554749599717519720538963774400"),
+ mp_float("125474065696209369117942199908733600"),
+ mp_float("66427446545052018944792929363447200"),
+ mp_float("33986135441654521320591731302228800"),
+ mp_float("16797745103346487549257982137883200"),
+ mp_float("8017105617506278148509491474898800"),
+ mp_float("3693273374356824765043698319897200"),
+ mp_float("1641454833047477673352754808843200"),
+ mp_float("703480642734633288579752060932800"),
+ mp_float("290568091564305053978593242559200"),
+ mp_float("115602359009454698894709139512800"),
+ mp_float("44273243875961374044782223643200"),
+ mp_float("16311195112196295700709240289600"),
+ mp_float("5776881602236188060667855935900"),
+ mp_float("1965330854369012433010713875100"),
+ mp_float("641740687140902018942273918400"),
+ mp_float("200949104054221844315257489600"),
+ mp_float("60284731216266553294577246880"),
+ mp_float("17309477279918119262799407520"),
+ mp_float("4751621214095169993709641280"),
+ mp_float("1245570609520093105147187520"),
+ mp_float("311392652380023276286796880"),
+ mp_float("74141107709529351496856400"),
+ mp_float("16786665896497211659665600"),
+ mp_float("3608348744106877272638400"),
+ mp_float("735034003429178703685600"),
+ mp_float("141612055706539016306400"),
+ mp_float("25747646492098002964800"),
+ mp_float("4407254804953712219200"),
+ mp_float("708308807938989463800"),
+ mp_float("106559732167812574200"),
+ mp_float("14955751883201764800"),
+ mp_float(static_cast<boost::int64_t>(1950750245635012800LL)),
+ mp_float(static_cast<boost::int64_t>(235435374473191200LL)),
+ mp_float(static_cast<boost::int64_t>(26159486052576800LL)),
+ mp_float(static_cast<boost::int64_t>(2660286717211200LL)),
+ mp_float(static_cast<boost::int64_t>(245908856212800LL)),
+ mp_float(static_cast<boost::int64_t>(20492404684400LL)),
+ mp_float(static_cast<boost::int64_t>(1524228447600LL)),
+ mp_float(static_cast<boost::int64_t>(99949406400LL)),
+ mp_float(static_cast<boost::int64_t>(5688177600LL)),
+ mp_float(static_cast<boost::int32_t>(275234400L)),
+ mp_float(static_cast<boost::int32_t>(11009376L)),
+ mp_float(static_cast<boost::int32_t>(349504L)),
+ mp_float(static_cast<boost::int32_t>(8256L)),
+ mp_float(static_cast<boost::int32_t>(129L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_129_vect(A007318_129_data.begin(), A007318_129_data.end());
+
+ return A007318_129_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_130(void)
+ {
+ static const boost::array<mp_float, 131u> A007318_130_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(130L)),
+ mp_float(static_cast<boost::int32_t>(8385L)),
+ mp_float(static_cast<boost::int32_t>(357760L)),
+ mp_float(static_cast<boost::int32_t>(11358880L)),
+ mp_float(static_cast<boost::int32_t>(286243776L)),
+ mp_float(static_cast<boost::int64_t>(5963412000LL)),
+ mp_float(static_cast<boost::int64_t>(105637584000LL)),
+ mp_float(static_cast<boost::int64_t>(1624177854000LL)),
+ mp_float(static_cast<boost::int64_t>(22016633132000LL)),
+ mp_float(static_cast<boost::int64_t>(266401260897200LL)),
+ mp_float(static_cast<boost::int64_t>(2906195573424000LL)),
+ mp_float(static_cast<boost::int64_t>(28819772769788000LL)),
+ mp_float(static_cast<boost::int64_t>(261594860525768000LL)),
+ mp_float(static_cast<boost::int64_t>(2186185620108204000LL)),
+ mp_float("16906502128836777600"),
+ mp_float("121515484051014339000"),
+ mp_float("814868540106802038000"),
+ mp_float("5115563612892701683000"),
+ mp_float("30154901297051715184000"),
+ mp_float("167359702198637019271200"),
+ mp_float("876646059135717719992000"),
+ mp_float("4343382747536055976324000"),
+ mp_float("20395014640604088932304000"),
+ mp_float("90927773606026563156522000"),
+ mp_float("385533760089552627783653280"),
+ mp_float("1556963261900116381433984400"),
+ mp_float("5997191823615263098856828800"),
+ mp_float("22061098494013289256509048800"),
+ mp_float("77594208496184672557376654400"),
+ mp_float("261233835270488397609834736480"),
+ mp_float("842689791195123863257531408000"),
+ mp_float("2607071541509914451952987793500"),
+ mp_float("7742212456605200493678569811000"),
+ mp_float("22088076714432483761377096225500"),
+ mp_float("60584438988157669745491463932800"),
+ mp_float("159875602885416072939491363156000"),
+ mp_float("406170450573759752873302382072000"),
+ mp_float("994048734298938342558345303492000"),
+ mp_float("2344935475782110961932506869776000"),
+ mp_float("5334728207404302438396453128740400"),
+ mp_float("11710378991863102913553189794796000"),
+ mp_float("24814850720852765697767473612782000"),
+ mp_float("50783880545001008869849713440112000"),
+ mp_float("100413581986706540265384660665676000"),
+ mp_float("191901512241261388062735129272180800"),
+ mp_float("354600620445809086637662738872508000"),
+ mp_float("633754300371233261224758937559376000"),
+ mp_float("1095866811058590847534478996196421000"),
+ mp_float("1833899561363356112200556687512378000"),
+ mp_float("2970917289408636901764901833770052360"),
+ mp_float("4660262414758646120415532288266748800"),
+ mp_float("7080014053191020067554366361020637600"),
+ mp_float("10419643323564142740929067474709617600"),
+ mp_float("14857639553971092426880336954678528800"),
+ mp_float("20530556474578236808052829246464876160"),
+ mp_float("27496280992738710010785039169372602000"),
+ mp_float("35696926201099377908738471904097764000"),
+ mp_float("44928889873797492885136352568950634000"),
+ mp_float("54828475778193550639488430253634672000"),
+ mp_float("64880363004195701590061309133467695200"),
+ mp_float("74452875578585231332857239989225224000"),
+ mp_float("82858845401973886483341121923492588000"),
+ mp_float("89434944243400385410590417314245968000"),
+ mp_float("93627207254809778476711843125851247750"),
+ mp_float("95067625827960698145584333020095113100"),
+ mp_float("93627207254809778476711843125851247750"),
+ mp_float("89434944243400385410590417314245968000"),
+ mp_float("82858845401973886483341121923492588000"),
+ mp_float("74452875578585231332857239989225224000"),
+ mp_float("64880363004195701590061309133467695200"),
+ mp_float("54828475778193550639488430253634672000"),
+ mp_float("44928889873797492885136352568950634000"),
+ mp_float("35696926201099377908738471904097764000"),
+ mp_float("27496280992738710010785039169372602000"),
+ mp_float("20530556474578236808052829246464876160"),
+ mp_float("14857639553971092426880336954678528800"),
+ mp_float("10419643323564142740929067474709617600"),
+ mp_float("7080014053191020067554366361020637600"),
+ mp_float("4660262414758646120415532288266748800"),
+ mp_float("2970917289408636901764901833770052360"),
+ mp_float("1833899561363356112200556687512378000"),
+ mp_float("1095866811058590847534478996196421000"),
+ mp_float("633754300371233261224758937559376000"),
+ mp_float("354600620445809086637662738872508000"),
+ mp_float("191901512241261388062735129272180800"),
+ mp_float("100413581986706540265384660665676000"),
+ mp_float("50783880545001008869849713440112000"),
+ mp_float("24814850720852765697767473612782000"),
+ mp_float("11710378991863102913553189794796000"),
+ mp_float("5334728207404302438396453128740400"),
+ mp_float("2344935475782110961932506869776000"),
+ mp_float("994048734298938342558345303492000"),
+ mp_float("406170450573759752873302382072000"),
+ mp_float("159875602885416072939491363156000"),
+ mp_float("60584438988157669745491463932800"),
+ mp_float("22088076714432483761377096225500"),
+ mp_float("7742212456605200493678569811000"),
+ mp_float("2607071541509914451952987793500"),
+ mp_float("842689791195123863257531408000"),
+ mp_float("261233835270488397609834736480"),
+ mp_float("77594208496184672557376654400"),
+ mp_float("22061098494013289256509048800"),
+ mp_float("5997191823615263098856828800"),
+ mp_float("1556963261900116381433984400"),
+ mp_float("385533760089552627783653280"),
+ mp_float("90927773606026563156522000"),
+ mp_float("20395014640604088932304000"),
+ mp_float("4343382747536055976324000"),
+ mp_float("876646059135717719992000"),
+ mp_float("167359702198637019271200"),
+ mp_float("30154901297051715184000"),
+ mp_float("5115563612892701683000"),
+ mp_float("814868540106802038000"),
+ mp_float("121515484051014339000"),
+ mp_float("16906502128836777600"),
+ mp_float(static_cast<boost::int64_t>(2186185620108204000LL)),
+ mp_float(static_cast<boost::int64_t>(261594860525768000LL)),
+ mp_float(static_cast<boost::int64_t>(28819772769788000LL)),
+ mp_float(static_cast<boost::int64_t>(2906195573424000LL)),
+ mp_float(static_cast<boost::int64_t>(266401260897200LL)),
+ mp_float(static_cast<boost::int64_t>(22016633132000LL)),
+ mp_float(static_cast<boost::int64_t>(1624177854000LL)),
+ mp_float(static_cast<boost::int64_t>(105637584000LL)),
+ mp_float(static_cast<boost::int64_t>(5963412000LL)),
+ mp_float(static_cast<boost::int32_t>(286243776L)),
+ mp_float(static_cast<boost::int32_t>(11358880L)),
+ mp_float(static_cast<boost::int32_t>(357760L)),
+ mp_float(static_cast<boost::int32_t>(8385L)),
+ mp_float(static_cast<boost::int32_t>(130L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_130_vect(A007318_130_data.begin(), A007318_130_data.end());
+
+ return A007318_130_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_131(void)
+ {
+ static const boost::array<mp_float, 132u> A007318_131_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(131L)),
+ mp_float(static_cast<boost::int32_t>(8515L)),
+ mp_float(static_cast<boost::int32_t>(366145L)),
+ mp_float(static_cast<boost::int32_t>(11716640L)),
+ mp_float(static_cast<boost::int32_t>(297602656L)),
+ mp_float(static_cast<boost::int64_t>(6249655776LL)),
+ mp_float(static_cast<boost::int64_t>(111600996000LL)),
+ mp_float(static_cast<boost::int64_t>(1729815438000LL)),
+ mp_float(static_cast<boost::int64_t>(23640810986000LL)),
+ mp_float(static_cast<boost::int64_t>(288417894029200LL)),
+ mp_float(static_cast<boost::int64_t>(3172596834321200LL)),
+ mp_float(static_cast<boost::int64_t>(31725968343212000LL)),
+ mp_float(static_cast<boost::int64_t>(290414633295556000LL)),
+ mp_float(static_cast<boost::int64_t>(2447780480633972000LL)),
+ mp_float("19092687748944981600"),
+ mp_float("138421986179851116600"),
+ mp_float("936384024157816377000"),
+ mp_float("5930432152999503721000"),
+ mp_float("35270464909944416867000"),
+ mp_float("197514603495688734455200"),
+ mp_float("1044005761334354739263200"),
+ mp_float("5220028806671773696316000"),
+ mp_float("24738397388140144908628000"),
+ mp_float("111322788246630652088826000"),
+ mp_float("476461533695579190940175280"),
+ mp_float("1942497021989669009217637680"),
+ mp_float("7554155085515379480290813200"),
+ mp_float("28058290317628552355365877600"),
+ mp_float("99655306990197961813885703200"),
+ mp_float("338828043766673070167211390880"),
+ mp_float("1103923626465612260867366144480"),
+ mp_float("3449761332705038315210519201500"),
+ mp_float("10349283998115114945631557604500"),
+ mp_float("29830289171037684255055666036500"),
+ mp_float("82672515702590153506868560158300"),
+ mp_float("220460041873573742684982827088800"),
+ mp_float("566046053459175825812793745228000"),
+ mp_float("1400219184872698095431647685564000"),
+ mp_float("3338984210081049304490852173268000"),
+ mp_float("7679663683186413400328959998516400"),
+ mp_float("17045107199267405351949642923536400"),
+ mp_float("36525229712715868611320663407578000"),
+ mp_float("75598731265853774567617187052894000"),
+ mp_float("151197462531707549135234374105788000"),
+ mp_float("292315094227967928328119789937856800"),
+ mp_float("546502132687070474700397868144688800"),
+ mp_float("988354920817042347862421676431884000"),
+ mp_float("1729621111429824108759237933755797000"),
+ mp_float("2929766372421946959735035683708799000"),
+ mp_float("4804816850771993013965458521282430360"),
+ mp_float("7631179704167283022180434122036801160"),
+ mp_float("11740276467949666187969898649287386400"),
+ mp_float("17499657376755162808483433835730255200"),
+ mp_float("25277282877535235167809404429388146400"),
+ mp_float("35388196028549329234933166201143404960"),
+ mp_float("48026837467316946818837868415837478160"),
+ mp_float("63193207193838087919523511073470366000"),
+ mp_float("80625816074896870793874824473048398000"),
+ mp_float("99757365651991043524624782822585306000"),
+ mp_float("119708838782389252229549739387102367200"),
+ mp_float("139333238582780932922918549122692919200"),
+ mp_float("157311720980559117816198361912717812000"),
+ mp_float("172293789645374271893931539237738556000"),
+ mp_float("183062151498210163887302260440097215750"),
+ mp_float("188694833082770476622296176145946360850"),
+ mp_float("188694833082770476622296176145946360850"),
+ mp_float("183062151498210163887302260440097215750"),
+ mp_float("172293789645374271893931539237738556000"),
+ mp_float("157311720980559117816198361912717812000"),
+ mp_float("139333238582780932922918549122692919200"),
+ mp_float("119708838782389252229549739387102367200"),
+ mp_float("99757365651991043524624782822585306000"),
+ mp_float("80625816074896870793874824473048398000"),
+ mp_float("63193207193838087919523511073470366000"),
+ mp_float("48026837467316946818837868415837478160"),
+ mp_float("35388196028549329234933166201143404960"),
+ mp_float("25277282877535235167809404429388146400"),
+ mp_float("17499657376755162808483433835730255200"),
+ mp_float("11740276467949666187969898649287386400"),
+ mp_float("7631179704167283022180434122036801160"),
+ mp_float("4804816850771993013965458521282430360"),
+ mp_float("2929766372421946959735035683708799000"),
+ mp_float("1729621111429824108759237933755797000"),
+ mp_float("988354920817042347862421676431884000"),
+ mp_float("546502132687070474700397868144688800"),
+ mp_float("292315094227967928328119789937856800"),
+ mp_float("151197462531707549135234374105788000"),
+ mp_float("75598731265853774567617187052894000"),
+ mp_float("36525229712715868611320663407578000"),
+ mp_float("17045107199267405351949642923536400"),
+ mp_float("7679663683186413400328959998516400"),
+ mp_float("3338984210081049304490852173268000"),
+ mp_float("1400219184872698095431647685564000"),
+ mp_float("566046053459175825812793745228000"),
+ mp_float("220460041873573742684982827088800"),
+ mp_float("82672515702590153506868560158300"),
+ mp_float("29830289171037684255055666036500"),
+ mp_float("10349283998115114945631557604500"),
+ mp_float("3449761332705038315210519201500"),
+ mp_float("1103923626465612260867366144480"),
+ mp_float("338828043766673070167211390880"),
+ mp_float("99655306990197961813885703200"),
+ mp_float("28058290317628552355365877600"),
+ mp_float("7554155085515379480290813200"),
+ mp_float("1942497021989669009217637680"),
+ mp_float("476461533695579190940175280"),
+ mp_float("111322788246630652088826000"),
+ mp_float("24738397388140144908628000"),
+ mp_float("5220028806671773696316000"),
+ mp_float("1044005761334354739263200"),
+ mp_float("197514603495688734455200"),
+ mp_float("35270464909944416867000"),
+ mp_float("5930432152999503721000"),
+ mp_float("936384024157816377000"),
+ mp_float("138421986179851116600"),
+ mp_float("19092687748944981600"),
+ mp_float(static_cast<boost::int64_t>(2447780480633972000LL)),
+ mp_float(static_cast<boost::int64_t>(290414633295556000LL)),
+ mp_float(static_cast<boost::int64_t>(31725968343212000LL)),
+ mp_float(static_cast<boost::int64_t>(3172596834321200LL)),
+ mp_float(static_cast<boost::int64_t>(288417894029200LL)),
+ mp_float(static_cast<boost::int64_t>(23640810986000LL)),
+ mp_float(static_cast<boost::int64_t>(1729815438000LL)),
+ mp_float(static_cast<boost::int64_t>(111600996000LL)),
+ mp_float(static_cast<boost::int64_t>(6249655776LL)),
+ mp_float(static_cast<boost::int32_t>(297602656L)),
+ mp_float(static_cast<boost::int32_t>(11716640L)),
+ mp_float(static_cast<boost::int32_t>(366145L)),
+ mp_float(static_cast<boost::int32_t>(8515L)),
+ mp_float(static_cast<boost::int32_t>(131L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_131_vect(A007318_131_data.begin(), A007318_131_data.end());
+
+ return A007318_131_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_132(void)
+ {
+ static const boost::array<mp_float, 133u> A007318_132_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(132L)),
+ mp_float(static_cast<boost::int32_t>(8646L)),
+ mp_float(static_cast<boost::int32_t>(374660L)),
+ mp_float(static_cast<boost::int32_t>(12082785L)),
+ mp_float(static_cast<boost::int32_t>(309319296L)),
+ mp_float(static_cast<boost::int64_t>(6547258432LL)),
+ mp_float(static_cast<boost::int64_t>(117850651776LL)),
+ mp_float(static_cast<boost::int64_t>(1841416434000LL)),
+ mp_float(static_cast<boost::int64_t>(25370626424000LL)),
+ mp_float(static_cast<boost::int64_t>(312058705015200LL)),
+ mp_float(static_cast<boost::int64_t>(3461014728350400LL)),
+ mp_float(static_cast<boost::int64_t>(34898565177533200LL)),
+ mp_float(static_cast<boost::int64_t>(322140601638768000LL)),
+ mp_float(static_cast<boost::int64_t>(2738195113929528000LL)),
+ mp_float("21540468229578953600"),
+ mp_float("157514673928796098200"),
+ mp_float("1074806010337667493600"),
+ mp_float("6866816177157320098000"),
+ mp_float("41200897062943920588000"),
+ mp_float("232785068405633151322200"),
+ mp_float("1241520364830043473718400"),
+ mp_float("6264034568006128435579200"),
+ mp_float("29958426194811918604944000"),
+ mp_float("136061185634770796997454000"),
+ mp_float("587784321942209843029001280"),
+ mp_float("2418958555685248200157812960"),
+ mp_float("9496652107505048489508450880"),
+ mp_float("35612445403143931835656690800"),
+ mp_float("127713597307826514169251580800"),
+ mp_float("438483350756871031981097094080"),
+ mp_float("1442751670232285331034577535360"),
+ mp_float("4553684959170650576077885345980"),
+ mp_float("13799045330820153260842076806000"),
+ mp_float("40179573169152799200687223641000"),
+ mp_float("112502804873627837761924226194800"),
+ mp_float("303132557576163896191851387247100"),
+ mp_float("786506095332749568497776572316800"),
+ mp_float("1966265238331873921244441430792000"),
+ mp_float("4739203394953747399922499858832000"),
+ mp_float("11018647893267462704819812171784400"),
+ mp_float("24724770882453818752278602922052800"),
+ mp_float("53570336911983273963270306331114400"),
+ mp_float("112123960978569643178937850460472000"),
+ mp_float("226796193797561323702851561158682000"),
+ mp_float("443512556759675477463354164043644800"),
+ mp_float("838817226915038403028517658082545600"),
+ mp_float("1534857053504112822562819544576572800"),
+ mp_float("2717976032246866456621659610187681000"),
+ mp_float("4659387483851771068494273617464596000"),
+ mp_float("7734583223193939973700494204991229360"),
+ mp_float("12435996554939276036145892643319231520"),
+ mp_float("19371456172116949210150332771324187560"),
+ mp_float("29239933844704828996453332485017641600"),
+ mp_float("42776940254290397976292838265118401600"),
+ mp_float("60665478906084564402742570630531551360"),
+ mp_float("83415033495866276053771034616980883120"),
+ mp_float("111220044661155034738361379489307844160"),
+ mp_float("143819023268734958713398335546518764000"),
+ mp_float("180383181726887914318499607295633704000"),
+ mp_float("219466204434380295754174522209687673200"),
+ mp_float("259042077365170185152468288509795286400"),
+ mp_float("296644959563340050739116911035410731200"),
+ mp_float("329605510625933389710129901150456368000"),
+ mp_float("355355941143584435781233799677835771750"),
+ mp_float("371756984580980640509598436586043576600"),
+ mp_float("377389666165540953244592352291892721700"),
+ mp_float("371756984580980640509598436586043576600"),
+ mp_float("355355941143584435781233799677835771750"),
+ mp_float("329605510625933389710129901150456368000"),
+ mp_float("296644959563340050739116911035410731200"),
+ mp_float("259042077365170185152468288509795286400"),
+ mp_float("219466204434380295754174522209687673200"),
+ mp_float("180383181726887914318499607295633704000"),
+ mp_float("143819023268734958713398335546518764000"),
+ mp_float("111220044661155034738361379489307844160"),
+ mp_float("83415033495866276053771034616980883120"),
+ mp_float("60665478906084564402742570630531551360"),
+ mp_float("42776940254290397976292838265118401600"),
+ mp_float("29239933844704828996453332485017641600"),
+ mp_float("19371456172116949210150332771324187560"),
+ mp_float("12435996554939276036145892643319231520"),
+ mp_float("7734583223193939973700494204991229360"),
+ mp_float("4659387483851771068494273617464596000"),
+ mp_float("2717976032246866456621659610187681000"),
+ mp_float("1534857053504112822562819544576572800"),
+ mp_float("838817226915038403028517658082545600"),
+ mp_float("443512556759675477463354164043644800"),
+ mp_float("226796193797561323702851561158682000"),
+ mp_float("112123960978569643178937850460472000"),
+ mp_float("53570336911983273963270306331114400"),
+ mp_float("24724770882453818752278602922052800"),
+ mp_float("11018647893267462704819812171784400"),
+ mp_float("4739203394953747399922499858832000"),
+ mp_float("1966265238331873921244441430792000"),
+ mp_float("786506095332749568497776572316800"),
+ mp_float("303132557576163896191851387247100"),
+ mp_float("112502804873627837761924226194800"),
+ mp_float("40179573169152799200687223641000"),
+ mp_float("13799045330820153260842076806000"),
+ mp_float("4553684959170650576077885345980"),
+ mp_float("1442751670232285331034577535360"),
+ mp_float("438483350756871031981097094080"),
+ mp_float("127713597307826514169251580800"),
+ mp_float("35612445403143931835656690800"),
+ mp_float("9496652107505048489508450880"),
+ mp_float("2418958555685248200157812960"),
+ mp_float("587784321942209843029001280"),
+ mp_float("136061185634770796997454000"),
+ mp_float("29958426194811918604944000"),
+ mp_float("6264034568006128435579200"),
+ mp_float("1241520364830043473718400"),
+ mp_float("232785068405633151322200"),
+ mp_float("41200897062943920588000"),
+ mp_float("6866816177157320098000"),
+ mp_float("1074806010337667493600"),
+ mp_float("157514673928796098200"),
+ mp_float("21540468229578953600"),
+ mp_float(static_cast<boost::int64_t>(2738195113929528000LL)),
+ mp_float(static_cast<boost::int64_t>(322140601638768000LL)),
+ mp_float(static_cast<boost::int64_t>(34898565177533200LL)),
+ mp_float(static_cast<boost::int64_t>(3461014728350400LL)),
+ mp_float(static_cast<boost::int64_t>(312058705015200LL)),
+ mp_float(static_cast<boost::int64_t>(25370626424000LL)),
+ mp_float(static_cast<boost::int64_t>(1841416434000LL)),
+ mp_float(static_cast<boost::int64_t>(117850651776LL)),
+ mp_float(static_cast<boost::int64_t>(6547258432LL)),
+ mp_float(static_cast<boost::int32_t>(309319296L)),
+ mp_float(static_cast<boost::int32_t>(12082785L)),
+ mp_float(static_cast<boost::int32_t>(374660L)),
+ mp_float(static_cast<boost::int32_t>(8646L)),
+ mp_float(static_cast<boost::int32_t>(132L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_132_vect(A007318_132_data.begin(), A007318_132_data.end());
+
+ return A007318_132_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_133(void)
+ {
+ static const boost::array<mp_float, 134u> A007318_133_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(133L)),
+ mp_float(static_cast<boost::int32_t>(8778L)),
+ mp_float(static_cast<boost::int32_t>(383306L)),
+ mp_float(static_cast<boost::int32_t>(12457445L)),
+ mp_float(static_cast<boost::int32_t>(321402081L)),
+ mp_float(static_cast<boost::int64_t>(6856577728LL)),
+ mp_float(static_cast<boost::int64_t>(124397910208LL)),
+ mp_float(static_cast<boost::int64_t>(1959267085776LL)),
+ mp_float(static_cast<boost::int64_t>(27212042858000LL)),
+ mp_float(static_cast<boost::int64_t>(337429331439200LL)),
+ mp_float(static_cast<boost::int64_t>(3773073433365600LL)),
+ mp_float(static_cast<boost::int64_t>(38359579905883600LL)),
+ mp_float(static_cast<boost::int64_t>(357039166816301200LL)),
+ mp_float(static_cast<boost::int64_t>(3060335715568296000LL)),
+ mp_float("24278663343508481600"),
+ mp_float("179055142158375051800"),
+ mp_float("1232320684266463591800"),
+ mp_float("7941622187494987591600"),
+ mp_float("48067713240101240686000"),
+ mp_float("273985965468577071910200"),
+ mp_float("1474305433235676625040600"),
+ mp_float("7505554932836171909297600"),
+ mp_float("36222460762818047040523200"),
+ mp_float("166019611829582715602398000"),
+ mp_float("723845507576980640026455280"),
+ mp_float("3006742877627458043186814240"),
+ mp_float("11915610663190296689666263840"),
+ mp_float("45109097510648980325165141680"),
+ mp_float("163326042710970446004908271600"),
+ mp_float("566196948064697546150348674880"),
+ mp_float("1881235020989156363015674629440"),
+ mp_float("5996436629402935907112462881340"),
+ mp_float("18352730289990803836919962151980"),
+ mp_float("53978618499972952461529300447000"),
+ mp_float("152682378042780636962611449835800"),
+ mp_float("415635362449791733953775613441900"),
+ mp_float("1089638652908913464689627959563900"),
+ mp_float("2752771333664623489742218003108800"),
+ mp_float("6705468633285621321166941289624000"),
+ mp_float("15757851288221210104742312030616400"),
+ mp_float("35743418775721281457098415093837200"),
+ mp_float("78295107794437092715548909253167200"),
+ mp_float("165694297890552917142208156791586400"),
+ mp_float("338920154776130966881789411619154000"),
+ mp_float("670308750557236801166205725202326800"),
+ mp_float("1282329783674713880491871822126190400"),
+ mp_float("2373674280419151225591337202659118400"),
+ mp_float("4252833085750979279184479154764253800"),
+ mp_float("7377363516098637525115933227652277000"),
+ mp_float("12393970707045711042194767822455825360"),
+ mp_float("20170579778133216009846386848310460880"),
+ mp_float("31807452727056225246296225414643419080"),
+ mp_float("48611390016821778206603665256341829160"),
+ mp_float("72016874098995226972746170750136043200"),
+ mp_float("103442419160374962379035408895649952960"),
+ mp_float("144080512401950840456513605247512434480"),
+ mp_float("194635078157021310792132414106288727280"),
+ mp_float("255039067929889993451759715035826608160"),
+ mp_float("324202204995622873031897942842152468000"),
+ mp_float("399849386161268210072674129505321377200"),
+ mp_float("478508281799550480906642810719482959600"),
+ mp_float("555687036928510235891585199545206017600"),
+ mp_float("626250470189273440449246812185867099200"),
+ mp_float("684961451769517825491363700828292139750"),
+ mp_float("727112925724565076290832236263879348350"),
+ mp_float("749146650746521593754190788877936298300"),
+ mp_float("749146650746521593754190788877936298300"),
+ mp_float("727112925724565076290832236263879348350"),
+ mp_float("684961451769517825491363700828292139750"),
+ mp_float("626250470189273440449246812185867099200"),
+ mp_float("555687036928510235891585199545206017600"),
+ mp_float("478508281799550480906642810719482959600"),
+ mp_float("399849386161268210072674129505321377200"),
+ mp_float("324202204995622873031897942842152468000"),
+ mp_float("255039067929889993451759715035826608160"),
+ mp_float("194635078157021310792132414106288727280"),
+ mp_float("144080512401950840456513605247512434480"),
+ mp_float("103442419160374962379035408895649952960"),
+ mp_float("72016874098995226972746170750136043200"),
+ mp_float("48611390016821778206603665256341829160"),
+ mp_float("31807452727056225246296225414643419080"),
+ mp_float("20170579778133216009846386848310460880"),
+ mp_float("12393970707045711042194767822455825360"),
+ mp_float("7377363516098637525115933227652277000"),
+ mp_float("4252833085750979279184479154764253800"),
+ mp_float("2373674280419151225591337202659118400"),
+ mp_float("1282329783674713880491871822126190400"),
+ mp_float("670308750557236801166205725202326800"),
+ mp_float("338920154776130966881789411619154000"),
+ mp_float("165694297890552917142208156791586400"),
+ mp_float("78295107794437092715548909253167200"),
+ mp_float("35743418775721281457098415093837200"),
+ mp_float("15757851288221210104742312030616400"),
+ mp_float("6705468633285621321166941289624000"),
+ mp_float("2752771333664623489742218003108800"),
+ mp_float("1089638652908913464689627959563900"),
+ mp_float("415635362449791733953775613441900"),
+ mp_float("152682378042780636962611449835800"),
+ mp_float("53978618499972952461529300447000"),
+ mp_float("18352730289990803836919962151980"),
+ mp_float("5996436629402935907112462881340"),
+ mp_float("1881235020989156363015674629440"),
+ mp_float("566196948064697546150348674880"),
+ mp_float("163326042710970446004908271600"),
+ mp_float("45109097510648980325165141680"),
+ mp_float("11915610663190296689666263840"),
+ mp_float("3006742877627458043186814240"),
+ mp_float("723845507576980640026455280"),
+ mp_float("166019611829582715602398000"),
+ mp_float("36222460762818047040523200"),
+ mp_float("7505554932836171909297600"),
+ mp_float("1474305433235676625040600"),
+ mp_float("273985965468577071910200"),
+ mp_float("48067713240101240686000"),
+ mp_float("7941622187494987591600"),
+ mp_float("1232320684266463591800"),
+ mp_float("179055142158375051800"),
+ mp_float("24278663343508481600"),
+ mp_float(static_cast<boost::int64_t>(3060335715568296000LL)),
+ mp_float(static_cast<boost::int64_t>(357039166816301200LL)),
+ mp_float(static_cast<boost::int64_t>(38359579905883600LL)),
+ mp_float(static_cast<boost::int64_t>(3773073433365600LL)),
+ mp_float(static_cast<boost::int64_t>(337429331439200LL)),
+ mp_float(static_cast<boost::int64_t>(27212042858000LL)),
+ mp_float(static_cast<boost::int64_t>(1959267085776LL)),
+ mp_float(static_cast<boost::int64_t>(124397910208LL)),
+ mp_float(static_cast<boost::int64_t>(6856577728LL)),
+ mp_float(static_cast<boost::int32_t>(321402081L)),
+ mp_float(static_cast<boost::int32_t>(12457445L)),
+ mp_float(static_cast<boost::int32_t>(383306L)),
+ mp_float(static_cast<boost::int32_t>(8778L)),
+ mp_float(static_cast<boost::int32_t>(133L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_133_vect(A007318_133_data.begin(), A007318_133_data.end());
+
+ return A007318_133_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_134(void)
+ {
+ static const boost::array<mp_float, 135u> A007318_134_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(134L)),
+ mp_float(static_cast<boost::int32_t>(8911L)),
+ mp_float(static_cast<boost::int32_t>(392084L)),
+ mp_float(static_cast<boost::int32_t>(12840751L)),
+ mp_float(static_cast<boost::int32_t>(333859526L)),
+ mp_float(static_cast<boost::int64_t>(7177979809LL)),
+ mp_float(static_cast<boost::int64_t>(131254487936LL)),
+ mp_float(static_cast<boost::int64_t>(2083664995984LL)),
+ mp_float(static_cast<boost::int64_t>(29171309943776LL)),
+ mp_float(static_cast<boost::int64_t>(364641374297200LL)),
+ mp_float(static_cast<boost::int64_t>(4110502764804800LL)),
+ mp_float(static_cast<boost::int64_t>(42132653339249200LL)),
+ mp_float(static_cast<boost::int64_t>(395398746722184800LL)),
+ mp_float(static_cast<boost::int64_t>(3417374882384597200LL)),
+ mp_float("27338999059076777600"),
+ mp_float("203333805501883533400"),
+ mp_float("1411375826424838643600"),
+ mp_float("9173942871761451183400"),
+ mp_float("56009335427596228277600"),
+ mp_float("322053678708678312596200"),
+ mp_float("1748291398704253696950800"),
+ mp_float("8979860366071848534338200"),
+ mp_float("43728015695654218949820800"),
+ mp_float("202242072592400762642921200"),
+ mp_float("889865119406563355628853280"),
+ mp_float("3730588385204438683213269520"),
+ mp_float("14922353540817754732853078080"),
+ mp_float("57024708173839277014831405520"),
+ mp_float("208435140221619426330073413280"),
+ mp_float("729522990775667992155256946480"),
+ mp_float("2447431969053853909166023304320"),
+ mp_float("7877671650392092270128137510780"),
+ mp_float("24349166919393739744032425033320"),
+ mp_float("72331348789963756298449262598980"),
+ mp_float("206660996542753589424140750282800"),
+ mp_float("568317740492572370916387063277700"),
+ mp_float("1505274015358705198643403573005800"),
+ mp_float("3842409986573536954431845962672700"),
+ mp_float("9458239966950244810909159292732800"),
+ mp_float("22463319921506831425909253320240400"),
+ mp_float("51501270063942491561840727124453600"),
+ mp_float("114038526570158374172647324347004400"),
+ mp_float("243989405684990009857757066044753600"),
+ mp_float("504614452666683884023997568410740400"),
+ mp_float("1009228905333367768047995136821480800"),
+ mp_float("1952638534231950681658077547328517200"),
+ mp_float("3656004064093865106083209024785308800"),
+ mp_float("6626507366170130504775816357423372200"),
+ mp_float("11630196601849616804300412382416530800"),
+ mp_float("19771334223144348567310701050108102360"),
+ mp_float("32564550485178927052041154670766286240"),
+ mp_float("51978032505189441256142612262953879960"),
+ mp_float("80418842743878003452899890670985248240"),
+ mp_float("120628264115817005179349836006477872360"),
+ mp_float("175459293259370189351781579645785996160"),
+ mp_float("247522931562325802835549014143162387440"),
+ mp_float("338715590558972151248646019353801161760"),
+ mp_float("449674146086911304243892129142115335440"),
+ mp_float("579241272925512866483657657877979076160"),
+ mp_float("724051591156891083104572072347473845200"),
+ mp_float("878357667960818690979316940224804336800"),
+ mp_float("1034195318728060716798228010264688977200"),
+ mp_float("1181937507117783676340832011731073116800"),
+ mp_float("1311211921958791265940610513014159238950"),
+ mp_float("1412074377494082901782195937092171488100"),
+ mp_float("1476259576471086670045023025141815646650"),
+ mp_float("1498293301493043187508381577755872596600"),
+ mp_float("1476259576471086670045023025141815646650"),
+ mp_float("1412074377494082901782195937092171488100"),
+ mp_float("1311211921958791265940610513014159238950"),
+ mp_float("1181937507117783676340832011731073116800"),
+ mp_float("1034195318728060716798228010264688977200"),
+ mp_float("878357667960818690979316940224804336800"),
+ mp_float("724051591156891083104572072347473845200"),
+ mp_float("579241272925512866483657657877979076160"),
+ mp_float("449674146086911304243892129142115335440"),
+ mp_float("338715590558972151248646019353801161760"),
+ mp_float("247522931562325802835549014143162387440"),
+ mp_float("175459293259370189351781579645785996160"),
+ mp_float("120628264115817005179349836006477872360"),
+ mp_float("80418842743878003452899890670985248240"),
+ mp_float("51978032505189441256142612262953879960"),
+ mp_float("32564550485178927052041154670766286240"),
+ mp_float("19771334223144348567310701050108102360"),
+ mp_float("11630196601849616804300412382416530800"),
+ mp_float("6626507366170130504775816357423372200"),
+ mp_float("3656004064093865106083209024785308800"),
+ mp_float("1952638534231950681658077547328517200"),
+ mp_float("1009228905333367768047995136821480800"),
+ mp_float("504614452666683884023997568410740400"),
+ mp_float("243989405684990009857757066044753600"),
+ mp_float("114038526570158374172647324347004400"),
+ mp_float("51501270063942491561840727124453600"),
+ mp_float("22463319921506831425909253320240400"),
+ mp_float("9458239966950244810909159292732800"),
+ mp_float("3842409986573536954431845962672700"),
+ mp_float("1505274015358705198643403573005800"),
+ mp_float("568317740492572370916387063277700"),
+ mp_float("206660996542753589424140750282800"),
+ mp_float("72331348789963756298449262598980"),
+ mp_float("24349166919393739744032425033320"),
+ mp_float("7877671650392092270128137510780"),
+ mp_float("2447431969053853909166023304320"),
+ mp_float("729522990775667992155256946480"),
+ mp_float("208435140221619426330073413280"),
+ mp_float("57024708173839277014831405520"),
+ mp_float("14922353540817754732853078080"),
+ mp_float("3730588385204438683213269520"),
+ mp_float("889865119406563355628853280"),
+ mp_float("202242072592400762642921200"),
+ mp_float("43728015695654218949820800"),
+ mp_float("8979860366071848534338200"),
+ mp_float("1748291398704253696950800"),
+ mp_float("322053678708678312596200"),
+ mp_float("56009335427596228277600"),
+ mp_float("9173942871761451183400"),
+ mp_float("1411375826424838643600"),
+ mp_float("203333805501883533400"),
+ mp_float("27338999059076777600"),
+ mp_float(static_cast<boost::int64_t>(3417374882384597200LL)),
+ mp_float(static_cast<boost::int64_t>(395398746722184800LL)),
+ mp_float(static_cast<boost::int64_t>(42132653339249200LL)),
+ mp_float(static_cast<boost::int64_t>(4110502764804800LL)),
+ mp_float(static_cast<boost::int64_t>(364641374297200LL)),
+ mp_float(static_cast<boost::int64_t>(29171309943776LL)),
+ mp_float(static_cast<boost::int64_t>(2083664995984LL)),
+ mp_float(static_cast<boost::int64_t>(131254487936LL)),
+ mp_float(static_cast<boost::int64_t>(7177979809LL)),
+ mp_float(static_cast<boost::int32_t>(333859526L)),
+ mp_float(static_cast<boost::int32_t>(12840751L)),
+ mp_float(static_cast<boost::int32_t>(392084L)),
+ mp_float(static_cast<boost::int32_t>(8911L)),
+ mp_float(static_cast<boost::int32_t>(134L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_134_vect(A007318_134_data.begin(), A007318_134_data.end());
+
+ return A007318_134_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_135(void)
+ {
+ static const boost::array<mp_float, 136u> A007318_135_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(135L)),
+ mp_float(static_cast<boost::int32_t>(9045L)),
+ mp_float(static_cast<boost::int32_t>(400995L)),
+ mp_float(static_cast<boost::int32_t>(13232835L)),
+ mp_float(static_cast<boost::int32_t>(346700277L)),
+ mp_float(static_cast<boost::int64_t>(7511839335LL)),
+ mp_float(static_cast<boost::int64_t>(138432467745LL)),
+ mp_float(static_cast<boost::int64_t>(2214919483920LL)),
+ mp_float(static_cast<boost::int64_t>(31254974939760LL)),
+ mp_float(static_cast<boost::int64_t>(393812684240976LL)),
+ mp_float(static_cast<boost::int64_t>(4475144139102000LL)),
+ mp_float(static_cast<boost::int64_t>(46243156104054000LL)),
+ mp_float(static_cast<boost::int64_t>(437531400061434000LL)),
+ mp_float(static_cast<boost::int64_t>(3812773629106782000LL)),
+ mp_float("30756373941461374800"),
+ mp_float("230672804560960311000"),
+ mp_float("1614709631926722177000"),
+ mp_float("10585318698186289827000"),
+ mp_float("65183278299357679461000"),
+ mp_float("378063014136274540873800"),
+ mp_float("2070345077412932009547000"),
+ mp_float("10728151764776102231289000"),
+ mp_float("52707876061726067484159000"),
+ mp_float("245970088288054981592742000"),
+ mp_float("1092107191998964118271774480"),
+ mp_float("4620453504611002038842122800"),
+ mp_float("18652941926022193416066347600"),
+ mp_float("71947061714657031747684483600"),
+ mp_float("265459848395458703344904818800"),
+ mp_float("937958130997287418485330359760"),
+ mp_float("3176954959829521901321280250800"),
+ mp_float("10325103619445946179294160815100"),
+ mp_float("32226838569785832014160562544100"),
+ mp_float("96680515709357496042481687632300"),
+ mp_float("278992345332717345722590012881780"),
+ mp_float("774978737035325960340527813560500"),
+ mp_float("2073591755851277569559790636283500"),
+ mp_float("5347684001932242153075249535678500"),
+ mp_float("13300649953523781765341005255405500"),
+ mp_float("31921559888457076236818412612973200"),
+ mp_float("73964589985449322987749980444694000"),
+ mp_float("165539796634100865734488051471458000"),
+ mp_float("358027932255148384030404390391758000"),
+ mp_float("748603858351673893881754634455494000"),
+ mp_float("1513843358000051652071992705232221200"),
+ mp_float("2961867439565318449706072684149998000"),
+ mp_float("5608642598325815787741286572113826000"),
+ mp_float("10282511430263995610859025382208681000"),
+ mp_float("18256703968019747309076228739839903000"),
+ mp_float("31401530824993965371611113432524633160"),
+ mp_float("52335884708323275619351855720874388600"),
+ mp_float("84542582990368368308183766933720166200"),
+ mp_float("132396875249067444709042502933939128200"),
+ mp_float("201047106859695008632249726677463120600"),
+ mp_float("296087557375187194531131415652263868520"),
+ mp_float("422982224821695992187330593788948383600"),
+ mp_float("586238522121297954084195033496963549200"),
+ mp_float("788389736645883455492538148495916497200"),
+ mp_float("1028915419012424170727549787020094411600"),
+ mp_float("1303292864082403949588229730225452921360"),
+ mp_float("1602409259117709774083889012572278182000"),
+ mp_float("1912552986688879407777544950489493314000"),
+ mp_float("2216132825845844393139060021995762094000"),
+ mp_float("2493149429076574942281442524745232355750"),
+ mp_float("2723286299452874167722806450106330727050"),
+ mp_float("2888333953965169571827218962233987134750"),
+ mp_float("2974552877964129857553404602897688243250"),
+ mp_float("2974552877964129857553404602897688243250"),
+ mp_float("2888333953965169571827218962233987134750"),
+ mp_float("2723286299452874167722806450106330727050"),
+ mp_float("2493149429076574942281442524745232355750"),
+ mp_float("2216132825845844393139060021995762094000"),
+ mp_float("1912552986688879407777544950489493314000"),
+ mp_float("1602409259117709774083889012572278182000"),
+ mp_float("1303292864082403949588229730225452921360"),
+ mp_float("1028915419012424170727549787020094411600"),
+ mp_float("788389736645883455492538148495916497200"),
+ mp_float("586238522121297954084195033496963549200"),
+ mp_float("422982224821695992187330593788948383600"),
+ mp_float("296087557375187194531131415652263868520"),
+ mp_float("201047106859695008632249726677463120600"),
+ mp_float("132396875249067444709042502933939128200"),
+ mp_float("84542582990368368308183766933720166200"),
+ mp_float("52335884708323275619351855720874388600"),
+ mp_float("31401530824993965371611113432524633160"),
+ mp_float("18256703968019747309076228739839903000"),
+ mp_float("10282511430263995610859025382208681000"),
+ mp_float("5608642598325815787741286572113826000"),
+ mp_float("2961867439565318449706072684149998000"),
+ mp_float("1513843358000051652071992705232221200"),
+ mp_float("748603858351673893881754634455494000"),
+ mp_float("358027932255148384030404390391758000"),
+ mp_float("165539796634100865734488051471458000"),
+ mp_float("73964589985449322987749980444694000"),
+ mp_float("31921559888457076236818412612973200"),
+ mp_float("13300649953523781765341005255405500"),
+ mp_float("5347684001932242153075249535678500"),
+ mp_float("2073591755851277569559790636283500"),
+ mp_float("774978737035325960340527813560500"),
+ mp_float("278992345332717345722590012881780"),
+ mp_float("96680515709357496042481687632300"),
+ mp_float("32226838569785832014160562544100"),
+ mp_float("10325103619445946179294160815100"),
+ mp_float("3176954959829521901321280250800"),
+ mp_float("937958130997287418485330359760"),
+ mp_float("265459848395458703344904818800"),
+ mp_float("71947061714657031747684483600"),
+ mp_float("18652941926022193416066347600"),
+ mp_float("4620453504611002038842122800"),
+ mp_float("1092107191998964118271774480"),
+ mp_float("245970088288054981592742000"),
+ mp_float("52707876061726067484159000"),
+ mp_float("10728151764776102231289000"),
+ mp_float("2070345077412932009547000"),
+ mp_float("378063014136274540873800"),
+ mp_float("65183278299357679461000"),
+ mp_float("10585318698186289827000"),
+ mp_float("1614709631926722177000"),
+ mp_float("230672804560960311000"),
+ mp_float("30756373941461374800"),
+ mp_float(static_cast<boost::int64_t>(3812773629106782000LL)),
+ mp_float(static_cast<boost::int64_t>(437531400061434000LL)),
+ mp_float(static_cast<boost::int64_t>(46243156104054000LL)),
+ mp_float(static_cast<boost::int64_t>(4475144139102000LL)),
+ mp_float(static_cast<boost::int64_t>(393812684240976LL)),
+ mp_float(static_cast<boost::int64_t>(31254974939760LL)),
+ mp_float(static_cast<boost::int64_t>(2214919483920LL)),
+ mp_float(static_cast<boost::int64_t>(138432467745LL)),
+ mp_float(static_cast<boost::int64_t>(7511839335LL)),
+ mp_float(static_cast<boost::int32_t>(346700277L)),
+ mp_float(static_cast<boost::int32_t>(13232835L)),
+ mp_float(static_cast<boost::int32_t>(400995L)),
+ mp_float(static_cast<boost::int32_t>(9045L)),
+ mp_float(static_cast<boost::int32_t>(135L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_135_vect(A007318_135_data.begin(), A007318_135_data.end());
+
+ return A007318_135_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_136(void)
+ {
+ static const boost::array<mp_float, 137u> A007318_136_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(136L)),
+ mp_float(static_cast<boost::int32_t>(9180L)),
+ mp_float(static_cast<boost::int32_t>(410040L)),
+ mp_float(static_cast<boost::int32_t>(13633830L)),
+ mp_float(static_cast<boost::int32_t>(359933112L)),
+ mp_float(static_cast<boost::int64_t>(7858539612LL)),
+ mp_float(static_cast<boost::int64_t>(145944307080LL)),
+ mp_float(static_cast<boost::int64_t>(2353351951665LL)),
+ mp_float(static_cast<boost::int64_t>(33469894423680LL)),
+ mp_float(static_cast<boost::int64_t>(425067659180736LL)),
+ mp_float(static_cast<boost::int64_t>(4868956823342976LL)),
+ mp_float(static_cast<boost::int64_t>(50718300243156000LL)),
+ mp_float(static_cast<boost::int64_t>(483774556165488000LL)),
+ mp_float(static_cast<boost::int64_t>(4250305029168216000LL)),
+ mp_float("34569147570568156800"),
+ mp_float("261429178502421685800"),
+ mp_float("1845382436487682488000"),
+ mp_float("12200028330113012004000"),
+ mp_float("75768596997543969288000"),
+ mp_float("443246292435632220334800"),
+ mp_float("2448408091549206550420800"),
+ mp_float("12798496842189034240836000"),
+ mp_float("63436027826502169715448000"),
+ mp_float("298677964349781049076901000"),
+ mp_float("1338077280287019099864516480"),
+ mp_float("5712560696609966157113897280"),
+ mp_float("23273395430633195454908470400"),
+ mp_float("90600003640679225163750831200"),
+ mp_float("337406910110115735092589302400"),
+ mp_float("1203417979392746121830235178560"),
+ mp_float("4114913090826809319806610610560"),
+ mp_float("13502058579275468080615441065900"),
+ mp_float("42551942189231778193454723359200"),
+ mp_float("128907354279143328056642250176400"),
+ mp_float("375672861042074841765071700514080"),
+ mp_float("1053971082368043306063117826442280"),
+ mp_float("2848570492886603529900318449844000"),
+ mp_float("7421275757783519722635040171962000"),
+ mp_float("18648333955456023918416254791084000"),
+ mp_float("45222209841980858002159417868378700"),
+ mp_float("105886149873906399224568393057667200"),
+ mp_float("239504386619550188722238031916152000"),
+ mp_float("523567728889249249764892441863216000"),
+ mp_float("1106631790606822277912159024847252000"),
+ mp_float("2262447216351725545953747339687715200"),
+ mp_float("4475710797565370101778065389382219200"),
+ mp_float("8570510037891134237447359256263824000"),
+ mp_float("15891154028589811398600311954322507000"),
+ mp_float("28539215398283742919935254122048584000"),
+ mp_float("49658234793013712680687342172364536160"),
+ mp_float("83737415533317240990962969153399021760"),
+ mp_float("136878467698691643927535622654594554800"),
+ mp_float("216939458239435813017226269867659294400"),
+ mp_float("333443982108762453341292229611402248800"),
+ mp_float("497134664234882203163381142329726989120"),
+ mp_float("719069782196883186718462009441212252120"),
+ mp_float("1009220746942993946271525627285911932800"),
+ mp_float("1374628258767181409576733181992880046400"),
+ mp_float("1817305155658307626220087935516010908800"),
+ mp_float("2332208283094828120315779517245547332960"),
+ mp_float("2905702123200113723672118742797731103360"),
+ mp_float("3514962245806589181861433963061771496000"),
+ mp_float("4128685812534723800916604972485255408000"),
+ mp_float("4709282254922419335420502546740994449750"),
+ mp_float("5216435728529449110004248974851563082800"),
+ mp_float("5611620253418043739550025412340317861800"),
+ mp_float("5862886831929299429380623565131675378000"),
+ mp_float("5949105755928259715106809205795376486500"),
+ mp_float("5862886831929299429380623565131675378000"),
+ mp_float("5611620253418043739550025412340317861800"),
+ mp_float("5216435728529449110004248974851563082800"),
+ mp_float("4709282254922419335420502546740994449750"),
+ mp_float("4128685812534723800916604972485255408000"),
+ mp_float("3514962245806589181861433963061771496000"),
+ mp_float("2905702123200113723672118742797731103360"),
+ mp_float("2332208283094828120315779517245547332960"),
+ mp_float("1817305155658307626220087935516010908800"),
+ mp_float("1374628258767181409576733181992880046400"),
+ mp_float("1009220746942993946271525627285911932800"),
+ mp_float("719069782196883186718462009441212252120"),
+ mp_float("497134664234882203163381142329726989120"),
+ mp_float("333443982108762453341292229611402248800"),
+ mp_float("216939458239435813017226269867659294400"),
+ mp_float("136878467698691643927535622654594554800"),
+ mp_float("83737415533317240990962969153399021760"),
+ mp_float("49658234793013712680687342172364536160"),
+ mp_float("28539215398283742919935254122048584000"),
+ mp_float("15891154028589811398600311954322507000"),
+ mp_float("8570510037891134237447359256263824000"),
+ mp_float("4475710797565370101778065389382219200"),
+ mp_float("2262447216351725545953747339687715200"),
+ mp_float("1106631790606822277912159024847252000"),
+ mp_float("523567728889249249764892441863216000"),
+ mp_float("239504386619550188722238031916152000"),
+ mp_float("105886149873906399224568393057667200"),
+ mp_float("45222209841980858002159417868378700"),
+ mp_float("18648333955456023918416254791084000"),
+ mp_float("7421275757783519722635040171962000"),
+ mp_float("2848570492886603529900318449844000"),
+ mp_float("1053971082368043306063117826442280"),
+ mp_float("375672861042074841765071700514080"),
+ mp_float("128907354279143328056642250176400"),
+ mp_float("42551942189231778193454723359200"),
+ mp_float("13502058579275468080615441065900"),
+ mp_float("4114913090826809319806610610560"),
+ mp_float("1203417979392746121830235178560"),
+ mp_float("337406910110115735092589302400"),
+ mp_float("90600003640679225163750831200"),
+ mp_float("23273395430633195454908470400"),
+ mp_float("5712560696609966157113897280"),
+ mp_float("1338077280287019099864516480"),
+ mp_float("298677964349781049076901000"),
+ mp_float("63436027826502169715448000"),
+ mp_float("12798496842189034240836000"),
+ mp_float("2448408091549206550420800"),
+ mp_float("443246292435632220334800"),
+ mp_float("75768596997543969288000"),
+ mp_float("12200028330113012004000"),
+ mp_float("1845382436487682488000"),
+ mp_float("261429178502421685800"),
+ mp_float("34569147570568156800"),
+ mp_float(static_cast<boost::int64_t>(4250305029168216000LL)),
+ mp_float(static_cast<boost::int64_t>(483774556165488000LL)),
+ mp_float(static_cast<boost::int64_t>(50718300243156000LL)),
+ mp_float(static_cast<boost::int64_t>(4868956823342976LL)),
+ mp_float(static_cast<boost::int64_t>(425067659180736LL)),
+ mp_float(static_cast<boost::int64_t>(33469894423680LL)),
+ mp_float(static_cast<boost::int64_t>(2353351951665LL)),
+ mp_float(static_cast<boost::int64_t>(145944307080LL)),
+ mp_float(static_cast<boost::int64_t>(7858539612LL)),
+ mp_float(static_cast<boost::int32_t>(359933112L)),
+ mp_float(static_cast<boost::int32_t>(13633830L)),
+ mp_float(static_cast<boost::int32_t>(410040L)),
+ mp_float(static_cast<boost::int32_t>(9180L)),
+ mp_float(static_cast<boost::int32_t>(136L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_136_vect(A007318_136_data.begin(), A007318_136_data.end());
+
+ return A007318_136_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_137(void)
+ {
+ static const boost::array<mp_float, 138u> A007318_137_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(137L)),
+ mp_float(static_cast<boost::int32_t>(9316L)),
+ mp_float(static_cast<boost::int32_t>(419220L)),
+ mp_float(static_cast<boost::int32_t>(14043870L)),
+ mp_float(static_cast<boost::int32_t>(373566942L)),
+ mp_float(static_cast<boost::int64_t>(8218472724LL)),
+ mp_float(static_cast<boost::int64_t>(153802846692LL)),
+ mp_float(static_cast<boost::int64_t>(2499296258745LL)),
+ mp_float(static_cast<boost::int64_t>(35823246375345LL)),
+ mp_float(static_cast<boost::int64_t>(458537553604416LL)),
+ mp_float(static_cast<boost::int64_t>(5294024482523712LL)),
+ mp_float(static_cast<boost::int64_t>(55587257066498976LL)),
+ mp_float(static_cast<boost::int64_t>(534492856408644000LL)),
+ mp_float(static_cast<boost::int64_t>(4734079585333704000LL)),
+ mp_float("38819452599736372800"),
+ mp_float("295998326072989842600"),
+ mp_float("2106811614990104173800"),
+ mp_float("14045410766600694492000"),
+ mp_float("87968625327656981292000"),
+ mp_float("519014889433176189622800"),
+ mp_float("2891654383984838770755600"),
+ mp_float("15246904933738240791256800"),
+ mp_float("76234524668691203956284000"),
+ mp_float("362113992176283218792349000"),
+ mp_float("1636755244636800148941417480"),
+ mp_float("7050637976896985256978413760"),
+ mp_float("28985956127243161612022367680"),
+ mp_float("113873399071312420618659301600"),
+ mp_float("428006913750794960256340133600"),
+ mp_float("1540824889502861856922824480960"),
+ mp_float("5318331070219555441636845789120"),
+ mp_float("17616971670102277400422051676460"),
+ mp_float("56054000768507246274070164425100"),
+ mp_float("171459296468375106250096973535600"),
+ mp_float("504580215321218169821713950690480"),
+ mp_float("1429643943410118147828189526956360"),
+ mp_float("3902541575254646835963436276286280"),
+ mp_float("10269846250670123252535358621806000"),
+ mp_float("26069609713239543641051294963046000"),
+ mp_float("63870543797436881920575672659462700"),
+ mp_float("151108359715887257226727810926045900"),
+ mp_float("345390536493456587946806424973819200"),
+ mp_float("763072115508799438487130473779368000"),
+ mp_float("1630199519496071527677051466710468000"),
+ mp_float("3369079006958547823865906364534967200"),
+ mp_float("6738158013917095647731812729069934400"),
+ mp_float("13046220835456504339225424645646043200"),
+ mp_float("24461664066480945636047671210586331000"),
+ mp_float("44430369426873554318535566076371091000"),
+ mp_float("78197450191297455600622596294413120160"),
+ mp_float("133395650326330953671650311325763557920"),
+ mp_float("220615883232008884918498591807993576560"),
+ mp_float("353817925938127456944761892522253849200"),
+ mp_float("550383440348198266358518499479061543200"),
+ mp_float("830578646343644656504673371941129237920"),
+ mp_float("1216204446431765389881843151770939241240"),
+ mp_float("1728290529139877132989987636727124184920"),
+ mp_float("2383849005710175355848258809278791979200"),
+ mp_float("3191933414425489035796821117508890955200"),
+ mp_float("4149513438753135746535867452761558241760"),
+ mp_float("5237910406294941843987898260043278436320"),
+ mp_float("6420664369006702905533552705859502599360"),
+ mp_float("7643648058341312982778038935547026904000"),
+ mp_float("8837968067457143136337107519226249857750"),
+ mp_float("9925717983451868445424751521592557532550"),
+ mp_float("10828055981947492849554274387191880944600"),
+ mp_float("11474507085347343168930648977471993239800"),
+ mp_float("11811992587857559144487432770927051864500"),
+ mp_float("11811992587857559144487432770927051864500"),
+ mp_float("11474507085347343168930648977471993239800"),
+ mp_float("10828055981947492849554274387191880944600"),
+ mp_float("9925717983451868445424751521592557532550"),
+ mp_float("8837968067457143136337107519226249857750"),
+ mp_float("7643648058341312982778038935547026904000"),
+ mp_float("6420664369006702905533552705859502599360"),
+ mp_float("5237910406294941843987898260043278436320"),
+ mp_float("4149513438753135746535867452761558241760"),
+ mp_float("3191933414425489035796821117508890955200"),
+ mp_float("2383849005710175355848258809278791979200"),
+ mp_float("1728290529139877132989987636727124184920"),
+ mp_float("1216204446431765389881843151770939241240"),
+ mp_float("830578646343644656504673371941129237920"),
+ mp_float("550383440348198266358518499479061543200"),
+ mp_float("353817925938127456944761892522253849200"),
+ mp_float("220615883232008884918498591807993576560"),
+ mp_float("133395650326330953671650311325763557920"),
+ mp_float("78197450191297455600622596294413120160"),
+ mp_float("44430369426873554318535566076371091000"),
+ mp_float("24461664066480945636047671210586331000"),
+ mp_float("13046220835456504339225424645646043200"),
+ mp_float("6738158013917095647731812729069934400"),
+ mp_float("3369079006958547823865906364534967200"),
+ mp_float("1630199519496071527677051466710468000"),
+ mp_float("763072115508799438487130473779368000"),
+ mp_float("345390536493456587946806424973819200"),
+ mp_float("151108359715887257226727810926045900"),
+ mp_float("63870543797436881920575672659462700"),
+ mp_float("26069609713239543641051294963046000"),
+ mp_float("10269846250670123252535358621806000"),
+ mp_float("3902541575254646835963436276286280"),
+ mp_float("1429643943410118147828189526956360"),
+ mp_float("504580215321218169821713950690480"),
+ mp_float("171459296468375106250096973535600"),
+ mp_float("56054000768507246274070164425100"),
+ mp_float("17616971670102277400422051676460"),
+ mp_float("5318331070219555441636845789120"),
+ mp_float("1540824889502861856922824480960"),
+ mp_float("428006913750794960256340133600"),
+ mp_float("113873399071312420618659301600"),
+ mp_float("28985956127243161612022367680"),
+ mp_float("7050637976896985256978413760"),
+ mp_float("1636755244636800148941417480"),
+ mp_float("362113992176283218792349000"),
+ mp_float("76234524668691203956284000"),
+ mp_float("15246904933738240791256800"),
+ mp_float("2891654383984838770755600"),
+ mp_float("519014889433176189622800"),
+ mp_float("87968625327656981292000"),
+ mp_float("14045410766600694492000"),
+ mp_float("2106811614990104173800"),
+ mp_float("295998326072989842600"),
+ mp_float("38819452599736372800"),
+ mp_float(static_cast<boost::int64_t>(4734079585333704000LL)),
+ mp_float(static_cast<boost::int64_t>(534492856408644000LL)),
+ mp_float(static_cast<boost::int64_t>(55587257066498976LL)),
+ mp_float(static_cast<boost::int64_t>(5294024482523712LL)),
+ mp_float(static_cast<boost::int64_t>(458537553604416LL)),
+ mp_float(static_cast<boost::int64_t>(35823246375345LL)),
+ mp_float(static_cast<boost::int64_t>(2499296258745LL)),
+ mp_float(static_cast<boost::int64_t>(153802846692LL)),
+ mp_float(static_cast<boost::int64_t>(8218472724LL)),
+ mp_float(static_cast<boost::int32_t>(373566942L)),
+ mp_float(static_cast<boost::int32_t>(14043870L)),
+ mp_float(static_cast<boost::int32_t>(419220L)),
+ mp_float(static_cast<boost::int32_t>(9316L)),
+ mp_float(static_cast<boost::int32_t>(137L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_137_vect(A007318_137_data.begin(), A007318_137_data.end());
+
+ return A007318_137_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_138(void)
+ {
+ static const boost::array<mp_float, 139u> A007318_138_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(138L)),
+ mp_float(static_cast<boost::int32_t>(9453L)),
+ mp_float(static_cast<boost::int32_t>(428536L)),
+ mp_float(static_cast<boost::int32_t>(14463090L)),
+ mp_float(static_cast<boost::int32_t>(387610812L)),
+ mp_float(static_cast<boost::int64_t>(8592039666LL)),
+ mp_float(static_cast<boost::int64_t>(162021319416LL)),
+ mp_float(static_cast<boost::int64_t>(2653099105437LL)),
+ mp_float(static_cast<boost::int64_t>(38322542634090LL)),
+ mp_float(static_cast<boost::int64_t>(494360799979761LL)),
+ mp_float(static_cast<boost::int64_t>(5752562036128128LL)),
+ mp_float(static_cast<boost::int64_t>(60881281549022688LL)),
+ mp_float(static_cast<boost::int64_t>(590080113475142976LL)),
+ mp_float(static_cast<boost::int64_t>(5268572441742348000LL)),
+ mp_float("43553532185070076800"),
+ mp_float("334817778672726215400"),
+ mp_float("2402809941063094016400"),
+ mp_float("16152222381590798665800"),
+ mp_float("102014036094257675784000"),
+ mp_float("606983514760833170914800"),
+ mp_float("3410669273418014960378400"),
+ mp_float("18138559317723079562012400"),
+ mp_float("91481429602429444747540800"),
+ mp_float("438348516844974422748633000"),
+ mp_float("1998869236813083367733766480"),
+ mp_float("8687393221533785405919831240"),
+ mp_float("36036594104140146869000781440"),
+ mp_float("142859355198555582230681669280"),
+ mp_float("541880312822107380874999435200"),
+ mp_float("1968831803253656817179164614560"),
+ mp_float("6859155959722417298559670270080"),
+ mp_float("22935302740321832842058897465580"),
+ mp_float("73670972438609523674492216101560"),
+ mp_float("227513297236882352524167137960700"),
+ mp_float("676039511789593276071810924226080"),
+ mp_float("1934224158731336317649903477646840"),
+ mp_float("5332185518664764983791625803242640"),
+ mp_float("14172387825924770088498794898092280"),
+ mp_float("36339455963909666893586653584852000"),
+ mp_float("89940153510676425561626967622508700"),
+ mp_float("214978903513324139147303483585508600"),
+ mp_float("496498896209343845173534235899865100"),
+ mp_float("1108462652002256026433936898753187200"),
+ mp_float("2393271635004870966164181940489836000"),
+ mp_float("4999278526454619351542957831245435200"),
+ mp_float("10107237020875643471597719093604901600"),
+ mp_float("19784378849373599986957237374715977600"),
+ mp_float("37507884901937449975273095856232374200"),
+ mp_float("68892033493354499954583237286957422000"),
+ mp_float("122627819618171009919158162370784211160"),
+ mp_float("211593100517628409272272907620176678080"),
+ mp_float("354011533558339838590148903133757134480"),
+ mp_float("574433809170136341863260484330247425760"),
+ mp_float("904201366286325723303280392001315392400"),
+ mp_float("1380962086691842922863191871420190781120"),
+ mp_float("2046783092775410046386516523712068479160"),
+ mp_float("2944494975571642522871830788498063426160"),
+ mp_float("4112139534850052488838246446005916164120"),
+ mp_float("5575782420135664391645079926787682934400"),
+ mp_float("7341446853178624782332688570270449196960"),
+ mp_float("9387423845048077590523765712804836678080"),
+ mp_float("11658574775301644749521450965902781035680"),
+ mp_float("14064312427348015888311591641406529503360"),
+ mp_float("16481616125798456119115146454773276761750"),
+ mp_float("18763686050909011581761859040818807390300"),
+ mp_float("20753773965399361294979025908784438477150"),
+ mp_float("22302563067294836018484923364663874184400"),
+ mp_float("23286499673204902313418081748399045104300"),
+ mp_float("23623985175715118288974865541854103729000"),
+ mp_float("23286499673204902313418081748399045104300"),
+ mp_float("22302563067294836018484923364663874184400"),
+ mp_float("20753773965399361294979025908784438477150"),
+ mp_float("18763686050909011581761859040818807390300"),
+ mp_float("16481616125798456119115146454773276761750"),
+ mp_float("14064312427348015888311591641406529503360"),
+ mp_float("11658574775301644749521450965902781035680"),
+ mp_float("9387423845048077590523765712804836678080"),
+ mp_float("7341446853178624782332688570270449196960"),
+ mp_float("5575782420135664391645079926787682934400"),
+ mp_float("4112139534850052488838246446005916164120"),
+ mp_float("2944494975571642522871830788498063426160"),
+ mp_float("2046783092775410046386516523712068479160"),
+ mp_float("1380962086691842922863191871420190781120"),
+ mp_float("904201366286325723303280392001315392400"),
+ mp_float("574433809170136341863260484330247425760"),
+ mp_float("354011533558339838590148903133757134480"),
+ mp_float("211593100517628409272272907620176678080"),
+ mp_float("122627819618171009919158162370784211160"),
+ mp_float("68892033493354499954583237286957422000"),
+ mp_float("37507884901937449975273095856232374200"),
+ mp_float("19784378849373599986957237374715977600"),
+ mp_float("10107237020875643471597719093604901600"),
+ mp_float("4999278526454619351542957831245435200"),
+ mp_float("2393271635004870966164181940489836000"),
+ mp_float("1108462652002256026433936898753187200"),
+ mp_float("496498896209343845173534235899865100"),
+ mp_float("214978903513324139147303483585508600"),
+ mp_float("89940153510676425561626967622508700"),
+ mp_float("36339455963909666893586653584852000"),
+ mp_float("14172387825924770088498794898092280"),
+ mp_float("5332185518664764983791625803242640"),
+ mp_float("1934224158731336317649903477646840"),
+ mp_float("676039511789593276071810924226080"),
+ mp_float("227513297236882352524167137960700"),
+ mp_float("73670972438609523674492216101560"),
+ mp_float("22935302740321832842058897465580"),
+ mp_float("6859155959722417298559670270080"),
+ mp_float("1968831803253656817179164614560"),
+ mp_float("541880312822107380874999435200"),
+ mp_float("142859355198555582230681669280"),
+ mp_float("36036594104140146869000781440"),
+ mp_float("8687393221533785405919831240"),
+ mp_float("1998869236813083367733766480"),
+ mp_float("438348516844974422748633000"),
+ mp_float("91481429602429444747540800"),
+ mp_float("18138559317723079562012400"),
+ mp_float("3410669273418014960378400"),
+ mp_float("606983514760833170914800"),
+ mp_float("102014036094257675784000"),
+ mp_float("16152222381590798665800"),
+ mp_float("2402809941063094016400"),
+ mp_float("334817778672726215400"),
+ mp_float("43553532185070076800"),
+ mp_float(static_cast<boost::int64_t>(5268572441742348000LL)),
+ mp_float(static_cast<boost::int64_t>(590080113475142976LL)),
+ mp_float(static_cast<boost::int64_t>(60881281549022688LL)),
+ mp_float(static_cast<boost::int64_t>(5752562036128128LL)),
+ mp_float(static_cast<boost::int64_t>(494360799979761LL)),
+ mp_float(static_cast<boost::int64_t>(38322542634090LL)),
+ mp_float(static_cast<boost::int64_t>(2653099105437LL)),
+ mp_float(static_cast<boost::int64_t>(162021319416LL)),
+ mp_float(static_cast<boost::int64_t>(8592039666LL)),
+ mp_float(static_cast<boost::int32_t>(387610812L)),
+ mp_float(static_cast<boost::int32_t>(14463090L)),
+ mp_float(static_cast<boost::int32_t>(428536L)),
+ mp_float(static_cast<boost::int32_t>(9453L)),
+ mp_float(static_cast<boost::int32_t>(138L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_138_vect(A007318_138_data.begin(), A007318_138_data.end());
+
+ return A007318_138_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_139(void)
+ {
+ static const boost::array<mp_float, 140u> A007318_139_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(139L)),
+ mp_float(static_cast<boost::int32_t>(9591L)),
+ mp_float(static_cast<boost::int32_t>(437989L)),
+ mp_float(static_cast<boost::int32_t>(14891626L)),
+ mp_float(static_cast<boost::int32_t>(402073902L)),
+ mp_float(static_cast<boost::int64_t>(8979650478LL)),
+ mp_float(static_cast<boost::int64_t>(170613359082LL)),
+ mp_float(static_cast<boost::int64_t>(2815120424853LL)),
+ mp_float(static_cast<boost::int64_t>(40975641739527LL)),
+ mp_float(static_cast<boost::int64_t>(532683342613851LL)),
+ mp_float(static_cast<boost::int64_t>(6246922836107889LL)),
+ mp_float(static_cast<boost::int64_t>(66633843585150816LL)),
+ mp_float(static_cast<boost::int64_t>(650961395024165664LL)),
+ mp_float(static_cast<boost::int64_t>(5858652555217490976LL)),
+ mp_float("48822104626812424800"),
+ mp_float("378371310857796292200"),
+ mp_float("2737627719735820231800"),
+ mp_float("18555032322653892682200"),
+ mp_float("118166258475848474449800"),
+ mp_float("708997550855090846698800"),
+ mp_float("4017652788178848131293200"),
+ mp_float("21549228591141094522390800"),
+ mp_float("109619988920152524309553200"),
+ mp_float("529829946447403867496173800"),
+ mp_float("2437217753658057790482399480"),
+ mp_float("10686262458346868773653597720"),
+ mp_float("44723987325673932274920612680"),
+ mp_float("178895949302695729099682450720"),
+ mp_float("684739668020662963105681104480"),
+ mp_float("2510712116075764198054164049760"),
+ mp_float("8827987762976074115738834884640"),
+ mp_float("29794458700044250140618567735660"),
+ mp_float("96606275178931356516551113567140"),
+ mp_float("301184269675491876198659354062260"),
+ mp_float("903552809026475628595978062186780"),
+ mp_float("2610263670520929593721714401872920"),
+ mp_float("7266409677396101301441529280889480"),
+ mp_float("19504573344589535072290420701334920"),
+ mp_float("50511843789834436982085448482944280"),
+ mp_float("126279609474586092455213621207360700"),
+ mp_float("304919057024000564708930451208017300"),
+ mp_float("711477799722667984320837719485373700"),
+ mp_float("1604961548211599871607471134653052300"),
+ mp_float("3501734287007126992598118839243023200"),
+ mp_float("7392550161459490317707139771735271200"),
+ mp_float("15106515547330262823140676924850336800"),
+ mp_float("29891615870249243458554956468320879200"),
+ mp_float("57292263751311049962230333230948351800"),
+ mp_float("106399918395291949929856333143189796200"),
+ mp_float("191519853111525509873741399657741633160"),
+ mp_float("334220920135799419191431069990960889240"),
+ mp_float("565604634075968247862421810753933812560"),
+ mp_float("928445342728476180453409387464004560240"),
+ mp_float("1478635175456462065166540876331562818160"),
+ mp_float("2285163452978168646166472263421506173520"),
+ mp_float("3427745179467252969249708395132259260280"),
+ mp_float("4991278068347052569258347312210131905320"),
+ mp_float("7056634510421695011710077234503979590280"),
+ mp_float("9687921954985716880483326372793599098520"),
+ mp_float("12917229273314289173977768497058132131360"),
+ mp_float("16728870698226702372856454283075285875040"),
+ mp_float("21045998620349722340045216678707617713760"),
+ mp_float("25722887202649660637833042607309310539040"),
+ mp_float("30545928553146472007426738096179806265110"),
+ mp_float("35245302176707467700877005495592084152050"),
+ mp_float("39517460016308372876740884949603245867450"),
+ mp_float("43056337032694197313463949273448312661550"),
+ mp_float("45589062740499738331903005113062919288700"),
+ mp_float("46910484848920020602392947290253148833300"),
+ mp_float("46910484848920020602392947290253148833300"),
+ mp_float("45589062740499738331903005113062919288700"),
+ mp_float("43056337032694197313463949273448312661550"),
+ mp_float("39517460016308372876740884949603245867450"),
+ mp_float("35245302176707467700877005495592084152050"),
+ mp_float("30545928553146472007426738096179806265110"),
+ mp_float("25722887202649660637833042607309310539040"),
+ mp_float("21045998620349722340045216678707617713760"),
+ mp_float("16728870698226702372856454283075285875040"),
+ mp_float("12917229273314289173977768497058132131360"),
+ mp_float("9687921954985716880483326372793599098520"),
+ mp_float("7056634510421695011710077234503979590280"),
+ mp_float("4991278068347052569258347312210131905320"),
+ mp_float("3427745179467252969249708395132259260280"),
+ mp_float("2285163452978168646166472263421506173520"),
+ mp_float("1478635175456462065166540876331562818160"),
+ mp_float("928445342728476180453409387464004560240"),
+ mp_float("565604634075968247862421810753933812560"),
+ mp_float("334220920135799419191431069990960889240"),
+ mp_float("191519853111525509873741399657741633160"),
+ mp_float("106399918395291949929856333143189796200"),
+ mp_float("57292263751311049962230333230948351800"),
+ mp_float("29891615870249243458554956468320879200"),
+ mp_float("15106515547330262823140676924850336800"),
+ mp_float("7392550161459490317707139771735271200"),
+ mp_float("3501734287007126992598118839243023200"),
+ mp_float("1604961548211599871607471134653052300"),
+ mp_float("711477799722667984320837719485373700"),
+ mp_float("304919057024000564708930451208017300"),
+ mp_float("126279609474586092455213621207360700"),
+ mp_float("50511843789834436982085448482944280"),
+ mp_float("19504573344589535072290420701334920"),
+ mp_float("7266409677396101301441529280889480"),
+ mp_float("2610263670520929593721714401872920"),
+ mp_float("903552809026475628595978062186780"),
+ mp_float("301184269675491876198659354062260"),
+ mp_float("96606275178931356516551113567140"),
+ mp_float("29794458700044250140618567735660"),
+ mp_float("8827987762976074115738834884640"),
+ mp_float("2510712116075764198054164049760"),
+ mp_float("684739668020662963105681104480"),
+ mp_float("178895949302695729099682450720"),
+ mp_float("44723987325673932274920612680"),
+ mp_float("10686262458346868773653597720"),
+ mp_float("2437217753658057790482399480"),
+ mp_float("529829946447403867496173800"),
+ mp_float("109619988920152524309553200"),
+ mp_float("21549228591141094522390800"),
+ mp_float("4017652788178848131293200"),
+ mp_float("708997550855090846698800"),
+ mp_float("118166258475848474449800"),
+ mp_float("18555032322653892682200"),
+ mp_float("2737627719735820231800"),
+ mp_float("378371310857796292200"),
+ mp_float("48822104626812424800"),
+ mp_float(static_cast<boost::int64_t>(5858652555217490976LL)),
+ mp_float(static_cast<boost::int64_t>(650961395024165664LL)),
+ mp_float(static_cast<boost::int64_t>(66633843585150816LL)),
+ mp_float(static_cast<boost::int64_t>(6246922836107889LL)),
+ mp_float(static_cast<boost::int64_t>(532683342613851LL)),
+ mp_float(static_cast<boost::int64_t>(40975641739527LL)),
+ mp_float(static_cast<boost::int64_t>(2815120424853LL)),
+ mp_float(static_cast<boost::int64_t>(170613359082LL)),
+ mp_float(static_cast<boost::int64_t>(8979650478LL)),
+ mp_float(static_cast<boost::int32_t>(402073902L)),
+ mp_float(static_cast<boost::int32_t>(14891626L)),
+ mp_float(static_cast<boost::int32_t>(437989L)),
+ mp_float(static_cast<boost::int32_t>(9591L)),
+ mp_float(static_cast<boost::int32_t>(139L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_139_vect(A007318_139_data.begin(), A007318_139_data.end());
+
+ return A007318_139_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_140(void)
+ {
+ static const boost::array<mp_float, 141u> A007318_140_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(140L)),
+ mp_float(static_cast<boost::int32_t>(9730L)),
+ mp_float(static_cast<boost::int32_t>(447580L)),
+ mp_float(static_cast<boost::int32_t>(15329615L)),
+ mp_float(static_cast<boost::int32_t>(416965528L)),
+ mp_float(static_cast<boost::int64_t>(9381724380LL)),
+ mp_float(static_cast<boost::int64_t>(179593009560LL)),
+ mp_float(static_cast<boost::int64_t>(2985733783935LL)),
+ mp_float(static_cast<boost::int64_t>(43790762164380LL)),
+ mp_float(static_cast<boost::int64_t>(573658984353378LL)),
+ mp_float(static_cast<boost::int64_t>(6779606178721740LL)),
+ mp_float(static_cast<boost::int64_t>(72880766421258705LL)),
+ mp_float(static_cast<boost::int64_t>(717595238609316480LL)),
+ mp_float(static_cast<boost::int64_t>(6509613950241656640LL)),
+ mp_float("54680757182029915776"),
+ mp_float("427193415484608717000"),
+ mp_float("3115999030593616524000"),
+ mp_float("21292660042389712914000"),
+ mp_float("136721290798502367132000"),
+ mp_float("827163809330939321148600"),
+ mp_float("4726650339033938977992000"),
+ mp_float("25566881379319942653684000"),
+ mp_float("131169217511293618831944000"),
+ mp_float("639449935367556391805727000"),
+ mp_float("2967047700105461657978573280"),
+ mp_float("13123480212004926564135997200"),
+ mp_float("55410249784020801048574210400"),
+ mp_float("223619936628369661374603063400"),
+ mp_float("863635617323358692205363555200"),
+ mp_float("3195451784096427161159845154240"),
+ mp_float("11338699879051838313792998934400"),
+ mp_float("38622446463020324256357402620300"),
+ mp_float("126400733878975606657169681302800"),
+ mp_float("397790544854423232715210467629400"),
+ mp_float("1204737078701967504794637416249040"),
+ mp_float("3513816479547405222317692464059700"),
+ mp_float("9876673347917030895163243682762400"),
+ mp_float("26770983021985636373731949982224400"),
+ mp_float("70016417134423972054375869184279200"),
+ mp_float("176791453264420529437299069690304980"),
+ mp_float("431198666498586657164144072415378000"),
+ mp_float("1016396856746668549029768170693391000"),
+ mp_float("2316439347934267855928308854138426000"),
+ mp_float("5106695835218726864205589973896075500"),
+ mp_float("10894284448466617310305258610978294400"),
+ mp_float("22499065708789753140847816696585608000"),
+ mp_float("44998131417579506281695633393171216000"),
+ mp_float("87183879621560293420785289699269231000"),
+ mp_float("163692182146602999892086666374138148000"),
+ mp_float("297919771506817459803597732800931429360"),
+ mp_float("525740773247324929065172469648702522400"),
+ mp_float("899825554211767667053852880744894701800"),
+ mp_float("1494049976804444428315831198217938372800"),
+ mp_float("2407080518184938245619950263795567378400"),
+ mp_float("3763798628434630711333013139753068991680"),
+ mp_float("5712908632445421615416180658553765433800"),
+ mp_float("8419023247814305538508055707342391165600"),
+ mp_float("12047912578768747580968424546714111495600"),
+ mp_float("16744556465407411892193403607297578688800"),
+ mp_float("22605151228300006054461094869851731229880"),
+ mp_float("29646099971540991546834222780133418006400"),
+ mp_float("37774869318576424712901670961782903588800"),
+ mp_float("46768885822999382977878259286016928252800"),
+ mp_float("56268815755796132645259780703489116804150"),
+ mp_float("65791230729853939708303743591771890417160"),
+ mp_float("74762762193015840577617890445195330019500"),
+ mp_float("82573797049002570190204834223051558529000"),
+ mp_float("88645399773193935645366954386511231950250"),
+ mp_float("92499547589419758934295952403316068122000"),
+ mp_float("93820969697840041204785894580506297666600"),
+ mp_float("92499547589419758934295952403316068122000"),
+ mp_float("88645399773193935645366954386511231950250"),
+ mp_float("82573797049002570190204834223051558529000"),
+ mp_float("74762762193015840577617890445195330019500"),
+ mp_float("65791230729853939708303743591771890417160"),
+ mp_float("56268815755796132645259780703489116804150"),
+ mp_float("46768885822999382977878259286016928252800"),
+ mp_float("37774869318576424712901670961782903588800"),
+ mp_float("29646099971540991546834222780133418006400"),
+ mp_float("22605151228300006054461094869851731229880"),
+ mp_float("16744556465407411892193403607297578688800"),
+ mp_float("12047912578768747580968424546714111495600"),
+ mp_float("8419023247814305538508055707342391165600"),
+ mp_float("5712908632445421615416180658553765433800"),
+ mp_float("3763798628434630711333013139753068991680"),
+ mp_float("2407080518184938245619950263795567378400"),
+ mp_float("1494049976804444428315831198217938372800"),
+ mp_float("899825554211767667053852880744894701800"),
+ mp_float("525740773247324929065172469648702522400"),
+ mp_float("297919771506817459803597732800931429360"),
+ mp_float("163692182146602999892086666374138148000"),
+ mp_float("87183879621560293420785289699269231000"),
+ mp_float("44998131417579506281695633393171216000"),
+ mp_float("22499065708789753140847816696585608000"),
+ mp_float("10894284448466617310305258610978294400"),
+ mp_float("5106695835218726864205589973896075500"),
+ mp_float("2316439347934267855928308854138426000"),
+ mp_float("1016396856746668549029768170693391000"),
+ mp_float("431198666498586657164144072415378000"),
+ mp_float("176791453264420529437299069690304980"),
+ mp_float("70016417134423972054375869184279200"),
+ mp_float("26770983021985636373731949982224400"),
+ mp_float("9876673347917030895163243682762400"),
+ mp_float("3513816479547405222317692464059700"),
+ mp_float("1204737078701967504794637416249040"),
+ mp_float("397790544854423232715210467629400"),
+ mp_float("126400733878975606657169681302800"),
+ mp_float("38622446463020324256357402620300"),
+ mp_float("11338699879051838313792998934400"),
+ mp_float("3195451784096427161159845154240"),
+ mp_float("863635617323358692205363555200"),
+ mp_float("223619936628369661374603063400"),
+ mp_float("55410249784020801048574210400"),
+ mp_float("13123480212004926564135997200"),
+ mp_float("2967047700105461657978573280"),
+ mp_float("639449935367556391805727000"),
+ mp_float("131169217511293618831944000"),
+ mp_float("25566881379319942653684000"),
+ mp_float("4726650339033938977992000"),
+ mp_float("827163809330939321148600"),
+ mp_float("136721290798502367132000"),
+ mp_float("21292660042389712914000"),
+ mp_float("3115999030593616524000"),
+ mp_float("427193415484608717000"),
+ mp_float("54680757182029915776"),
+ mp_float(static_cast<boost::int64_t>(6509613950241656640LL)),
+ mp_float(static_cast<boost::int64_t>(717595238609316480LL)),
+ mp_float(static_cast<boost::int64_t>(72880766421258705LL)),
+ mp_float(static_cast<boost::int64_t>(6779606178721740LL)),
+ mp_float(static_cast<boost::int64_t>(573658984353378LL)),
+ mp_float(static_cast<boost::int64_t>(43790762164380LL)),
+ mp_float(static_cast<boost::int64_t>(2985733783935LL)),
+ mp_float(static_cast<boost::int64_t>(179593009560LL)),
+ mp_float(static_cast<boost::int64_t>(9381724380LL)),
+ mp_float(static_cast<boost::int32_t>(416965528L)),
+ mp_float(static_cast<boost::int32_t>(15329615L)),
+ mp_float(static_cast<boost::int32_t>(447580L)),
+ mp_float(static_cast<boost::int32_t>(9730L)),
+ mp_float(static_cast<boost::int32_t>(140L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_140_vect(A007318_140_data.begin(), A007318_140_data.end());
+
+ return A007318_140_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_141(void)
+ {
+ static const boost::array<mp_float, 142u> A007318_141_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(141L)),
+ mp_float(static_cast<boost::int32_t>(9870L)),
+ mp_float(static_cast<boost::int32_t>(457310L)),
+ mp_float(static_cast<boost::int32_t>(15777195L)),
+ mp_float(static_cast<boost::int32_t>(432295143L)),
+ mp_float(static_cast<boost::int64_t>(9798689908LL)),
+ mp_float(static_cast<boost::int64_t>(188974733940LL)),
+ mp_float(static_cast<boost::int64_t>(3165326793495LL)),
+ mp_float(static_cast<boost::int64_t>(46776495948315LL)),
+ mp_float(static_cast<boost::int64_t>(617449746517758LL)),
+ mp_float(static_cast<boost::int64_t>(7353265163075118LL)),
+ mp_float(static_cast<boost::int64_t>(79660372599980445LL)),
+ mp_float(static_cast<boost::int64_t>(790476005030575185LL)),
+ mp_float(static_cast<boost::int64_t>(7227209188850973120LL)),
+ mp_float("61190371132271572416"),
+ mp_float("481874172666638632776"),
+ mp_float("3543192446078225241000"),
+ mp_float("24408659072983329438000"),
+ mp_float("158013950840892080046000"),
+ mp_float("963885100129441688280600"),
+ mp_float("5553814148364878299140600"),
+ mp_float("30293531718353881631676000"),
+ mp_float("156736098890613561485628000"),
+ mp_float("770619152878850010637671000"),
+ mp_float("3606497635473018049784300280"),
+ mp_float("16090527912110388222114570480"),
+ mp_float("68533729996025727612710207600"),
+ mp_float("279030186412390462423177273800"),
+ mp_float("1087255553951728353579966618600"),
+ mp_float("4059087401419785853365208709440"),
+ mp_float("14534151663148265474952844088640"),
+ mp_float("49961146342072162570150401554700"),
+ mp_float("165023180341995930913527083923100"),
+ mp_float("524191278733398839372380148932200"),
+ mp_float("1602527623556390737509847883878440"),
+ mp_float("4718553558249372727112329880308740"),
+ mp_float("13390489827464436117480936146822100"),
+ mp_float("36647656369902667268895193664986800"),
+ mp_float("96787400156409608428107819166503600"),
+ mp_float("246807870398844501491674938874584180"),
+ mp_float("607990119763007186601443142105682980"),
+ mp_float("1447595523245255206193912243108769000"),
+ mp_float("3332836204680936404958077024831817000"),
+ mp_float("7423135183152994720133898828034501500"),
+ mp_float("16000980283685344174510848584874369900"),
+ mp_float("33393350157256370451153075307563902400"),
+ mp_float("67497197126369259422543450089756824000"),
+ mp_float("132182011039139799702480923092440447000"),
+ mp_float("250876061768163293312871956073407379000"),
+ mp_float("461611953653420459695684399175069577360"),
+ mp_float("823660544754142388868770202449633951760"),
+ mp_float("1425566327459092596119025350393597224200"),
+ mp_float("2393875531016212095369684078962833074600"),
+ mp_float("3901130494989382673935781462013505751200"),
+ mp_float("6170879146619568956952963403548636370080"),
+ mp_float("9476707260880052326749193798306834425480"),
+ mp_float("14131931880259727153924236365896156599400"),
+ mp_float("20466935826583053119476480254056502661200"),
+ mp_float("28792469044176159473161828154011690184400"),
+ mp_float("39349707693707417946654498477149309918680"),
+ mp_float("52251251199840997601295317649985149236280"),
+ mp_float("67420969290117416259735893741916321595200"),
+ mp_float("84543755141575807690779930247799831841600"),
+ mp_float("103037701578795515623138039989506045056950"),
+ mp_float("122060046485650072353563524295261007221310"),
+ mp_float("140553992922869780285921634036967220436660"),
+ mp_float("157336559242018410767822724668246888548500"),
+ mp_float("171219196822196505835571788609562790479250"),
+ mp_float("181144947362613694579662906789827300072250"),
+ mp_float("186320517287259800139081846983822365788600"),
+ mp_float("186320517287259800139081846983822365788600"),
+ mp_float("181144947362613694579662906789827300072250"),
+ mp_float("171219196822196505835571788609562790479250"),
+ mp_float("157336559242018410767822724668246888548500"),
+ mp_float("140553992922869780285921634036967220436660"),
+ mp_float("122060046485650072353563524295261007221310"),
+ mp_float("103037701578795515623138039989506045056950"),
+ mp_float("84543755141575807690779930247799831841600"),
+ mp_float("67420969290117416259735893741916321595200"),
+ mp_float("52251251199840997601295317649985149236280"),
+ mp_float("39349707693707417946654498477149309918680"),
+ mp_float("28792469044176159473161828154011690184400"),
+ mp_float("20466935826583053119476480254056502661200"),
+ mp_float("14131931880259727153924236365896156599400"),
+ mp_float("9476707260880052326749193798306834425480"),
+ mp_float("6170879146619568956952963403548636370080"),
+ mp_float("3901130494989382673935781462013505751200"),
+ mp_float("2393875531016212095369684078962833074600"),
+ mp_float("1425566327459092596119025350393597224200"),
+ mp_float("823660544754142388868770202449633951760"),
+ mp_float("461611953653420459695684399175069577360"),
+ mp_float("250876061768163293312871956073407379000"),
+ mp_float("132182011039139799702480923092440447000"),
+ mp_float("67497197126369259422543450089756824000"),
+ mp_float("33393350157256370451153075307563902400"),
+ mp_float("16000980283685344174510848584874369900"),
+ mp_float("7423135183152994720133898828034501500"),
+ mp_float("3332836204680936404958077024831817000"),
+ mp_float("1447595523245255206193912243108769000"),
+ mp_float("607990119763007186601443142105682980"),
+ mp_float("246807870398844501491674938874584180"),
+ mp_float("96787400156409608428107819166503600"),
+ mp_float("36647656369902667268895193664986800"),
+ mp_float("13390489827464436117480936146822100"),
+ mp_float("4718553558249372727112329880308740"),
+ mp_float("1602527623556390737509847883878440"),
+ mp_float("524191278733398839372380148932200"),
+ mp_float("165023180341995930913527083923100"),
+ mp_float("49961146342072162570150401554700"),
+ mp_float("14534151663148265474952844088640"),
+ mp_float("4059087401419785853365208709440"),
+ mp_float("1087255553951728353579966618600"),
+ mp_float("279030186412390462423177273800"),
+ mp_float("68533729996025727612710207600"),
+ mp_float("16090527912110388222114570480"),
+ mp_float("3606497635473018049784300280"),
+ mp_float("770619152878850010637671000"),
+ mp_float("156736098890613561485628000"),
+ mp_float("30293531718353881631676000"),
+ mp_float("5553814148364878299140600"),
+ mp_float("963885100129441688280600"),
+ mp_float("158013950840892080046000"),
+ mp_float("24408659072983329438000"),
+ mp_float("3543192446078225241000"),
+ mp_float("481874172666638632776"),
+ mp_float("61190371132271572416"),
+ mp_float(static_cast<boost::int64_t>(7227209188850973120LL)),
+ mp_float(static_cast<boost::int64_t>(790476005030575185LL)),
+ mp_float(static_cast<boost::int64_t>(79660372599980445LL)),
+ mp_float(static_cast<boost::int64_t>(7353265163075118LL)),
+ mp_float(static_cast<boost::int64_t>(617449746517758LL)),
+ mp_float(static_cast<boost::int64_t>(46776495948315LL)),
+ mp_float(static_cast<boost::int64_t>(3165326793495LL)),
+ mp_float(static_cast<boost::int64_t>(188974733940LL)),
+ mp_float(static_cast<boost::int64_t>(9798689908LL)),
+ mp_float(static_cast<boost::int32_t>(432295143L)),
+ mp_float(static_cast<boost::int32_t>(15777195L)),
+ mp_float(static_cast<boost::int32_t>(457310L)),
+ mp_float(static_cast<boost::int32_t>(9870L)),
+ mp_float(static_cast<boost::int32_t>(141L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_141_vect(A007318_141_data.begin(), A007318_141_data.end());
+
+ return A007318_141_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_142(void)
+ {
+ static const boost::array<mp_float, 143u> A007318_142_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(142L)),
+ mp_float(static_cast<boost::int32_t>(10011L)),
+ mp_float(static_cast<boost::int32_t>(467180L)),
+ mp_float(static_cast<boost::int32_t>(16234505L)),
+ mp_float(static_cast<boost::int32_t>(448072338L)),
+ mp_float(static_cast<boost::int64_t>(10230985051LL)),
+ mp_float(static_cast<boost::int64_t>(198773423848LL)),
+ mp_float(static_cast<boost::int64_t>(3354301527435LL)),
+ mp_float(static_cast<boost::int64_t>(49941822741810LL)),
+ mp_float(static_cast<boost::int64_t>(664226242466073LL)),
+ mp_float(static_cast<boost::int64_t>(7970714909592876LL)),
+ mp_float(static_cast<boost::int64_t>(87013637763055563LL)),
+ mp_float(static_cast<boost::int64_t>(870136377630555630LL)),
+ mp_float(static_cast<boost::int64_t>(8017685193881548305LL)),
+ mp_float("68417580321122545536"),
+ mp_float("543064543798910205192"),
+ mp_float("4025066618744863873776"),
+ mp_float("27951851519061554679000"),
+ mp_float("182422609913875409484000"),
+ mp_float("1121899050970333768326600"),
+ mp_float("6517699248494319987421200"),
+ mp_float("35847345866718759930816600"),
+ mp_float("187029630608967443117304000"),
+ mp_float("927355251769463572123299000"),
+ mp_float("4377116788351868060421971280"),
+ mp_float("19697025547583406271898870760"),
+ mp_float("84624257908136115834824778080"),
+ mp_float("347563916408416190035887481400"),
+ mp_float("1366285740364118816003143892400"),
+ mp_float("5146342955371514206945175328040"),
+ mp_float("18593239064568051328318052798080"),
+ mp_float("64495298005220428045103245643340"),
+ mp_float("214984326684068093483677485477800"),
+ mp_float("689214459075394770285907232855300"),
+ mp_float("2126718902289789576882228032810640"),
+ mp_float("6321081181805763464622177764187180"),
+ mp_float("18109043385713808844593266027130840"),
+ mp_float("50038146197367103386376129811808900"),
+ mp_float("133435056526312275697003012831490400"),
+ mp_float("343595270555254109919782758041087780"),
+ mp_float("854797990161851688093118080980267160"),
+ mp_float("2055585643008262392795355385214451980"),
+ mp_float("4780431727926191611151989267940586000"),
+ mp_float("10755971387833931125091975852866318500"),
+ mp_float("23424115466838338894644747412908871400"),
+ mp_float("49394330440941714625663923892438272300"),
+ mp_float("100890547283625629873696525397320726400"),
+ mp_float("199679208165509059125024373182197271000"),
+ mp_float("383058072807303093015352879165847826000"),
+ mp_float("712488015421583753008556355248476956360"),
+ mp_float("1285272498407562848564454601624703529120"),
+ mp_float("2249226872213234984987795552843231175960"),
+ mp_float("3819441858475304691488709429356430298800"),
+ mp_float("6295006026005594769305465540976338825800"),
+ mp_float("10072009641608951630888744865562142121280"),
+ mp_float("15647586407499621283702157201855470795560"),
+ mp_float("23608639141139779480673430164202991024880"),
+ mp_float("34598867706842780273400716619952659260600"),
+ mp_float("49259404870759212592638308408068192845600"),
+ mp_float("68142176737883577419816326631161000103080"),
+ mp_float("91600958893548415547949816127134459154960"),
+ mp_float("119672220489958413861031211391901470831480"),
+ mp_float("151964724431693223950515823989716153436800"),
+ mp_float("187581456720371323313917970237305876898550"),
+ mp_float("225097748064445587976701564284767052278260"),
+ mp_float("262614039408519852639485158332228227657970"),
+ mp_float("297890552164888191053744358705214108985160"),
+ mp_float("328555756064214916603394513277809679027750"),
+ mp_float("352364144184810200415234695399390090551500"),
+ mp_float("367465464649873494718744753773649665860850"),
+ mp_float("372641034574519600278163693967644731577200"),
+ mp_float("367465464649873494718744753773649665860850"),
+ mp_float("352364144184810200415234695399390090551500"),
+ mp_float("328555756064214916603394513277809679027750"),
+ mp_float("297890552164888191053744358705214108985160"),
+ mp_float("262614039408519852639485158332228227657970"),
+ mp_float("225097748064445587976701564284767052278260"),
+ mp_float("187581456720371323313917970237305876898550"),
+ mp_float("151964724431693223950515823989716153436800"),
+ mp_float("119672220489958413861031211391901470831480"),
+ mp_float("91600958893548415547949816127134459154960"),
+ mp_float("68142176737883577419816326631161000103080"),
+ mp_float("49259404870759212592638308408068192845600"),
+ mp_float("34598867706842780273400716619952659260600"),
+ mp_float("23608639141139779480673430164202991024880"),
+ mp_float("15647586407499621283702157201855470795560"),
+ mp_float("10072009641608951630888744865562142121280"),
+ mp_float("6295006026005594769305465540976338825800"),
+ mp_float("3819441858475304691488709429356430298800"),
+ mp_float("2249226872213234984987795552843231175960"),
+ mp_float("1285272498407562848564454601624703529120"),
+ mp_float("712488015421583753008556355248476956360"),
+ mp_float("383058072807303093015352879165847826000"),
+ mp_float("199679208165509059125024373182197271000"),
+ mp_float("100890547283625629873696525397320726400"),
+ mp_float("49394330440941714625663923892438272300"),
+ mp_float("23424115466838338894644747412908871400"),
+ mp_float("10755971387833931125091975852866318500"),
+ mp_float("4780431727926191611151989267940586000"),
+ mp_float("2055585643008262392795355385214451980"),
+ mp_float("854797990161851688093118080980267160"),
+ mp_float("343595270555254109919782758041087780"),
+ mp_float("133435056526312275697003012831490400"),
+ mp_float("50038146197367103386376129811808900"),
+ mp_float("18109043385713808844593266027130840"),
+ mp_float("6321081181805763464622177764187180"),
+ mp_float("2126718902289789576882228032810640"),
+ mp_float("689214459075394770285907232855300"),
+ mp_float("214984326684068093483677485477800"),
+ mp_float("64495298005220428045103245643340"),
+ mp_float("18593239064568051328318052798080"),
+ mp_float("5146342955371514206945175328040"),
+ mp_float("1366285740364118816003143892400"),
+ mp_float("347563916408416190035887481400"),
+ mp_float("84624257908136115834824778080"),
+ mp_float("19697025547583406271898870760"),
+ mp_float("4377116788351868060421971280"),
+ mp_float("927355251769463572123299000"),
+ mp_float("187029630608967443117304000"),
+ mp_float("35847345866718759930816600"),
+ mp_float("6517699248494319987421200"),
+ mp_float("1121899050970333768326600"),
+ mp_float("182422609913875409484000"),
+ mp_float("27951851519061554679000"),
+ mp_float("4025066618744863873776"),
+ mp_float("543064543798910205192"),
+ mp_float("68417580321122545536"),
+ mp_float(static_cast<boost::int64_t>(8017685193881548305LL)),
+ mp_float(static_cast<boost::int64_t>(870136377630555630LL)),
+ mp_float(static_cast<boost::int64_t>(87013637763055563LL)),
+ mp_float(static_cast<boost::int64_t>(7970714909592876LL)),
+ mp_float(static_cast<boost::int64_t>(664226242466073LL)),
+ mp_float(static_cast<boost::int64_t>(49941822741810LL)),
+ mp_float(static_cast<boost::int64_t>(3354301527435LL)),
+ mp_float(static_cast<boost::int64_t>(198773423848LL)),
+ mp_float(static_cast<boost::int64_t>(10230985051LL)),
+ mp_float(static_cast<boost::int32_t>(448072338L)),
+ mp_float(static_cast<boost::int32_t>(16234505L)),
+ mp_float(static_cast<boost::int32_t>(467180L)),
+ mp_float(static_cast<boost::int32_t>(10011L)),
+ mp_float(static_cast<boost::int32_t>(142L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_142_vect(A007318_142_data.begin(), A007318_142_data.end());
+
+ return A007318_142_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_143(void)
+ {
+ static const boost::array<mp_float, 144u> A007318_143_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(143L)),
+ mp_float(static_cast<boost::int32_t>(10153L)),
+ mp_float(static_cast<boost::int32_t>(477191L)),
+ mp_float(static_cast<boost::int32_t>(16701685L)),
+ mp_float(static_cast<boost::int32_t>(464306843L)),
+ mp_float(static_cast<boost::int64_t>(10679057389LL)),
+ mp_float(static_cast<boost::int64_t>(209004408899LL)),
+ mp_float(static_cast<boost::int64_t>(3553074951283LL)),
+ mp_float(static_cast<boost::int64_t>(53296124269245LL)),
+ mp_float(static_cast<boost::int64_t>(714168065207883LL)),
+ mp_float(static_cast<boost::int64_t>(8634941152058949LL)),
+ mp_float(static_cast<boost::int64_t>(94984352672648439LL)),
+ mp_float(static_cast<boost::int64_t>(957150015393611193LL)),
+ mp_float(static_cast<boost::int64_t>(8887821571512103935LL)),
+ mp_float("76435265515004093841"),
+ mp_float("611482124120032750728"),
+ mp_float("4568131162543774078968"),
+ mp_float("31976918137806418552776"),
+ mp_float("210374461432936964163000"),
+ mp_float("1304321660884209177810600"),
+ mp_float("7639598299464653755747800"),
+ mp_float("42365045115213079918237800"),
+ mp_float("222876976475686203048120600"),
+ mp_float("1114384882378431015240603000"),
+ mp_float("5304472040121331632545270280"),
+ mp_float("24074142335935274332320842040"),
+ mp_float("104321283455719522106723648840"),
+ mp_float("432188174316552305870712259480"),
+ mp_float("1713849656772535006039031373800"),
+ mp_float("6512628695735633022948319220440"),
+ mp_float("23739582019939565535263228126120"),
+ mp_float("83088537069788479373421298441420"),
+ mp_float("279479624689288521528780731121140"),
+ mp_float("904198785759462863769584718333100"),
+ mp_float("2815933361365184347168135265665940"),
+ mp_float("8447800084095553041504405796997820"),
+ mp_float("24430124567519572309215443791318020"),
+ mp_float("68147189583080912230969395838939740"),
+ mp_float("183473202723679379083379142643299300"),
+ mp_float("477030327081566385616785770872578180"),
+ mp_float("1198393260717105798012900839021354940"),
+ mp_float("2910383633170114080888473466194719140"),
+ mp_float("6836017370934454003947344653155037980"),
+ mp_float("15536403115760122736243965120806904500"),
+ mp_float("34180086854672270019736723265775189900"),
+ mp_float("72818445907780053520308671305347143700"),
+ mp_float("150284877724567344499360449289758998700"),
+ mp_float("300569755449134688998720898579517997400"),
+ mp_float("582737280972812152140377252348045097000"),
+ mp_float("1095546088228886846023909234414324782360"),
+ mp_float("1997760513829146601573010956873180485480"),
+ mp_float("3534499370620797833552250154467934705080"),
+ mp_float("6068668730688539676476504982199661474760"),
+ mp_float("10114447884480899460794174970332769124600"),
+ mp_float("16367015667614546400194210406538480947080"),
+ mp_float("25719596049108572914590902067417612916840"),
+ mp_float("39256225548639400764375587366058461820440"),
+ mp_float("58207506847982559754074146784155650285480"),
+ mp_float("83858272577601992866039025028020852106200"),
+ mp_float("117401581608642790012454635039229192948680"),
+ mp_float("159743135631431992967766142758295459258040"),
+ mp_float("211273179383506829408981027519035929986440"),
+ mp_float("271636944921651637811547035381617624268280"),
+ mp_float("339546181152064547264433794227022030335350"),
+ mp_float("412679204784816911290619534522072929176810"),
+ mp_float("487711787472965440616186722616995279936230"),
+ mp_float("560504591573408043693229517037442336643130"),
+ mp_float("626446308229103107657138871983023788012910"),
+ mp_float("680919900249025117018629208677199769579250"),
+ mp_float("719829608834683695133979449173039756412350"),
+ mp_float("740106499224393094996908447741294397438050"),
+ mp_float("740106499224393094996908447741294397438050"),
+ mp_float("719829608834683695133979449173039756412350"),
+ mp_float("680919900249025117018629208677199769579250"),
+ mp_float("626446308229103107657138871983023788012910"),
+ mp_float("560504591573408043693229517037442336643130"),
+ mp_float("487711787472965440616186722616995279936230"),
+ mp_float("412679204784816911290619534522072929176810"),
+ mp_float("339546181152064547264433794227022030335350"),
+ mp_float("271636944921651637811547035381617624268280"),
+ mp_float("211273179383506829408981027519035929986440"),
+ mp_float("159743135631431992967766142758295459258040"),
+ mp_float("117401581608642790012454635039229192948680"),
+ mp_float("83858272577601992866039025028020852106200"),
+ mp_float("58207506847982559754074146784155650285480"),
+ mp_float("39256225548639400764375587366058461820440"),
+ mp_float("25719596049108572914590902067417612916840"),
+ mp_float("16367015667614546400194210406538480947080"),
+ mp_float("10114447884480899460794174970332769124600"),
+ mp_float("6068668730688539676476504982199661474760"),
+ mp_float("3534499370620797833552250154467934705080"),
+ mp_float("1997760513829146601573010956873180485480"),
+ mp_float("1095546088228886846023909234414324782360"),
+ mp_float("582737280972812152140377252348045097000"),
+ mp_float("300569755449134688998720898579517997400"),
+ mp_float("150284877724567344499360449289758998700"),
+ mp_float("72818445907780053520308671305347143700"),
+ mp_float("34180086854672270019736723265775189900"),
+ mp_float("15536403115760122736243965120806904500"),
+ mp_float("6836017370934454003947344653155037980"),
+ mp_float("2910383633170114080888473466194719140"),
+ mp_float("1198393260717105798012900839021354940"),
+ mp_float("477030327081566385616785770872578180"),
+ mp_float("183473202723679379083379142643299300"),
+ mp_float("68147189583080912230969395838939740"),
+ mp_float("24430124567519572309215443791318020"),
+ mp_float("8447800084095553041504405796997820"),
+ mp_float("2815933361365184347168135265665940"),
+ mp_float("904198785759462863769584718333100"),
+ mp_float("279479624689288521528780731121140"),
+ mp_float("83088537069788479373421298441420"),
+ mp_float("23739582019939565535263228126120"),
+ mp_float("6512628695735633022948319220440"),
+ mp_float("1713849656772535006039031373800"),
+ mp_float("432188174316552305870712259480"),
+ mp_float("104321283455719522106723648840"),
+ mp_float("24074142335935274332320842040"),
+ mp_float("5304472040121331632545270280"),
+ mp_float("1114384882378431015240603000"),
+ mp_float("222876976475686203048120600"),
+ mp_float("42365045115213079918237800"),
+ mp_float("7639598299464653755747800"),
+ mp_float("1304321660884209177810600"),
+ mp_float("210374461432936964163000"),
+ mp_float("31976918137806418552776"),
+ mp_float("4568131162543774078968"),
+ mp_float("611482124120032750728"),
+ mp_float("76435265515004093841"),
+ mp_float(static_cast<boost::int64_t>(8887821571512103935LL)),
+ mp_float(static_cast<boost::int64_t>(957150015393611193LL)),
+ mp_float(static_cast<boost::int64_t>(94984352672648439LL)),
+ mp_float(static_cast<boost::int64_t>(8634941152058949LL)),
+ mp_float(static_cast<boost::int64_t>(714168065207883LL)),
+ mp_float(static_cast<boost::int64_t>(53296124269245LL)),
+ mp_float(static_cast<boost::int64_t>(3553074951283LL)),
+ mp_float(static_cast<boost::int64_t>(209004408899LL)),
+ mp_float(static_cast<boost::int64_t>(10679057389LL)),
+ mp_float(static_cast<boost::int32_t>(464306843L)),
+ mp_float(static_cast<boost::int32_t>(16701685L)),
+ mp_float(static_cast<boost::int32_t>(477191L)),
+ mp_float(static_cast<boost::int32_t>(10153L)),
+ mp_float(static_cast<boost::int32_t>(143L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_143_vect(A007318_143_data.begin(), A007318_143_data.end());
+
+ return A007318_143_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_144(void)
+ {
+ static const boost::array<mp_float, 145u> A007318_144_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(144L)),
+ mp_float(static_cast<boost::int32_t>(10296L)),
+ mp_float(static_cast<boost::int32_t>(487344L)),
+ mp_float(static_cast<boost::int32_t>(17178876L)),
+ mp_float(static_cast<boost::int32_t>(481008528L)),
+ mp_float(static_cast<boost::int64_t>(11143364232LL)),
+ mp_float(static_cast<boost::int64_t>(219683466288LL)),
+ mp_float(static_cast<boost::int64_t>(3762079360182LL)),
+ mp_float(static_cast<boost::int64_t>(56849199220528LL)),
+ mp_float(static_cast<boost::int64_t>(767464189477128LL)),
+ mp_float(static_cast<boost::int64_t>(9349109217266832LL)),
+ mp_float(static_cast<boost::int64_t>(103619293824707388LL)),
+ mp_float(static_cast<boost::int64_t>(1052134368066259632LL)),
+ mp_float("9844971586905715128"),
+ mp_float("85323087086516197776"),
+ mp_float("687917389635036844569"),
+ mp_float("5179613286663806829696"),
+ mp_float("36545049300350192631744"),
+ mp_float("242351379570743382715776"),
+ mp_float("1514696122317146141973600"),
+ mp_float("8943919960348862933558400"),
+ mp_float("50004643414677733673985600"),
+ mp_float("265242021590899282966358400"),
+ mp_float("1337261858854117218288723600"),
+ mp_float("6418856922499762647785873280"),
+ mp_float("29378614376056605964866112320"),
+ mp_float("128395425791654796439044490880"),
+ mp_float("536509457772271827977435908320"),
+ mp_float("2146037831089087311909743633280"),
+ mp_float("8226478352508168028987350594240"),
+ mp_float("30252210715675198558211547346560"),
+ mp_float("106828119089728044908684526567540"),
+ mp_float("362568161759077000902202029562560"),
+ mp_float("1183678410448751385298365449454240"),
+ mp_float("3720132147124647210937719983999040"),
+ mp_float("11263733445460737388672541062663760"),
+ mp_float("32877924651615125350719849588315840"),
+ mp_float("92577314150600484540184839630257760"),
+ mp_float("251620392306760291314348538482239040"),
+ mp_float("660503529805245764700164913515877480"),
+ mp_float("1675423587798672183629686609893933120"),
+ mp_float("4108776893887219878901374305216074080"),
+ mp_float("9746401004104568084835818119349757120"),
+ mp_float("22372420486694576740191309773961942480"),
+ mp_float("49716489970432392755980688386582094400"),
+ mp_float("106998532762452323540045394571122333600"),
+ mp_float("223103323632347398019669120595106142400"),
+ mp_float("450854633173702033498081347869276996100"),
+ mp_float("883307036421946841139098150927563094400"),
+ mp_float("1678283369201698998164286486762369879360"),
+ mp_float("3093306602058033447596920191287505267840"),
+ mp_float("5532259884449944435125261111341115190560"),
+ mp_float("9603168101309337510028755136667596179840"),
+ mp_float("16183116615169439137270679952532430599360"),
+ mp_float("26481463552095445860988385376871250071680"),
+ mp_float("42086611716723119314785112473956093863920"),
+ mp_float("64975821597747973678966489433476074737280"),
+ mp_float("97463732396621960518449734150214112105920"),
+ mp_float("142065779425584552620113171812176502391680"),
+ mp_float("201259854186244782878493660067250045054880"),
+ mp_float("277144717240074782980220777797524652206720"),
+ mp_float("371016315014938822376747170277331389244480"),
+ mp_float("482910124305158467220528062900653554254720"),
+ mp_float("611183126073716185075980829608639654603630"),
+ mp_float("752225385936881458555053328749094959512160"),
+ mp_float("900390992257782351906806257139068209113040"),
+ mp_float("1048216379046373484309416239654437616579360"),
+ mp_float("1186950899802511151350368389020466124656040"),
+ mp_float("1307366208478128224675768080660223557592160"),
+ mp_float("1400749509083708812152608657850239525991600"),
+ mp_float("1459936108059076790130887896914334153850400"),
+ mp_float("1480212998448786189993816895482588794876100"),
+ mp_float("1459936108059076790130887896914334153850400"),
+ mp_float("1400749509083708812152608657850239525991600"),
+ mp_float("1307366208478128224675768080660223557592160"),
+ mp_float("1186950899802511151350368389020466124656040"),
+ mp_float("1048216379046373484309416239654437616579360"),
+ mp_float("900390992257782351906806257139068209113040"),
+ mp_float("752225385936881458555053328749094959512160"),
+ mp_float("611183126073716185075980829608639654603630"),
+ mp_float("482910124305158467220528062900653554254720"),
+ mp_float("371016315014938822376747170277331389244480"),
+ mp_float("277144717240074782980220777797524652206720"),
+ mp_float("201259854186244782878493660067250045054880"),
+ mp_float("142065779425584552620113171812176502391680"),
+ mp_float("97463732396621960518449734150214112105920"),
+ mp_float("64975821597747973678966489433476074737280"),
+ mp_float("42086611716723119314785112473956093863920"),
+ mp_float("26481463552095445860988385376871250071680"),
+ mp_float("16183116615169439137270679952532430599360"),
+ mp_float("9603168101309337510028755136667596179840"),
+ mp_float("5532259884449944435125261111341115190560"),
+ mp_float("3093306602058033447596920191287505267840"),
+ mp_float("1678283369201698998164286486762369879360"),
+ mp_float("883307036421946841139098150927563094400"),
+ mp_float("450854633173702033498081347869276996100"),
+ mp_float("223103323632347398019669120595106142400"),
+ mp_float("106998532762452323540045394571122333600"),
+ mp_float("49716489970432392755980688386582094400"),
+ mp_float("22372420486694576740191309773961942480"),
+ mp_float("9746401004104568084835818119349757120"),
+ mp_float("4108776893887219878901374305216074080"),
+ mp_float("1675423587798672183629686609893933120"),
+ mp_float("660503529805245764700164913515877480"),
+ mp_float("251620392306760291314348538482239040"),
+ mp_float("92577314150600484540184839630257760"),
+ mp_float("32877924651615125350719849588315840"),
+ mp_float("11263733445460737388672541062663760"),
+ mp_float("3720132147124647210937719983999040"),
+ mp_float("1183678410448751385298365449454240"),
+ mp_float("362568161759077000902202029562560"),
+ mp_float("106828119089728044908684526567540"),
+ mp_float("30252210715675198558211547346560"),
+ mp_float("8226478352508168028987350594240"),
+ mp_float("2146037831089087311909743633280"),
+ mp_float("536509457772271827977435908320"),
+ mp_float("128395425791654796439044490880"),
+ mp_float("29378614376056605964866112320"),
+ mp_float("6418856922499762647785873280"),
+ mp_float("1337261858854117218288723600"),
+ mp_float("265242021590899282966358400"),
+ mp_float("50004643414677733673985600"),
+ mp_float("8943919960348862933558400"),
+ mp_float("1514696122317146141973600"),
+ mp_float("242351379570743382715776"),
+ mp_float("36545049300350192631744"),
+ mp_float("5179613286663806829696"),
+ mp_float("687917389635036844569"),
+ mp_float("85323087086516197776"),
+ mp_float("9844971586905715128"),
+ mp_float(static_cast<boost::int64_t>(1052134368066259632LL)),
+ mp_float(static_cast<boost::int64_t>(103619293824707388LL)),
+ mp_float(static_cast<boost::int64_t>(9349109217266832LL)),
+ mp_float(static_cast<boost::int64_t>(767464189477128LL)),
+ mp_float(static_cast<boost::int64_t>(56849199220528LL)),
+ mp_float(static_cast<boost::int64_t>(3762079360182LL)),
+ mp_float(static_cast<boost::int64_t>(219683466288LL)),
+ mp_float(static_cast<boost::int64_t>(11143364232LL)),
+ mp_float(static_cast<boost::int32_t>(481008528L)),
+ mp_float(static_cast<boost::int32_t>(17178876L)),
+ mp_float(static_cast<boost::int32_t>(487344L)),
+ mp_float(static_cast<boost::int32_t>(10296L)),
+ mp_float(static_cast<boost::int32_t>(144L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_144_vect(A007318_144_data.begin(), A007318_144_data.end());
+
+ return A007318_144_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_145(void)
+ {
+ static const boost::array<mp_float, 146u> A007318_145_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(145L)),
+ mp_float(static_cast<boost::int32_t>(10440L)),
+ mp_float(static_cast<boost::int32_t>(497640L)),
+ mp_float(static_cast<boost::int32_t>(17666220L)),
+ mp_float(static_cast<boost::int32_t>(498187404L)),
+ mp_float(static_cast<boost::int64_t>(11624372760LL)),
+ mp_float(static_cast<boost::int64_t>(230826830520LL)),
+ mp_float(static_cast<boost::int64_t>(3981762826470LL)),
+ mp_float(static_cast<boost::int64_t>(60611278580710LL)),
+ mp_float(static_cast<boost::int64_t>(824313388697656LL)),
+ mp_float(static_cast<boost::int64_t>(10116573406743960LL)),
+ mp_float(static_cast<boost::int64_t>(112968403041974220LL)),
+ mp_float(static_cast<boost::int64_t>(1155753661890967020LL)),
+ mp_float("10897105954971974760"),
+ mp_float("95168058673421912904"),
+ mp_float("773240476721553042345"),
+ mp_float("5867530676298843674265"),
+ mp_float("41724662587013999461440"),
+ mp_float("278896428871093575347520"),
+ mp_float("1757047501887889524689376"),
+ mp_float("10458616082666009075532000"),
+ mp_float("58948563375026596607544000"),
+ mp_float("315246665005577016640344000"),
+ mp_float("1602503880445016501255082000"),
+ mp_float("7756118781353879866074596880"),
+ mp_float("35797471298556368612651985600"),
+ mp_float("157774040167711402403910603200"),
+ mp_float("664904883563926624416480399200"),
+ mp_float("2682547288861359139887179541600"),
+ mp_float("10372516183597255340897094227520"),
+ mp_float("38478689068183366587198897940800"),
+ mp_float("137080329805403243466896073914100"),
+ mp_float("469396280848805045810886556130100"),
+ mp_float("1546246572207828386200567479016800"),
+ mp_float("4903810557573398596236085433453280"),
+ mp_float("14983865592585384599610261046662800"),
+ mp_float("44141658097075862739392390650979600"),
+ mp_float("125455238802215609890904689218573600"),
+ mp_float("344197706457360775854533378112496800"),
+ mp_float("912123922112006056014513451998116520"),
+ mp_float("2335927117603917948329851523409810600"),
+ mp_float("5784200481685892062531060915110007200"),
+ mp_float("13855177897991787963737192424565831200"),
+ mp_float("32118821490799144825027127893311699600"),
+ mp_float("72088910457126969496171998160544036880"),
+ mp_float("156715022732884716296026082957704428000"),
+ mp_float("330101856394799721559714515166228476000"),
+ mp_float("673957956806049431517750468464383138500"),
+ mp_float("1334161669595648874637179498796840090500"),
+ mp_float("2561590405623645839303384637689932973760"),
+ mp_float("4771589971259732445761206678049875147200"),
+ mp_float("8625566486507977882722181302628620458400"),
+ mp_float("15135427985759281945154016248008711370400"),
+ mp_float("25786284716478776647299435089200026779200"),
+ mp_float("42664580167264884998259065329403680671040"),
+ mp_float("68568075268818565175773497850827343935600"),
+ mp_float("107062433314471092993751601907432168601200"),
+ mp_float("162439553994369934197416223583690186843200"),
+ mp_float("239529511822206513138562905962390614497600"),
+ mp_float("343325633611829335498606831879426547446560"),
+ mp_float("478404571426319565858714437864774697261600"),
+ mp_float("648161032255013605356967948074856041451200"),
+ mp_float("853926439320097289597275233177984943499200"),
+ mp_float("1094093250378874652296508892509293208858350"),
+ mp_float("1363408512010597643631034158357734614115790"),
+ mp_float("1652616378194663810461859585888163168625200"),
+ mp_float("1948607371304155836216222496793505825692400"),
+ mp_float("2235167278848884635659784628674903741235400"),
+ mp_float("2494317108280639376026136469680689682248200"),
+ mp_float("2708115717561837036828376738510463083583760"),
+ mp_float("2860685617142785602283496554764573679842000"),
+ mp_float("2940149106507862980124704792396922948726500"),
+ mp_float("2940149106507862980124704792396922948726500"),
+ mp_float("2860685617142785602283496554764573679842000"),
+ mp_float("2708115717561837036828376738510463083583760"),
+ mp_float("2494317108280639376026136469680689682248200"),
+ mp_float("2235167278848884635659784628674903741235400"),
+ mp_float("1948607371304155836216222496793505825692400"),
+ mp_float("1652616378194663810461859585888163168625200"),
+ mp_float("1363408512010597643631034158357734614115790"),
+ mp_float("1094093250378874652296508892509293208858350"),
+ mp_float("853926439320097289597275233177984943499200"),
+ mp_float("648161032255013605356967948074856041451200"),
+ mp_float("478404571426319565858714437864774697261600"),
+ mp_float("343325633611829335498606831879426547446560"),
+ mp_float("239529511822206513138562905962390614497600"),
+ mp_float("162439553994369934197416223583690186843200"),
+ mp_float("107062433314471092993751601907432168601200"),
+ mp_float("68568075268818565175773497850827343935600"),
+ mp_float("42664580167264884998259065329403680671040"),
+ mp_float("25786284716478776647299435089200026779200"),
+ mp_float("15135427985759281945154016248008711370400"),
+ mp_float("8625566486507977882722181302628620458400"),
+ mp_float("4771589971259732445761206678049875147200"),
+ mp_float("2561590405623645839303384637689932973760"),
+ mp_float("1334161669595648874637179498796840090500"),
+ mp_float("673957956806049431517750468464383138500"),
+ mp_float("330101856394799721559714515166228476000"),
+ mp_float("156715022732884716296026082957704428000"),
+ mp_float("72088910457126969496171998160544036880"),
+ mp_float("32118821490799144825027127893311699600"),
+ mp_float("13855177897991787963737192424565831200"),
+ mp_float("5784200481685892062531060915110007200"),
+ mp_float("2335927117603917948329851523409810600"),
+ mp_float("912123922112006056014513451998116520"),
+ mp_float("344197706457360775854533378112496800"),
+ mp_float("125455238802215609890904689218573600"),
+ mp_float("44141658097075862739392390650979600"),
+ mp_float("14983865592585384599610261046662800"),
+ mp_float("4903810557573398596236085433453280"),
+ mp_float("1546246572207828386200567479016800"),
+ mp_float("469396280848805045810886556130100"),
+ mp_float("137080329805403243466896073914100"),
+ mp_float("38478689068183366587198897940800"),
+ mp_float("10372516183597255340897094227520"),
+ mp_float("2682547288861359139887179541600"),
+ mp_float("664904883563926624416480399200"),
+ mp_float("157774040167711402403910603200"),
+ mp_float("35797471298556368612651985600"),
+ mp_float("7756118781353879866074596880"),
+ mp_float("1602503880445016501255082000"),
+ mp_float("315246665005577016640344000"),
+ mp_float("58948563375026596607544000"),
+ mp_float("10458616082666009075532000"),
+ mp_float("1757047501887889524689376"),
+ mp_float("278896428871093575347520"),
+ mp_float("41724662587013999461440"),
+ mp_float("5867530676298843674265"),
+ mp_float("773240476721553042345"),
+ mp_float("95168058673421912904"),
+ mp_float("10897105954971974760"),
+ mp_float(static_cast<boost::int64_t>(1155753661890967020LL)),
+ mp_float(static_cast<boost::int64_t>(112968403041974220LL)),
+ mp_float(static_cast<boost::int64_t>(10116573406743960LL)),
+ mp_float(static_cast<boost::int64_t>(824313388697656LL)),
+ mp_float(static_cast<boost::int64_t>(60611278580710LL)),
+ mp_float(static_cast<boost::int64_t>(3981762826470LL)),
+ mp_float(static_cast<boost::int64_t>(230826830520LL)),
+ mp_float(static_cast<boost::int64_t>(11624372760LL)),
+ mp_float(static_cast<boost::int32_t>(498187404L)),
+ mp_float(static_cast<boost::int32_t>(17666220L)),
+ mp_float(static_cast<boost::int32_t>(497640L)),
+ mp_float(static_cast<boost::int32_t>(10440L)),
+ mp_float(static_cast<boost::int32_t>(145L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_145_vect(A007318_145_data.begin(), A007318_145_data.end());
+
+ return A007318_145_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_146(void)
+ {
+ static const boost::array<mp_float, 147u> A007318_146_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(146L)),
+ mp_float(static_cast<boost::int32_t>(10585L)),
+ mp_float(static_cast<boost::int32_t>(508080L)),
+ mp_float(static_cast<boost::int32_t>(18163860L)),
+ mp_float(static_cast<boost::int32_t>(515853624L)),
+ mp_float(static_cast<boost::int64_t>(12122560164LL)),
+ mp_float(static_cast<boost::int64_t>(242451203280LL)),
+ mp_float(static_cast<boost::int64_t>(4212589656990LL)),
+ mp_float(static_cast<boost::int64_t>(64593041407180LL)),
+ mp_float(static_cast<boost::int64_t>(884924667278366LL)),
+ mp_float(static_cast<boost::int64_t>(10940886795441616LL)),
+ mp_float(static_cast<boost::int64_t>(123084976448718180LL)),
+ mp_float(static_cast<boost::int64_t>(1268722064932941240LL)),
+ mp_float("12052859616862941780"),
+ mp_float("106065164628393887664"),
+ mp_float("868408535394974955249"),
+ mp_float("6640771153020396716610"),
+ mp_float("47592193263312843135705"),
+ mp_float("320621091458107574808960"),
+ mp_float("2035943930758983100036896"),
+ mp_float("12215663584553898600221376"),
+ mp_float("69407179457692605683076000"),
+ mp_float("374195228380603613247888000"),
+ mp_float("1917750545450593517895426000"),
+ mp_float("9358622661798896367329678880"),
+ mp_float("43553590079910248478726582480"),
+ mp_float("193571511466267771016562588800"),
+ mp_float("822678923731638026820391002400"),
+ mp_float("3347452172425285764303659940800"),
+ mp_float("13055063472458614480784273769120"),
+ mp_float("48851205251780621928095992168320"),
+ mp_float("175559018873586610054094971854900"),
+ mp_float("606476610654208289277782630044200"),
+ mp_float("2015642853056633432011454035146900"),
+ mp_float("6450057129781226982436652912470080"),
+ mp_float("19887676150158783195846346480116080"),
+ mp_float("59125523689661247339002651697642400"),
+ mp_float("169596896899291472630297079869553200"),
+ mp_float("469652945259576385745438067331070400"),
+ mp_float("1256321628569366831869046830110613320"),
+ mp_float("3248051039715924004344364975407927120"),
+ mp_float("8120127599289810010860912438519817800"),
+ mp_float("19639378379677680026268253339675838400"),
+ mp_float("45973999388790932788764320317877530800"),
+ mp_float("104207731947926114321199126053855736480"),
+ mp_float("228803933190011685792198081118248464880"),
+ mp_float("486816879127684437855740598123932904000"),
+ mp_float("1004059813200849153077464983630611614500"),
+ mp_float("2008119626401698306154929967261223229000"),
+ mp_float("3895752075219294713940564136486773064260"),
+ mp_float("7333180376883378285064591315739808120960"),
+ mp_float("13397156457767710328483387980678495605600"),
+ mp_float("23760994472267259827876197550637331828800"),
+ mp_float("40921712702238058592453451337208738149600"),
+ mp_float("68450864883743661645558500418603707450240"),
+ mp_float("111232655436083450174032563180231024606640"),
+ mp_float("175630508583289658169525099758259512536800"),
+ mp_float("269501987308841027191167825491122355444400"),
+ mp_float("401969065816576447335979129546080801340800"),
+ mp_float("582855145434035848637169737841817161944160"),
+ mp_float("821730205038148901357321269744201244708160"),
+ mp_float("1126565603681333171215682385939630738712800"),
+ mp_float("1502087471575110894954243181252840984950400"),
+ mp_float("1948019689698971941893784125687278152357550"),
+ mp_float("2457501762389472295927543050867027822974140"),
+ mp_float("3016024890205261454092893744245897782740990"),
+ mp_float("3601223749498819646678082082681668994317600"),
+ mp_float("4183774650153040471876007125468409566927800"),
+ mp_float("4729484387129524011685921098355593423483600"),
+ mp_float("5202432825842476412854513208191152765831960"),
+ mp_float("5568801334704622639111873293275036763425760"),
+ mp_float("5800834723650648582408201347161496628568500"),
+ mp_float("5880298213015725960249409584793845897453000"),
+ mp_float("5800834723650648582408201347161496628568500"),
+ mp_float("5568801334704622639111873293275036763425760"),
+ mp_float("5202432825842476412854513208191152765831960"),
+ mp_float("4729484387129524011685921098355593423483600"),
+ mp_float("4183774650153040471876007125468409566927800"),
+ mp_float("3601223749498819646678082082681668994317600"),
+ mp_float("3016024890205261454092893744245897782740990"),
+ mp_float("2457501762389472295927543050867027822974140"),
+ mp_float("1948019689698971941893784125687278152357550"),
+ mp_float("1502087471575110894954243181252840984950400"),
+ mp_float("1126565603681333171215682385939630738712800"),
+ mp_float("821730205038148901357321269744201244708160"),
+ mp_float("582855145434035848637169737841817161944160"),
+ mp_float("401969065816576447335979129546080801340800"),
+ mp_float("269501987308841027191167825491122355444400"),
+ mp_float("175630508583289658169525099758259512536800"),
+ mp_float("111232655436083450174032563180231024606640"),
+ mp_float("68450864883743661645558500418603707450240"),
+ mp_float("40921712702238058592453451337208738149600"),
+ mp_float("23760994472267259827876197550637331828800"),
+ mp_float("13397156457767710328483387980678495605600"),
+ mp_float("7333180376883378285064591315739808120960"),
+ mp_float("3895752075219294713940564136486773064260"),
+ mp_float("2008119626401698306154929967261223229000"),
+ mp_float("1004059813200849153077464983630611614500"),
+ mp_float("486816879127684437855740598123932904000"),
+ mp_float("228803933190011685792198081118248464880"),
+ mp_float("104207731947926114321199126053855736480"),
+ mp_float("45973999388790932788764320317877530800"),
+ mp_float("19639378379677680026268253339675838400"),
+ mp_float("8120127599289810010860912438519817800"),
+ mp_float("3248051039715924004344364975407927120"),
+ mp_float("1256321628569366831869046830110613320"),
+ mp_float("469652945259576385745438067331070400"),
+ mp_float("169596896899291472630297079869553200"),
+ mp_float("59125523689661247339002651697642400"),
+ mp_float("19887676150158783195846346480116080"),
+ mp_float("6450057129781226982436652912470080"),
+ mp_float("2015642853056633432011454035146900"),
+ mp_float("606476610654208289277782630044200"),
+ mp_float("175559018873586610054094971854900"),
+ mp_float("48851205251780621928095992168320"),
+ mp_float("13055063472458614480784273769120"),
+ mp_float("3347452172425285764303659940800"),
+ mp_float("822678923731638026820391002400"),
+ mp_float("193571511466267771016562588800"),
+ mp_float("43553590079910248478726582480"),
+ mp_float("9358622661798896367329678880"),
+ mp_float("1917750545450593517895426000"),
+ mp_float("374195228380603613247888000"),
+ mp_float("69407179457692605683076000"),
+ mp_float("12215663584553898600221376"),
+ mp_float("2035943930758983100036896"),
+ mp_float("320621091458107574808960"),
+ mp_float("47592193263312843135705"),
+ mp_float("6640771153020396716610"),
+ mp_float("868408535394974955249"),
+ mp_float("106065164628393887664"),
+ mp_float("12052859616862941780"),
+ mp_float(static_cast<boost::int64_t>(1268722064932941240LL)),
+ mp_float(static_cast<boost::int64_t>(123084976448718180LL)),
+ mp_float(static_cast<boost::int64_t>(10940886795441616LL)),
+ mp_float(static_cast<boost::int64_t>(884924667278366LL)),
+ mp_float(static_cast<boost::int64_t>(64593041407180LL)),
+ mp_float(static_cast<boost::int64_t>(4212589656990LL)),
+ mp_float(static_cast<boost::int64_t>(242451203280LL)),
+ mp_float(static_cast<boost::int64_t>(12122560164LL)),
+ mp_float(static_cast<boost::int32_t>(515853624L)),
+ mp_float(static_cast<boost::int32_t>(18163860L)),
+ mp_float(static_cast<boost::int32_t>(508080L)),
+ mp_float(static_cast<boost::int32_t>(10585L)),
+ mp_float(static_cast<boost::int32_t>(146L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_146_vect(A007318_146_data.begin(), A007318_146_data.end());
+
+ return A007318_146_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_147(void)
+ {
+ static const boost::array<mp_float, 148u> A007318_147_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(147L)),
+ mp_float(static_cast<boost::int32_t>(10731L)),
+ mp_float(static_cast<boost::int32_t>(518665L)),
+ mp_float(static_cast<boost::int32_t>(18671940L)),
+ mp_float(static_cast<boost::int32_t>(534017484L)),
+ mp_float(static_cast<boost::int64_t>(12638413788LL)),
+ mp_float(static_cast<boost::int64_t>(254573763444LL)),
+ mp_float(static_cast<boost::int64_t>(4455040860270LL)),
+ mp_float(static_cast<boost::int64_t>(68805631064170LL)),
+ mp_float(static_cast<boost::int64_t>(949517708685546LL)),
+ mp_float(static_cast<boost::int64_t>(11825811462719982LL)),
+ mp_float(static_cast<boost::int64_t>(134025863244159796LL)),
+ mp_float(static_cast<boost::int64_t>(1391807041381659420LL)),
+ mp_float("13321581681795883020"),
+ mp_float("118118024245256829444"),
+ mp_float("974473700023368842913"),
+ mp_float("7509179688415371671859"),
+ mp_float("54232964416333239852315"),
+ mp_float("368213284721420417944665"),
+ mp_float("2356565022217090674845856"),
+ mp_float("14251607515312881700258272"),
+ mp_float("81622843042246504283297376"),
+ mp_float("443602407838296218930964000"),
+ mp_float("2291945773831197131143314000"),
+ mp_float("11276373207249489885225104880"),
+ mp_float("52912212741709144846056261360"),
+ mp_float("237125101546178019495289171280"),
+ mp_float("1016250435197905797836953591200"),
+ mp_float("4170131096156923791124050943200"),
+ mp_float("16402515644883900245087933709920"),
+ mp_float("61906268724239236408880265937440"),
+ mp_float("224410224125367231982190964023220"),
+ mp_float("782035629527794899331877601899100"),
+ mp_float("2622119463710841721289236665191100"),
+ mp_float("8465699982837860414448106947616980"),
+ mp_float("26337733279940010178282999392586160"),
+ mp_float("79013199839820030534848998177758480"),
+ mp_float("228722420588952719969299731567195600"),
+ mp_float("639249842158867858375735147200623600"),
+ mp_float("1725974573828943217614484897441683720"),
+ mp_float("4504372668285290836213411805518540440"),
+ mp_float("11368178639005734015205277413927744920"),
+ mp_float("27759505978967490037129165778195656200"),
+ mp_float("65613377768468612815032573657553369200"),
+ mp_float("150181731336717047109963446371733267280"),
+ mp_float("333011665137937800113397207172104201360"),
+ mp_float("715620812317696123647938679242181368880"),
+ mp_float("1490876692328533590933205581754544518500"),
+ mp_float("3012179439602547459232394950891834843500"),
+ mp_float("5903871701620993020095494103747996293260"),
+ mp_float("11228932452102672999005155452226581185220"),
+ mp_float("20730336834651088613547979296418303726560"),
+ mp_float("37158150930034970156359585531315827434400"),
+ mp_float("64682707174505318420329648887846069978400"),
+ mp_float("109372577585981720238011951755812445599840"),
+ mp_float("179683520319827111819591063598834732056880"),
+ mp_float("286863164019373108343557662938490537143440"),
+ mp_float("445132495892130685360692925249381867981200"),
+ mp_float("671471053125417474527146955037203156785200"),
+ mp_float("984824211250612295973148867387897963284960"),
+ mp_float("1404585350472184749994491007586018406652320"),
+ mp_float("1948295808719482072573003655683831983420960"),
+ mp_float("2628653075256444066169925567192471723663200"),
+ mp_float("3450107161274082836848027306940119137307950"),
+ mp_float("4405521452088444237821327176554305975331690"),
+ mp_float("5473526652594733750020436795112925605715130"),
+ mp_float("6617248639704081100770975826927566777058590"),
+ mp_float("7784998399651860118554089208150078561245400"),
+ mp_float("8913259037282564483561928223824002990411400"),
+ mp_float("9931917212972000424540434306546746189315560"),
+ mp_float("10771234160547099051966386501466189529257720"),
+ mp_float("11369636058355271221520074640436533391994260"),
+ mp_float("11681132936666374542657610931955342526021500"),
+ mp_float("11681132936666374542657610931955342526021500"),
+ mp_float("11369636058355271221520074640436533391994260"),
+ mp_float("10771234160547099051966386501466189529257720"),
+ mp_float("9931917212972000424540434306546746189315560"),
+ mp_float("8913259037282564483561928223824002990411400"),
+ mp_float("7784998399651860118554089208150078561245400"),
+ mp_float("6617248639704081100770975826927566777058590"),
+ mp_float("5473526652594733750020436795112925605715130"),
+ mp_float("4405521452088444237821327176554305975331690"),
+ mp_float("3450107161274082836848027306940119137307950"),
+ mp_float("2628653075256444066169925567192471723663200"),
+ mp_float("1948295808719482072573003655683831983420960"),
+ mp_float("1404585350472184749994491007586018406652320"),
+ mp_float("984824211250612295973148867387897963284960"),
+ mp_float("671471053125417474527146955037203156785200"),
+ mp_float("445132495892130685360692925249381867981200"),
+ mp_float("286863164019373108343557662938490537143440"),
+ mp_float("179683520319827111819591063598834732056880"),
+ mp_float("109372577585981720238011951755812445599840"),
+ mp_float("64682707174505318420329648887846069978400"),
+ mp_float("37158150930034970156359585531315827434400"),
+ mp_float("20730336834651088613547979296418303726560"),
+ mp_float("11228932452102672999005155452226581185220"),
+ mp_float("5903871701620993020095494103747996293260"),
+ mp_float("3012179439602547459232394950891834843500"),
+ mp_float("1490876692328533590933205581754544518500"),
+ mp_float("715620812317696123647938679242181368880"),
+ mp_float("333011665137937800113397207172104201360"),
+ mp_float("150181731336717047109963446371733267280"),
+ mp_float("65613377768468612815032573657553369200"),
+ mp_float("27759505978967490037129165778195656200"),
+ mp_float("11368178639005734015205277413927744920"),
+ mp_float("4504372668285290836213411805518540440"),
+ mp_float("1725974573828943217614484897441683720"),
+ mp_float("639249842158867858375735147200623600"),
+ mp_float("228722420588952719969299731567195600"),
+ mp_float("79013199839820030534848998177758480"),
+ mp_float("26337733279940010178282999392586160"),
+ mp_float("8465699982837860414448106947616980"),
+ mp_float("2622119463710841721289236665191100"),
+ mp_float("782035629527794899331877601899100"),
+ mp_float("224410224125367231982190964023220"),
+ mp_float("61906268724239236408880265937440"),
+ mp_float("16402515644883900245087933709920"),
+ mp_float("4170131096156923791124050943200"),
+ mp_float("1016250435197905797836953591200"),
+ mp_float("237125101546178019495289171280"),
+ mp_float("52912212741709144846056261360"),
+ mp_float("11276373207249489885225104880"),
+ mp_float("2291945773831197131143314000"),
+ mp_float("443602407838296218930964000"),
+ mp_float("81622843042246504283297376"),
+ mp_float("14251607515312881700258272"),
+ mp_float("2356565022217090674845856"),
+ mp_float("368213284721420417944665"),
+ mp_float("54232964416333239852315"),
+ mp_float("7509179688415371671859"),
+ mp_float("974473700023368842913"),
+ mp_float("118118024245256829444"),
+ mp_float("13321581681795883020"),
+ mp_float(static_cast<boost::int64_t>(1391807041381659420LL)),
+ mp_float(static_cast<boost::int64_t>(134025863244159796LL)),
+ mp_float(static_cast<boost::int64_t>(11825811462719982LL)),
+ mp_float(static_cast<boost::int64_t>(949517708685546LL)),
+ mp_float(static_cast<boost::int64_t>(68805631064170LL)),
+ mp_float(static_cast<boost::int64_t>(4455040860270LL)),
+ mp_float(static_cast<boost::int64_t>(254573763444LL)),
+ mp_float(static_cast<boost::int64_t>(12638413788LL)),
+ mp_float(static_cast<boost::int32_t>(534017484L)),
+ mp_float(static_cast<boost::int32_t>(18671940L)),
+ mp_float(static_cast<boost::int32_t>(518665L)),
+ mp_float(static_cast<boost::int32_t>(10731L)),
+ mp_float(static_cast<boost::int32_t>(147L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_147_vect(A007318_147_data.begin(), A007318_147_data.end());
+
+ return A007318_147_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_148(void)
+ {
+ static const boost::array<mp_float, 149u> A007318_148_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(148L)),
+ mp_float(static_cast<boost::int32_t>(10878L)),
+ mp_float(static_cast<boost::int32_t>(529396L)),
+ mp_float(static_cast<boost::int32_t>(19190605L)),
+ mp_float(static_cast<boost::int32_t>(552689424L)),
+ mp_float(static_cast<boost::int64_t>(13172431272LL)),
+ mp_float(static_cast<boost::int64_t>(267212177232LL)),
+ mp_float(static_cast<boost::int64_t>(4709614623714LL)),
+ mp_float(static_cast<boost::int64_t>(73260671924440LL)),
+ mp_float(static_cast<boost::int64_t>(1018323339749716LL)),
+ mp_float(static_cast<boost::int64_t>(12775329171405528LL)),
+ mp_float(static_cast<boost::int64_t>(145851674706879778LL)),
+ mp_float(static_cast<boost::int64_t>(1525832904625819216LL)),
+ mp_float("14713388723177542440"),
+ mp_float("131439605927052712464"),
+ mp_float("1092591724268625672357"),
+ mp_float("8483653388438740514772"),
+ mp_float("61742144104748611524174"),
+ mp_float("422446249137753657796980"),
+ mp_float("2724778306938511092790521"),
+ mp_float("16608172537529972375104128"),
+ mp_float("95874450557559385983555648"),
+ mp_float("525225250880542723214261376"),
+ mp_float("2735548181669493350074278000"),
+ mp_float("13568318981080687016368418880"),
+ mp_float("64188585948958634731281366240"),
+ mp_float("290037314287887164341345432640"),
+ mp_float("1253375536744083817332242762480"),
+ mp_float("5186381531354829588961004534400"),
+ mp_float("20572646741040824036211984653120"),
+ mp_float("78308784369123136653968199647360"),
+ mp_float("286316492849606468391071229960660"),
+ mp_float("1006445853653162131314068565922320"),
+ mp_float("3404155093238636620621114267090200"),
+ mp_float("11087819446548702135737343612808080"),
+ mp_float("34803433262777870592731106340203140"),
+ mp_float("105350933119760040713131997570344640"),
+ mp_float("307735620428772750504148729744954080"),
+ mp_float("867972262747820578345034878767819200"),
+ mp_float("2365224415987811075990220044642307320"),
+ mp_float("6230347242114234053827896702960224160"),
+ mp_float("15872551307291024851418689219446285360"),
+ mp_float("39127684617973224052334443192123401120"),
+ mp_float("93372883747436102852161739435749025400"),
+ mp_float("215795109105185659924996020029286636480"),
+ mp_float("483193396474654847223360653543837468640"),
+ mp_float("1048632477455633923761335886414285570240"),
+ mp_float("2206497504646229714581144260996725887380"),
+ mp_float("4503056131931081050165600532646379362000"),
+ mp_float("8916051141223540479327889054639831136760"),
+ mp_float("17132804153723666019100649555974577478480"),
+ mp_float("31959269286753761612553134748644884911780"),
+ mp_float("57888487764686058769907564827734131160960"),
+ mp_float("101840858104540288576689234419161897412800"),
+ mp_float("174055284760487038658341600643658515578240"),
+ mp_float("289056097905808832057603015354647177656720"),
+ mp_float("466546684339200220163148726537325269200320"),
+ mp_float("731995659911503793704250588187872405124640"),
+ mp_float("1116603549017548159887839880286585024766400"),
+ mp_float("1656295264376029770500295822425101120070160"),
+ mp_float("2389409561722797045967639874973916369937280"),
+ mp_float("3352881159191666822567494663269850390073280"),
+ mp_float("4576948883975926138742929222876303707084160"),
+ mp_float("6078760236530526903017952874132590860971150"),
+ mp_float("7855628613362527074669354483494425112639640"),
+ mp_float("9879048104683177987841763971667231581046820"),
+ mp_float("12090775292298814850791412622040492382773720"),
+ mp_float("14402247039355941219325065035077645338303990"),
+ mp_float("16698257436934424602116017431974081551656800"),
+ mp_float("18845176250254564908102362530370749179726960"),
+ mp_float("20703151373519099476506820808012935718573280"),
+ mp_float("22140870218902370273486461141902722921251980"),
+ mp_float("23050768995021645764177685572391875918015760"),
+ mp_float("23362265873332749085315221863910685052043000"),
+ mp_float("23050768995021645764177685572391875918015760"),
+ mp_float("22140870218902370273486461141902722921251980"),
+ mp_float("20703151373519099476506820808012935718573280"),
+ mp_float("18845176250254564908102362530370749179726960"),
+ mp_float("16698257436934424602116017431974081551656800"),
+ mp_float("14402247039355941219325065035077645338303990"),
+ mp_float("12090775292298814850791412622040492382773720"),
+ mp_float("9879048104683177987841763971667231581046820"),
+ mp_float("7855628613362527074669354483494425112639640"),
+ mp_float("6078760236530526903017952874132590860971150"),
+ mp_float("4576948883975926138742929222876303707084160"),
+ mp_float("3352881159191666822567494663269850390073280"),
+ mp_float("2389409561722797045967639874973916369937280"),
+ mp_float("1656295264376029770500295822425101120070160"),
+ mp_float("1116603549017548159887839880286585024766400"),
+ mp_float("731995659911503793704250588187872405124640"),
+ mp_float("466546684339200220163148726537325269200320"),
+ mp_float("289056097905808832057603015354647177656720"),
+ mp_float("174055284760487038658341600643658515578240"),
+ mp_float("101840858104540288576689234419161897412800"),
+ mp_float("57888487764686058769907564827734131160960"),
+ mp_float("31959269286753761612553134748644884911780"),
+ mp_float("17132804153723666019100649555974577478480"),
+ mp_float("8916051141223540479327889054639831136760"),
+ mp_float("4503056131931081050165600532646379362000"),
+ mp_float("2206497504646229714581144260996725887380"),
+ mp_float("1048632477455633923761335886414285570240"),
+ mp_float("483193396474654847223360653543837468640"),
+ mp_float("215795109105185659924996020029286636480"),
+ mp_float("93372883747436102852161739435749025400"),
+ mp_float("39127684617973224052334443192123401120"),
+ mp_float("15872551307291024851418689219446285360"),
+ mp_float("6230347242114234053827896702960224160"),
+ mp_float("2365224415987811075990220044642307320"),
+ mp_float("867972262747820578345034878767819200"),
+ mp_float("307735620428772750504148729744954080"),
+ mp_float("105350933119760040713131997570344640"),
+ mp_float("34803433262777870592731106340203140"),
+ mp_float("11087819446548702135737343612808080"),
+ mp_float("3404155093238636620621114267090200"),
+ mp_float("1006445853653162131314068565922320"),
+ mp_float("286316492849606468391071229960660"),
+ mp_float("78308784369123136653968199647360"),
+ mp_float("20572646741040824036211984653120"),
+ mp_float("5186381531354829588961004534400"),
+ mp_float("1253375536744083817332242762480"),
+ mp_float("290037314287887164341345432640"),
+ mp_float("64188585948958634731281366240"),
+ mp_float("13568318981080687016368418880"),
+ mp_float("2735548181669493350074278000"),
+ mp_float("525225250880542723214261376"),
+ mp_float("95874450557559385983555648"),
+ mp_float("16608172537529972375104128"),
+ mp_float("2724778306938511092790521"),
+ mp_float("422446249137753657796980"),
+ mp_float("61742144104748611524174"),
+ mp_float("8483653388438740514772"),
+ mp_float("1092591724268625672357"),
+ mp_float("131439605927052712464"),
+ mp_float("14713388723177542440"),
+ mp_float(static_cast<boost::int64_t>(1525832904625819216LL)),
+ mp_float(static_cast<boost::int64_t>(145851674706879778LL)),
+ mp_float(static_cast<boost::int64_t>(12775329171405528LL)),
+ mp_float(static_cast<boost::int64_t>(1018323339749716LL)),
+ mp_float(static_cast<boost::int64_t>(73260671924440LL)),
+ mp_float(static_cast<boost::int64_t>(4709614623714LL)),
+ mp_float(static_cast<boost::int64_t>(267212177232LL)),
+ mp_float(static_cast<boost::int64_t>(13172431272LL)),
+ mp_float(static_cast<boost::int32_t>(552689424L)),
+ mp_float(static_cast<boost::int32_t>(19190605L)),
+ mp_float(static_cast<boost::int32_t>(529396L)),
+ mp_float(static_cast<boost::int32_t>(10878L)),
+ mp_float(static_cast<boost::int32_t>(148L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_148_vect(A007318_148_data.begin(), A007318_148_data.end());
+
+ return A007318_148_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_149(void)
+ {
+ static const boost::array<mp_float, 150u> A007318_149_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(149L)),
+ mp_float(static_cast<boost::int32_t>(11026L)),
+ mp_float(static_cast<boost::int32_t>(540274L)),
+ mp_float(static_cast<boost::int32_t>(19720001L)),
+ mp_float(static_cast<boost::int32_t>(571880029L)),
+ mp_float(static_cast<boost::int64_t>(13725120696LL)),
+ mp_float(static_cast<boost::int64_t>(280384608504LL)),
+ mp_float(static_cast<boost::int64_t>(4976826800946LL)),
+ mp_float(static_cast<boost::int64_t>(77970286548154LL)),
+ mp_float(static_cast<boost::int64_t>(1091584011674156LL)),
+ mp_float(static_cast<boost::int64_t>(13793652511155244LL)),
+ mp_float(static_cast<boost::int64_t>(158627003878285306LL)),
+ mp_float(static_cast<boost::int64_t>(1671684579332698994LL)),
+ mp_float("16239221627803361656"),
+ mp_float("146152994650230254904"),
+ mp_float("1224031330195678384821"),
+ mp_float("9576245112707366187129"),
+ mp_float("70225797493187352038946"),
+ mp_float("484188393242502269321154"),
+ mp_float("3147224556076264750587501"),
+ mp_float("19332950844468483467894649"),
+ mp_float("112482623095089358358659776"),
+ mp_float("621099701438102109197817024"),
+ mp_float("3260773432550036073288539376"),
+ mp_float("16303867162750180366442696880"),
+ mp_float("77756904930039321747649785120"),
+ mp_float("354225900236845799072626798880"),
+ mp_float("1543412851031970981673588195120"),
+ mp_float("6439757068098913406293247296880"),
+ mp_float("25759028272395653625172989187520"),
+ mp_float("98881431110163960690180184300480"),
+ mp_float("364625277218729605045039429608020"),
+ mp_float("1292762346502768599705139795882980"),
+ mp_float("4410600946891798751935182833012520"),
+ mp_float("14491974539787338756358457879898280"),
+ mp_float("45891252709326572728468449953011220"),
+ mp_float("140154366382537911305863103910547780"),
+ mp_float("413086553548532791217280727315298720"),
+ mp_float("1175707883176593328849183608512773280"),
+ mp_float("3233196678735631654335254923410126520"),
+ mp_float("8595571658102045129818116747602531480"),
+ mp_float("22102898549405258905246585922406509520"),
+ mp_float("55000235925264248903753132411569686480"),
+ mp_float("132500568365409326904496182627872426520"),
+ mp_float("309167992852621762777157759465035661880"),
+ mp_float("698988505579840507148356673573124105120"),
+ mp_float("1531825873930288770984696539958123038880"),
+ mp_float("3255129982101863638342480147411011457620"),
+ mp_float("6709553636577310764746744793643105249380"),
+ mp_float("13419107273154621529493489587286210498760"),
+ mp_float("26048855294947206498428538610614408615240"),
+ mp_float("49092073440477427631653784304619462390260"),
+ mp_float("89847757051439820382460699576379016072740"),
+ mp_float("159729345869226347346596799246896028573760"),
+ mp_float("275896142865027327235030835062820412991040"),
+ mp_float("463111382666295870715944615998305693234960"),
+ mp_float("755602782245009052220751741891972446857040"),
+ mp_float("1198542344250704013867399314725197674324960"),
+ mp_float("1848599208929051953592090468474457429891040"),
+ mp_float("2772898813393577930388135702711686144836560"),
+ mp_float("4045704826098826816467935697399017490007440"),
+ mp_float("5742290720914463868535134538243766760010560"),
+ mp_float("7929830043167592961310423886146154097157440"),
+ mp_float("10655709120506453041760882097008894568055310"),
+ mp_float("13934388849893053977687307357627015973610790"),
+ mp_float("17734676718045705062511118455161656693686460"),
+ mp_float("21969823396981992838633176593707723963820540"),
+ mp_float("26493022331654756070116477657118137721077710"),
+ mp_float("31100504476290365821441082467051726889960790"),
+ mp_float("35543433687188989510218379962344830731383760"),
+ mp_float("39548327623773664384609183338383684898300240"),
+ mp_float("42844021592421469749993281949915658639825260"),
+ mp_float("45191639213924016037664146714294598839267740"),
+ mp_float("46413034868354394849492907436302560970058760"),
+ mp_float("46413034868354394849492907436302560970058760"),
+ mp_float("45191639213924016037664146714294598839267740"),
+ mp_float("42844021592421469749993281949915658639825260"),
+ mp_float("39548327623773664384609183338383684898300240"),
+ mp_float("35543433687188989510218379962344830731383760"),
+ mp_float("31100504476290365821441082467051726889960790"),
+ mp_float("26493022331654756070116477657118137721077710"),
+ mp_float("21969823396981992838633176593707723963820540"),
+ mp_float("17734676718045705062511118455161656693686460"),
+ mp_float("13934388849893053977687307357627015973610790"),
+ mp_float("10655709120506453041760882097008894568055310"),
+ mp_float("7929830043167592961310423886146154097157440"),
+ mp_float("5742290720914463868535134538243766760010560"),
+ mp_float("4045704826098826816467935697399017490007440"),
+ mp_float("2772898813393577930388135702711686144836560"),
+ mp_float("1848599208929051953592090468474457429891040"),
+ mp_float("1198542344250704013867399314725197674324960"),
+ mp_float("755602782245009052220751741891972446857040"),
+ mp_float("463111382666295870715944615998305693234960"),
+ mp_float("275896142865027327235030835062820412991040"),
+ mp_float("159729345869226347346596799246896028573760"),
+ mp_float("89847757051439820382460699576379016072740"),
+ mp_float("49092073440477427631653784304619462390260"),
+ mp_float("26048855294947206498428538610614408615240"),
+ mp_float("13419107273154621529493489587286210498760"),
+ mp_float("6709553636577310764746744793643105249380"),
+ mp_float("3255129982101863638342480147411011457620"),
+ mp_float("1531825873930288770984696539958123038880"),
+ mp_float("698988505579840507148356673573124105120"),
+ mp_float("309167992852621762777157759465035661880"),
+ mp_float("132500568365409326904496182627872426520"),
+ mp_float("55000235925264248903753132411569686480"),
+ mp_float("22102898549405258905246585922406509520"),
+ mp_float("8595571658102045129818116747602531480"),
+ mp_float("3233196678735631654335254923410126520"),
+ mp_float("1175707883176593328849183608512773280"),
+ mp_float("413086553548532791217280727315298720"),
+ mp_float("140154366382537911305863103910547780"),
+ mp_float("45891252709326572728468449953011220"),
+ mp_float("14491974539787338756358457879898280"),
+ mp_float("4410600946891798751935182833012520"),
+ mp_float("1292762346502768599705139795882980"),
+ mp_float("364625277218729605045039429608020"),
+ mp_float("98881431110163960690180184300480"),
+ mp_float("25759028272395653625172989187520"),
+ mp_float("6439757068098913406293247296880"),
+ mp_float("1543412851031970981673588195120"),
+ mp_float("354225900236845799072626798880"),
+ mp_float("77756904930039321747649785120"),
+ mp_float("16303867162750180366442696880"),
+ mp_float("3260773432550036073288539376"),
+ mp_float("621099701438102109197817024"),
+ mp_float("112482623095089358358659776"),
+ mp_float("19332950844468483467894649"),
+ mp_float("3147224556076264750587501"),
+ mp_float("484188393242502269321154"),
+ mp_float("70225797493187352038946"),
+ mp_float("9576245112707366187129"),
+ mp_float("1224031330195678384821"),
+ mp_float("146152994650230254904"),
+ mp_float("16239221627803361656"),
+ mp_float(static_cast<boost::int64_t>(1671684579332698994LL)),
+ mp_float(static_cast<boost::int64_t>(158627003878285306LL)),
+ mp_float(static_cast<boost::int64_t>(13793652511155244LL)),
+ mp_float(static_cast<boost::int64_t>(1091584011674156LL)),
+ mp_float(static_cast<boost::int64_t>(77970286548154LL)),
+ mp_float(static_cast<boost::int64_t>(4976826800946LL)),
+ mp_float(static_cast<boost::int64_t>(280384608504LL)),
+ mp_float(static_cast<boost::int64_t>(13725120696LL)),
+ mp_float(static_cast<boost::int32_t>(571880029L)),
+ mp_float(static_cast<boost::int32_t>(19720001L)),
+ mp_float(static_cast<boost::int32_t>(540274L)),
+ mp_float(static_cast<boost::int32_t>(11026L)),
+ mp_float(static_cast<boost::int32_t>(149L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_149_vect(A007318_149_data.begin(), A007318_149_data.end());
+
+ return A007318_149_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_150(void)
+ {
+ static const boost::array<mp_float, 151u> A007318_150_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(150L)),
+ mp_float(static_cast<boost::int32_t>(11175L)),
+ mp_float(static_cast<boost::int32_t>(551300L)),
+ mp_float(static_cast<boost::int32_t>(20260275L)),
+ mp_float(static_cast<boost::int32_t>(591600030L)),
+ mp_float(static_cast<boost::int64_t>(14297000725LL)),
+ mp_float(static_cast<boost::int64_t>(294109729200LL)),
+ mp_float(static_cast<boost::int64_t>(5257211409450LL)),
+ mp_float(static_cast<boost::int64_t>(82947113349100LL)),
+ mp_float(static_cast<boost::int64_t>(1169554298222310LL)),
+ mp_float(static_cast<boost::int64_t>(14885236522829400LL)),
+ mp_float(static_cast<boost::int64_t>(172420656389440550LL)),
+ mp_float(static_cast<boost::int64_t>(1830311583210984300LL)),
+ mp_float("17910906207136060650"),
+ mp_float("162392216278033616560"),
+ mp_float("1370184324845908639725"),
+ mp_float("10800276442903044571950"),
+ mp_float("79802042605894718226075"),
+ mp_float("554414190735689621360100"),
+ mp_float("3631412949318767019908655"),
+ mp_float("22480175400544748218482150"),
+ mp_float("131815573939557841826554425"),
+ mp_float("733582324533191467556476800"),
+ mp_float("3881873133988138182486356400"),
+ mp_float("19564640595300216439731236256"),
+ mp_float("94060772092789502114092482000"),
+ mp_float("431982805166885120820276584000"),
+ mp_float("1897638751268816780746214994000"),
+ mp_float("7983169919130884387966835492000"),
+ mp_float("32198785340494567031466236484400"),
+ mp_float("124640459382559614315353173488000"),
+ mp_float("463506708328893565735219613908500"),
+ mp_float("1657387623721498204750179225491000"),
+ mp_float("5703363293394567351640322628895500"),
+ mp_float("18902575486679137508293640712910800"),
+ mp_float("60383227249113911484826907832909500"),
+ mp_float("186045619091864484034331553863559000"),
+ mp_float("553240919931070702523143831225846500"),
+ mp_float("1588794436725126120066464335828072000"),
+ mp_float("4408904561912224983184438531922899800"),
+ mp_float("11828768336837676784153371671012658000"),
+ mp_float("30698470207507304035064702670009041000"),
+ mp_float("77103134474669507808999718333976196000"),
+ mp_float("187500804290673575808249315039442113000"),
+ mp_float("441668561218031089681653942092908088400"),
+ mp_float("1008156498432462269925514433038159767000"),
+ mp_float("2230814379510129278133053213531247144000"),
+ mp_float("4786955856032152409327176687369134496500"),
+ mp_float("9964683618679174403089224941054116707000"),
+ mp_float("20128660909731932294240234380929315748140"),
+ mp_float("39467962568101828027922028197900619114000"),
+ mp_float("75140928735424634130082322915233871005500"),
+ mp_float("138939830491917248014114483880998478463000"),
+ mp_float("249577102920666167729057498823275044646500"),
+ mp_float("435625488734253674581627634309716441564800"),
+ mp_float("739007525531323197950975451061126106226000"),
+ mp_float("1218714164911304922936696357890278140092000"),
+ mp_float("1954145126495713066088151056617170121182000"),
+ mp_float("3047141553179755967459489783199655104216000"),
+ mp_float("4621498022322629883980226171186143574727600"),
+ mp_float("6818603639492404746856071400110703634844000"),
+ mp_float("9787995547013290685003070235642784250018000"),
+ mp_float("13672120764082056829845558424389920857168000"),
+ mp_float("18585539163674046003071305983155048665212750"),
+ mp_float("24590097970399507019448189454635910541666100"),
+ mp_float("31669065567938759040198425812788672667297250"),
+ mp_float("39704500115027697901144295048869380657507000"),
+ mp_float("48462845728636748908749654250825861684898250"),
+ mp_float("57593526807945121891557560124169864611038500"),
+ mp_float("66643938163479355331659462429396557621344550"),
+ mp_float("75091761310962653894827563300728515629684000"),
+ mp_float("82392349216195134134602465288299343538125500"),
+ mp_float("88035660806345485787657428664210257479093000"),
+ mp_float("91604674082278410887157054150597159809326500"),
+ mp_float("92826069736708789698985814872605121940117520"),
+ mp_float("91604674082278410887157054150597159809326500"),
+ mp_float("88035660806345485787657428664210257479093000"),
+ mp_float("82392349216195134134602465288299343538125500"),
+ mp_float("75091761310962653894827563300728515629684000"),
+ mp_float("66643938163479355331659462429396557621344550"),
+ mp_float("57593526807945121891557560124169864611038500"),
+ mp_float("48462845728636748908749654250825861684898250"),
+ mp_float("39704500115027697901144295048869380657507000"),
+ mp_float("31669065567938759040198425812788672667297250"),
+ mp_float("24590097970399507019448189454635910541666100"),
+ mp_float("18585539163674046003071305983155048665212750"),
+ mp_float("13672120764082056829845558424389920857168000"),
+ mp_float("9787995547013290685003070235642784250018000"),
+ mp_float("6818603639492404746856071400110703634844000"),
+ mp_float("4621498022322629883980226171186143574727600"),
+ mp_float("3047141553179755967459489783199655104216000"),
+ mp_float("1954145126495713066088151056617170121182000"),
+ mp_float("1218714164911304922936696357890278140092000"),
+ mp_float("739007525531323197950975451061126106226000"),
+ mp_float("435625488734253674581627634309716441564800"),
+ mp_float("249577102920666167729057498823275044646500"),
+ mp_float("138939830491917248014114483880998478463000"),
+ mp_float("75140928735424634130082322915233871005500"),
+ mp_float("39467962568101828027922028197900619114000"),
+ mp_float("20128660909731932294240234380929315748140"),
+ mp_float("9964683618679174403089224941054116707000"),
+ mp_float("4786955856032152409327176687369134496500"),
+ mp_float("2230814379510129278133053213531247144000"),
+ mp_float("1008156498432462269925514433038159767000"),
+ mp_float("441668561218031089681653942092908088400"),
+ mp_float("187500804290673575808249315039442113000"),
+ mp_float("77103134474669507808999718333976196000"),
+ mp_float("30698470207507304035064702670009041000"),
+ mp_float("11828768336837676784153371671012658000"),
+ mp_float("4408904561912224983184438531922899800"),
+ mp_float("1588794436725126120066464335828072000"),
+ mp_float("553240919931070702523143831225846500"),
+ mp_float("186045619091864484034331553863559000"),
+ mp_float("60383227249113911484826907832909500"),
+ mp_float("18902575486679137508293640712910800"),
+ mp_float("5703363293394567351640322628895500"),
+ mp_float("1657387623721498204750179225491000"),
+ mp_float("463506708328893565735219613908500"),
+ mp_float("124640459382559614315353173488000"),
+ mp_float("32198785340494567031466236484400"),
+ mp_float("7983169919130884387966835492000"),
+ mp_float("1897638751268816780746214994000"),
+ mp_float("431982805166885120820276584000"),
+ mp_float("94060772092789502114092482000"),
+ mp_float("19564640595300216439731236256"),
+ mp_float("3881873133988138182486356400"),
+ mp_float("733582324533191467556476800"),
+ mp_float("131815573939557841826554425"),
+ mp_float("22480175400544748218482150"),
+ mp_float("3631412949318767019908655"),
+ mp_float("554414190735689621360100"),
+ mp_float("79802042605894718226075"),
+ mp_float("10800276442903044571950"),
+ mp_float("1370184324845908639725"),
+ mp_float("162392216278033616560"),
+ mp_float("17910906207136060650"),
+ mp_float(static_cast<boost::int64_t>(1830311583210984300LL)),
+ mp_float(static_cast<boost::int64_t>(172420656389440550LL)),
+ mp_float(static_cast<boost::int64_t>(14885236522829400LL)),
+ mp_float(static_cast<boost::int64_t>(1169554298222310LL)),
+ mp_float(static_cast<boost::int64_t>(82947113349100LL)),
+ mp_float(static_cast<boost::int64_t>(5257211409450LL)),
+ mp_float(static_cast<boost::int64_t>(294109729200LL)),
+ mp_float(static_cast<boost::int64_t>(14297000725LL)),
+ mp_float(static_cast<boost::int32_t>(591600030L)),
+ mp_float(static_cast<boost::int32_t>(20260275L)),
+ mp_float(static_cast<boost::int32_t>(551300L)),
+ mp_float(static_cast<boost::int32_t>(11175L)),
+ mp_float(static_cast<boost::int32_t>(150L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_150_vect(A007318_150_data.begin(), A007318_150_data.end());
+
+ return A007318_150_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_151(void)
+ {
+ static const boost::array<mp_float, 152u> A007318_151_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(151L)),
+ mp_float(static_cast<boost::int32_t>(11325L)),
+ mp_float(static_cast<boost::int32_t>(562475L)),
+ mp_float(static_cast<boost::int32_t>(20811575L)),
+ mp_float(static_cast<boost::int32_t>(611860305L)),
+ mp_float(static_cast<boost::int64_t>(14888600755LL)),
+ mp_float(static_cast<boost::int64_t>(308406729925LL)),
+ mp_float(static_cast<boost::int64_t>(5551321138650LL)),
+ mp_float(static_cast<boost::int64_t>(88204324758550LL)),
+ mp_float(static_cast<boost::int64_t>(1252501411571410LL)),
+ mp_float(static_cast<boost::int64_t>(16054790821051710LL)),
+ mp_float(static_cast<boost::int64_t>(187305892912269950LL)),
+ mp_float(static_cast<boost::int64_t>(2002732239600424850LL)),
+ mp_float("19741217790347044950"),
+ mp_float("180303122485169677210"),
+ mp_float("1532576541123942256285"),
+ mp_float("12170460767748953211675"),
+ mp_float("90602319048797762798025"),
+ mp_float("634216233341584339586175"),
+ mp_float("4185827140054456641268755"),
+ mp_float("26111588349863515238390805"),
+ mp_float("154295749340102590045036575"),
+ mp_float("865397898472749309383031225"),
+ mp_float("4615455458521329650042833200"),
+ mp_float("23446513729288354622217592656"),
+ mp_float("113625412688089718553823718256"),
+ mp_float("526043577259674622934369066000"),
+ mp_float("2329621556435701901566491578000"),
+ mp_float("9880808670399701168713050486000"),
+ mp_float("40181955259625451419433071976400"),
+ mp_float("156839244723054181346819409972400"),
+ mp_float("588147167711453180050572787396500"),
+ mp_float("2120894332050391770485398839399500"),
+ mp_float("7360750917116065556390501854386500"),
+ mp_float("24605938780073704859933963341806300"),
+ mp_float("79285802735793048993120548545820300"),
+ mp_float("246428846340978395519158461696468500"),
+ mp_float("739286539022935186557475385089405500"),
+ mp_float("2142035356656196822589608167053918500"),
+ mp_float("5997698998637351103250902867750971800"),
+ mp_float("16237672898749901767337810202935557800"),
+ mp_float("42527238544344980819218074341021699000"),
+ mp_float("107801604682176811844064421003985237000"),
+ mp_float("264603938765343083617249033373418309000"),
+ mp_float("629169365508704665489903257132350201400"),
+ mp_float("1449825059650493359607168375131067855400"),
+ mp_float("3238970877942591548058567646569406911000"),
+ mp_float("7017770235542281687460229900900381640500"),
+ mp_float("14751639474711326812416401628423251203500"),
+ mp_float("30093344528411106697329459321983432455140"),
+ mp_float("59596623477833760322162262578829934862140"),
+ mp_float("114608891303526462158004351113134490119500"),
+ mp_float("214080759227341882144196806796232349468500"),
+ mp_float("388516933412583415743171982704273523109500"),
+ mp_float("685202591654919842310685133132991486211300"),
+ mp_float("1174633014265576872532603085370842547790800"),
+ mp_float("1957721690442628120887671808951404246318000"),
+ mp_float("3172859291407017989024847414507448261274000"),
+ mp_float("5001286679675469033547640839816825225398000"),
+ mp_float("7668639575502385851439715954385798678943600"),
+ mp_float("11440101661815034630836297571296847209571600"),
+ mp_float("16606599186505695431859141635753487884862000"),
+ mp_float("23460116311095347514848628660032705107186000"),
+ mp_float("32257659927756102832916864407544969522380750"),
+ mp_float("43175637134073553022519495437790959206878850"),
+ mp_float("56259163538338266059646615267424583208963350"),
+ mp_float("71373565682966456941342720861658053324804250"),
+ mp_float("88167345843664446809893949299695242342405250"),
+ mp_float("106056372536581870800307214374995726295936750"),
+ mp_float("124237464971424477223217022553566422232383050"),
+ mp_float("141735699474442009226487025730125073251028550"),
+ mp_float("157484110527157788029430028589027859167809500"),
+ mp_float("170428010022540619922259893952509601017218500"),
+ mp_float("179640334888623896674814482814807417288419500"),
+ mp_float("184430743818987200586142869023202281749444020"),
+ mp_float("184430743818987200586142869023202281749444020"),
+ mp_float("179640334888623896674814482814807417288419500"),
+ mp_float("170428010022540619922259893952509601017218500"),
+ mp_float("157484110527157788029430028589027859167809500"),
+ mp_float("141735699474442009226487025730125073251028550"),
+ mp_float("124237464971424477223217022553566422232383050"),
+ mp_float("106056372536581870800307214374995726295936750"),
+ mp_float("88167345843664446809893949299695242342405250"),
+ mp_float("71373565682966456941342720861658053324804250"),
+ mp_float("56259163538338266059646615267424583208963350"),
+ mp_float("43175637134073553022519495437790959206878850"),
+ mp_float("32257659927756102832916864407544969522380750"),
+ mp_float("23460116311095347514848628660032705107186000"),
+ mp_float("16606599186505695431859141635753487884862000"),
+ mp_float("11440101661815034630836297571296847209571600"),
+ mp_float("7668639575502385851439715954385798678943600"),
+ mp_float("5001286679675469033547640839816825225398000"),
+ mp_float("3172859291407017989024847414507448261274000"),
+ mp_float("1957721690442628120887671808951404246318000"),
+ mp_float("1174633014265576872532603085370842547790800"),
+ mp_float("685202591654919842310685133132991486211300"),
+ mp_float("388516933412583415743171982704273523109500"),
+ mp_float("214080759227341882144196806796232349468500"),
+ mp_float("114608891303526462158004351113134490119500"),
+ mp_float("59596623477833760322162262578829934862140"),
+ mp_float("30093344528411106697329459321983432455140"),
+ mp_float("14751639474711326812416401628423251203500"),
+ mp_float("7017770235542281687460229900900381640500"),
+ mp_float("3238970877942591548058567646569406911000"),
+ mp_float("1449825059650493359607168375131067855400"),
+ mp_float("629169365508704665489903257132350201400"),
+ mp_float("264603938765343083617249033373418309000"),
+ mp_float("107801604682176811844064421003985237000"),
+ mp_float("42527238544344980819218074341021699000"),
+ mp_float("16237672898749901767337810202935557800"),
+ mp_float("5997698998637351103250902867750971800"),
+ mp_float("2142035356656196822589608167053918500"),
+ mp_float("739286539022935186557475385089405500"),
+ mp_float("246428846340978395519158461696468500"),
+ mp_float("79285802735793048993120548545820300"),
+ mp_float("24605938780073704859933963341806300"),
+ mp_float("7360750917116065556390501854386500"),
+ mp_float("2120894332050391770485398839399500"),
+ mp_float("588147167711453180050572787396500"),
+ mp_float("156839244723054181346819409972400"),
+ mp_float("40181955259625451419433071976400"),
+ mp_float("9880808670399701168713050486000"),
+ mp_float("2329621556435701901566491578000"),
+ mp_float("526043577259674622934369066000"),
+ mp_float("113625412688089718553823718256"),
+ mp_float("23446513729288354622217592656"),
+ mp_float("4615455458521329650042833200"),
+ mp_float("865397898472749309383031225"),
+ mp_float("154295749340102590045036575"),
+ mp_float("26111588349863515238390805"),
+ mp_float("4185827140054456641268755"),
+ mp_float("634216233341584339586175"),
+ mp_float("90602319048797762798025"),
+ mp_float("12170460767748953211675"),
+ mp_float("1532576541123942256285"),
+ mp_float("180303122485169677210"),
+ mp_float("19741217790347044950"),
+ mp_float(static_cast<boost::int64_t>(2002732239600424850LL)),
+ mp_float(static_cast<boost::int64_t>(187305892912269950LL)),
+ mp_float(static_cast<boost::int64_t>(16054790821051710LL)),
+ mp_float(static_cast<boost::int64_t>(1252501411571410LL)),
+ mp_float(static_cast<boost::int64_t>(88204324758550LL)),
+ mp_float(static_cast<boost::int64_t>(5551321138650LL)),
+ mp_float(static_cast<boost::int64_t>(308406729925LL)),
+ mp_float(static_cast<boost::int64_t>(14888600755LL)),
+ mp_float(static_cast<boost::int32_t>(611860305L)),
+ mp_float(static_cast<boost::int32_t>(20811575L)),
+ mp_float(static_cast<boost::int32_t>(562475L)),
+ mp_float(static_cast<boost::int32_t>(11325L)),
+ mp_float(static_cast<boost::int32_t>(151L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_151_vect(A007318_151_data.begin(), A007318_151_data.end());
+
+ return A007318_151_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_152(void)
+ {
+ static const boost::array<mp_float, 153u> A007318_152_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(152L)),
+ mp_float(static_cast<boost::int32_t>(11476L)),
+ mp_float(static_cast<boost::int32_t>(573800L)),
+ mp_float(static_cast<boost::int32_t>(21374050L)),
+ mp_float(static_cast<boost::int32_t>(632671880L)),
+ mp_float(static_cast<boost::int64_t>(15500461060LL)),
+ mp_float(static_cast<boost::int64_t>(323295330680LL)),
+ mp_float(static_cast<boost::int64_t>(5859727868575LL)),
+ mp_float(static_cast<boost::int64_t>(93755645897200LL)),
+ mp_float(static_cast<boost::int64_t>(1340705736329960LL)),
+ mp_float(static_cast<boost::int64_t>(17307292232623120LL)),
+ mp_float(static_cast<boost::int64_t>(203360683733321660LL)),
+ mp_float(static_cast<boost::int64_t>(2190038132512694800LL)),
+ mp_float("21743950029947469800"),
+ mp_float("200044340275516722160"),
+ mp_float("1712879663609111933495"),
+ mp_float("13703037308872895467960"),
+ mp_float("102772779816546716009700"),
+ mp_float("724818552390382102384200"),
+ mp_float("4820043373396040980854930"),
+ mp_float("30297415489917971879659560"),
+ mp_float("180407337689966105283427380"),
+ mp_float("1019693647812851899428067800"),
+ mp_float("5480853356994078959425864425"),
+ mp_float("28061969187809684272260425856"),
+ mp_float("137071926417378073176041310912"),
+ mp_float("639668989947764341488192784256"),
+ mp_float("2855665133695376524500860644000"),
+ mp_float("12210430226835403070279542064000"),
+ mp_float("50062763930025152588146122462400"),
+ mp_float("197021199982679632766252481948800"),
+ mp_float("744986412434507361397392197368900"),
+ mp_float("2709041499761844950535971626796000"),
+ mp_float("9481645249166457326875900693786000"),
+ mp_float("31966689697189770416324465196192800"),
+ mp_float("103891741515866753853054511887626600"),
+ mp_float("325714649076771444512279010242288800"),
+ mp_float("985715385363913582076633846785874000"),
+ mp_float("2881321895679132009147083552143324000"),
+ mp_float("8139734355293547925840511034804890300"),
+ mp_float("22235371897387252870588713070686529600"),
+ mp_float("58764911443094882586555884543957256800"),
+ mp_float("150328843226521792663282495345006936000"),
+ mp_float("372405543447519895461313454377403546000"),
+ mp_float("893773304274047749107152290505768510400"),
+ mp_float("2078994425159198025097071632263418056800"),
+ mp_float("4688795937593084907665736021700474766400"),
+ mp_float("10256741113484873235518797547469788551500"),
+ mp_float("21769409710253608499876631529323632844000"),
+ mp_float("44844984003122433509745860950406683658640"),
+ mp_float("89689968006244867019491721900813367317280"),
+ mp_float("174205514781360222480166613691964424981640"),
+ mp_float("328689650530868344302201157909366839588000"),
+ mp_float("602597692639925297887368789500505872578000"),
+ mp_float("1073719525067503258053857115837265009320800"),
+ mp_float("1859835605920496714843288218503834034002100"),
+ mp_float("3132354704708204993420274894322246794108800"),
+ mp_float("5130580981849646109912519223458852507592000"),
+ mp_float("8174145971082487022572488254324273486672000"),
+ mp_float("12669926255177854884987356794202623904341600"),
+ mp_float("19108741237317420482276013525682645888515200"),
+ mp_float("28046700848320730062695439207050335094433600"),
+ mp_float("40066715497601042946707770295786192992048000"),
+ mp_float("55717776238851450347765493067577674629566750"),
+ mp_float("75433297061829655855436359845335928729259600"),
+ mp_float("99434800672411819082166110705215542415842200"),
+ mp_float("127632729221304723000989336129082636533767600"),
+ mp_float("159540911526630903751236670161353295667209500"),
+ mp_float("194223718380246317610201163674690968638342000"),
+ mp_float("230293837508006348023524236928562148528319800"),
+ mp_float("265973164445866486449704048283691495483411600"),
+ mp_float("299219810001599797255917054319152932418838050"),
+ mp_float("327912120549698407951689922541537460185028000"),
+ mp_float("350068344911164516597074376767317018305638000"),
+ mp_float("364071078707611097260957351838009699037863520"),
+ mp_float("368861487637974401172285738046404563498888040"),
+ mp_float("364071078707611097260957351838009699037863520"),
+ mp_float("350068344911164516597074376767317018305638000"),
+ mp_float("327912120549698407951689922541537460185028000"),
+ mp_float("299219810001599797255917054319152932418838050"),
+ mp_float("265973164445866486449704048283691495483411600"),
+ mp_float("230293837508006348023524236928562148528319800"),
+ mp_float("194223718380246317610201163674690968638342000"),
+ mp_float("159540911526630903751236670161353295667209500"),
+ mp_float("127632729221304723000989336129082636533767600"),
+ mp_float("99434800672411819082166110705215542415842200"),
+ mp_float("75433297061829655855436359845335928729259600"),
+ mp_float("55717776238851450347765493067577674629566750"),
+ mp_float("40066715497601042946707770295786192992048000"),
+ mp_float("28046700848320730062695439207050335094433600"),
+ mp_float("19108741237317420482276013525682645888515200"),
+ mp_float("12669926255177854884987356794202623904341600"),
+ mp_float("8174145971082487022572488254324273486672000"),
+ mp_float("5130580981849646109912519223458852507592000"),
+ mp_float("3132354704708204993420274894322246794108800"),
+ mp_float("1859835605920496714843288218503834034002100"),
+ mp_float("1073719525067503258053857115837265009320800"),
+ mp_float("602597692639925297887368789500505872578000"),
+ mp_float("328689650530868344302201157909366839588000"),
+ mp_float("174205514781360222480166613691964424981640"),
+ mp_float("89689968006244867019491721900813367317280"),
+ mp_float("44844984003122433509745860950406683658640"),
+ mp_float("21769409710253608499876631529323632844000"),
+ mp_float("10256741113484873235518797547469788551500"),
+ mp_float("4688795937593084907665736021700474766400"),
+ mp_float("2078994425159198025097071632263418056800"),
+ mp_float("893773304274047749107152290505768510400"),
+ mp_float("372405543447519895461313454377403546000"),
+ mp_float("150328843226521792663282495345006936000"),
+ mp_float("58764911443094882586555884543957256800"),
+ mp_float("22235371897387252870588713070686529600"),
+ mp_float("8139734355293547925840511034804890300"),
+ mp_float("2881321895679132009147083552143324000"),
+ mp_float("985715385363913582076633846785874000"),
+ mp_float("325714649076771444512279010242288800"),
+ mp_float("103891741515866753853054511887626600"),
+ mp_float("31966689697189770416324465196192800"),
+ mp_float("9481645249166457326875900693786000"),
+ mp_float("2709041499761844950535971626796000"),
+ mp_float("744986412434507361397392197368900"),
+ mp_float("197021199982679632766252481948800"),
+ mp_float("50062763930025152588146122462400"),
+ mp_float("12210430226835403070279542064000"),
+ mp_float("2855665133695376524500860644000"),
+ mp_float("639668989947764341488192784256"),
+ mp_float("137071926417378073176041310912"),
+ mp_float("28061969187809684272260425856"),
+ mp_float("5480853356994078959425864425"),
+ mp_float("1019693647812851899428067800"),
+ mp_float("180407337689966105283427380"),
+ mp_float("30297415489917971879659560"),
+ mp_float("4820043373396040980854930"),
+ mp_float("724818552390382102384200"),
+ mp_float("102772779816546716009700"),
+ mp_float("13703037308872895467960"),
+ mp_float("1712879663609111933495"),
+ mp_float("200044340275516722160"),
+ mp_float("21743950029947469800"),
+ mp_float(static_cast<boost::int64_t>(2190038132512694800LL)),
+ mp_float(static_cast<boost::int64_t>(203360683733321660LL)),
+ mp_float(static_cast<boost::int64_t>(17307292232623120LL)),
+ mp_float(static_cast<boost::int64_t>(1340705736329960LL)),
+ mp_float(static_cast<boost::int64_t>(93755645897200LL)),
+ mp_float(static_cast<boost::int64_t>(5859727868575LL)),
+ mp_float(static_cast<boost::int64_t>(323295330680LL)),
+ mp_float(static_cast<boost::int64_t>(15500461060LL)),
+ mp_float(static_cast<boost::int32_t>(632671880L)),
+ mp_float(static_cast<boost::int32_t>(21374050L)),
+ mp_float(static_cast<boost::int32_t>(573800L)),
+ mp_float(static_cast<boost::int32_t>(11476L)),
+ mp_float(static_cast<boost::int32_t>(152L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_152_vect(A007318_152_data.begin(), A007318_152_data.end());
+
+ return A007318_152_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_153(void)
+ {
+ static const boost::array<mp_float, 154u> A007318_153_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(153L)),
+ mp_float(static_cast<boost::int32_t>(11628L)),
+ mp_float(static_cast<boost::int32_t>(585276L)),
+ mp_float(static_cast<boost::int32_t>(21947850L)),
+ mp_float(static_cast<boost::int32_t>(654045930L)),
+ mp_float(static_cast<boost::int64_t>(16133132940LL)),
+ mp_float(static_cast<boost::int64_t>(338795791740LL)),
+ mp_float(static_cast<boost::int64_t>(6183023199255LL)),
+ mp_float(static_cast<boost::int64_t>(99615373765775LL)),
+ mp_float(static_cast<boost::int64_t>(1434461382227160LL)),
+ mp_float(static_cast<boost::int64_t>(18647997968953080LL)),
+ mp_float(static_cast<boost::int64_t>(220667975965944780LL)),
+ mp_float(static_cast<boost::int64_t>(2393398816246016460LL)),
+ mp_float("23933988162460164600"),
+ mp_float("221788290305464191960"),
+ mp_float("1912924003884628655655"),
+ mp_float("15415916972482007401455"),
+ mp_float("116475817125419611477660"),
+ mp_float("827591332206928818393900"),
+ mp_float("5544861925786423083239130"),
+ mp_float("35117458863314012860514490"),
+ mp_float("210704753179884077163086940"),
+ mp_float("1200100985502818004711495180"),
+ mp_float("6500547004806930858853932225"),
+ mp_float("33542822544803763231686290281"),
+ mp_float("165133895605187757448301736768"),
+ mp_float("776740916365142414664234095168"),
+ mp_float("3495334123643140865989053428256"),
+ mp_float("15066095360530779594780402708000"),
+ mp_float("62273194156860555658425664526400"),
+ mp_float("247083963912704785354398604411200"),
+ mp_float("942007612417186994163644679317700"),
+ mp_float("3454027912196352311933363824164900"),
+ mp_float("12190686748928302277411872320582000"),
+ mp_float("41448334946356227743200365889978800"),
+ mp_float("135858431213056524269378977083819400"),
+ mp_float("429606390592638198365333522129915400"),
+ mp_float("1311430034440685026588912857028162800"),
+ mp_float("3867037281043045591223717398929198000"),
+ mp_float("11021056250972679934987594586948214300"),
+ mp_float("30375106252680800796429224105491419900"),
+ mp_float("81000283340482135457144597614643786400"),
+ mp_float("209093754669616675249838379888964192800"),
+ mp_float("522734386674041688124595949722410482000"),
+ mp_float("1266178847721567644568465744883172056400"),
+ mp_float("2972767729433245774204223922769186567200"),
+ mp_float("6767790362752282932762807653963892823200"),
+ mp_float("14945537051077958143184533569170263317900"),
+ mp_float("32026150823738481735395429076793421395500"),
+ mp_float("66614393713376042009622492479730316502640"),
+ mp_float("134534952009367300529237582851220050975920"),
+ mp_float("263895482787605089499658335592777792298920"),
+ mp_float("502895165312228566782367771601331264569640"),
+ mp_float("931287343170793642189569947409872712166000"),
+ mp_float("1676317217707428555941225905337770881898800"),
+ mp_float("2933555130987999972897145334341099043322900"),
+ mp_float("4992190310628701708263563112826080828110900"),
+ mp_float("8262935686557851103332794117781099301700800"),
+ mp_float("13304726952932133132485007477783125994264000"),
+ mp_float("20844072226260341907559845048526897391013600"),
+ mp_float("31778667492495275367263370319885269792856800"),
+ mp_float("47155442085638150544971452732732980982948800"),
+ mp_float("68113416345921773009403209502836528086481600"),
+ mp_float("95784491736452493294473263363363867621614750"),
+ mp_float("131151073300681106203201852912913603358826350"),
+ mp_float("174868097734241474937602470550551471145101800"),
+ mp_float("227067529893716542083155446834298178949609800"),
+ mp_float("287173640747935626752226006290435932200977100"),
+ mp_float("353764629906877221361437833836044264305551500"),
+ mp_float("424517555888252665633725400603253117166661800"),
+ mp_float("496267001953872834473228285212253644011731400"),
+ mp_float("565192974447466283705621102602844427902249650"),
+ mp_float("627131930551298205207606976860690392603866050"),
+ mp_float("677980465460862924548764299308854478490666000"),
+ mp_float("714139423618775613858031728605326717343501520"),
+ mp_float("732932566345585498433243089884414262536751560"),
+ mp_float("732932566345585498433243089884414262536751560"),
+ mp_float("714139423618775613858031728605326717343501520"),
+ mp_float("677980465460862924548764299308854478490666000"),
+ mp_float("627131930551298205207606976860690392603866050"),
+ mp_float("565192974447466283705621102602844427902249650"),
+ mp_float("496267001953872834473228285212253644011731400"),
+ mp_float("424517555888252665633725400603253117166661800"),
+ mp_float("353764629906877221361437833836044264305551500"),
+ mp_float("287173640747935626752226006290435932200977100"),
+ mp_float("227067529893716542083155446834298178949609800"),
+ mp_float("174868097734241474937602470550551471145101800"),
+ mp_float("131151073300681106203201852912913603358826350"),
+ mp_float("95784491736452493294473263363363867621614750"),
+ mp_float("68113416345921773009403209502836528086481600"),
+ mp_float("47155442085638150544971452732732980982948800"),
+ mp_float("31778667492495275367263370319885269792856800"),
+ mp_float("20844072226260341907559845048526897391013600"),
+ mp_float("13304726952932133132485007477783125994264000"),
+ mp_float("8262935686557851103332794117781099301700800"),
+ mp_float("4992190310628701708263563112826080828110900"),
+ mp_float("2933555130987999972897145334341099043322900"),
+ mp_float("1676317217707428555941225905337770881898800"),
+ mp_float("931287343170793642189569947409872712166000"),
+ mp_float("502895165312228566782367771601331264569640"),
+ mp_float("263895482787605089499658335592777792298920"),
+ mp_float("134534952009367300529237582851220050975920"),
+ mp_float("66614393713376042009622492479730316502640"),
+ mp_float("32026150823738481735395429076793421395500"),
+ mp_float("14945537051077958143184533569170263317900"),
+ mp_float("6767790362752282932762807653963892823200"),
+ mp_float("2972767729433245774204223922769186567200"),
+ mp_float("1266178847721567644568465744883172056400"),
+ mp_float("522734386674041688124595949722410482000"),
+ mp_float("209093754669616675249838379888964192800"),
+ mp_float("81000283340482135457144597614643786400"),
+ mp_float("30375106252680800796429224105491419900"),
+ mp_float("11021056250972679934987594586948214300"),
+ mp_float("3867037281043045591223717398929198000"),
+ mp_float("1311430034440685026588912857028162800"),
+ mp_float("429606390592638198365333522129915400"),
+ mp_float("135858431213056524269378977083819400"),
+ mp_float("41448334946356227743200365889978800"),
+ mp_float("12190686748928302277411872320582000"),
+ mp_float("3454027912196352311933363824164900"),
+ mp_float("942007612417186994163644679317700"),
+ mp_float("247083963912704785354398604411200"),
+ mp_float("62273194156860555658425664526400"),
+ mp_float("15066095360530779594780402708000"),
+ mp_float("3495334123643140865989053428256"),
+ mp_float("776740916365142414664234095168"),
+ mp_float("165133895605187757448301736768"),
+ mp_float("33542822544803763231686290281"),
+ mp_float("6500547004806930858853932225"),
+ mp_float("1200100985502818004711495180"),
+ mp_float("210704753179884077163086940"),
+ mp_float("35117458863314012860514490"),
+ mp_float("5544861925786423083239130"),
+ mp_float("827591332206928818393900"),
+ mp_float("116475817125419611477660"),
+ mp_float("15415916972482007401455"),
+ mp_float("1912924003884628655655"),
+ mp_float("221788290305464191960"),
+ mp_float("23933988162460164600"),
+ mp_float(static_cast<boost::int64_t>(2393398816246016460LL)),
+ mp_float(static_cast<boost::int64_t>(220667975965944780LL)),
+ mp_float(static_cast<boost::int64_t>(18647997968953080LL)),
+ mp_float(static_cast<boost::int64_t>(1434461382227160LL)),
+ mp_float(static_cast<boost::int64_t>(99615373765775LL)),
+ mp_float(static_cast<boost::int64_t>(6183023199255LL)),
+ mp_float(static_cast<boost::int64_t>(338795791740LL)),
+ mp_float(static_cast<boost::int64_t>(16133132940LL)),
+ mp_float(static_cast<boost::int32_t>(654045930L)),
+ mp_float(static_cast<boost::int32_t>(21947850L)),
+ mp_float(static_cast<boost::int32_t>(585276L)),
+ mp_float(static_cast<boost::int32_t>(11628L)),
+ mp_float(static_cast<boost::int32_t>(153L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_153_vect(A007318_153_data.begin(), A007318_153_data.end());
+
+ return A007318_153_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_154(void)
+ {
+ static const boost::array<mp_float, 155u> A007318_154_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(154L)),
+ mp_float(static_cast<boost::int32_t>(11781L)),
+ mp_float(static_cast<boost::int32_t>(596904L)),
+ mp_float(static_cast<boost::int32_t>(22533126L)),
+ mp_float(static_cast<boost::int32_t>(675993780L)),
+ mp_float(static_cast<boost::int64_t>(16787178870LL)),
+ mp_float(static_cast<boost::int64_t>(354928924680LL)),
+ mp_float(static_cast<boost::int64_t>(6521818990995LL)),
+ mp_float(static_cast<boost::int64_t>(105798396965030LL)),
+ mp_float(static_cast<boost::int64_t>(1534076755992935LL)),
+ mp_float(static_cast<boost::int64_t>(20082459351180240LL)),
+ mp_float(static_cast<boost::int64_t>(239315973934897860LL)),
+ mp_float(static_cast<boost::int64_t>(2614066792211961240LL)),
+ mp_float("26327386978706181060"),
+ mp_float("245722278467924356560"),
+ mp_float("2134712294190092847615"),
+ mp_float("17328840976366636057110"),
+ mp_float("131891734097901618879115"),
+ mp_float("944067149332348429871560"),
+ mp_float("6372453257993351901633030"),
+ mp_float("40662320789100435943753620"),
+ mp_float("245822212043198090023601430"),
+ mp_float("1410805738682702081874582120"),
+ mp_float("7700647990309748863565427405"),
+ mp_float("40043369549610694090540222506"),
+ mp_float("198676718149991520679988027049"),
+ mp_float("941874811970330172112535831936"),
+ mp_float("4272075040008283280653287523424"),
+ mp_float("18561429484173920460769456136256"),
+ mp_float("77339289517391335253206067234400"),
+ mp_float("309357158069565341012824268937600"),
+ mp_float("1189091576329891779518043283728900"),
+ mp_float("4396035524613539306097008503482600"),
+ mp_float("15644714661124654589345236144746900"),
+ mp_float("53639021695284530020612238210560800"),
+ mp_float("177306766159412752012579342973798200"),
+ mp_float("565464821805694722634712499213734800"),
+ mp_float("1741036425033323224954246379158078200"),
+ mp_float("5178467315483730617812630255957360800"),
+ mp_float("14888093532015725526211311985877412300"),
+ mp_float("41396162503653480731416818692439634200"),
+ mp_float("111375389593162936253573821720135206300"),
+ mp_float("290094038010098810706982977503607979200"),
+ mp_float("731828141343658363374434329611374674800"),
+ mp_float("1788913234395609332693061694605582538400"),
+ mp_float("4238946577154813418772689667652358623600"),
+ mp_float("9740558092185528706967031576733079390400"),
+ mp_float("21713327413830241075947341223134156141100"),
+ mp_float("46971687874816439878579962645963684713400"),
+ mp_float("98640544537114523745017921556523737898140"),
+ mp_float("201149345722743342538860075330950367478560"),
+ mp_float("398430434796972390028895918443997843274840"),
+ mp_float("766790648099833656282026107194109056868560"),
+ mp_float("1434182508483022208971937719011203976735640"),
+ mp_float("2607604560878222198130795852747643594064800"),
+ mp_float("4609872348695428528838371239678869925221700"),
+ mp_float("7925745441616701681160708447167179871433800"),
+ mp_float("13255125997186552811596357230607180129811700"),
+ mp_float("21567662639489984235817801595564225295964800"),
+ mp_float("34148799179192475040044852526310023385277600"),
+ mp_float("52622739718755617274823215368412167183870400"),
+ mp_float("78934109578133425912234823052618250775805600"),
+ mp_float("115268858431559923554374662235569509069430400"),
+ mp_float("163897908082374266303876472866200395708096350"),
+ mp_float("226935565037133599497675116276277470980441100"),
+ mp_float("306019171034922581140804323463465074503928150"),
+ mp_float("401935627627958017020757917384849650094711600"),
+ mp_float("514241170641652168835381453124734111150586900"),
+ mp_float("640938270654812848113663840126480196506528600"),
+ mp_float("778282185795129886995163234439297381472213300"),
+ mp_float("920784557842125500106953685815506761178393200"),
+ mp_float("1061459976401339118178849387815098071913981050"),
+ mp_float("1192324904998764488913228079463534820506115700"),
+ mp_float("1305112396012161129756371276169544871094532050"),
+ mp_float("1392119889079638538406796027914181195834167520"),
+ mp_float("1447071989964361112291274818489740979880253080"),
+ mp_float("1465865132691170996866486179768828525073503120"),
+ mp_float("1447071989964361112291274818489740979880253080"),
+ mp_float("1392119889079638538406796027914181195834167520"),
+ mp_float("1305112396012161129756371276169544871094532050"),
+ mp_float("1192324904998764488913228079463534820506115700"),
+ mp_float("1061459976401339118178849387815098071913981050"),
+ mp_float("920784557842125500106953685815506761178393200"),
+ mp_float("778282185795129886995163234439297381472213300"),
+ mp_float("640938270654812848113663840126480196506528600"),
+ mp_float("514241170641652168835381453124734111150586900"),
+ mp_float("401935627627958017020757917384849650094711600"),
+ mp_float("306019171034922581140804323463465074503928150"),
+ mp_float("226935565037133599497675116276277470980441100"),
+ mp_float("163897908082374266303876472866200395708096350"),
+ mp_float("115268858431559923554374662235569509069430400"),
+ mp_float("78934109578133425912234823052618250775805600"),
+ mp_float("52622739718755617274823215368412167183870400"),
+ mp_float("34148799179192475040044852526310023385277600"),
+ mp_float("21567662639489984235817801595564225295964800"),
+ mp_float("13255125997186552811596357230607180129811700"),
+ mp_float("7925745441616701681160708447167179871433800"),
+ mp_float("4609872348695428528838371239678869925221700"),
+ mp_float("2607604560878222198130795852747643594064800"),
+ mp_float("1434182508483022208971937719011203976735640"),
+ mp_float("766790648099833656282026107194109056868560"),
+ mp_float("398430434796972390028895918443997843274840"),
+ mp_float("201149345722743342538860075330950367478560"),
+ mp_float("98640544537114523745017921556523737898140"),
+ mp_float("46971687874816439878579962645963684713400"),
+ mp_float("21713327413830241075947341223134156141100"),
+ mp_float("9740558092185528706967031576733079390400"),
+ mp_float("4238946577154813418772689667652358623600"),
+ mp_float("1788913234395609332693061694605582538400"),
+ mp_float("731828141343658363374434329611374674800"),
+ mp_float("290094038010098810706982977503607979200"),
+ mp_float("111375389593162936253573821720135206300"),
+ mp_float("41396162503653480731416818692439634200"),
+ mp_float("14888093532015725526211311985877412300"),
+ mp_float("5178467315483730617812630255957360800"),
+ mp_float("1741036425033323224954246379158078200"),
+ mp_float("565464821805694722634712499213734800"),
+ mp_float("177306766159412752012579342973798200"),
+ mp_float("53639021695284530020612238210560800"),
+ mp_float("15644714661124654589345236144746900"),
+ mp_float("4396035524613539306097008503482600"),
+ mp_float("1189091576329891779518043283728900"),
+ mp_float("309357158069565341012824268937600"),
+ mp_float("77339289517391335253206067234400"),
+ mp_float("18561429484173920460769456136256"),
+ mp_float("4272075040008283280653287523424"),
+ mp_float("941874811970330172112535831936"),
+ mp_float("198676718149991520679988027049"),
+ mp_float("40043369549610694090540222506"),
+ mp_float("7700647990309748863565427405"),
+ mp_float("1410805738682702081874582120"),
+ mp_float("245822212043198090023601430"),
+ mp_float("40662320789100435943753620"),
+ mp_float("6372453257993351901633030"),
+ mp_float("944067149332348429871560"),
+ mp_float("131891734097901618879115"),
+ mp_float("17328840976366636057110"),
+ mp_float("2134712294190092847615"),
+ mp_float("245722278467924356560"),
+ mp_float("26327386978706181060"),
+ mp_float(static_cast<boost::int64_t>(2614066792211961240LL)),
+ mp_float(static_cast<boost::int64_t>(239315973934897860LL)),
+ mp_float(static_cast<boost::int64_t>(20082459351180240LL)),
+ mp_float(static_cast<boost::int64_t>(1534076755992935LL)),
+ mp_float(static_cast<boost::int64_t>(105798396965030LL)),
+ mp_float(static_cast<boost::int64_t>(6521818990995LL)),
+ mp_float(static_cast<boost::int64_t>(354928924680LL)),
+ mp_float(static_cast<boost::int64_t>(16787178870LL)),
+ mp_float(static_cast<boost::int32_t>(675993780L)),
+ mp_float(static_cast<boost::int32_t>(22533126L)),
+ mp_float(static_cast<boost::int32_t>(596904L)),
+ mp_float(static_cast<boost::int32_t>(11781L)),
+ mp_float(static_cast<boost::int32_t>(154L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_154_vect(A007318_154_data.begin(), A007318_154_data.end());
+
+ return A007318_154_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_155(void)
+ {
+ static const boost::array<mp_float, 156u> A007318_155_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(155L)),
+ mp_float(static_cast<boost::int32_t>(11935L)),
+ mp_float(static_cast<boost::int32_t>(608685L)),
+ mp_float(static_cast<boost::int32_t>(23130030L)),
+ mp_float(static_cast<boost::int32_t>(698526906L)),
+ mp_float(static_cast<boost::int64_t>(17463172650LL)),
+ mp_float(static_cast<boost::int64_t>(371716103550LL)),
+ mp_float(static_cast<boost::int64_t>(6876747915675LL)),
+ mp_float(static_cast<boost::int64_t>(112320215956025LL)),
+ mp_float(static_cast<boost::int64_t>(1639875152957965LL)),
+ mp_float(static_cast<boost::int64_t>(21616536107173175LL)),
+ mp_float(static_cast<boost::int64_t>(259398433286078100LL)),
+ mp_float(static_cast<boost::int64_t>(2853382766146859100LL)),
+ mp_float("28941453770918142300"),
+ mp_float("272049665446630537620"),
+ mp_float("2380434572658017204175"),
+ mp_float("19463553270556728904725"),
+ mp_float("149220575074268254936225"),
+ mp_float("1075958883430250048750675"),
+ mp_float("7316520407325700331504590"),
+ mp_float("47034774047093787845386650"),
+ mp_float("286484532832298525967355050"),
+ mp_float("1656627950725900171898183550"),
+ mp_float("9111453728992450945440009525"),
+ mp_float("47744017539920442954105649911"),
+ mp_float("238720087699602214770528249555"),
+ mp_float("1140551530120321692792523858985"),
+ mp_float("5213949851978613452765823355360"),
+ mp_float("22833504524182203741422743659680"),
+ mp_float("95900719001565255713975523370656"),
+ mp_float("386696447586956676266030336172000"),
+ mp_float("1498448734399457120530867552666500"),
+ mp_float("5585127100943431085615051787211500"),
+ mp_float("20040750185738193895442244648229500"),
+ mp_float("69283736356409184609957474355307700"),
+ mp_float("230945787854697282033191581184359000"),
+ mp_float("742771587965107474647291842187533000"),
+ mp_float("2306501246839017947588958878371813000"),
+ mp_float("6919503740517053842766876635115439000"),
+ mp_float("20066560847499456144023942241834773100"),
+ mp_float("56284256035669206257628130678317046500"),
+ mp_float("152771552096816416984990640412574840500"),
+ mp_float("401469427603261746960556799223743185500"),
+ mp_float("1021922179353757174081417307114982654000"),
+ mp_float("2520741375739267696067496024216957213200"),
+ mp_float("6027859811550422751465751362257941162000"),
+ mp_float("13979504669340342125739721244385438014000"),
+ mp_float("31453885506015769782914372799867235531500"),
+ mp_float("68685015288646680954527303869097840854500"),
+ mp_float("145612232411930963623597884202487422611540"),
+ mp_float("299789890259857866283877996887474105376700"),
+ mp_float("599579780519715732567755993774948210753400"),
+ mp_float("1165221082896806046310922025638106900143400"),
+ mp_float("2200973156582855865253963826205313033604200"),
+ mp_float("4041787069361244407102733571758847570800440"),
+ mp_float("7217476909573650726969167092426513519286500"),
+ mp_float("12535617790312130209999079686846049796655500"),
+ mp_float("21180871438803254492757065677774360001245500"),
+ mp_float("34822788636676537047414158826171405425776500"),
+ mp_float("55716461818682459275862654121874248681242400"),
+ mp_float("86771538897948092314868067894722190569148000"),
+ mp_float("131556849296889043187058038421030417959676000"),
+ mp_float("194202968009693349466609485288187759845236000"),
+ mp_float("279166766513934189858251135101769904777526750"),
+ mp_float("390833473119507865801551589142477866688537450"),
+ mp_float("532954736072056180638479439739742545484369250"),
+ mp_float("707954798662880598161562240848314724598639750"),
+ mp_float("916176798269610185856139370509583761245298500"),
+ mp_float("1155179441296465016949045293251214307657115500"),
+ mp_float("1419220456449942735108827074565777577978741900"),
+ mp_float("1699066743637255387102116920254804142650606500"),
+ mp_float("1982244534243464618285803073630604833092374250"),
+ mp_float("2253784881400103607092077467278632892420096750"),
+ mp_float("2497437301010925618669599355633079691600647750"),
+ mp_float("2697232285091799668163167304083726066928699570"),
+ mp_float("2839191879043999650698070846403922175714420600"),
+ mp_float("2912937122655532109157760998258569504953756200"),
+ mp_float("2912937122655532109157760998258569504953756200"),
+ mp_float("2839191879043999650698070846403922175714420600"),
+ mp_float("2697232285091799668163167304083726066928699570"),
+ mp_float("2497437301010925618669599355633079691600647750"),
+ mp_float("2253784881400103607092077467278632892420096750"),
+ mp_float("1982244534243464618285803073630604833092374250"),
+ mp_float("1699066743637255387102116920254804142650606500"),
+ mp_float("1419220456449942735108827074565777577978741900"),
+ mp_float("1155179441296465016949045293251214307657115500"),
+ mp_float("916176798269610185856139370509583761245298500"),
+ mp_float("707954798662880598161562240848314724598639750"),
+ mp_float("532954736072056180638479439739742545484369250"),
+ mp_float("390833473119507865801551589142477866688537450"),
+ mp_float("279166766513934189858251135101769904777526750"),
+ mp_float("194202968009693349466609485288187759845236000"),
+ mp_float("131556849296889043187058038421030417959676000"),
+ mp_float("86771538897948092314868067894722190569148000"),
+ mp_float("55716461818682459275862654121874248681242400"),
+ mp_float("34822788636676537047414158826171405425776500"),
+ mp_float("21180871438803254492757065677774360001245500"),
+ mp_float("12535617790312130209999079686846049796655500"),
+ mp_float("7217476909573650726969167092426513519286500"),
+ mp_float("4041787069361244407102733571758847570800440"),
+ mp_float("2200973156582855865253963826205313033604200"),
+ mp_float("1165221082896806046310922025638106900143400"),
+ mp_float("599579780519715732567755993774948210753400"),
+ mp_float("299789890259857866283877996887474105376700"),
+ mp_float("145612232411930963623597884202487422611540"),
+ mp_float("68685015288646680954527303869097840854500"),
+ mp_float("31453885506015769782914372799867235531500"),
+ mp_float("13979504669340342125739721244385438014000"),
+ mp_float("6027859811550422751465751362257941162000"),
+ mp_float("2520741375739267696067496024216957213200"),
+ mp_float("1021922179353757174081417307114982654000"),
+ mp_float("401469427603261746960556799223743185500"),
+ mp_float("152771552096816416984990640412574840500"),
+ mp_float("56284256035669206257628130678317046500"),
+ mp_float("20066560847499456144023942241834773100"),
+ mp_float("6919503740517053842766876635115439000"),
+ mp_float("2306501246839017947588958878371813000"),
+ mp_float("742771587965107474647291842187533000"),
+ mp_float("230945787854697282033191581184359000"),
+ mp_float("69283736356409184609957474355307700"),
+ mp_float("20040750185738193895442244648229500"),
+ mp_float("5585127100943431085615051787211500"),
+ mp_float("1498448734399457120530867552666500"),
+ mp_float("386696447586956676266030336172000"),
+ mp_float("95900719001565255713975523370656"),
+ mp_float("22833504524182203741422743659680"),
+ mp_float("5213949851978613452765823355360"),
+ mp_float("1140551530120321692792523858985"),
+ mp_float("238720087699602214770528249555"),
+ mp_float("47744017539920442954105649911"),
+ mp_float("9111453728992450945440009525"),
+ mp_float("1656627950725900171898183550"),
+ mp_float("286484532832298525967355050"),
+ mp_float("47034774047093787845386650"),
+ mp_float("7316520407325700331504590"),
+ mp_float("1075958883430250048750675"),
+ mp_float("149220575074268254936225"),
+ mp_float("19463553270556728904725"),
+ mp_float("2380434572658017204175"),
+ mp_float("272049665446630537620"),
+ mp_float("28941453770918142300"),
+ mp_float(static_cast<boost::int64_t>(2853382766146859100LL)),
+ mp_float(static_cast<boost::int64_t>(259398433286078100LL)),
+ mp_float(static_cast<boost::int64_t>(21616536107173175LL)),
+ mp_float(static_cast<boost::int64_t>(1639875152957965LL)),
+ mp_float(static_cast<boost::int64_t>(112320215956025LL)),
+ mp_float(static_cast<boost::int64_t>(6876747915675LL)),
+ mp_float(static_cast<boost::int64_t>(371716103550LL)),
+ mp_float(static_cast<boost::int64_t>(17463172650LL)),
+ mp_float(static_cast<boost::int32_t>(698526906L)),
+ mp_float(static_cast<boost::int32_t>(23130030L)),
+ mp_float(static_cast<boost::int32_t>(608685L)),
+ mp_float(static_cast<boost::int32_t>(11935L)),
+ mp_float(static_cast<boost::int32_t>(155L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_155_vect(A007318_155_data.begin(), A007318_155_data.end());
+
+ return A007318_155_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_156(void)
+ {
+ static const boost::array<mp_float, 157u> A007318_156_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(156L)),
+ mp_float(static_cast<boost::int32_t>(12090L)),
+ mp_float(static_cast<boost::int32_t>(620620L)),
+ mp_float(static_cast<boost::int32_t>(23738715L)),
+ mp_float(static_cast<boost::int32_t>(721656936L)),
+ mp_float(static_cast<boost::int64_t>(18161699556LL)),
+ mp_float(static_cast<boost::int64_t>(389179276200LL)),
+ mp_float(static_cast<boost::int64_t>(7248464019225LL)),
+ mp_float(static_cast<boost::int64_t>(119196963871700LL)),
+ mp_float(static_cast<boost::int64_t>(1752195368913990LL)),
+ mp_float(static_cast<boost::int64_t>(23256411260131140LL)),
+ mp_float(static_cast<boost::int64_t>(281014969393251275LL)),
+ mp_float(static_cast<boost::int64_t>(3112781199432937200LL)),
+ mp_float("31794836537065001400"),
+ mp_float("300991119217548679920"),
+ mp_float("2652484238104647741795"),
+ mp_float("21843987843214746108900"),
+ mp_float("168684128344824983840950"),
+ mp_float("1225179458504518303686900"),
+ mp_float("8392479290755950380255265"),
+ mp_float("54351294454419488176891240"),
+ mp_float("333519306879392313812741700"),
+ mp_float("1943112483558198697865538600"),
+ mp_float("10768081679718351117338193075"),
+ mp_float("56855471268912893899545659436"),
+ mp_float("286464105239522657724633899466"),
+ mp_float("1379271617819923907563052108540"),
+ mp_float("6354501382098935145558347214345"),
+ mp_float("28047454376160817194188567015040"),
+ mp_float("118734223525747459455398267030336"),
+ mp_float("482597166588521931980005859542656"),
+ mp_float("1885145181986413796796897888838500"),
+ mp_float("7083575835342888206145919339878000"),
+ mp_float("25625877286681624981057296435441000"),
+ mp_float("89324486542147378505399719003537200"),
+ mp_float("300229524211106466643149055539666700"),
+ mp_float("973717375819804756680483423371892000"),
+ mp_float("3049272834804125422236250720559346000"),
+ mp_float("9226004987356071790355835513487252000"),
+ mp_float("26986064588016509986790818876950212100"),
+ mp_float("76350816883168662401652072920151819600"),
+ mp_float("209055808132485623242618771090891887000"),
+ mp_float("554240979700078163945547439636318026000"),
+ mp_float("1423391606957018921041974106338725839500"),
+ mp_float("3542663555093024870148913331331939867200"),
+ mp_float("8548601187289690447533247386474898375200"),
+ mp_float("20007364480890764877205472606643379176000"),
+ mp_float("45433390175356111908654094044252673545500"),
+ mp_float("100138900794662450737441676668965076386000"),
+ mp_float("214297247700577644578125188071585263466040"),
+ mp_float("445402122671788829907475881089961527988240"),
+ mp_float("899369670779573598851633990662422316130100"),
+ mp_float("1764800863416521778878678019413055110896800"),
+ mp_float("3366194239479661911564885851843419933747600"),
+ mp_float("6242760225944100272356697397964160604404640"),
+ mp_float("11259263978934895134071900664185361090086940"),
+ mp_float("19753094699885780936968246779272563315942000"),
+ mp_float("33716489229115384702756145364620409797901000"),
+ mp_float("56003660075479791540171224503945765427022000"),
+ mp_float("90539250455358996323276812948045654107018900"),
+ mp_float("142488000716630551590730722016596439250390400"),
+ mp_float("218328388194837135501926106315752608528824000"),
+ mp_float("325759817306582392653667523709218177804912000"),
+ mp_float("473369734523627539324860620389957664622762750"),
+ mp_float("670000239633442055659802724244247771466064200"),
+ mp_float("923788209191564046440031028882220412172906700"),
+ mp_float("1240909534734936778800041680588057270083009000"),
+ mp_float("1624131596932490784017701611357898485843938250"),
+ mp_float("2071356239566075202805184663760798068902414000"),
+ mp_float("2574399897746407752057872367816991885635857400"),
+ mp_float("3118287200087198122210943994820581720629348400"),
+ mp_float("3681311277880720005387919993885408975742980750"),
+ mp_float("4236029415643568225377880540909237725512471000"),
+ mp_float("4751222182411029225761676822911712584020744500"),
+ mp_float("5194669586102725286832766659716805758529347320"),
+ mp_float("5536424164135799318861238150487648242643120170"),
+ mp_float("5752129001699531759855831844662491680668176800"),
+ mp_float("5825874245311064218315521996517139009907512400"),
+ mp_float("5752129001699531759855831844662491680668176800"),
+ mp_float("5536424164135799318861238150487648242643120170"),
+ mp_float("5194669586102725286832766659716805758529347320"),
+ mp_float("4751222182411029225761676822911712584020744500"),
+ mp_float("4236029415643568225377880540909237725512471000"),
+ mp_float("3681311277880720005387919993885408975742980750"),
+ mp_float("3118287200087198122210943994820581720629348400"),
+ mp_float("2574399897746407752057872367816991885635857400"),
+ mp_float("2071356239566075202805184663760798068902414000"),
+ mp_float("1624131596932490784017701611357898485843938250"),
+ mp_float("1240909534734936778800041680588057270083009000"),
+ mp_float("923788209191564046440031028882220412172906700"),
+ mp_float("670000239633442055659802724244247771466064200"),
+ mp_float("473369734523627539324860620389957664622762750"),
+ mp_float("325759817306582392653667523709218177804912000"),
+ mp_float("218328388194837135501926106315752608528824000"),
+ mp_float("142488000716630551590730722016596439250390400"),
+ mp_float("90539250455358996323276812948045654107018900"),
+ mp_float("56003660075479791540171224503945765427022000"),
+ mp_float("33716489229115384702756145364620409797901000"),
+ mp_float("19753094699885780936968246779272563315942000"),
+ mp_float("11259263978934895134071900664185361090086940"),
+ mp_float("6242760225944100272356697397964160604404640"),
+ mp_float("3366194239479661911564885851843419933747600"),
+ mp_float("1764800863416521778878678019413055110896800"),
+ mp_float("899369670779573598851633990662422316130100"),
+ mp_float("445402122671788829907475881089961527988240"),
+ mp_float("214297247700577644578125188071585263466040"),
+ mp_float("100138900794662450737441676668965076386000"),
+ mp_float("45433390175356111908654094044252673545500"),
+ mp_float("20007364480890764877205472606643379176000"),
+ mp_float("8548601187289690447533247386474898375200"),
+ mp_float("3542663555093024870148913331331939867200"),
+ mp_float("1423391606957018921041974106338725839500"),
+ mp_float("554240979700078163945547439636318026000"),
+ mp_float("209055808132485623242618771090891887000"),
+ mp_float("76350816883168662401652072920151819600"),
+ mp_float("26986064588016509986790818876950212100"),
+ mp_float("9226004987356071790355835513487252000"),
+ mp_float("3049272834804125422236250720559346000"),
+ mp_float("973717375819804756680483423371892000"),
+ mp_float("300229524211106466643149055539666700"),
+ mp_float("89324486542147378505399719003537200"),
+ mp_float("25625877286681624981057296435441000"),
+ mp_float("7083575835342888206145919339878000"),
+ mp_float("1885145181986413796796897888838500"),
+ mp_float("482597166588521931980005859542656"),
+ mp_float("118734223525747459455398267030336"),
+ mp_float("28047454376160817194188567015040"),
+ mp_float("6354501382098935145558347214345"),
+ mp_float("1379271617819923907563052108540"),
+ mp_float("286464105239522657724633899466"),
+ mp_float("56855471268912893899545659436"),
+ mp_float("10768081679718351117338193075"),
+ mp_float("1943112483558198697865538600"),
+ mp_float("333519306879392313812741700"),
+ mp_float("54351294454419488176891240"),
+ mp_float("8392479290755950380255265"),
+ mp_float("1225179458504518303686900"),
+ mp_float("168684128344824983840950"),
+ mp_float("21843987843214746108900"),
+ mp_float("2652484238104647741795"),
+ mp_float("300991119217548679920"),
+ mp_float("31794836537065001400"),
+ mp_float(static_cast<boost::int64_t>(3112781199432937200LL)),
+ mp_float(static_cast<boost::int64_t>(281014969393251275LL)),
+ mp_float(static_cast<boost::int64_t>(23256411260131140LL)),
+ mp_float(static_cast<boost::int64_t>(1752195368913990LL)),
+ mp_float(static_cast<boost::int64_t>(119196963871700LL)),
+ mp_float(static_cast<boost::int64_t>(7248464019225LL)),
+ mp_float(static_cast<boost::int64_t>(389179276200LL)),
+ mp_float(static_cast<boost::int64_t>(18161699556LL)),
+ mp_float(static_cast<boost::int32_t>(721656936L)),
+ mp_float(static_cast<boost::int32_t>(23738715L)),
+ mp_float(static_cast<boost::int32_t>(620620L)),
+ mp_float(static_cast<boost::int32_t>(12090L)),
+ mp_float(static_cast<boost::int32_t>(156L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_156_vect(A007318_156_data.begin(), A007318_156_data.end());
+
+ return A007318_156_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_157(void)
+ {
+ static const boost::array<mp_float, 158u> A007318_157_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(157L)),
+ mp_float(static_cast<boost::int32_t>(12246L)),
+ mp_float(static_cast<boost::int32_t>(632710L)),
+ mp_float(static_cast<boost::int32_t>(24359335L)),
+ mp_float(static_cast<boost::int32_t>(745395651L)),
+ mp_float(static_cast<boost::int64_t>(18883356492LL)),
+ mp_float(static_cast<boost::int64_t>(407340975756LL)),
+ mp_float(static_cast<boost::int64_t>(7637643295425LL)),
+ mp_float(static_cast<boost::int64_t>(126445427890925LL)),
+ mp_float(static_cast<boost::int64_t>(1871392332785690LL)),
+ mp_float(static_cast<boost::int64_t>(25008606629045130LL)),
+ mp_float(static_cast<boost::int64_t>(304271380653382415LL)),
+ mp_float(static_cast<boost::int64_t>(3393796168826188475LL)),
+ mp_float("34907617736497938600"),
+ mp_float("332785955754613681320"),
+ mp_float("2953475357322196421715"),
+ mp_float("24496472081319393850695"),
+ mp_float("190528116188039729949850"),
+ mp_float("1393863586849343287527850"),
+ mp_float("9617658749260468683942165"),
+ mp_float("62743773745175438557146505"),
+ mp_float("387870601333811801989632940"),
+ mp_float("2276631790437591011678280300"),
+ mp_float("12711194163276549815203731675"),
+ mp_float("67623552948631245016883852511"),
+ mp_float("343319576508435551624179558902"),
+ mp_float("1665735723059446565287686008006"),
+ mp_float("7733772999918859053121399322885"),
+ mp_float("34401955758259752339746914229385"),
+ mp_float("146781677901908276649586834045376"),
+ mp_float("601331390114269391435404126572992"),
+ mp_float("2367742348574935728776903748381156"),
+ mp_float("8968721017329302002942817228716500"),
+ mp_float("32709453122024513187203215775319000"),
+ mp_float("114950363828829003486457015438978200"),
+ mp_float("389554010753253845148548774543203900"),
+ mp_float("1273946900030911223323632478911558700"),
+ mp_float("4022990210623930178916734143931238000"),
+ mp_float("12275277822160197212592086234046598000"),
+ mp_float("36212069575372581777146654390437464100"),
+ mp_float("103336881471185172388442891797102031700"),
+ mp_float("285406625015654285644270844011043706600"),
+ mp_float("763296787832563787188166210727209913000"),
+ mp_float("1977632586657097084987521545975043865500"),
+ mp_float("4966055162050043791190887437670665706700"),
+ mp_float("12091264742382715317682160717806838242400"),
+ mp_float("28555965668180455324738719993118277551200"),
+ mp_float("65440754656246876785859566650896052721500"),
+ mp_float("145572290970018562646095770713217749931500"),
+ mp_float("314436148495240095315566864740550339852040"),
+ mp_float("659699370372366474485601069161546791454280"),
+ mp_float("1344771793451362428759109871752383844118340"),
+ mp_float("2664170534196095377730312010075477427026900"),
+ mp_float("5130995102896183690443563871256475044644400"),
+ mp_float("9608954465423762183921583249807580538152240"),
+ mp_float("17502024204878995406428598062149521694491580"),
+ mp_float("31012358678820676071040147443457924406028940"),
+ mp_float("53469583929001165639724392143892973113843000"),
+ mp_float("89720149304595176242927369868566175224923000"),
+ mp_float("146542910530838787863448037451991419534040900"),
+ mp_float("233027251171989547914007534964642093357409300"),
+ mp_float("360816388911467687092656828332349047779214400"),
+ mp_float("544088205501419528155593630024970786333736000"),
+ mp_float("799129551830209931978528144099175842427674750"),
+ mp_float("1143369974157069594984663344634205436088826950"),
+ mp_float("1593788448825006102099833753126468183638970900"),
+ mp_float("2164697743926500825240072709470277682255915700"),
+ mp_float("2865041131667427562817743291945955755926947250"),
+ mp_float("3695487836498565986822886275118696554746352250"),
+ mp_float("4645756137312482954863057031577789954538271400"),
+ mp_float("5692687097833605874268816362637573606265205800"),
+ mp_float("6799598477967918127598863988705990696372329150"),
+ mp_float("7917340693524288230765800534794646701255451750"),
+ mp_float("8987251598054597451139557363820950309533215500"),
+ mp_float("9945891768513754512594443482628518342550091820"),
+ mp_float("10731093750238524605694004810204454001172467490"),
+ mp_float("11288553165835331078717069995150139923311296970"),
+ mp_float("11578003247010595978171353841179630690575689200"),
+ mp_float("11578003247010595978171353841179630690575689200"),
+ mp_float("11288553165835331078717069995150139923311296970"),
+ mp_float("10731093750238524605694004810204454001172467490"),
+ mp_float("9945891768513754512594443482628518342550091820"),
+ mp_float("8987251598054597451139557363820950309533215500"),
+ mp_float("7917340693524288230765800534794646701255451750"),
+ mp_float("6799598477967918127598863988705990696372329150"),
+ mp_float("5692687097833605874268816362637573606265205800"),
+ mp_float("4645756137312482954863057031577789954538271400"),
+ mp_float("3695487836498565986822886275118696554746352250"),
+ mp_float("2865041131667427562817743291945955755926947250"),
+ mp_float("2164697743926500825240072709470277682255915700"),
+ mp_float("1593788448825006102099833753126468183638970900"),
+ mp_float("1143369974157069594984663344634205436088826950"),
+ mp_float("799129551830209931978528144099175842427674750"),
+ mp_float("544088205501419528155593630024970786333736000"),
+ mp_float("360816388911467687092656828332349047779214400"),
+ mp_float("233027251171989547914007534964642093357409300"),
+ mp_float("146542910530838787863448037451991419534040900"),
+ mp_float("89720149304595176242927369868566175224923000"),
+ mp_float("53469583929001165639724392143892973113843000"),
+ mp_float("31012358678820676071040147443457924406028940"),
+ mp_float("17502024204878995406428598062149521694491580"),
+ mp_float("9608954465423762183921583249807580538152240"),
+ mp_float("5130995102896183690443563871256475044644400"),
+ mp_float("2664170534196095377730312010075477427026900"),
+ mp_float("1344771793451362428759109871752383844118340"),
+ mp_float("659699370372366474485601069161546791454280"),
+ mp_float("314436148495240095315566864740550339852040"),
+ mp_float("145572290970018562646095770713217749931500"),
+ mp_float("65440754656246876785859566650896052721500"),
+ mp_float("28555965668180455324738719993118277551200"),
+ mp_float("12091264742382715317682160717806838242400"),
+ mp_float("4966055162050043791190887437670665706700"),
+ mp_float("1977632586657097084987521545975043865500"),
+ mp_float("763296787832563787188166210727209913000"),
+ mp_float("285406625015654285644270844011043706600"),
+ mp_float("103336881471185172388442891797102031700"),
+ mp_float("36212069575372581777146654390437464100"),
+ mp_float("12275277822160197212592086234046598000"),
+ mp_float("4022990210623930178916734143931238000"),
+ mp_float("1273946900030911223323632478911558700"),
+ mp_float("389554010753253845148548774543203900"),
+ mp_float("114950363828829003486457015438978200"),
+ mp_float("32709453122024513187203215775319000"),
+ mp_float("8968721017329302002942817228716500"),
+ mp_float("2367742348574935728776903748381156"),
+ mp_float("601331390114269391435404126572992"),
+ mp_float("146781677901908276649586834045376"),
+ mp_float("34401955758259752339746914229385"),
+ mp_float("7733772999918859053121399322885"),
+ mp_float("1665735723059446565287686008006"),
+ mp_float("343319576508435551624179558902"),
+ mp_float("67623552948631245016883852511"),
+ mp_float("12711194163276549815203731675"),
+ mp_float("2276631790437591011678280300"),
+ mp_float("387870601333811801989632940"),
+ mp_float("62743773745175438557146505"),
+ mp_float("9617658749260468683942165"),
+ mp_float("1393863586849343287527850"),
+ mp_float("190528116188039729949850"),
+ mp_float("24496472081319393850695"),
+ mp_float("2953475357322196421715"),
+ mp_float("332785955754613681320"),
+ mp_float("34907617736497938600"),
+ mp_float(static_cast<boost::int64_t>(3393796168826188475LL)),
+ mp_float(static_cast<boost::int64_t>(304271380653382415LL)),
+ mp_float(static_cast<boost::int64_t>(25008606629045130LL)),
+ mp_float(static_cast<boost::int64_t>(1871392332785690LL)),
+ mp_float(static_cast<boost::int64_t>(126445427890925LL)),
+ mp_float(static_cast<boost::int64_t>(7637643295425LL)),
+ mp_float(static_cast<boost::int64_t>(407340975756LL)),
+ mp_float(static_cast<boost::int64_t>(18883356492LL)),
+ mp_float(static_cast<boost::int32_t>(745395651L)),
+ mp_float(static_cast<boost::int32_t>(24359335L)),
+ mp_float(static_cast<boost::int32_t>(632710L)),
+ mp_float(static_cast<boost::int32_t>(12246L)),
+ mp_float(static_cast<boost::int32_t>(157L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_157_vect(A007318_157_data.begin(), A007318_157_data.end());
+
+ return A007318_157_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_158(void)
+ {
+ static const boost::array<mp_float, 159u> A007318_158_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(158L)),
+ mp_float(static_cast<boost::int32_t>(12403L)),
+ mp_float(static_cast<boost::int32_t>(644956L)),
+ mp_float(static_cast<boost::int32_t>(24992045L)),
+ mp_float(static_cast<boost::int32_t>(769754986L)),
+ mp_float(static_cast<boost::int64_t>(19628752143LL)),
+ mp_float(static_cast<boost::int64_t>(426224332248LL)),
+ mp_float(static_cast<boost::int64_t>(8044984271181LL)),
+ mp_float(static_cast<boost::int64_t>(134083071186350LL)),
+ mp_float(static_cast<boost::int64_t>(1997837760676615LL)),
+ mp_float(static_cast<boost::int64_t>(26879998961830820LL)),
+ mp_float(static_cast<boost::int64_t>(329279987282427545LL)),
+ mp_float(static_cast<boost::int64_t>(3698067549479570890LL)),
+ mp_float("38301413905324127075"),
+ mp_float("367693573491111619920"),
+ mp_float("3286261313076810103035"),
+ mp_float("27449947438641590272410"),
+ mp_float("215024588269359123800545"),
+ mp_float("1584391703037383017477700"),
+ mp_float("11011522336109811971470015"),
+ mp_float("72361432494435907241088670"),
+ mp_float("450614375078987240546779445"),
+ mp_float("2664502391771402813667913240"),
+ mp_float("14987825953714140826882011975"),
+ mp_float("80334747111907794832087584186"),
+ mp_float("410943129457066796641063411413"),
+ mp_float("2009055299567882116911865566908"),
+ mp_float("9399508722978305618409085330891"),
+ mp_float("42135728758178611392868313552270"),
+ mp_float("181183633660168028989333748274761"),
+ mp_float("748113068016177668084990960618368"),
+ mp_float("2969073738689205120212307874954148"),
+ mp_float("11336463365904237731719720977097656"),
+ mp_float("41678174139353815190146033004035500"),
+ mp_float("147659816950853516673660231214297200"),
+ mp_float("504504374582082848635005789982182100"),
+ mp_float("1663500910784165068472181253454762600"),
+ mp_float("5296937110654841402240366622842796700"),
+ mp_float("16298268032784127391508820377977836000"),
+ mp_float("48487347397532778989738740624484062100"),
+ mp_float("139548951046557754165589546187539495800"),
+ mp_float("388743506486839458032713735808145738300"),
+ mp_float("1048703412848218072832437054738253619600"),
+ mp_float("2740929374489660872175687756702253778500"),
+ mp_float("6943687748707140876178408983645709572200"),
+ mp_float("17057319904432759108873048155477503949100"),
+ mp_float("40647230410563170642420880710925115793600"),
+ mp_float("93996720324427332110598286644014330272700"),
+ mp_float("211013045626265439431955337364113802653000"),
+ mp_float("460008439465258657961662635453768089783540"),
+ mp_float("974135518867606569801167933902097131306320"),
+ mp_float("2004471163823728903244710940913930635572620"),
+ mp_float("4008942327647457806489421881827861271145240"),
+ mp_float("7795165637092279068173875881331952471671300"),
+ mp_float("14739949568319945874365147121064055582796640"),
+ mp_float("27110978670302757590350181311957102232643820"),
+ mp_float("48514382883699671477468745505607446100520520"),
+ mp_float("84481942607821841710764539587350897519871940"),
+ mp_float("143189733233596341882651762012459148338766000"),
+ mp_float("236263059835433964106375407320557594758963900"),
+ mp_float("379570161702828335777455572416633512891450200"),
+ mp_float("593843640083457235006664363296991141136623700"),
+ mp_float("904904594412887215248250458357319834112950400"),
+ mp_float("1343217757331629460134121774124146628761410750"),
+ mp_float("1942499525987279526963191488733381278516501700"),
+ mp_float("2737158422982075697084497097760673619727797850"),
+ mp_float("3758486192751506927339906462596745865894886600"),
+ mp_float("5029738875593928388057816001416233438182862950"),
+ mp_float("6560528968165993549640629567064652310673299500"),
+ mp_float("8341243973811048941685943306696486509284623650"),
+ mp_float("10338443235146088829131873394215363560803477200"),
+ mp_float("12492285575801524001867680351343564302637534950"),
+ mp_float("14716939171492206358364664523500637397627780900"),
+ mp_float("16904592291578885681905357898615597010788667250"),
+ mp_float("18933143366568351963734000846449468652083307320"),
+ mp_float("20676985518752279118288448292832972343722559310"),
+ mp_float("22019646916073855684411074805354593924483764460"),
+ mp_float("22866556412845927056888423836329770613886986170"),
+ mp_float("23156006494021191956342707682359261381151378400"),
+ mp_float("22866556412845927056888423836329770613886986170"),
+ mp_float("22019646916073855684411074805354593924483764460"),
+ mp_float("20676985518752279118288448292832972343722559310"),
+ mp_float("18933143366568351963734000846449468652083307320"),
+ mp_float("16904592291578885681905357898615597010788667250"),
+ mp_float("14716939171492206358364664523500637397627780900"),
+ mp_float("12492285575801524001867680351343564302637534950"),
+ mp_float("10338443235146088829131873394215363560803477200"),
+ mp_float("8341243973811048941685943306696486509284623650"),
+ mp_float("6560528968165993549640629567064652310673299500"),
+ mp_float("5029738875593928388057816001416233438182862950"),
+ mp_float("3758486192751506927339906462596745865894886600"),
+ mp_float("2737158422982075697084497097760673619727797850"),
+ mp_float("1942499525987279526963191488733381278516501700"),
+ mp_float("1343217757331629460134121774124146628761410750"),
+ mp_float("904904594412887215248250458357319834112950400"),
+ mp_float("593843640083457235006664363296991141136623700"),
+ mp_float("379570161702828335777455572416633512891450200"),
+ mp_float("236263059835433964106375407320557594758963900"),
+ mp_float("143189733233596341882651762012459148338766000"),
+ mp_float("84481942607821841710764539587350897519871940"),
+ mp_float("48514382883699671477468745505607446100520520"),
+ mp_float("27110978670302757590350181311957102232643820"),
+ mp_float("14739949568319945874365147121064055582796640"),
+ mp_float("7795165637092279068173875881331952471671300"),
+ mp_float("4008942327647457806489421881827861271145240"),
+ mp_float("2004471163823728903244710940913930635572620"),
+ mp_float("974135518867606569801167933902097131306320"),
+ mp_float("460008439465258657961662635453768089783540"),
+ mp_float("211013045626265439431955337364113802653000"),
+ mp_float("93996720324427332110598286644014330272700"),
+ mp_float("40647230410563170642420880710925115793600"),
+ mp_float("17057319904432759108873048155477503949100"),
+ mp_float("6943687748707140876178408983645709572200"),
+ mp_float("2740929374489660872175687756702253778500"),
+ mp_float("1048703412848218072832437054738253619600"),
+ mp_float("388743506486839458032713735808145738300"),
+ mp_float("139548951046557754165589546187539495800"),
+ mp_float("48487347397532778989738740624484062100"),
+ mp_float("16298268032784127391508820377977836000"),
+ mp_float("5296937110654841402240366622842796700"),
+ mp_float("1663500910784165068472181253454762600"),
+ mp_float("504504374582082848635005789982182100"),
+ mp_float("147659816950853516673660231214297200"),
+ mp_float("41678174139353815190146033004035500"),
+ mp_float("11336463365904237731719720977097656"),
+ mp_float("2969073738689205120212307874954148"),
+ mp_float("748113068016177668084990960618368"),
+ mp_float("181183633660168028989333748274761"),
+ mp_float("42135728758178611392868313552270"),
+ mp_float("9399508722978305618409085330891"),
+ mp_float("2009055299567882116911865566908"),
+ mp_float("410943129457066796641063411413"),
+ mp_float("80334747111907794832087584186"),
+ mp_float("14987825953714140826882011975"),
+ mp_float("2664502391771402813667913240"),
+ mp_float("450614375078987240546779445"),
+ mp_float("72361432494435907241088670"),
+ mp_float("11011522336109811971470015"),
+ mp_float("1584391703037383017477700"),
+ mp_float("215024588269359123800545"),
+ mp_float("27449947438641590272410"),
+ mp_float("3286261313076810103035"),
+ mp_float("367693573491111619920"),
+ mp_float("38301413905324127075"),
+ mp_float(static_cast<boost::int64_t>(3698067549479570890LL)),
+ mp_float(static_cast<boost::int64_t>(329279987282427545LL)),
+ mp_float(static_cast<boost::int64_t>(26879998961830820LL)),
+ mp_float(static_cast<boost::int64_t>(1997837760676615LL)),
+ mp_float(static_cast<boost::int64_t>(134083071186350LL)),
+ mp_float(static_cast<boost::int64_t>(8044984271181LL)),
+ mp_float(static_cast<boost::int64_t>(426224332248LL)),
+ mp_float(static_cast<boost::int64_t>(19628752143LL)),
+ mp_float(static_cast<boost::int32_t>(769754986L)),
+ mp_float(static_cast<boost::int32_t>(24992045L)),
+ mp_float(static_cast<boost::int32_t>(644956L)),
+ mp_float(static_cast<boost::int32_t>(12403L)),
+ mp_float(static_cast<boost::int32_t>(158L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_158_vect(A007318_158_data.begin(), A007318_158_data.end());
+
+ return A007318_158_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_159(void)
+ {
+ static const boost::array<mp_float, 160u> A007318_159_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(159L)),
+ mp_float(static_cast<boost::int32_t>(12561L)),
+ mp_float(static_cast<boost::int32_t>(657359L)),
+ mp_float(static_cast<boost::int32_t>(25637001L)),
+ mp_float(static_cast<boost::int32_t>(794747031L)),
+ mp_float(static_cast<boost::int64_t>(20398507129LL)),
+ mp_float(static_cast<boost::int64_t>(445853084391LL)),
+ mp_float(static_cast<boost::int64_t>(8471208603429LL)),
+ mp_float(static_cast<boost::int64_t>(142128055457531LL)),
+ mp_float(static_cast<boost::int64_t>(2131920831862965LL)),
+ mp_float(static_cast<boost::int64_t>(28877836722507435LL)),
+ mp_float(static_cast<boost::int64_t>(356159986244258365LL)),
+ mp_float(static_cast<boost::int64_t>(4027347536761998435LL)),
+ mp_float("41999481454803697965"),
+ mp_float("405994987396435746995"),
+ mp_float("3653954886567921722955"),
+ mp_float("30736208751718400375445"),
+ mp_float("242474535708000714072955"),
+ mp_float("1799416291306742141278245"),
+ mp_float("12595914039147194988947715"),
+ mp_float("83372954830545719212558685"),
+ mp_float("522975807573423147787868115"),
+ mp_float("3115116766850390054214692685"),
+ mp_float("17652328345485543640549925215"),
+ mp_float("95322573065621935658969596161"),
+ mp_float("491277876568974591473150995599"),
+ mp_float("2419998429024948913552928978321"),
+ mp_float("11408564022546187735320950897799"),
+ mp_float("51535237481156917011277398883161"),
+ mp_float("223319362418346640382202061827031"),
+ mp_float("929296701676345697074324708893129"),
+ mp_float("3717186806705382788297298835572516"),
+ mp_float("14305537104593442851932028852051804"),
+ mp_float("53014637505258052921865753981133156"),
+ mp_float("189337991090207331863806264218332700"),
+ mp_float("652164191532936365308666021196479300"),
+ mp_float("2168005285366247917107187043436944700"),
+ mp_float("6960438021439006470712547876297559300"),
+ mp_float("21595205143438968793749187000820632700"),
+ mp_float("64785615430316906381247561002461898100"),
+ mp_float("188036298444090533155328286812023557900"),
+ mp_float("528292457533397212198303281995685234100"),
+ mp_float("1437446919335057530865150790546399357900"),
+ mp_float("3789632787337878945008124811440507398100"),
+ mp_float("9684617123196801748354096740347963350700"),
+ mp_float("24001007653139899985051457139123213521300"),
+ mp_float("57704550314995929751293928866402619742700"),
+ mp_float("134643950734990502753019167354939446066300"),
+ mp_float("305009765950692771542553624008128132925700"),
+ mp_float("671021485091524097393617972817881892436540"),
+ mp_float("1434143958332865227762830569355865221089860"),
+ mp_float("2978606682691335473045878874816027766878940"),
+ mp_float("6013413491471186709734132822741791906717860"),
+ mp_float("11804107964739736874663297763159813742816540"),
+ mp_float("22535115205412224942539023002396008054467940"),
+ mp_float("41850928238622703464715328433021157815440460"),
+ mp_float("75625361554002429067818926817564548333164340"),
+ mp_float("132996325491521513188233285092958343620392460"),
+ mp_float("227671675841418183593416301599810045858637940"),
+ mp_float("379452793069030305989027169333016743097729900"),
+ mp_float("615833221538262299883830979737191107650414100"),
+ mp_float("973413801786285570784119935713624654028073900"),
+ mp_float("1498748234496344450254914821654310975249574100"),
+ mp_float("2248122351744516675382372232481466462874361150"),
+ mp_float("3285717283318908987097313262857527907277912450"),
+ mp_float("4679657948969355224047688586494054898244299550"),
+ mp_float("6495644615733582624424403560357419485622684450"),
+ mp_float("8788225068345435315397722464012979304077749550"),
+ mp_float("11590267843759921937698445568480885748856162450"),
+ mp_float("14901772941977042491326572873761138819957923150"),
+ mp_float("18679687208957137770817816700911850070088100850"),
+ mp_float("22830728810947612830999553745558927863441012150"),
+ mp_float("27209224747293730360232344874844201700265315850"),
+ mp_float("31621531463071092040270022422116234408416448150"),
+ mp_float("35837735658147237645639358745065065662871974570"),
+ mp_float("39610128885320631082022449139282440995805866630"),
+ mp_float("42696632434826134802699523098187566268206323770"),
+ mp_float("44886203328919782741299498641684364538370750630"),
+ mp_float("46022562906867119013231131518689031995038364570"),
+ mp_float("46022562906867119013231131518689031995038364570"),
+ mp_float("44886203328919782741299498641684364538370750630"),
+ mp_float("42696632434826134802699523098187566268206323770"),
+ mp_float("39610128885320631082022449139282440995805866630"),
+ mp_float("35837735658147237645639358745065065662871974570"),
+ mp_float("31621531463071092040270022422116234408416448150"),
+ mp_float("27209224747293730360232344874844201700265315850"),
+ mp_float("22830728810947612830999553745558927863441012150"),
+ mp_float("18679687208957137770817816700911850070088100850"),
+ mp_float("14901772941977042491326572873761138819957923150"),
+ mp_float("11590267843759921937698445568480885748856162450"),
+ mp_float("8788225068345435315397722464012979304077749550"),
+ mp_float("6495644615733582624424403560357419485622684450"),
+ mp_float("4679657948969355224047688586494054898244299550"),
+ mp_float("3285717283318908987097313262857527907277912450"),
+ mp_float("2248122351744516675382372232481466462874361150"),
+ mp_float("1498748234496344450254914821654310975249574100"),
+ mp_float("973413801786285570784119935713624654028073900"),
+ mp_float("615833221538262299883830979737191107650414100"),
+ mp_float("379452793069030305989027169333016743097729900"),
+ mp_float("227671675841418183593416301599810045858637940"),
+ mp_float("132996325491521513188233285092958343620392460"),
+ mp_float("75625361554002429067818926817564548333164340"),
+ mp_float("41850928238622703464715328433021157815440460"),
+ mp_float("22535115205412224942539023002396008054467940"),
+ mp_float("11804107964739736874663297763159813742816540"),
+ mp_float("6013413491471186709734132822741791906717860"),
+ mp_float("2978606682691335473045878874816027766878940"),
+ mp_float("1434143958332865227762830569355865221089860"),
+ mp_float("671021485091524097393617972817881892436540"),
+ mp_float("305009765950692771542553624008128132925700"),
+ mp_float("134643950734990502753019167354939446066300"),
+ mp_float("57704550314995929751293928866402619742700"),
+ mp_float("24001007653139899985051457139123213521300"),
+ mp_float("9684617123196801748354096740347963350700"),
+ mp_float("3789632787337878945008124811440507398100"),
+ mp_float("1437446919335057530865150790546399357900"),
+ mp_float("528292457533397212198303281995685234100"),
+ mp_float("188036298444090533155328286812023557900"),
+ mp_float("64785615430316906381247561002461898100"),
+ mp_float("21595205143438968793749187000820632700"),
+ mp_float("6960438021439006470712547876297559300"),
+ mp_float("2168005285366247917107187043436944700"),
+ mp_float("652164191532936365308666021196479300"),
+ mp_float("189337991090207331863806264218332700"),
+ mp_float("53014637505258052921865753981133156"),
+ mp_float("14305537104593442851932028852051804"),
+ mp_float("3717186806705382788297298835572516"),
+ mp_float("929296701676345697074324708893129"),
+ mp_float("223319362418346640382202061827031"),
+ mp_float("51535237481156917011277398883161"),
+ mp_float("11408564022546187735320950897799"),
+ mp_float("2419998429024948913552928978321"),
+ mp_float("491277876568974591473150995599"),
+ mp_float("95322573065621935658969596161"),
+ mp_float("17652328345485543640549925215"),
+ mp_float("3115116766850390054214692685"),
+ mp_float("522975807573423147787868115"),
+ mp_float("83372954830545719212558685"),
+ mp_float("12595914039147194988947715"),
+ mp_float("1799416291306742141278245"),
+ mp_float("242474535708000714072955"),
+ mp_float("30736208751718400375445"),
+ mp_float("3653954886567921722955"),
+ mp_float("405994987396435746995"),
+ mp_float("41999481454803697965"),
+ mp_float(static_cast<boost::int64_t>(4027347536761998435LL)),
+ mp_float(static_cast<boost::int64_t>(356159986244258365LL)),
+ mp_float(static_cast<boost::int64_t>(28877836722507435LL)),
+ mp_float(static_cast<boost::int64_t>(2131920831862965LL)),
+ mp_float(static_cast<boost::int64_t>(142128055457531LL)),
+ mp_float(static_cast<boost::int64_t>(8471208603429LL)),
+ mp_float(static_cast<boost::int64_t>(445853084391LL)),
+ mp_float(static_cast<boost::int64_t>(20398507129LL)),
+ mp_float(static_cast<boost::int32_t>(794747031L)),
+ mp_float(static_cast<boost::int32_t>(25637001L)),
+ mp_float(static_cast<boost::int32_t>(657359L)),
+ mp_float(static_cast<boost::int32_t>(12561L)),
+ mp_float(static_cast<boost::int32_t>(159L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_159_vect(A007318_159_data.begin(), A007318_159_data.end());
+
+ return A007318_159_vect;
+ }
+
+ static const std::vector<mp_float>& A007318_160(void)
+ {
+ static const boost::array<mp_float, 161u> A007318_160_data =
+ {{
+ mp_float(static_cast<boost::int32_t>(1L)),
+ mp_float(static_cast<boost::int32_t>(160L)),
+ mp_float(static_cast<boost::int32_t>(12720L)),
+ mp_float(static_cast<boost::int32_t>(669920L)),
+ mp_float(static_cast<boost::int32_t>(26294360L)),
+ mp_float(static_cast<boost::int32_t>(820384032L)),
+ mp_float(static_cast<boost::int64_t>(21193254160LL)),
+ mp_float(static_cast<boost::int64_t>(466251591520LL)),
+ mp_float(static_cast<boost::int64_t>(8917061687820LL)),
+ mp_float(static_cast<boost::int64_t>(150599264060960LL)),
+ mp_float(static_cast<boost::int64_t>(2274048887320496LL)),
+ mp_float(static_cast<boost::int64_t>(31009757554370400LL)),
+ mp_float(static_cast<boost::int64_t>(385037822966765800LL)),
+ mp_float(static_cast<boost::int64_t>(4383507523006256800LL)),
+ mp_float("46026828991565696400"),
+ mp_float("447994468851239444960"),
+ mp_float("4059949873964357469950"),
+ mp_float("34390163638286322098400"),
+ mp_float("273210744459719114448400"),
+ mp_float("2041890827014742855351200"),
+ mp_float("14395330330453937130225960"),
+ mp_float("95968868869692914201506400"),
+ mp_float("606348762403968867000426800"),
+ mp_float("3638092574423813202002560800"),
+ mp_float("20767445112335933694764617900"),
+ mp_float("112974901411107479299519521376"),
+ mp_float("586600449634596527132120591760"),
+ mp_float("2911276305593923505026079973920"),
+ mp_float("13828562451571136648873879876120"),
+ mp_float("62943801503703104746598349780960"),
+ mp_float("274854599899503557393479460710192"),
+ mp_float("1152616064094692337456526770720160"),
+ mp_float("4646483508381728485371623544465645"),
+ mp_float("18022723911298825640229327687624320"),
+ mp_float("67320174609851495773797782833184960"),
+ mp_float("242352628595465384785672018199465856"),
+ mp_float("841502182623143697172472285414812000"),
+ mp_float("2820169476899184282415853064633424000"),
+ mp_float("9128443306805254387819734919734504000"),
+ mp_float("28555643164877975264461734877118192000"),
+ mp_float("86380820573755875174996748003282530800"),
+ mp_float("252821913874407439536575847814485456000"),
+ mp_float("716328755977487745353631568807708792000"),
+ mp_float("1965739376868454743063454072542084592000"),
+ mp_float("5227079706672936475873275601986906756000"),
+ mp_float("13474249910534680693362221551788470748800"),
+ mp_float("33685624776336701733405553879471176872000"),
+ mp_float("81705557968135829736345386005525833264000"),
+ mp_float("192348501049986432504313096221342065809000"),
+ mp_float("439653716685683274295572791363067578992000"),
+ mp_float("976031251042216868936171596826010025362240"),
+ mp_float("2105165443424389325156448542173747113526400"),
+ mp_float("4412750641024200700808709444171892987968800"),
+ mp_float("8992020174162522182780011697557819673596800"),
+ mp_float("17817521456210923584397430585901605649534400"),
+ mp_float("34339223170151961817202320765555821797284480"),
+ mp_float("64386043444034928407254351435417165869908400"),
+ mp_float("117476289792625132532534255250585706148604800"),
+ mp_float("208621687045523942256052211910522891953556800"),
+ mp_float("360668001332939696781649586692768389479030400"),
+ mp_float("607124468910448489582443470932826788956367840"),
+ mp_float("995286014607292605872858149070207850748144000"),
+ mp_float("1589247023324547870667950915450815761678488000"),
+ mp_float("2472162036282630021039034757367935629277648000"),
+ mp_float("3746870586240861125637287054135777438123935250"),
+ mp_float("5533839635063425662479685495338994370152273600"),
+ mp_float("7965375232288264211145001849351582805522212000"),
+ mp_float("11175302564702937848472092146851474383866984000"),
+ mp_float("15283869684079017939822126024370398789700434000"),
+ mp_float("20378492912105357253096168032493865052933912000"),
+ mp_float("26492040785736964429025018442242024568814085600"),
+ mp_float("33581460150934180262144389574672988890046024000"),
+ mp_float("41510416019904750601817370446470777933529113000"),
+ mp_float("50039953558241343191231898620403129563706328000"),
+ mp_float("58830756210364822400502367296960436108681764000"),
+ mp_float("67459267121218329685909381167181300071288422720"),
+ mp_float("75447864543467868727661807884347506658677841200"),
+ mp_float("82306761320146765884721972237470007264012190400"),
+ mp_float("87582835763745917543999021739871930806577074400"),
+ mp_float("90908766235786901754530630160373396533409115200"),
+ mp_float("92045125813734238026462263037378063990076729140"),
+ mp_float("90908766235786901754530630160373396533409115200"),
+ mp_float("87582835763745917543999021739871930806577074400"),
+ mp_float("82306761320146765884721972237470007264012190400"),
+ mp_float("75447864543467868727661807884347506658677841200"),
+ mp_float("67459267121218329685909381167181300071288422720"),
+ mp_float("58830756210364822400502367296960436108681764000"),
+ mp_float("50039953558241343191231898620403129563706328000"),
+ mp_float("41510416019904750601817370446470777933529113000"),
+ mp_float("33581460150934180262144389574672988890046024000"),
+ mp_float("26492040785736964429025018442242024568814085600"),
+ mp_float("20378492912105357253096168032493865052933912000"),
+ mp_float("15283869684079017939822126024370398789700434000"),
+ mp_float("11175302564702937848472092146851474383866984000"),
+ mp_float("7965375232288264211145001849351582805522212000"),
+ mp_float("5533839635063425662479685495338994370152273600"),
+ mp_float("3746870586240861125637287054135777438123935250"),
+ mp_float("2472162036282630021039034757367935629277648000"),
+ mp_float("1589247023324547870667950915450815761678488000"),
+ mp_float("995286014607292605872858149070207850748144000"),
+ mp_float("607124468910448489582443470932826788956367840"),
+ mp_float("360668001332939696781649586692768389479030400"),
+ mp_float("208621687045523942256052211910522891953556800"),
+ mp_float("117476289792625132532534255250585706148604800"),
+ mp_float("64386043444034928407254351435417165869908400"),
+ mp_float("34339223170151961817202320765555821797284480"),
+ mp_float("17817521456210923584397430585901605649534400"),
+ mp_float("8992020174162522182780011697557819673596800"),
+ mp_float("4412750641024200700808709444171892987968800"),
+ mp_float("2105165443424389325156448542173747113526400"),
+ mp_float("976031251042216868936171596826010025362240"),
+ mp_float("439653716685683274295572791363067578992000"),
+ mp_float("192348501049986432504313096221342065809000"),
+ mp_float("81705557968135829736345386005525833264000"),
+ mp_float("33685624776336701733405553879471176872000"),
+ mp_float("13474249910534680693362221551788470748800"),
+ mp_float("5227079706672936475873275601986906756000"),
+ mp_float("1965739376868454743063454072542084592000"),
+ mp_float("716328755977487745353631568807708792000"),
+ mp_float("252821913874407439536575847814485456000"),
+ mp_float("86380820573755875174996748003282530800"),
+ mp_float("28555643164877975264461734877118192000"),
+ mp_float("9128443306805254387819734919734504000"),
+ mp_float("2820169476899184282415853064633424000"),
+ mp_float("841502182623143697172472285414812000"),
+ mp_float("242352628595465384785672018199465856"),
+ mp_float("67320174609851495773797782833184960"),
+ mp_float("18022723911298825640229327687624320"),
+ mp_float("4646483508381728485371623544465645"),
+ mp_float("1152616064094692337456526770720160"),
+ mp_float("274854599899503557393479460710192"),
+ mp_float("62943801503703104746598349780960"),
+ mp_float("13828562451571136648873879876120"),
+ mp_float("2911276305593923505026079973920"),
+ mp_float("586600449634596527132120591760"),
+ mp_float("112974901411107479299519521376"),
+ mp_float("20767445112335933694764617900"),
+ mp_float("3638092574423813202002560800"),
+ mp_float("606348762403968867000426800"),
+ mp_float("95968868869692914201506400"),
+ mp_float("14395330330453937130225960"),
+ mp_float("2041890827014742855351200"),
+ mp_float("273210744459719114448400"),
+ mp_float("34390163638286322098400"),
+ mp_float("4059949873964357469950"),
+ mp_float("447994468851239444960"),
+ mp_float("46026828991565696400"),
+ mp_float(static_cast<boost::int64_t>(4383507523006256800LL)),
+ mp_float(static_cast<boost::int64_t>(385037822966765800LL)),
+ mp_float(static_cast<boost::int64_t>(31009757554370400LL)),
+ mp_float(static_cast<boost::int64_t>(2274048887320496LL)),
+ mp_float(static_cast<boost::int64_t>(150599264060960LL)),
+ mp_float(static_cast<boost::int64_t>(8917061687820LL)),
+ mp_float(static_cast<boost::int64_t>(466251591520LL)),
+ mp_float(static_cast<boost::int64_t>(21193254160LL)),
+ mp_float(static_cast<boost::int32_t>(820384032L)),
+ mp_float(static_cast<boost::int32_t>(26294360L)),
+ mp_float(static_cast<boost::int32_t>(669920L)),
+ mp_float(static_cast<boost::int32_t>(12720L)),
+ mp_float(static_cast<boost::int32_t>(160L)),
+ mp_float(static_cast<boost::int32_t>(1L)),
+ }};
+
+ static const std::vector<mp_float> A007318_160_vect(A007318_160_data.begin(), A007318_160_data.end());
+
+ return A007318_160_vect;
+ }
+}
+
+namespace Tables
+{
+ const std::vector<pfn_vector_efloat>& A007318(void)
+ {
+ static const boost::array<pfn_vector_efloat, 161u> A007318_data =
+ {{
+ A007318_Table::A007318_0,
+ A007318_Table::A007318_1,
+ A007318_Table::A007318_2,
+ A007318_Table::A007318_3,
+ A007318_Table::A007318_4,
+ A007318_Table::A007318_5,
+ A007318_Table::A007318_6,
+ A007318_Table::A007318_7,
+ A007318_Table::A007318_8,
+ A007318_Table::A007318_9,
+ A007318_Table::A007318_10,
+ A007318_Table::A007318_11,
+ A007318_Table::A007318_12,
+ A007318_Table::A007318_13,
+ A007318_Table::A007318_14,
+ A007318_Table::A007318_15,
+ A007318_Table::A007318_16,
+ A007318_Table::A007318_17,
+ A007318_Table::A007318_18,
+ A007318_Table::A007318_19,
+ A007318_Table::A007318_20,
+ A007318_Table::A007318_21,
+ A007318_Table::A007318_22,
+ A007318_Table::A007318_23,
+ A007318_Table::A007318_24,
+ A007318_Table::A007318_25,
+ A007318_Table::A007318_26,
+ A007318_Table::A007318_27,
+ A007318_Table::A007318_28,
+ A007318_Table::A007318_29,
+ A007318_Table::A007318_30,
+ A007318_Table::A007318_31,
+ A007318_Table::A007318_32,
+ A007318_Table::A007318_33,
+ A007318_Table::A007318_34,
+ A007318_Table::A007318_35,
+ A007318_Table::A007318_36,
+ A007318_Table::A007318_37,
+ A007318_Table::A007318_38,
+ A007318_Table::A007318_39,
+ A007318_Table::A007318_40,
+ A007318_Table::A007318_41,
+ A007318_Table::A007318_42,
+ A007318_Table::A007318_43,
+ A007318_Table::A007318_44,
+ A007318_Table::A007318_45,
+ A007318_Table::A007318_46,
+ A007318_Table::A007318_47,
+ A007318_Table::A007318_48,
+ A007318_Table::A007318_49,
+ A007318_Table::A007318_50,
+ A007318_Table::A007318_51,
+ A007318_Table::A007318_52,
+ A007318_Table::A007318_53,
+ A007318_Table::A007318_54,
+ A007318_Table::A007318_55,
+ A007318_Table::A007318_56,
+ A007318_Table::A007318_57,
+ A007318_Table::A007318_58,
+ A007318_Table::A007318_59,
+ A007318_Table::A007318_60,
+ A007318_Table::A007318_61,
+ A007318_Table::A007318_62,
+ A007318_Table::A007318_63,
+ A007318_Table::A007318_64,
+ A007318_Table::A007318_65,
+ A007318_Table::A007318_66,
+ A007318_Table::A007318_67,
+ A007318_Table::A007318_68,
+ A007318_Table::A007318_69,
+ A007318_Table::A007318_70,
+ A007318_Table::A007318_71,
+ A007318_Table::A007318_72,
+ A007318_Table::A007318_73,
+ A007318_Table::A007318_74,
+ A007318_Table::A007318_75,
+ A007318_Table::A007318_76,
+ A007318_Table::A007318_77,
+ A007318_Table::A007318_78,
+ A007318_Table::A007318_79,
+ A007318_Table::A007318_80,
+ A007318_Table::A007318_81,
+ A007318_Table::A007318_82,
+ A007318_Table::A007318_83,
+ A007318_Table::A007318_84,
+ A007318_Table::A007318_85,
+ A007318_Table::A007318_86,
+ A007318_Table::A007318_87,
+ A007318_Table::A007318_88,
+ A007318_Table::A007318_89,
+ A007318_Table::A007318_90,
+ A007318_Table::A007318_91,
+ A007318_Table::A007318_92,
+ A007318_Table::A007318_93,
+ A007318_Table::A007318_94,
+ A007318_Table::A007318_95,
+ A007318_Table::A007318_96,
+ A007318_Table::A007318_97,
+ A007318_Table::A007318_98,
+ A007318_Table::A007318_99,
+ A007318_Table::A007318_100,
+ A007318_Table::A007318_101,
+ A007318_Table::A007318_102,
+ A007318_Table::A007318_103,
+ A007318_Table::A007318_104,
+ A007318_Table::A007318_105,
+ A007318_Table::A007318_106,
+ A007318_Table::A007318_107,
+ A007318_Table::A007318_108,
+ A007318_Table::A007318_109,
+ A007318_Table::A007318_110,
+ A007318_Table::A007318_111,
+ A007318_Table::A007318_112,
+ A007318_Table::A007318_113,
+ A007318_Table::A007318_114,
+ A007318_Table::A007318_115,
+ A007318_Table::A007318_116,
+ A007318_Table::A007318_117,
+ A007318_Table::A007318_118,
+ A007318_Table::A007318_119,
+ A007318_Table::A007318_120,
+ A007318_Table::A007318_121,
+ A007318_Table::A007318_122,
+ A007318_Table::A007318_123,
+ A007318_Table::A007318_124,
+ A007318_Table::A007318_125,
+ A007318_Table::A007318_126,
+ A007318_Table::A007318_127,
+ A007318_Table::A007318_128,
+ A007318_Table::A007318_129,
+ A007318_Table::A007318_130,
+ A007318_Table::A007318_131,
+ A007318_Table::A007318_132,
+ A007318_Table::A007318_133,
+ A007318_Table::A007318_134,
+ A007318_Table::A007318_135,
+ A007318_Table::A007318_136,
+ A007318_Table::A007318_137,
+ A007318_Table::A007318_138,
+ A007318_Table::A007318_139,
+ A007318_Table::A007318_140,
+ A007318_Table::A007318_141,
+ A007318_Table::A007318_142,
+ A007318_Table::A007318_143,
+ A007318_Table::A007318_144,
+ A007318_Table::A007318_145,
+ A007318_Table::A007318_146,
+ A007318_Table::A007318_147,
+ A007318_Table::A007318_148,
+ A007318_Table::A007318_149,
+ A007318_Table::A007318_150,
+ A007318_Table::A007318_151,
+ A007318_Table::A007318_152,
+ A007318_Table::A007318_153,
+ A007318_Table::A007318_154,
+ A007318_Table::A007318_155,
+ A007318_Table::A007318_156,
+ A007318_Table::A007318_157,
+ A007318_Table::A007318_158,
+ A007318_Table::A007318_159,
+ A007318_Table::A007318_160,
+ }};
+
+ static const std::vector<pfn_vector_efloat> A007318_vect(A007318_data.begin(), A007318_data.end());
+
+ return A007318_vect;
+ }
+}

Added: sandbox/multiprecision/src/functions/tables/tables.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/tables/tables.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,30 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _TABLES_2008_01_10_H_
+ #define _TABLES_2008_01_10_H_
+
+ #include <vector>
+
+ #include <boost/multiprecision/mp_float.hpp>
+
+ namespace Tables
+ {
+ typedef const boost::multiprecision::mp_float& (*pfn_efloat)(void);
+ typedef const std::vector<boost::multiprecision::mp_float>& (*pfn_vector_efloat)(void);
+
+ const std::vector<pfn_efloat>& A000142(void);
+ const std::vector<pfn_efloat>& A000367(void);
+ const std::vector<pfn_efloat>& A002445(void);
+ const std::vector<pfn_efloat>& A006882(void);
+ const std::vector<pfn_vector_efloat>& A007318(void);
+ }
+
+#endif // _TABLES_2008_01_10_H_

Added: sandbox/multiprecision/src/functions/zeta/zeta.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/functions/zeta/zeta.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,313 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <algorithm>
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include <boost/multiprecision/utility/util_power_j_pow_x.hpp>
+
+#include "../tables/tables.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace Zeta_Series
+{
+ bool has_simple_form_for_zeta_n(const boost::int32_t n)
+ {
+ // Zeta(n) has a simple form for all negative integer values of n as well
+ // as for all positive, even values of n. The simple form is related to
+ // a Bernoulli number. Therefore the simple form is only easy to calculate
+ // as long as the range of n stays within the range of the tabulated values
+ // of the Bernoulli numbers.
+
+ // Check the range of the tabulated values of the Bernoulli numbers.
+ static const std::size_t sz_A000367 = static_cast<std::size_t>(Tables::A000367().size());
+ static const std::size_t sz_A002445 = static_cast<std::size_t>(Tables::A002445().size());
+
+ static const boost::int32_t b2n_table_max = static_cast<boost::int32_t>(2u * (std::min)(sz_A000367, sz_A002445));
+
+ const bool is_neg = (n < static_cast<boost::int32_t>(0));
+ const bool is_even = (n % static_cast<boost::int32_t>(2)) == static_cast<boost::int32_t>(0);
+
+ const bool is_pos_and_even = ((!is_neg) && is_even);
+ const bool is_in_table = (n < b2n_table_max);
+
+ return (is_in_table && (is_pos_and_even || is_neg));
+ }
+
+ template<typename T,
+ typename TR>
+ T Reflection(const T& s)
+ {
+ using boost::multiprecision::gamma;
+ using boost::multiprecision::gamma;
+ using boost::multiprecision::pow;
+ using boost::multiprecision::pow;
+ using boost::multiprecision::sin;
+ using boost::multiprecision::sin;
+ using boost::multiprecision::riemann_zeta;
+ using boost::multiprecision::riemann_zeta;
+ using boost::multiprecision::one;
+ using boost::multiprecision::two;
+ using boost::multiprecision::pi;
+ using boost::multiprecision::two_pi;
+ using boost::multiprecision::pi_half;
+
+ const T two_pi_term = pow(two_pi(), s) / pi();
+ const T chi = (two_pi_term * sin(pi_half() * s)) * gamma(one() - s);
+
+ return chi * riemann_zeta(one() - s);
+ }
+
+ template<typename T,
+ typename TR>
+ T ZetaTemplate(const T& s)
+ {
+ using boost::multiprecision::abs;
+ using boost::multiprecision::abs;
+ using boost::multiprecision::imag;
+ using boost::multiprecision::imag;
+ using boost::multiprecision::pow;
+ using boost::multiprecision::pown;
+ using boost::multiprecision::pow;
+ using boost::multiprecision::real;
+ using boost::multiprecision::real;
+ using boost::multiprecision::tol;
+ using boost::multiprecision::prime;
+ using boost::multiprecision::isneg;
+ using boost::multiprecision::iszero;
+ using boost::multiprecision::isint;
+ using boost::multiprecision::to_int32;
+ using boost::multiprecision::to_double;
+ using boost::multiprecision::order_of;
+ using boost::multiprecision::factorial;
+ using boost::multiprecision::riemann_zeta;
+ using boost::multiprecision::one;
+ using boost::multiprecision::two;
+ using boost::multiprecision::four;
+ using boost::multiprecision::hundred;
+ using boost::multiprecision::million;
+
+ if(isint(s))
+ {
+ // Support pure-integer arguments according to certain conditions.
+ const boost::int32_t n = to_int32(real(s));
+
+ if(Zeta_Series::has_simple_form_for_zeta_n(n))
+ {
+ return T(riemann_zeta(n));
+ }
+ }
+
+ if(isneg(s))
+ {
+ // Support negative arguments using the reflection formula.
+ // Support arguments with a real part which is less than 1/2.
+ return Zeta_Series::Reflection<T, TR>(s);
+ }
+
+ // The algorithms for calculating the Riemann zeta function below use calculations
+ // of the integer j raised to the power s, or in other words j^s. The calculation of
+ // j^s is accelerated using tables of the prime factors of j raised to the power s.
+ // The calculation is furthermore accelerated by storing the necessary integer
+ // logarithms in a static table.
+
+ // Declare a map of prime factors raised to the power of the argument s.
+ std::map<boost::uint32_t, T> n_pow_s_prime_factor_map;
+
+ // Generate a list of the first 300 prime numbers.
+ static std::deque<boost::uint32_t> prime_data;
+
+ if(prime_data.empty())
+ {
+ prime(static_cast<boost::uint32_t>(300u), prime_data);
+ }
+
+ static const std::vector<boost::uint32_t> primes(prime_data.begin(), prime_data.end());
+
+ // Test the conditions for the expansion of the product of primes. Set up a
+ // test for the product of primes. The expansion in the product of primes can
+ // be used if the number of prime-power terms remains reasonably small, say
+ // less than or equal to 300.
+ static const double lg10_max_prime = ::log10(static_cast<double>(primes.back()));
+ static const double td = static_cast<double>(static_cast<boost::int32_t>(tol()));
+ const double sd = to_double(real(s));
+
+ if(iszero(imag(s)) && ((td / sd) < lg10_max_prime))
+ {
+ // Perform the product of primes.
+ T product(1u);
+
+ for(std::size_t p = static_cast<std::size_t>(0u); p < primes.size(); p++)
+ {
+ const T prime_p_pow_s = boost::multiprecision::utility::j_pow_x(primes[p], s, n_pow_s_prime_factor_map);
+
+ product *= prime_p_pow_s / (prime_p_pow_s - one());
+
+ if(order_of(abs(prime_p_pow_s)) > tol())
+ {
+ break;
+ }
+ }
+
+ return product;
+ }
+ else
+ {
+ static const TR very_large = million() + hundred();
+
+ if(abs(imag(s)) > very_large)
+ {
+ // Return NaN if s has a very large imaginary part.
+ return std::numeric_limits<TR>::quiet_NaN();
+ }
+
+ // Use the accelerated alternating converging series for Zeta as shown in:
+ // http://numbers.computation.free.fr/Constants/Miscellaneous/zetaevaluations.html
+ // taken from P. Borwein, "An Efficient Algorithm for the Riemann Zeta Function",
+ // January 1995.
+
+ // Compute the coefficients dk in a loop and calculate the zeta function sum
+ // within the same loop on the fly.
+
+ // Set up the factorials and powers for the calculation of the coefficients dk.
+ // Note that j = n at this stage in the calculation. Also note that the value of
+ // dn is equal to the value of d0 at the end of the loop.
+
+ // Use N = (digits * 1.45) + {|imag(s)| * 1.1}
+ static const double nd = static_cast<double>(std::numeric_limits<TR>::digits10) * static_cast<double>(1.45);
+ const double ni = static_cast<double>(1.10 * ::fabs(to_double(imag(s))));
+
+ const boost::int32_t N = static_cast<boost::int32_t>(static_cast<boost::int64_t>(static_cast<double>(nd + ni)));
+ bool neg_term = (N % static_cast<boost::int32_t>(2)) == static_cast<boost::int32_t>(0);
+
+ TR n_plus_j_minus_one_fact = factorial(static_cast<boost::uint32_t>((N + N) - 1));
+ TR four_pow_j = pown(four(), static_cast<boost::int64_t>(N));
+ TR n_minus_j_fact = one();
+ TR two_j_fact = n_plus_j_minus_one_fact * static_cast<boost::int32_t>(static_cast<boost::int32_t>(2) * N);
+
+ TR dn = (n_plus_j_minus_one_fact * four_pow_j) / (n_minus_j_fact * two_j_fact);
+
+ T jps = boost::multiprecision::utility::j_pow_x(N, s, n_pow_s_prime_factor_map);
+
+ T dn_term = ((!neg_term) ? dn : -dn);
+
+ T zs = dn_term / jps;
+
+ for(boost::int32_t j = N - static_cast<boost::int32_t>(1); j >= static_cast<boost::int32_t>(0); j--)
+ {
+ const bool j_is_zero = (j == static_cast<boost::int32_t>(0));
+
+ const boost::int32_t two_jp1_two_j = static_cast<boost::int32_t>((static_cast<boost::int32_t>(2) * j) + static_cast<boost::int32_t>(1))
+ * static_cast<boost::int32_t> (static_cast<boost::int32_t>(2) * ((!j_is_zero) ? j : static_cast<boost::int32_t>(1)));
+
+ n_plus_j_minus_one_fact /= static_cast<boost::int32_t>(N + j);
+ four_pow_j /= static_cast<boost::int32_t>(4);
+ n_minus_j_fact *= static_cast<boost::int32_t>(N - j);
+ two_j_fact /= two_jp1_two_j;
+
+ dn += ((n_plus_j_minus_one_fact * four_pow_j) / (n_minus_j_fact * two_j_fact));
+
+ if(!j_is_zero)
+ {
+ // Increment the zeta function sum.
+ jps = boost::multiprecision::utility::j_pow_x(static_cast<boost::uint32_t>(j), s, n_pow_s_prime_factor_map);
+
+ neg_term = !neg_term;
+
+ dn_term = ((!neg_term) ? dn : -dn);
+
+ zs += (dn_term / jps);
+ }
+ }
+
+ const T two_pow_one_minus_s = pow(two(), one() - s);
+
+ return zs / (dn * (one() - two_pow_one_minus_s));
+ }
+ }
+}
+
+mp_float boost::multiprecision::riemann_zeta(const boost::int32_t n)
+{
+ // Check if the result of the expansion will significantly differ from one.
+ if(n > static_cast<boost::int32_t>(1))
+ {
+ static const double log10_of_2 = ::log10(2.0);
+ static const double dtol = static_cast<double>(static_cast<boost::int32_t>(boost::multiprecision::tol()));
+
+ const double n_log10_of_2 = static_cast<double>(n) * log10_of_2;
+
+ if(n_log10_of_2 > dtol)
+ {
+ // The result does not significantly differ from one.
+ return boost::multiprecision::one();
+ }
+ }
+
+ // Check if there is a simple form for Zeta(n).
+ if(!Zeta_Series::has_simple_form_for_zeta_n(n))
+ {
+ // There is no simple form for Zeta(n). Do the mp_float calculation.
+ return riemann_zeta(mp_float(n));
+ }
+ else
+ {
+ // There is a simple form for Zeta(n). Use the Bernoulli representation.
+ if (n == static_cast<boost::int32_t>(0)) { return -boost::multiprecision::half(); }
+ else if(n == static_cast<boost::int32_t>(1)) { return std::numeric_limits<mp_float>::infinity(); }
+ else if(n == static_cast<boost::int32_t>(2)) { return boost::multiprecision::pi_squared() / static_cast<boost::int32_t>(6); }
+ else if(n == static_cast<boost::int32_t>(4)) { return (boost::multiprecision::pi_squared() * boost::multiprecision::pi_squared()) / static_cast<boost::int32_t>(90); }
+ else
+ {
+ if(n < static_cast<boost::int32_t>(0))
+ {
+ const boost::uint32_t two_n = static_cast<boost::uint32_t>(static_cast<boost::int32_t>(-n) + static_cast<boost::int32_t>(1));
+
+ const bool is_even = (n % static_cast<boost::int32_t>(2)) == static_cast<boost::int32_t>(0);
+
+ return is_even ? boost::multiprecision::zero() : -boost::multiprecision::bernoulli(two_n) / static_cast<boost::int32_t>(two_n);
+ }
+ else
+ {
+ const boost::uint32_t two_n = static_cast<boost::uint32_t>(n);
+
+ const mp_float two_pi_pow_2n = boost::multiprecision::pown(boost::multiprecision::two_pi(), static_cast<boost::int64_t>(two_n));
+
+ return ((two_pi_pow_2n * boost::multiprecision::fabs(boost::multiprecision::bernoulli(two_n))) / boost::multiprecision::factorial(two_n)) / static_cast<boost::int32_t>(2);
+ }
+ }
+ }
+}
+
+mp_float boost::multiprecision::riemann_zeta(const mp_float& s)
+{
+ if(s.has_its_own_riemann_zeta())
+ {
+ return mp_float::my_riemann_zeta(s);
+ }
+ else
+ {
+ return Zeta_Series::ZetaTemplate<mp_float, mp_float>(s);
+ }
+}
+
+mp_complex boost::multiprecision::riemann_zeta(const mp_complex& s)
+{
+ if(boost::multiprecision::iszero(s.imag()))
+ {
+ return mp_complex(Zeta_Series::ZetaTemplate<mp_float, mp_float>(s.real()));
+ }
+ else
+ {
+ return Zeta_Series::ZetaTemplate<mp_complex, mp_float>(s);
+ }
+}

Added: sandbox/multiprecision/src/utility/util_digit_scale.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/utility/util_digit_scale.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,35 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <vector>
+
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/utility/util_digit_scale.hpp>
+#include <boost/multiprecision/utility/util_interpolate.hpp>
+
+using boost::multiprecision::mp_float;
+
+const double& boost::multiprecision::utility::digit_scale(void)
+{
+ static const boost::array<boost::multiprecision::utility::point<double>, static_cast<std::size_t>(4u)> scale_data =
+ {{
+ boost::multiprecision::utility::point<double>( 50.0, 1.0 / 6.0),
+ boost::multiprecision::utility::point<double>(100.0, 1.0 / 3.0),
+ boost::multiprecision::utility::point<double>(200.0, 1.0 / 2.0),
+ boost::multiprecision::utility::point<double>(300.0, 1.0),
+ }};
+
+ static const std::vector<boost::multiprecision::utility::point<double> > scale(scale_data.begin(), scale_data.end());
+
+ static const double the_scale = boost::multiprecision::utility::linear_interpolate<double>::interpolate(static_cast<double>(std::numeric_limits<mp_float>::digits10), scale);
+
+ return the_scale;
+}

Added: sandbox/multiprecision/src/utility/util_power_j_pow_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/utility/util_power_j_pow_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,109 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include <boost/multiprecision/utility/util_point.hpp>
+#include <boost/multiprecision/utility/util_power_j_pow_x.hpp>
+#include "../functions/integer/prime_factors.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace
+{
+ mp_float my_logn(const boost::uint32_t n)
+ {
+ static std::map<boost::uint32_t, mp_float> ln_data;
+
+ const std::map<boost::uint32_t, mp_float>::const_iterator it = ln_data.find(n);
+
+ if(it == ln_data.end())
+ {
+ const mp_float ln = boost::multiprecision::log(mp_float(n));
+
+ ln_data[n] = ln;
+
+ return ln;
+ }
+ else
+ {
+ return it->second;
+ }
+ }
+
+ template<typename T> inline T j_pow_x_template(const boost::uint32_t j, const T& x, std::map<boost::uint32_t, T>& n_pow_x_prime_factor_map)
+ {
+ using boost::multiprecision::exp;
+ using boost::multiprecision::exp;
+ using boost::multiprecision::pown;
+ using boost::multiprecision::pown;
+ using boost::multiprecision::real;
+ using boost::multiprecision::real;
+
+ std::deque<boost::multiprecision::utility::point<boost::uint32_t> > pf;
+
+ boost::multiprecision::prime_factors(j, pf);
+
+ T jpx = boost::multiprecision::one();
+
+ for(std::size_t i = static_cast<std::size_t>(0u); i < pf.size(); i++)
+ {
+ T pf_pow_x;
+
+ const boost::uint32_t n = pf[i].x;
+ const boost::uint32_t p = pf[i].y;
+
+ const typename std::map<boost::uint32_t, T>::const_iterator it = n_pow_x_prime_factor_map.find(n);
+
+ if(it == n_pow_x_prime_factor_map.end())
+ {
+ // Compute n^x using exp[x * log(n)] and use the map data in the Zeta::logn(...).
+ // Obtain the necessary integer logarithms from a table.
+ if(boost::multiprecision::isint(x))
+ {
+ const mp_float rx = real(x);
+
+ // Compute pure integer power for pure integer arguments.
+ if((rx < boost::multiprecision::int64_max()) && (rx > boost::multiprecision::int64_min()))
+ {
+ pf_pow_x = pown(T(n), boost::multiprecision::to_int64(rx));
+ }
+ else
+ {
+ pf_pow_x = exp(x * ::my_logn(n));
+ }
+ }
+ else
+ {
+ pf_pow_x = exp(x * ::my_logn(n));
+ }
+
+ n_pow_x_prime_factor_map[n] = pf_pow_x;
+ }
+ else
+ {
+ pf_pow_x = it->second;
+ }
+
+ // Do the power expansion.
+ if (p == static_cast<boost::uint32_t>(1u)) { }
+ else if(p == static_cast<boost::uint32_t>(2u)) { pf_pow_x *= pf_pow_x; }
+ else if(p == static_cast<boost::uint32_t>(3u)) { pf_pow_x *= (pf_pow_x * pf_pow_x); }
+ else { pf_pow_x *= pown(pf_pow_x, static_cast<boost::int64_t>(p - 1u)); }
+
+ jpx *= pf_pow_x;
+ }
+
+ return jpx;
+ }
+}
+
+mp_float boost::multiprecision::utility::j_pow_x(const boost::uint32_t j, const mp_float& x, std::map<boost::uint32_t, mp_float>& n_pow_x_prime_factor_map) { return ::j_pow_x_template<mp_float>(j, x, n_pow_x_prime_factor_map); }
+mp_complex boost::multiprecision::utility::j_pow_x(const boost::uint32_t j, const mp_complex& x, std::map<boost::uint32_t, mp_complex>& n_pow_x_prime_factor_map) { return ::j_pow_x_template<mp_complex>(j, x, n_pow_x_prime_factor_map); }

Added: sandbox/multiprecision/src/utility/util_timer.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/src/utility/util_timer.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,24 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <ctime>
+#include <boost/multiprecision/utility/util_timer.hpp>
+
+double boost::multiprecision::utility::timer::get_sec(void)
+{
+ return static_cast<double>(::clock()) / static_cast<double>(CLOCKS_PER_SEC);
+}
+
+double boost::multiprecision::utility::timer::elapsed(void) const
+{
+ const double delta = static_cast<double>(get_sec() - start);
+
+ return static_cast<double>(delta - offset);
+}

Added: sandbox/multiprecision/test/Jamfile.v2
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/Jamfile.v2 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,127 @@
+# e_float/libs/e_float/test/jamfile.v2
+
+# e_float EFX test using Boost.test unit test framework
+
+# Copyright Paul A. Bristow 2011
+# Copyright Christopher Kormanyos 2011
+
+# From Copyright 2005: Eric Niebler
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+#~ from Copyright Rene Rivera 2008
+#~ Distributed under the Boost Software License, Version 1.0.
+#~ (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+import testing ;
+
+project
+ : requirements
+ <library>/boost/test//boost_test_exec_monitor/<link>static
+ <include>../../..
+ <include>../../../boost/
+ <define>BOOST_ALL_NO_LIB=1 # Why?
+ <define>BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX # Could also be BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_GMP or BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_MFPR.
+ <define>BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50 # Overriding the default of 100 for testing purposes.
+ # But has no effect without bjam -a option???
+
+ <toolset>gcc:<cxxflags>-Wextra
+ <toolset>gcc:<cxxflags>-Wshadow
+ <toolset>gcc:<warnings-as-errors>on
+ <toolset>gcc:<cxxflags>-Wno-long-long
+ <toolset>gcc:<cxxflags>-Wcast-align
+ <toolset>intel:<warnings-as-errors>on
+
+ -<toolset>msvc:<cxxflags>/Za # Requires MS extensions, so explictly cancel /Za to enable extensions.
+ <toolset>msvc:<asynch-exceptions>on # Needed for Boost.Test
+ <toolset>msvc:<warnings>all
+ <toolset>msvc:<warnings-as-errors>on
+ <toolset>msvc:<define>_SCL_SECURE_NO_WARNINGS
+ <toolset>msvc:<define>_SCL_SECURE_NO_DEPRECATE
+ <toolset>msvc:<define>_CRT_SECURE_NO_DEPRECATE
+ <toolset>msvc:<define>_CRT_SECURE_NO_WARNINGS
+ <toolset>msvc:<define>BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10=50 # Overriding the default of 100 for testing purposes.
+
+ # Warning suppression:
+ <toolset>msvc:<cxxflags>/wd4224 # nonstandard extension used : formal parameter 'arg' was previously defined as a type.
+ <toolset>msvc:<cxxflags>/wd4127 # expression is constant.
+ ;
+
+
+ test-suite "e_float EFX numerical" :
+ [ run ./e_float_numerical_test/e_float_test.cpp
+ ../src/e_float/e_float.cpp
+ ../src/e_float/e_float_base.cpp
+ ../src/e_float/efx/e_float_efx.cpp
+ ../src/functions/constants/constants.cpp
+ ../src/functions/elementary/elementary_complex.cpp
+ ../src/functions/elementary/elementary_math.cpp
+ ../src/functions/elementary/elementary_hyper_g.cpp
+ ../src/functions/elementary/elementary_trans.cpp
+ ../src/functions/elementary/elementary_trig.cpp
+ ../src/functions/gamma/factorial.cpp
+ ../src/functions/gamma/factorial2.cpp
+ ../src/functions/gamma/gamma.cpp
+ ../src/functions/gamma/gamma_util.cpp
+ ../src/functions/gamma/pochhammer.cpp
+ ../src/functions/integer/prime.cpp
+ ../src/functions/integer/prime_factor.cpp
+ ../src/functions/integer/bernoulli_b.cpp
+ ../src/functions/zeta/zeta.cpp
+
+ ../src/functions/tables/A000142.cpp
+ ../src/functions/tables/A000367.cpp
+ ../src/functions/tables/A002445.cpp
+ ../src/functions/tables/A006882.cpp
+ ../src/functions/tables/A007318.cpp
+
+ ../src/utility/util_power_j_pow_x.cpp
+ ../src/utility/util_timer.cpp
+ ../src/utility/util_digit_scale.cpp
+
+ ./test_case_base.cpp
+ ./real/test_real.cpp
+
+ ./real/cases/test_case_0000x_overflow_underflow.cpp
+ ./real/cases/test_case_0000y_write_to_ostream.cpp
+ ./real/cases/test_case_0000z_global_ops_pod.cpp
+ ./real/cases/test_case_00051_factorial.cpp
+ ./real/cases/test_case_00021_bernoulli.cpp
+ ./real/cases/test_case_00011_various_elem_math.cpp
+ ./real/cases/test_case_00903_zeta_neg_x.cpp
+ ./real/cases/test_case_00902_zeta_all_x.cpp
+ ./real/cases/test_case_00901_zeta_small_x.cpp
+ ./real/cases/test_case_00221_various_gamma_func.cpp
+ ./real/cases/test_case_00205_gamma_near_neg_n.cpp
+ ./real/cases/test_case_00204_gamma_tiny_x.cpp
+ ./real/cases/test_case_00203_gamma_small_x.cpp
+ ./real/cases/test_case_00202_gamma_medium_x.cpp
+ ./real/cases/test_case_00201_gamma.cpp
+ ./real/cases/test_case_00126_atanh.cpp
+ ./real/cases/test_case_00125_acosh.cpp
+ ./real/cases/test_case_00124_asinh.cpp
+ ./real/cases/test_case_00123_tanh.cpp
+ ./real/cases/test_case_00122_cosh.cpp
+ ./real/cases/test_case_00121_sinh.cpp
+ ./real/cases/test_case_00115_various_elem_trans.cpp
+ ./real/cases/test_case_00114_various_trig.cpp
+ ./real/cases/test_case_00113_atan_x_small_to_large.cpp
+ ./real/cases/test_case_00112_cos_x_near_pi_half.cpp
+ ./real/cases/test_case_00111_sin_small_x.cpp
+ ./real/cases/test_case_00106_rootn.cpp
+ ./real/cases/test_case_00105_sqrt.cpp
+ ./real/cases/test_case_00104_log.cpp
+ ./real/cases/test_case_00103_exp.cpp
+ ./real/cases/test_case_00102_cos.cpp
+ ./real/cases/test_case_00101_sin.cpp
+ ./real/cases/test_case_00071_various_int_func.cpp
+ ./real/cases/test_case_00021_bernoulli.cpp
+ ./real/cases/test_case_00051_factorial.cpp
+ ./real/cases/test_case_00052_factorial2.cpp
+
+ ]
+
+ #[ run ../example/e_float_naive_eg.cpp ]
+
+ ;
+

Added: sandbox/multiprecision/test/e_float_numerical_test/e_float_test.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/e_float_numerical_test/e_float_test.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,309 @@
+//! \file
+// e_float_test.cpp
+
+// Copyright Paul A. Bristow 2011.
+// Copyright Christopher Kormanyos 2011.
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt
+// or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// Test of using e_float and Boost.Check macro/functions.
+
+#define BOOST_TEST_MAIN
+#define BOOST_LIB_DIAGNOSTIC "on"// Show library file details.
+// Linking to lib file: libboost_unit_test_framework-vc100-mt-gd-1_48.lib (trunk at Jul 11)
+
+// #define BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10 50 as command line using MSVC or in jamfile (but needs b2 -a option?)
+
+#include <iostream>
+using std::cout;
+using std::cin;
+using std::endl;
+using std::dec;
+using std::hex;
+using std::boolalpha;
+using std::scientific;
+using std::fixed;
+using std::defaultfloat;
+using std::showpos;
+using std::showpoint;
+
+#include <iomanip>
+using std::setprecision;
+using std::setw;
+#include <string>
+using std::string;
+#include <sstream>
+//using std::istringstream;
+//using std::ostringstream
+
+#include <boost/test/unit_test.hpp> // Enhanced for unit_test framework autolink.
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <boost/e_float/e_float.hpp>
+#include <boost/e_float/e_float_constants.hpp>
+
+namespace test
+{
+ namespace real
+ {
+ // See \boost-sandbox\e_float\libs\e_float\test\real\test_real.cpp and /cases/ *.cpp
+ // \boost-sandbox\e_float\libs\e_float\test\real\cases\test_case_0000x_overflow_underflow.cpp
+ bool test_case_00001_overflow_mul_x(const bool);
+ bool test_case_00002_underflow_mul_x (const bool);
+ bool test_case_00003_overflow_x_mul_by_n(const bool);
+ bool test_case_00004_underflow_x_div_by_n(const bool);
+ // \boost-sandbox\e_float\libs\e_float\test\real\cases\test_case_0000y_write_to_ostream.cpp
+ bool test_case_00006_write_os_floatfield_fixed(const bool);
+ bool test_case_00007_write_os_floatfield_scientific(const bool);
+ bool test_case_00008_write_os_floatfield_not_set(const bool);
+ // \boost-sandbox\e_float\libs\e_float\test\real\cases\test_case_0000z_global_ops_pod.cpp
+ bool test_case_00009_global_ops_pod_equate (const bool);
+ bool test_case_00010_global_ops_pod_operations (const bool);
+ // \boost-sandbox\e_float\libs\e_float\test\real\cases\test_case_00011_various_elem_math.cpp
+ bool test_case_00011_various_elem_math (const bool);
+ bool test_case_00021_bernoulli (const bool);
+ bool test_case_00051_factorial (const bool);
+ bool test_case_00052_factorial2 (const bool);
+ bool test_case_00071_various_int_func (const bool);
+ bool test_case_00101_sin (const bool);
+ bool test_case_00102_cos (const bool);
+ bool test_case_00103_exp (const bool);
+ bool test_case_00104_log (const bool);
+ bool test_case_00105_sqrt (const bool);
+ bool test_case_00106_rootn (const bool);
+ bool test_case_00111_sin_small_x (const bool);
+ bool test_case_00112_cos_x_near_pi_half (const bool);
+ bool test_case_00113_atan_x_small_to_large (const bool);
+ bool test_case_00114_various_trig (const bool);
+ bool test_case_00115_various_elem_trans (const bool);
+ bool test_case_00121_sinh (const bool);
+ bool test_case_00122_cosh (const bool);
+ bool test_case_00123_tanh (const bool);
+ bool test_case_00124_asinh (const bool);
+ bool test_case_00125_acosh (const bool);
+ bool test_case_00126_atanh (const bool);
+ bool test_case_00201_gamma (const bool);
+ bool test_case_00202_gamma_medium_x (const bool);
+ bool test_case_00203_gamma_small_x (const bool);
+ bool test_case_00204_gamma_tiny_x (const bool);
+ bool test_case_00205_gamma_near_neg_n (const bool);
+ bool test_case_00221_various_gamma_func (const bool);
+ bool test_case_00901_zeta_small_x (const bool);
+ bool test_case_00902_zeta_all_x (const bool);
+ bool test_case_00903_zeta_neg_x (const bool);
+ } // namespace real
+} // namespace test
+
+
+//Macros to Check using manips output expected string result, for example:
+// CHECK_OUT(hex << showbase << setw(10) << i, " 0xf")
+// CHECK_OUT(scientific << setw(20) << d, " 1.234568e+001");
+
+// Compare a output with expected result.
+#define CHECK_OUT(manips, result)\
+{ \
+ std::ostringstream oss;\
+ oss << manips;\
+ BOOST_CHECK_EQUAL(oss.str(), result);\
+}
+
+#define CHECK_LENGTH(manips, result)\
+{\
+ BOOST_CHECK_EQUAL(oss.str().length(), strlen(result));\
+}\
+
+// Compare results of reading string in,
+#define CHECK_IN(in, value)\
+{\
+ e_float r;\
+ std::istringstream iss(in);\
+ iss >> r;\
+ BOOST_CHECK_CLOSE_FRACTION(r, value, std::numeric_limits<e_float>::epsilon());\
+} // #define CHECK_IN(in, value, sd, df, types)
+
+// CHECK_OUT_IN Output via manips, and read back in, check is same. 'Loopback'.
+#define CHECK_OUT_IN(manips, result, value)\
+{\
+ std::stringstream ss;\
+ ss << manips;\
+ BOOST_CHECK_EQUAL(ss.str(), result);\
+ e_float r;\
+ ss >> r;\
+ BOOST_CHECK_CLOSE_FRACTION(r, value, std::numeric_limits<e_float>::epsilon());\
+}// #define CHECK_OUT_IN(manips, result)
+
+
+// Must #define BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX; in project properties.
+
+// Note: exact double means exactly representable as double, for example: 0.5,
+// but NOT 0.1.
+// Integral may be an integer or a double having an integral value.
+
+BOOST_AUTO_TEST_CASE(e_float_test_template)
+{ // These are just examples of using Boost.Test.
+ // Need to be removed when no longer helpful.
+ BOOST_TEST_MESSAGE("Test Boost.e_float"); // Only appears if command line has --log_level="message"
+
+ string m = "Test with ";
+ m+= __FILE__;
+ m+= " edited ";
+ m += __TIMESTAMP__ ".\n";
+ BOOST_TEST_MESSAGE(m);
+ BOOST_CHECK(true);
+ BOOST_CHECK_EQUAL(1, 1);
+ BOOST_CHECK_NE(1, -1);
+ BOOST_CHECK_CLOSE_FRACTION(1.0, 1.0+std::numeric_limits<double>::epsilon(), std::numeric_limits<double>::epsilon());
+ double d = 123.456789;
+ // cout << scientific << d << endl; // Outputs: "1.234568e+003"
+ CHECK_OUT(d, "123.457"); // Default. == << std::defaultfloat
+ CHECK_OUT(defaultfloat << d, "123.457"); // Default. == << std::defaultfloat
+ string ddef = "123.457"; // default float output.
+ CHECK_OUT(d, ddef); // Default. == << std::defaultfloat
+ CHECK_OUT(defaultfloat << d, ddef); // Default. == << std::defaultfloat
+ CHECK_OUT(scientific << d, "1.234568e+002");
+ CHECK_OUT(fixed << d, "123.456789");
+ int m1 = -1; // negative variable.
+ CHECK_OUT(m1, "-1"); // negative constant.
+ CHECK_OUT(hex << m1, "ffffffff"); // with hex manipulator.
+ // Checking input with inline.
+ e_float r;
+ std::istringstream iss("123.456");
+ iss >> r;
+ BOOST_CHECK_CLOSE_FRACTION(r, e_float("123.456"), std::numeric_limits<e_float>::epsilon());
+ BOOST_CHECK_EQUAL(r, e_float("123.456")); // Also works
+ // Repeat same test using CHECK_IN macro defined above.
+ CHECK_IN("123.456", e_float("123.456"));
+
+ //CHECK_IN("123.456", e_float(123.456)); // Mistaken conversion from less accurate double.
+ // Fails r{123.456} and e_float(123.456){123.4560000000000030695446184836328029632568359375}
+ // differ by more than 1e-49.
+
+ // CHECK_OUT_IN Output via manips, and read back in, check is same. 'Loopback'.
+ // #define CHECK_OUT_IN(manips, result, value)
+ { // Integer example.
+ int i = 255;
+ std::string result = "ff";
+ int value = 255;
+ std::stringstream ss;
+ ss << hex << i;
+ BOOST_CHECK_EQUAL(ss.str(), result);
+ int read;
+ ss >> read;
+ BOOST_CHECK_EQUAL(read, value);
+ }
+ { // double example
+ double w = 123.456;
+ std::string result = "123.456000";
+ double value = 123.456;
+ std::stringstream ss;
+ ss << std::fixed << w;
+ //cout << ss.str() << endl;
+ BOOST_CHECK_EQUAL(ss.str(), result);
+ double read;
+ ss >> read;
+ BOOST_CHECK_EQUAL(read, value);
+ BOOST_CHECK_CLOSE_FRACTION(read, value, std::numeric_limits<double>::epsilon());
+ }
+ { // e_float example
+ e_float w("123.456");
+ std::string result = "123.456000"; // double result was "123.456000";
+ e_float value("123.456");
+ std::stringstream ss;
+ ss << std::fixed << w;
+ //cout << ss.str() << endl;
+ BOOST_CHECK_EQUAL(ss.str(), result);
+ e_float read;
+ ss >> read;
+ BOOST_CHECK_EQUAL(read, value);
+ BOOST_CHECK_CLOSE_FRACTION(read, value, std::numeric_limits<e_float>::epsilon());
+
+ CHECK_OUT_IN(std::fixed << w, result, value);
+ }
+
+} // BOOST_AUTO_TEST_CASE(e_float_template)
+
+BOOST_AUTO_TEST_CASE(e_float_test_macros)
+{ // Check some macro values.
+ //
+ BOOST_CHECK_EQUAL(BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10, 50); // Assumes we are testing at 50 digits, NOT the default.
+} // BOOST_AUTO_TEST_CASE(e_float_test_macros)
+
+
+BOOST_AUTO_TEST_CASE(e_float_test_ios)
+{ // Check some IOS defaults.
+ BOOST_CHECK_EQUAL(cout.precision(), 6);
+ std::ostringstream oss;
+ BOOST_CHECK_EQUAL(oss.precision(), 6);
+ }
+
+BOOST_AUTO_TEST_CASE(e_float_test_input)
+{ //
+ BOOST_TEST_MESSAGE("Test Boost.e_float input.");
+
+ CHECK_IN("2", e_float("2"));
+ CHECK_IN("-2", e_float("-2"));
+ CHECK_IN("+2", e_float("+2"));
+ CHECK_IN("-2.", e_float("-2."));
+
+ CHECK_IN("123.456", e_float("123.456"));
+ CHECK_IN("0.0123456", e_float("0.0123456"));
+ CHECK_IN("1e-6", e_float("1e-6"));
+ CHECK_IN("-1e-6", e_float("-1e-6"));
+} // BOOST_AUTO_TEST_CASE(e_float_test_input)
+
+BOOST_AUTO_TEST_CASE(e_float_tests)
+{ // Original real tests from \e_float\libs\e_float\test\real\cases
+ BOOST_TEST_MESSAGE("Test Boost.e_float numerical.");
+
+ BOOST_CHECK(test::real::test_case_00001_overflow_mul_x (false));
+ BOOST_CHECK(test::real::test_case_00002_underflow_mul_x (false));
+ BOOST_CHECK(test::real::test_case_00003_overflow_x_mul_by_n (false));
+ BOOST_CHECK(test::real::test_case_00004_underflow_x_div_by_n (false));
+ BOOST_CHECK(test::real::test_case_00006_write_os_floatfield_fixed (false));
+ BOOST_CHECK(test::real::test_case_00007_write_os_floatfield_scientific (false));
+ BOOST_CHECK(test::real::test_case_00008_write_os_floatfield_not_set (false));
+ BOOST_CHECK( test::real::test_case_00001_overflow_mul_x (false));
+ BOOST_CHECK( test::real::test_case_00002_underflow_mul_x (false));
+ BOOST_CHECK( test::real::test_case_00003_overflow_x_mul_by_n (false));
+ BOOST_CHECK( test::real::test_case_00004_underflow_x_div_by_n (false));
+ BOOST_CHECK( test::real::test_case_00006_write_os_floatfield_fixed (false));
+ BOOST_CHECK( test::real::test_case_00007_write_os_floatfield_scientific(false));
+ BOOST_CHECK( test::real::test_case_00008_write_os_floatfield_not_set (false));
+ BOOST_CHECK( test::real::test_case_00009_global_ops_pod_equate (false));
+ BOOST_CHECK( test::real::test_case_00010_global_ops_pod_operations (false));
+ BOOST_CHECK( test::real::test_case_00011_various_elem_math (false));
+ BOOST_CHECK( test::real::test_case_00021_bernoulli (false));
+ BOOST_CHECK( test::real::test_case_00051_factorial (false));
+ BOOST_CHECK( test::real::test_case_00052_factorial2 (false));
+ BOOST_CHECK( test::real::test_case_00071_various_int_func (false));
+ BOOST_CHECK( test::real::test_case_00101_sin (false));
+ BOOST_CHECK( test::real::test_case_00102_cos (false));
+ BOOST_CHECK( test::real::test_case_00103_exp (false));
+ BOOST_CHECK( test::real::test_case_00104_log (false));
+ BOOST_CHECK( test::real::test_case_00105_sqrt (false));
+ BOOST_CHECK( test::real::test_case_00106_rootn (false));
+ BOOST_CHECK( test::real::test_case_00111_sin_small_x (false));
+ BOOST_CHECK( test::real::test_case_00112_cos_x_near_pi_half (false));
+ BOOST_CHECK( test::real::test_case_00113_atan_x_small_to_large (false));
+ BOOST_CHECK( test::real::test_case_00114_various_trig (false));
+ BOOST_CHECK( test::real::test_case_00115_various_elem_trans (false));
+ BOOST_CHECK( test::real::test_case_00121_sinh (false));
+ BOOST_CHECK( test::real::test_case_00122_cosh (false));
+ BOOST_CHECK( test::real::test_case_00123_tanh (false));
+ BOOST_CHECK( test::real::test_case_00124_asinh (false));
+ BOOST_CHECK( test::real::test_case_00125_acosh (false));
+ BOOST_CHECK( test::real::test_case_00126_atanh (false));
+ BOOST_CHECK( test::real::test_case_00201_gamma (false));
+ BOOST_CHECK( test::real::test_case_00202_gamma_medium_x (false));
+ BOOST_CHECK( test::real::test_case_00203_gamma_small_x (false));
+ BOOST_CHECK( test::real::test_case_00204_gamma_tiny_x (false));
+ BOOST_CHECK( test::real::test_case_00205_gamma_near_neg_n (false));
+ BOOST_CHECK( test::real::test_case_00221_various_gamma_func (false));
+ BOOST_CHECK( test::real::test_case_00901_zeta_small_x (false));
+ BOOST_CHECK( test::real::test_case_00902_zeta_all_x (false));
+ BOOST_CHECK( test::real::test_case_00903_zeta_neg_x (false));
+
+} // BOOST_AUTO_TEST_CASE(e_float_tests)

Added: sandbox/multiprecision/test/imag/cases/test_case_02101_z_sin.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02101_z_sin.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,160 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02101_z_sin : public TestCaseImag
+ {
+ public:
+ TestCase_case_02101_z_sin() { }
+ virtual ~TestCase_case_02101_z_sin() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02101_z_sin");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::half() + (boost::multiprecision::euler_gamma() * ((100 * k) - 5000));
+ const mp_float y = (boost::multiprecision::one() + (31 * k)) / static_cast<boost::int32_t>(3);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::sin(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 101u> a =
+ {{
+ mp_complex(mp_float("-1.05572927962098654867782615000549459305833721463713961147042362205828772843201000231461499490219980702099650272539205986199106929778309192800342055251317281408208991516399927264018078616590113046000502003869327021237605897007131622323375390707928370620115919955215898821205108955488255614743183850553425757382862934840851255153114395804889551011074560209802304363527997896862563003019344670464375621437"), mp_float("-0.00864790479454085030745366764380844782778977857949406499533687976378831233980703404128156179859865362765302157586225172465691609116537387728533108718808963606360296703303037755308613994910535667147494999583663487902109485610352304254574713457640237386314796811950264986856344485571650860819640187620677702094053269652075897072622582041134941179615581723681624635868950378381923038776243697476570833406")),
+ mp_complex(mp_float("-8812.760405311889048415287233040152727317013534110236563589960757843995777292117692935093172250092703458115147907495634898453122352900886452774067791910837272356606776570647298501452515764050901889466411505852273583153555936896768050749315567498406795352218848355455985699869915978064339971505394000415560379950299535698029415099280532618435682420590596472418795523001916066246470814049036965436957663"), mp_float("19556.946593686483952854954718746621169867269299343890938991778946147162449358596253397625065453777233921602878471193175407042541118244706739744238588649562924469485304088003248723556118943134638819227908018261303866495121885129413833187942920650584933132483472859830458462750686180125638078882936096344867096335538938140057503368962694041731614527854426736722959527031670363373425087214772966980855347")),
+ mp_complex(mp_float("4.4925063286897475321084906940883039668153836128720349270482623673657397005105011608084600957986591995039531661216790484520823458168938730042738010710493926992122024865575588252218179579650119554713907136339820031931798248978212502604471476346348239824021132486747470605238814367959461603433162824645252991070042060633248684454051003879618442931274819398335022956951580677139787117965388895960611992629e8"), mp_float("4.8269307457943802874819202547214432265200508267534375581028977141229624432090189433487760967676258299745265467890537689116915782486728113998271456613324189230648581960990460997303235555268415412503638601966302697004774995677446849423846325249765024831427720693164485686962080793741381042828871745475484813733064057467404522359931143637724679981391175083174144359471274404218126211547106420656283608975e8")),
+ mp_complex(mp_float("1.9030160025181949626920715955246407543325209483217393610267783921628075734328465296844357766403268307835842750033819212155503403941937664668577965692510202238403354431097616885049181069111557849468935164004329321882260636801689489151531384177529106571390344363558670824449762796963493644148361497252832054908187016966531742656988809097209417210293984463064084224304374040363733881608972532778199558729e13"), mp_float("-6.981752843855086383955997092053349184272424159855405056804746116541064342935935544365868274947383429268235648174934780586740743033494190124764107045898072179085333660675973787617431245490552532508742512959442398851660220611653795834888142286547550590746244127914517926888854403305388567211252584895300137215815403072038194240827201436756596145915190381834433814904901008258974542486388134973558556964e12")),
+ mp_complex(mp_float("2.881926464350463959867254305646733327173250889995124600604339284082205613239104491463689954705475282397329761735250220057127939726201581025051146327875376225146428649159213516669213209732478456690339809398118201418827686101226466815692868838877039148848402751509508084999299487270373114446499852980217979560786387197688451063304212375168456587456402538917268249047692211664464096185668122813484566685e16"), mp_float("-6.2245567785123649171316844138238511180943566096314071521523317143616898926291641653224797505564310043533249158968961088097296695021004033681101828121647374376529736125453030823958756529539121544162203596931642582351701159007575838755725061959749746446127517546347764833881691138930810547188471822372339838074633900701273712690637612280759286467353710126710975646521864635269992065900636251194482617147e17")),
+ mp_complex(mp_float("-1.7296431658550643901978468307896185659578158307604137899409208831632771824706868063880304606367876967872080852560821565780199414785574787641958540105858638580959942081057651213158616165679749870416275621374367690175998393350081218239875124124150180566311307719102011776247099253181257323060559958046669775826664736060812857945070081945562605924203958247013215824118205859087250858565702574635876112875e22"), mp_float("-8.230978642904354172762559252859503000711794603377764514253128270290002528396378412325164690397686110092670989605712246765221680262645987716138987352593697242345017943217855819844352823868733785149410624595530869642338709932662624275838282724901677731854589153623322757628513079353715518962579219885750946157818758923052429407844858484846770923970726439615605771198615626824029926445837696451830619249e21")),
+ mp_complex(mp_float("-4.3928029095342039443356254014289421636830982635687692696860469504318577278368658677421169772257571336749206572204647096372620710892430798155368327309069145343125104012050538068524575829529590496565350987187476839056726789874258525072916459323436198424503864227141579074986257323591947809559864448851449611549431331864316469013964577526467205566903165368356492449532179950242045869763092317333097242612e26"), mp_float("3.9211992490646193340048702220821879947793060506687568126158831177585358704338421215263998763063343519195182186629581287344880562688014398654399761318750073361268008639944720709167051558799301465596491609427763329690893671605290054828042816591148023098316577343664010633619104606320609532425714019639379477135385971929615348633597526584017358430702184345300615089853192327793328666182595574865588911073e26")),
+ mp_complex(mp_float("5.87983541436738304296070591761132622072550471609875211088171520097324685399980769601469086229426601168452258449985266877443743704418745137479555967879449679250209289112914574997019984213518802069778545109037520912232594520203180156137238743898139977861677561526521562177865816977223539180375701100425757765714946066452005321569082328660010056402396598438823747269533529761823644326640499954126851777e30"), mp_float("1.7119387138864305701499275691870009712840300473537869806288487336132506963648418223132927944237838230532531225036134719204714857591449742521679063331745830088114288854476754490666107792021632709767282835950451697823400535970544081123601496359812299809461977083480085466919464064975814721033090256540224157835560495534337612571120419220320254712545398137941082780016990782533935501531858423998172890703e31")),
+ mp_complex(mp_float("5.5518118424306568991416420297144461985330299300520446401815150874480785912769740932003838246257805589020175298791738749297359640137393083668388822829762735600615527870236045750172962340604506115317792865326030978544586018175387070549946242630347055232856312354351670739919890733349917338267208120346247318637767094523677461151581107253029459706124613987993518220202289887717929951642443855117291576172e35"), mp_float("3.728655045415778154268912509657707677831905385639364968112071457524152466717538364784678329491970431242609435562575602115427611835909825644925867263377674543541390333020421702959460964985566396410079818353891732529183219121204164337044750358566722211212655574445067376859846740056886560911465725127345782649689369462901699600954344624758426977645684436754805958793252366823439306051241206868990043878e34")),
+ mp_complex(mp_float("7.669603761107450009766370818668982401041954698313750072738202664086031005822030270389372144769502488359425942296512738875686702737373632198696628684589759325568369996315778326408134307406470409555336792090848636955406139346894405135653492650898301149723121549767078534910887631281556672971568047207595770113313213909377526870361009073510708213599083939626895563286163909960840249378756400287618860655e39"), mp_float("-1.5289090115255216250991754709374343157269757609817792715551633773779280732632907920775867065275773939789109786674572965496638597775135574723496354891463470801271602137624418367714950812424613617520547758706830968076798614776826434513963045963036026913360456048566384949693441432207439668847326729677308113428614727899344351111598127174141988175950102478959784305183315398479964567142848322968931217423e40")),
+ mp_complex(mp_float("-3.4192079895845537452496676555677622078990838660167177160932335089720829615128196094807153175289588279062091151840194292202709015403481276180447454937823037142180303565745113316656100024119357420001531354678084395290887554613522842116867754264974036454244921052843324941845801266641565803247781556912832305762546910381761087925147231283531907181331995785887442771937682052714253516590649894372498929382e44"), mp_float("-3.9946144659859100692520798671982467008179242498996047046323653434285321574510699085530942095415906782645701145832400958259286502513353636761701828160216216940915934457415993973099152557707270450493771989981277881839587263013554776997427767791281008235263429840766806766793173867605651167569794467379176816320557189557593528792025607063347428298272763867633949615055593234325037695757928329522235247182e44")),
+ mp_complex(mp_float("-1.5393026859977913546754131726089188730088727393703502948105982833111662942624058631840318571990392954438473892145794075253064023561143670803941261445623648252172288196991939603307960098872526193188581585807876814658473509132255636436277116231135033039282893383935313023709910922513202137605065737620720901826986067430937375599459320868139735609512192442099295221498434412468459749522358329534822617256e49"), mp_float("4.931542791198041174679761448292208463181840433904458112958244167161530665182230991898440975242527644751794627520276950207881772610599938254861635957416674066687722654070089230483523891571160203841906743231775043151293327425064179038184203388632875090137032248276778840528596888025317570660231983992153137682893640626411157910609464096410966667521339415061608359311654736054660557951867336031586961764e48")),
+ mp_complex(mp_float("-4.359687738631568849544873683202352642582195477204026105682499750626797219929617410215392656634319615990873824838655916325750550726688454950406406719128502077061983464068883226013166574522219460455969241927712033355191951229934879771359606686721551392184924040290601712707581146873462626372951949882721749046380056796192079139777972666444057036462623241300542223351177937213150953593943503070491279935e52"), mp_float("4.9496261565698405772573878831827933384202644063102009258087027698305141834256734224339712033925558607428036752996151266631413805471272352203851520619730653458561389766592282454499625907766672734770351762092140990703989087070508311775890757235000562198210279299141820944927981678193677554996291362605615867728471065948018389034265291935643824497548390605242669642569491395544098470417118174817211057901e53")),
+ mp_complex(mp_float("1.3507397944355981093606642731561207906078185846068606804593596573383008055681707983897067321825852232876084067351095041731985183906438695916116947716126736794130467175167321308172432572249488148490191350133935904708769245154750312216092633067524807707880408625475933325670046667023583068679321541118252424254946072222399212606990817642658495937454502631388216061766072087801315052172034617940762227513e58"), mp_float("7.131148466774308223237125827798522510439777862550548854163995771705669653590532274180228522724906068036163862730456578605152203419450696994066328243773118150500397591516644408116716473324992471367241980145296455342938051348129146847948178977333228620216374241877709268002385019042324267650285174663694654006329132071785783419034465630487972605282972536172265446651368290536634959297611201535154912949e57")),
+ mp_complex(mp_float("3.6297990129745202149094891793682865363988034233721676372993847043334125785322038235673697043155210301536385758097292590223071848608947302602682918897427837506921106509165088986886618152192540090535014486774951463805962130168378319821676682254776043490033207318006660513352093934441281741934140963764020086310366115378286847977968529386977750121586010400050211336499061882762460800650944990668762765529e62"), mp_float("-2.9784332464563669611383263093377559652294880347822835479922309982547900388151649271488909040629288019198188407888213350287823607269967537204266162292034482541156232395811345140334355604637390772452582535633122790200949938748719779470594215940848040815015005756094944019937763898090890922447631551690654660892336599499543461944466847931198971136491109797346343795475989766525576634677812151272732515488e62")),
+ mp_complex(mp_float("-4.116979366070996498689932569357111451157041905302351380916654001116908840917996127729163572156493302598196372391338097373932312990281228850397630469622359668930804445599500730660676868366444702610272922438432564681847962555931723623905173276860903816606826097047482727092068847533597701872478455468421477748488298065139338881947538118313233339772763941019557568943510992007482164756345320387141727064e66"), mp_float("-1.3834158943095175381554579851240253950805422659907110439596784341881395273286955933126987082852661646642341370095250856531348929985698619180613169367951429675233154342291555885886697798874951299956137242590348713088968404512730160087038351272974376695018392309163298251656105138389666584318403153727322661886083610924245251683596858682896182149499073036137448860746083288536041475277012606922212438686e67")),
+ mp_complex(mp_float("-4.4108348792610681697120843142558007924002885920481144136348614947870711313786679513704489149546331213328911687997580331308976587322516673953496230229490455170505384432807422031369575075101416806132705651423227716636392311250416447313392527526184618361821433863756526465112582986752230861688861147221423950157964446661318315640192275186656327940017586715878916767567353625739599864333586496812496938987e71"), mp_float("-4.811252247422723110272600490102197839494450498819362103763402510304076061425361890388177912837048996175156641511666220151748736359223828752145104771359569641239665593816533553617132592356083463761161676504880716709986150040025854643781758465641542839326962469503147926775067279789308823913035892145457296550684873507652167268457699611841403563557011104876072751134024612035963747000531981115172495601e70")),
+ mp_complex(mp_float("-6.6173450149937179147434009764243997014145370815684383083506104540090424979879419049260890203777622708457827732364663087309366786439559525712274895474908004797836523346879771804847926815067713586364350011057431045598990948080840671185921473984961816496645444696316253234589731086801096621556248016914042423475693443364176267654124067892753508805697398574617006589158431062166179054604747013627179873267e75"), mp_float("1.19267355750366819080879717637345260856501134730440213566708344914863769669339713528848441763661808036510852550951985395854524636459436309244580046465380629367315115435629639603995221173002269796305224477263387405010878192921296711079778356542958956876875126630759854642285738471830093988645118509446309721271610884336799418935475961081212764692309885056145379765990967882529790824563205873606625823525e76")),
+ mp_complex(mp_float("2.591691770325729441123661506845828183504351547766104405201217949297390812589990748425842682297581343724976182727365837373975794232871848768762770336426964570657488169218942098297594527497104085824728657614994603634023895085665671494617470633207953835602782248851819775536820697597061412007996045630371234381702699799129140201407693385015379599726496078802092669660165861545255178540372286455540226832e80"), mp_float("3.295914935155821662663601851774911436351822990502324252085066550075265991506797649447579055207673603211846066633712391833304763184597767812182190418205138785694039991781120094009196001485706598904422161731213879012575560966691586996155005470605733691122563854201469160452808390039858956494366688470511754064311071392544879257494571315378951797587924453819329686340597814500898408417108300102068801825e80")),
+ mp_complex(mp_float("1.24273079172037670050865233703092132135458712072143234372880429524665746283968599024769959985673685867603258154829032577976550749993993147478070329397332773835951253634290245541987213279744234825849247262661890411365145204322707817931610408524210730757636637567455507145599393862724704432754179901641355962907324890477768991014320844245001276477277366693375329455226435201008012803007423177769808467348e85"), mp_float("-3.4186968902833247127591327561354874087840794944517081718975776827250034446491964337790916664007207001196842026462539553578003094256527642317391751772668868332266922923650572328665026461207466765361597564689656544925223157226390896681524772637292041558224474230214355656530583602456314788548110610995695044087525530988122047445500224742310878579428032984999485597846909138947262220197578778859325462582e84")),
+ mp_complex(mp_float("5.114361646037962977814389427190841669599191920163933437564645902973979896001018055670617729515749960864199500166911466139966753409737220328900675566589494592672097598421757229871046581882998050926757070104593707012853468513683517664154720479577749072013771342747689491966666938156637597851071512347261784067284489041075190369430481459324034625242749824897981702957019643435070885697151707442965255943e88"), mp_float("-3.9289741149443294743870159692292174970721296600074134632252246942813435524104338256972475144700913301896495943359866904639862796714754339276818175904000280425031220478088534381304832526884121975615659704850065659208671676338207358066365635268791705929350040317561913218236406876791923443956409055204520629879685486063632732313930613781218540128501881531618340825711818897804791306516246369479156090637e89")),
+ mp_complex(mp_float("-1.05250909719145339278484756220774387549816627530350279557585273099822740103503461373180742291445265218849156707279298358268788225831804653296245811492542591727334536523349211203875618337293262600973906158509089183411219212128791979791767590171229387118628662021415794008719161187093103296910687443661919582453798375276429426301280685635211161154452055064346703057171433506740858704792215878934466120819e94"), mp_float("-6.1292828122236368460655928360160736056370162594344444139185265866369696570021997525572471485429709604218479299209924506894933143421908792889625843762148060817637038168751069168852988993468384313361916172269792429297018911921704920113907261524819138198616529563666242895819754398391156085014988783600806523558585949243417302374632013156828289983396665977519447267653342645082275380232111144835058737795e93")),
+ mp_complex(mp_float("-2.9906490330194265253498419226047320810685268323198186918017778416658957899250790415545135783419683244613474731008326096676243552175959515698557422925133118613159415529228772776235343271896014358114481862718451658800751115370682646489527424718072901186257381524526923863141131387554686136628043552936641166038396102377021280906122059258221636088065935457985609928862813088822928306741767550012606033758e98"), mp_float("2.2526158304136817589488551999652436078932475050899332717624307393592655895526305603920247294248148542820514997868744614762205192316334155178243341575998620285643517666440505334884242749300749644373651491192063215819295598161596505991510746990277226882010867248233552122729138420158005849349538603773479408078432155009200879513394550564111777086152949110367541813145408043504631615346198490736072969171e98")),
+ mp_complex(mp_float("2.8214052445338550078373357979204817629871833008447786061190523433701652302081452240783462881408319625810117457122892614588985075970691794294620373353669464934462918540665549691054274855353931223863148546322285756431232411873012639705577619548455078221311403178413336217335557280802195996456090270748485219635611937724399176098814140199141501665692000254870533369790491421729598486127706166976476313006e102"), mp_float("1.11583336183569921111539526150911522952539775009141656415183316498988028036725317520001694047004620309608156492837523276969465865882326921735412386993011805903216061248864935141219958221687766568819590113312906530517363689598782129450659803190642282151957400860390435037232740853399867908467519816424562745896922625044329631946050249276932585743194123203698890138742139536766044669145198851737641473772e103")),
+ mp_complex(mp_float("3.4982154411805606203234285962632626803753063118778327022971604275790103712124530430894955488631084978439881339835953614234816922334791219669811413404288214800115711431318118786278159592143062758414953567007715194426668431149114657904873580395165707472383120079366754690057307306292983240530321756764804760188592753615695340144182273187221726984042772049846697282299099608173557509340202759244912990898e107"), mp_float("5.295503635823844386863061023666378056234377369058537177597886778813584455680870993450325136913057585830944601591007617946275766501261077407099422860111127202963569776418092500567790345494209803425847500084949489013246874837089391227329619013428632742977068026117377398747978260363930697015708874598358535421434129081102310920527880802570020717674228385276099709164590018466854579594285812085760733281e106")),
+ mp_complex(mp_float("5.667525756906427508202622003545549932361677511102282885345216007887906793187028465187250661480251212072698823008177064614994695618852665965697821386707032372390887224337789311373479277333776836373106005786304597978582111822325275270647898213890122164006516713220832832850104215710085089044262402018378244849667381881038958464878495484463225570492549510027526556725691276914879910412145996809122490286e111"), mp_float("-9.2827919922530410931739185652793161201723554166094191763563878309043019793822805216854090358202012075761783449629163232517146484423907583154468921530761874545839514599281269720587707180500858471295714688274160504281352888646500898072500453939654294347734791381307996715874040604646059006213090301640403758192490324436762950130813712408686146543853960766548249290476032704645273239274415540491873798966e111")),
+ mp_complex(mp_float("-1.9555633906798087991141867540825299167790064654715035552341588481919741998525288530722140506810522025967172905197994332863943658971410313466364572635943145225621028077939754939457059312381154793943206169438526167677873703460068566845166392500087268114002658249135784224272772853046513864580712033913913055451813499358726595638816733880096418949283523714793515747757546392559789229388160422444330007425e116"), mp_float("-2.7118178961200312763848673884745433241219759665943428747306808452852049390791203150488053742200076172406071197422603090303845371497406279401710099353791211124247478825163491837969084024686704935156932980008142916289586753950725422560374663111329151450658440468500875642243006044468425371986374045290218599618670377379891480575071628919013432873488982073357314042585930711402638569793274564079543237971e116")),
+ mp_complex(mp_float("-1.00143280891597958211830183370715781462345264589433218798949872899637213454051561834327300690706066247856090747440321926354740953542229433876254094525406477053829508165087149401313832748817962143016506530798625636499456747207119326162838163760532876087491714890839375223698934175764514844150603637447720574223949865388612627866213216390733428283641378014058135755272916006650215690125672197888566046202e121"), mp_float("2.3117162523770669487874196092901174219256366965688785551554560616529536066836002916403376734032313291796991715510822734565117304728510964075438628834101605087892306263693426330075890920186831296028841638275843672131378440780770839442473078807463153898216987314902875132602757938711405551442928074814301353999803757725063109825822630414770142011389044563417148126675581454262593945252751794466939462179e120")),
+ mp_complex(mp_float("-5.377243743255048757997103989261071657350044290692544806987639127953572947383220065971377745850891820252740990251675169001242325656015763820157075288737640788262303711033855100964180384217371376039080591646759232060681538522539171908853448888868963700828154370872453226374751194619149949153812409481234100104840923075988417019863200264994073414020205883717417879812746908794697741603162626371954277104e124"), mp_float("3.1133061758886646441208040272075503959768235383916706668200688791360081766688830752783707771598523563685403208276832378936012987174468891898866910751574041570754028236704222879695724248249332977585258024176224340650560807485503682748406070977413776775353255589333026461756810942263592222827019624223887766582882778321141063320936374462626645277210678753530931675926767175228636705193626309590929118113e125")),
+ mp_complex(mp_float("8.1822652610169600578545845729792739921820208083536695077479791368038278873053850975885082693320945389641758725514621362774548556929857824781650678913535630495458293018932628697426219900117630694029006102342665495730530493456996276045989493551425054061062321052983555979754021866322130513758467495782600596051460628348262411016856668305550090835185206242688890637396100755462415177493399754949899605528e129"), mp_float("5.2322120294960862833539763943341447390952386409695002058566458627128783248796925803074369069054918565048713223427902155562456829947171684319831965778217837488363382487669183993290183968443793341893078745309051743308007725942142265888777594037154511941740022419715461846020904097584110776535268274769872085300104919086670599171671204298825790715335068866465337273228967644497200079533046403750197751231e129")),
+ mp_complex(mp_float("2.4573674612922406023872116219182421961246581701340473476503191838228901243610155119042350889960393842907984648852237450785031408622836785378604619615490357447685762142134542083930956797443703732402715398342831181664466928853340600087309230335719652768747985400893268892102020193601800444835174546854142950919327060416526204346084282805219498765699051018248695798775757677210923747530288916957619727904e134"), mp_float("-1.6955378913571192737000049097891981368335493901915505461733828500640856101386561623882398429652291924859542396981895173231873572198881277013081105313633195924324156964640644552706370413139736262913213720281704716272627909678615442839325338639952095652629261333109176158182209462354688092874888860721594060889632752940500316572294226184319959715892817474118052422399429421657405898728570708346684016092e134")),
+ mp_complex(mp_float("-1.8779168761661222950365622888392679864007207042928337317079360457314579646755409535224869600682912725188865479900112781112675532575364022689605222454540288863565227323573173007732627553835309530737573609984531081441040893528203612451507013675847061423300234524276605754042992942242989478969901749584478104506246480187481914381360007076812292985848840019996523678030516292501993973690746592733859661011e138"), mp_float("-8.9835187759697348067238738460463059890495874212395824939347903972479457807339098175036520200855717524432187788885933282834971356375184817851256074827796765645431009298988527130004755138897798059271301615793358619387442662328220730050727024472387263577106088307451847388012747447098171066202256058028692458776808270145909151212107352598164424200117309830214388146140654004104828401006943619408913504075e138")),
+ mp_complex(mp_float("-2.7695149291295388778780632447125084936391866006125343650316781954496412432875610494452953388861897951660432731098823729840345872513901803960624527182354596855324448835691855839024195019905223075802403876949946068116233623253052891568951794828697220993276005745329281970474753309022835897831952783453651018630096946280905276100062826071771441582216489191213078761743514444916922794882313988442403824942e143"), mp_float("-5.378752752645050089509396164540489507093378504630075661510843695452589909273130812285814530345661740129946278924100846789354523249664633646741491255941384906583897451387344675936758918623141939362741944116932452866294778437905394261875236959319511354219823677259726079954454041331048339825057070391013885638211041777679505624506442337075985195306014961745710531968421726852620975488030343877892967342e142")),
+ mp_complex(mp_float("-4.8231387060258094191086546779884893830396489358872119487647261955538734524531386507037990056927478651085566870085434663073256354421390769092397595235232314974694189390738027221090839690474204521030637872761005931966442017486847710527947008763209975914774082416812973369999907115676945740626121306058425658714506262779228234033928637494389743838093273051482702116818313016102915894178822450633404131564e147"), mp_float("7.2078190464047539004103009758677152865334731337218606363947976883715284815830774577340962373629511362679738860298852403620237982304687300304966678963361772665934590684132034524058483716500423005443422425900698235604283178224383754452387287502423817561156561603812479419290982742340566748095144412341718272743107646530798735196269745311665941968063032620952680294239451334174189619428482944342377490659e147")),
+ mp_complex(mp_float("1.4681166396750887108471170960437828087533744562183845111593686164322821901629646808338516452899183215612536754631027577526417890744705571425599343657212064919303420438993216786544150374873668500738554291215841937061470742813213293157583729930189374527400019089215426238365577183328828547591493778683605432798787043903790921861759355784295704876928935913124239149456015499545988003337572931673201193461e152"), mp_float("2.2253711287992306488190866038872747961019609336589630275951070401478524266731326995882519431957799533481336853383949279682990864072160156985559142601771743137902840127560679340041419238225174522692314617105155475610476460137105750048033401759241484737122928010463938750385978174068184618469729721792111371187981859958635065914988740276094154754474592800033566403910841048734044433114159639981579182373e152")),
+ mp_complex(mp_float("8.055177894126157579264476833178409361698366847040319815606763459599576335848965236362506163397041402624576686970744060091106814941054939681861051671235949528112760883531121891205855139813476343306413681209353859029724250830308806337771142324716965605300889599729796570036873856547447398281103482109924865113465787430347390857618025107637948293290984679228383586607685875237879668762011764440862083639e156"), mp_float("-1.5097685281775285527282376132368089384559664456192135000281283158233732772930645822366711085978881548106174086181901253264862789675546342919872784047084758858443015473442276388341195933540927551778516878846645455228363267518826476584066644106970490282935764552567279221720968055200853960049767580278184976621715795545917565737279306159050960233447297703078348042132308794204756709940474414831843489994e156")),
+ mp_complex(mp_float("5.316267478252111960930303602939646653966547455166923236131932653119187623780350390505909389509561487020628928487522527330563124748945891147305515337289474758888729394994336064448259042908998384718480217245195374948190725833260304312899123579132815969663663854353227065762721872791303895573817867895263885503378755263326189668104639333398034131729140507722927518686033078959272042791887063055261199638e160"), mp_float("-2.4625820135056690340254614179676941108913390390505857408588552563077952477447670988960596392164660579611220145910274849159651400490487459065530365124556723308202373260514492114994751660526432407681585653256191123841957361725004044340568798839486011604643484852935427954510803341207809154155913048715386077988900148777463152602693621702137681923005357805101561319594985094974405201048608413729084095488e161")),
+ mp_complex(mp_float("-6.3454478443235408631590319058221334504406914860793398728594613838715902400641599473405085097738800964048558491390718205556169900903279295521036976239721042551608715409530888901603353848537351977501902332026112837495403593812580657021190441602344466508818432706206499023451351600166327353048712453535146968344474540343865203546012993346362769011252449256982639856986023215432545884096874497006744308448e165"), mp_float("-4.4398332680508629706366156674097468268221886067199660830209229486393715375317956396408028409370179752184355793361151484351606867176186501608474318908046908168218968092196222897813557562437464179960689767674024653890466641810592451272288234753777695131225780270309695718783643031389424551523491645489236698431414737855692841518054778181129082963762725947219211885249776065056135168035834162957899313801e165")),
+ mp_complex(mp_float("-2.0140267508816144380631568537749147528387266819120456472969739241522142012984748309582991725518364500361716060891005899852317890870127286570184524536314442110548616345074185102059471241297327078748699599675064663768537390237727123016041183185385111453857055337988883522927022389324923518292453923465083030530595095866197671201080312465016854991257531643657898264077349323199300325726337176240771149418e170"), mp_float("1.2693869134729956299048173946110485431949985752774854474156795456208975859253241881530475185679597330133889576348041289938741142244758736925280481438189329859251067234817371398965430657993761272604527784376507365220425404243740065110401975377646437688413929535628188574082132040876516308693340224080743418143444145869576721199598662383292961756157458345921294251257140955460062610207352867176772423509e170")),
+ mp_complex(mp_float("1.1983295823370006650773783590036567156747390522636971917042501600584015159160689269371852302285051463041335445460687658348778900106327081708347053880351654769835770493460863644961058553433423907782327591933041949956307339877447194588578219798551683788533972957625143691802848154448205325377150471782925654733684741444052350102421248785680448476354858779800206748949515320459752837050577669222676892767e174"), mp_float("7.2195377847609713651526424906427849642602882979113937477524317769099651980403871678132536209414909201908627044480535101165269613213236758629725792451623620069110156969821441871107581448164208453995921718607405521452999004269158638405085765771876126508604824555679997596266309717492756209596710333279458348185109669072623365108720481389600095795179893827897221503402759364227347828338336009856085681346e174")),
+ mp_complex(mp_float("2.188674316008087463687673944295625501389447213792050946703852193144878841614821984396906676423285886371833371285774109261461577375823652021346391549237210633018845992500533785532817813750622555272160375848725389085581707842741667389732708593758298099807058815864571899536260714629887243603979163306371590017139284912043563741113274852088216341815268386627922043316638459588454786429985613324642785354e179"), mp_float("5.203492925208747113275806294675485525143786609496893380185186198877787288260927535292546880065599405779342154618056101725744791263345263389225744112479751510873938775804576157506777238058595955108727783336256786198260586908861856042912184906008100052411304688468194645725853586888830697482599021760180564071914843031141981751784752400619310562813442087423477900680318790138416760618692795228672787329e178")),
+ mp_complex(mp_float("4.0816138170059087237735593229642165433255388542317702321934323177448568336987186299930082308838129059125013461042263566819866117554256707253902667001200756379486129650361425937417685752593364431742931234128687780224724231143341379795167842473077356344928581033403009050856816747652926930733325524668197611367071307423295657215333770138250126773870421969987341617383691866743298227612412079592122258413e183"), mp_float("-5.582656587482039166680659007242132536619189532753474234854567432580210897843226108479156053807057290367671831936969666516762875550132776228579583051874486357186772682767317743655827252129534258683883655456816306871922459724633996093042903469175753727505554358441316064075548404718813554193617688061540117500955373070752975415200404894351886074715344560991008545205273241037684340224898484721206236335e183")),
+ mp_complex(mp_float("-1.0958889716675421397022448788105155996230744526070720135008272790655924533591450344048509792377154396264060921453767237271490816904912343147419862561617353907813908525869835841552453903974221176051504882746491956855078196034685771966810823819213427266844552631648109101700737796339942168282835154887911628837485473054896563767009682331747977684533617687789689598951354592155412972249683259113913112795e188"), mp_float("-1.8216527568141766056574308076205106944633490605242489785381199587766838175561379812495479000381355514930940931722421894551165464056474903580834705214134675485679594673324102908337722674975097651797434686278048996323311132307256587759817534756912319264249625851572750666394458798101765720139969198641894594636074320514766149397801127455646267300489020982960118829265033219417955084617223837342115387688e188")),
+ mp_complex(mp_float("-6.4677120515472287445573915569680479913114280915556561415712200387852866583813074316184627166221009260131892885109102466976062045905023808822899687465237190995532086084890299283194875185886403135037403989275369393241236271622610856336534103657252454478267382696963014124129340149584139799618391004954440245591500233091452924630239655728648261589414692889168701892641027093775004195065490061667107368994e192"), mp_float("9.357984877421303472766389036415671597611125709567465743129347544731500999679210219338980807160480589744616810241302336340605138765175521504436726334721347920769977179089967912115117116263423711886838402559637786391417074403451347644725510174267597682459152798713235092326519902118276515946108190013282302301094307107685653345308225045644092881459640950164368634954248436496667770214553628373338650064e191")),
+ mp_complex(mp_float("-5.051952951903833070466129084110975210350014309920919875541396019426843184850282856376963339749139048252317277239187033274324612580391372267433937732457505671384521600187854415755670630912397241469290076626169343164820512895887220108587288248907841624128020533510037955554989145143792883498754348628095395907089927000173338810110930025948844329359744336151987741542113130920942527394611586504459202566e196"), mp_float("1.9443442617811246953436725134211298881628404993961819638721923243180120534580308900873099967779782331761209270545875761046288666490197646590443928672054156357995777652628529902234571919286430279228085142445955156771416926936568075838554606557028860181449772318276835739723470533397150410078629995527627573904830605856713094970405154919597386519969338603051147728941565021070607721552352208640793548331e197")),
+ mp_complex(mp_float("4.9083025846870175185532820663970927257236463290011122376163744906638325625803113985296073310817904321464374908228936349113662229257375074343736898452082491999951605903541341749483240108614503209131317577037397044820151609161453318784218492993781599208232613010825024420427304377932520144444170248861553329821107405037121722446197092316665057738260033067964842403691088465925459025142933656571239500511e201"), mp_float("3.7476395684587270902661484587242002796217805879011470902551692310491490571296988974322740320065094321987023582162443049570580020015560847689273530460170758848350176544586046185950522548405206838711807051969281047948849843932243864804528851450613638735805870979646566306096929295477537232560265474538850872446238929530972269323368325143599030558558207410470517842503236136503940210098202289424853073182e201")),
+ mp_complex(mp_float("1.6466836352947963515847067436339929950499368553987769302192565126139188595944511265768766991618433724720422962237919626132225056050498603496886869325485494935691711075478387104052474196114963799373002191382599190070355189974214808690642824822108480913565901002383226715689415803941985882250788915477971117855824267530654059471817517803885794229118164259590920115746613055520947030845363207996733103163e206"), mp_float("-9.445652470577992704406768529473840381253321987289899310390084532581691082152361518920995631957372772892316870234136800576339431016512041160567015943125892012456437648110723264329692586947705799936768051119554971093721321743640834921656046952861796494391607858987504328678981930012259247346895332307163046211960786662140632447011608170632847785020036194291148972315094160842993000433555802173283276721e205")),
+ mp_complex(mp_float("-7.153751677496726726923971322487036770351390449814112226239485092116889153176064663949795834429586574803182520714605143386094533831139697851661221641243267527491484887528035359888936285664421274282041207886121783322887449857071712492366986344096499249203738664382869366742818204811990663730617455026189285503827984757175417549076759566719097530580191789184632343582305315181856125473051836347748079177e209"), mp_float("-5.7916222401815291573496527791590047404532765230901258212751629576406360536312574083876537497665971954450756435529593340837530321391800204806156746573490663495030292667429574684904234436017878981723598509983785805495779956327488513580492981635199417835411708266816112538185073212630013775831405395323489616827177230770858381761926160595187983983000100329000624577917096789741786521160587200068025262994e210")),
+ mp_complex(mp_float("-1.7264925266899896449314871866176531457985826259658414165543314966615298183253855715095156533131700206325143232091617823211881284320537619296415483986589039601789199936099291057621372620562762987693368121403991703555627420537175222312990085008931092201749615332273868750819746894450973985936179248250281454041052174018141426993221241143276743335084350821995730356035244470652488518256990118651938696312e215"), mp_float("-4.871295715222498451362428763443444858067851929723012505252540634960525911232956986822512531898418888991441846752191967076961484444683946252532821843536564626663710463997860395273158914894040278760556986579180206412917528692224754685305162788639563705095746533488338671081626813673496268703612893239105503735852749695165116926748953837403696825036513623170624217579682692149526060061536867395404677761e214")),
+ mp_complex(mp_float("-3.436952997645841352492357523385372184271480156637193081320477429644815920177341532195331390820963743073725614452058477176899720656778205791612808791570256436277637996974724894548357612556462154116583857336513771526477493323046062437376331656556999843135046717852835304107671918572662850184594281961463638411822071798856620656262318073891270342417356780264741175555097532398812283211311125809963564249e219"), mp_float("4.3124534697946509444658476716943165563936928113364451661000478682235821712355649341322694380526231533308529977128739132577989968206788050924616559871936779479511267747513453594854517325354313953873100097767023162187466958184325878777611651736566910893700795583657858744925259253006048931763765237391021276181752640998170290147903513572026401686103733595351851628167672061825869335556720404183997844582e219")),
+ mp_complex(mp_float("8.127150705327845879222825283123104399986681502009880767781942845445456703849097805191202917857579816247427247930329340993187193103378606963577820959730924035118424920777782744777923119375431126382726453835952014090966545362859425697308503187647820531629108735252416281913706647383716921398194160146067073440770281203495211423388090530486784591853226269804721223661653805601115194447585703555616867806e223"), mp_float("1.4876649578609315279489092396930726802548433902136716549785894993042941875286146268065064039514376926811104904219088265773678987030463624532565580338928758641851534105036318814226947013146231908358180009386659313843576865005644285821051139677965408322004743011812133548545734346548631876637871139633528369246640610278746490075525815426398741358453739323813351928397896995344624409488428667505091442427e224")),
+ mp_complex(mp_float("5.1839298058231299381602959076233261000033789048348920554213683343021065682642997240188346185554730762783278408396909905490399650237726287627915925663380769950644653463233980921833973138913022502988021769882056293693533974813502608096399985372276850697530271262606468021589742408993977125727524974812334747253817810478079396892383462084188671777113596774748982150125796005133571933688394545449028001984e228"), mp_float("-5.311386411447862037765845401093461186955586387832860181710046230933383231089002771242609068146232080829509228252825556010350119062815917787893219593974956001122482898886335907628601829239122575528700376340606254462800190569771752098372106029776116384662941165635127131228871427795873274059056145585765480950562397281667515435406369944965505408174201050902453712492986900348810081781124849539925365443e227")),
+ mp_complex(mp_float("4.669559442852722668330929691990635617881161874502604689895083139825118179507127916686366029400356606227254213111883564280943472897344816644054132165272050809293734965439609719542321444819463397690159068286041874559615273611113214700251774016155143787404685579450476407900048094900261460761474930215638385803078112194105019908372076659441982900518070234115472226557270756301610523329523326118892609994e232"), mp_float("-1.5323341807020110380571630428775644150144494029807875605615260682804475944194519472575808908877307887180619862841788823046924594594742872799234758097438850352908500878406021343251142112344403993123418367044409827837599686315224079667558262805231459656064046945053919647469513465293319149294011210775434005592474380020548673447649417402716494099336128512675018387165997520726840692506813381554101364681e233")),
+ mp_complex(mp_float("-3.786259598781758176704264030127116928516176810841871998612340448281940811328424932104470389845733869057301698286270058744310099993490417492481635743896403406840311496366561899173254460248535416968483564054860361965066591832858642083948935073119170406083650895982661178911560925276764663569654255585276253417267703296960696219903873415761817609431618351529751363669875204245993473092706783105385198708e237"), mp_float("-3.148514828690440085179891558991917734358137480611503898218861329629118352551865999651030929904256224541360011561981712011456421060472504139393391463881452003373453889799273111785401819463658197137604044234804134690567195175184866384634089461224537891848715143797903113941617091553534098397787565082889233458128501271698409337555030397013091535949291595831247075873990746195694450207246375280103020828e237")),
+ mp_complex(mp_float("-1.3432480952472570149526989438861591944251313857604678768240158637632751297569559973566527989864230857662614459730712359197645580279831169963446312469990064623483229513051890167070354268423535158024007884500646827151893162271174800189678646369844163235880928522358964392268205139742082371794209633708401483621430923211535279769667475750628072652471334958251189639756348362137161161282725764286294823076e242"), mp_float("6.979543421291728299257303905893547247813025321046322914953242855815342054557686063184626896725072654105683795079882546219697233088801850793260638960724151273802524838768806575093997681402059137676993018298722006731867138315613549017374559623378320189586789611677108656152365256941867380379873782785260923605157040002872786306740743724334912244177813907552249325442590594684112602799454155395333245438e241")),
+ mp_complex(mp_float("3.779390278856900369420311463089909037233377372015406481321590032453358105899010047684235327937475883067312158084321387706477040585235432632717343483028386936200106966252726674249419931982390512577074511204259151716906014565933904181659363069285650277606998970601133500319546985170228924246752555829931681446482214618511559708007021289253850127467819741274086300360438991256635925887845442115125541293e245"), mp_float("4.6379731027165974257952631887600118220488131250348554097867981288416488753668707753479680252667858654509523821345418178775469411981307731822270068606683055462307571059014796735155288523358786928030907882659210752805700447565224471260768766967481702882380304698695864514628594780848204334254407577040596051394888932882033049446490614879953121377883143623294424533183755219767524876817960026332711609332e246")),
+ mp_complex(mp_float("1.3593679678929623838121721048705097545852818946384008831801616729023298908632224570543152081942137191098469341205379143281528712260805465623668708225637068390416459824292748552188506415447915278787939085574001751702162861618619930604131106632883723921932598428841807042505313273588361671913002234226390523204209111927085353494456790242033575633448975816663289279180876498720362373563482636824738374469e251"), mp_float("4.453403423378403371981976614689692859616657002240436878632412612828760811311464212838314193839108072752783757554668997300575377652114953707661207157134730610845706936234546877853584722535247770593665568582700384302757802437044323198721312459782298758648941157301608163470808559954284816326803875600618416373310789555590461707727165071115742933513521535464682125012612920210289944760955506690308282546e250")),
+ mp_complex(mp_float("2.8812329030610251918129514582973636812716872276527084547943226857755433982660986427741016883875363335495684503346311100984368586908819154846549362483847794466851313930496827962347375428141787017330924074913832620974138691904558075909819212141527439181466128131004517928113367365320853819779691321504645634621856408933508939182599356204992128068516355758997384661501792624267865376703015264227603669979e255"), mp_float("-3.321839478689370320145356866982221516812711438869656848244909204591636720971902292985061959309168709172691412174968973436783448242752081627841053703078147901720783566718504714821829056910661236168226962891093684034612419220052918259994494978541411987523500888808009562904859845751491862939093398641492015266924087198193495020563605036243372333777689397873282864991496488664437161043068284552362792063e255")),
+ mp_complex(mp_float("-5.9817962424146591300413216881545882416051975913057176918737281542752736805918189743065065076638766862384075740541894810476450908085891826435603610806071736830932084250667361212148348368658138934190835412479440903682388633788623149960563515153018572637696262037726940319722032208426938180310804912563666801517715274037581854983505781486654500436338713465960424231021753345053209959648503550149189245084e259"), mp_float("-1.2121847514564309895231843639734537735884377902833907123138883000445471529975978664256829904961161410000397432324085124228450226036612163472332800239575051577394034409690198594026010078757905625185627165630473653371826095097328659272402425455247123084956373818947724470588391344483840679420007988185023790056869116376770976121570577802238212115991770847372448914496451986031146822274383121409628414776e260")),
+ mp_complex(mp_float("-4.1477091246035065222270195453251790288702940855608969938426635167080020222989323649891500412095654542043454242204030930281067651263758088407249293885731140338404202862089811237041493872698709263644584326405368570242436972404675965520525285626810436785567108421543867442296331045707464273976875613273442895650721183647425851628818423111418598088992578233182480557930869500918835265652995493344340726171e264"), mp_float("2.513023038684423865689370039381291133370986088511298842168251823159352280515993226732781213708325663783714726879456729111702832856234884123387672429690322815756918728927262695316094764231058803075898344674813149516187941820232090704279575473723647536681080013129623409748462446759029372414071430290749726744611634198401704415299467280001288805738125227698183906391372616705434674478595695222976705458e263")),
+ mp_complex(mp_float("-4.2283085258753643514310653606592676195909978720921722303011015273359010961814647624453468678691898563428384699698407407053999572064292979187976870421883542557413233233339683055589086175981223586186379654366146919307276089693185993259102225643527388101733091947960280933064116591506158602542235985896154347854173674008441518464784243668116988262323109851314177659984287153772187082712938202558154954086e268"), mp_float("1.20534845135194276003313151423244177558419900347090966764032450196960190742575438159566242287625908640974258433077003778471913849173411272740572805906236704113305566333589557637456554166878400322006407917951959622032847110037220569990469948096144130286813569054141484624706417091415359643388251613391244214280791482716443874905429181950971029606904488307944460752502662664133921783642769893172883411182e269")),
+ mp_complex(mp_float("2.9121769448130204959023626363631432407581621797715255755193051561667150710768217876765835479267645439517362108193070508932960883900546542166198815199233462660664865650587834630240720293721875443733078487858593454197989821813363299738853770743839071332537992942154584565150647141192109697020857650620215353706512924461706887972642473391234579051903383263265376108644595767723871910852148584365664938631e273"), mp_float("2.6339858255013494653584679935886362085460444764344261394636201250579547831019520494279773583154322426987716315970135350871279572277060792005119771136901937329220553997400258884745662138789501469896158942080332649031262484895665432375139664976942059744281539117699600034801763681564222866915498738168149939535775911438109774201939810732891483809657071029939265525037951255855606475895214113094966430627e273")),
+ mp_complex(mp_float("1.09332141719479251534928971723901877393727937104816508709938203708672240321946524465764717334873411095376841271075322114647047295809031468422316957140304744225232196446622400210262989593000537089207330715021417447169766011272701643558353664299584755775081823404129627830720102542188210638931388065879951385387029491548163310551115489860826905876639156018086453593874246266335240705359535408101799874305e278"), mp_float("-5.1153618622811302112319765624872505136643762648857710219992609883422861836751804040851633735012914714979970596562259079815724785875924725443056883552225784178974583362256272760121794166127295810621638174140114178948865264939258131087774781225480878164185235546726441408560066841813475823125707827541782489803426002545184424316836881666611155809720799433380417863778687150402357899832066710890660943038e277")),
+ mp_complex(mp_float("-1.473463495590434951785203529772650730444875798164800956457407962385209173736246852979767509176503355251497352422315804661682091780448114178979422826627542159529981672043555680418565024175410625796415318645426369246883070953967580590401645292662700386060427227904390558270831968555588270784939710669797548017735567366592768649614527431585393756956580456391005293663537859311023671573323819803560314363e281"), mp_float("-3.7076597232597641740988756035376390738883837381671534188799456378997777243430654798825071254355040048966994759554391623156560071060104876459075100859163576478024831483522754752826818967854932071480909826395227093923152946641495130263088179905425727700200321534341966943855633789891147595497631201698420531674854748337837764149889440557740008209887800856533743141841894105879450232888829324697414328787e282")),
+ mp_complex(mp_float("-1.06826077238701367051568179339615336662949901178468954480029390993649886948760060274507380378058925274886027800020304807549549512490006430174244658636067962838698843020470162025267386199452683664461756754182411742135306585394001308471889807132666379636228470860125823764383337707099272059880006125779799258886327424045156499394852247085509668272547542224574363532536328944851459934601819189089877605597e287"), mp_float("-3.9987510479745286791299670098754999473305261648941121078694774464172973060080733241957872500195218944946412321688504652196816104811008050386047276009802921379598109493555590161898642747883035181489659607747576339181934770230599147315185846358968234460111844807152826444586580510937297003497884670229111324893576869948884592186666936369059648644647203762892438945572224675568350711812993275708519033189e286")),
+ mp_complex(mp_float("-2.4056421655209930361984835652675746177343261852593896885252904471129661316820622105754170616619843257807720330828926731565941254923796647755713402005255902759839105388345215518771061048828378519795371708723762760963590566433668946421786060887427313094335274188647448825382899463342458117485847413747536001968605053849585893729481447727190217084043929328755682578007633724822068533103301809275562031675e291"), mp_float("2.5510289234662203173245593172612242690353300158634039604377789352718349804980801763751086197114219105049599752190527915061242630663862570012627861854735040384541257770829772966532072351653267721720237311059301491139035726917909075465736648782101552400165844957651489535154830629780817582485397863007409336840807067642774147295389463138992149887163766669308322591553823710428649482886972278664174529043e291")),
+ mp_complex(mp_float("4.363895782439673854203526630687136692062109101736702396593199161582783945746588373952463028027155487447860170287828976829721011815653369056928202675664047166902328191128256484309516966414869761995719575812304015989073826567431144511858698010642062997813992357134544807915215781512985254030200453165153206983337867138154991565314810724459803809422780569489866438550302907956987326175113739999027237688e295"), mp_float("9.8559382468509493346438874059441095502203614828517603333056823041314070512018086443443638801683113510606513075208862660375059573055724469154044522203028810673623081804228223009875924829867462147631168765099917551657036647741515783634125385061178853317488856457386868349038724426627567770122559035312504974784576580073903997591169984399427112864374766279396190743132751173128896392047885966380077742228e295")),
+ mp_complex(mp_float("3.3128620347118271955956789394478130681481327985137012305598787955799123088721428708063706774788134691367572301876876026825082479646668756380591650368799030328204117658424611162750051025598701428859776570148477818823352931026668056653032509174848409057726492643448627359328668729957306824175256118020498437807407327128478332541453203881821729811865356151317752109335627514764308454778306097005465545602e300"), mp_float("-6.27069984234548629424679203033784837630271728400820414084952130910933362288796042735134730510937563188276838975235206188517856742021170240829281667910933434076396131311427384263364110199032430145720798377326043291938604975786870434864837117961716822703653394216910830195334598423058953348670621361113413595725070361988799781243033755591926915555933068711947287914470962490712818051866743145487129047e298")),
+ mp_complex(mp_float("3.7683532375043027104446341118364800529294751005855108154349236894890512714282425171785630436769864633438510440036707849415043289939285408759625504842573826140921511950582398110123447369910343556103782094311534520889208550625311321314866030557361170894472825658855941128344570620754239062827046626231946269953695500088290974241579158713544058627385800256554298697641221755329238817765536529239045329327e304"), mp_float("-9.4629779324914668004562433586915924347265034325659056327137695432263089213956851794822963774343326394370802037655085803977631756448873514239190202745201239023536377507120309768741564823027438426837994969360684401791007432446082497379478759398378720827666410579895976948530492258449077702244062396992393157091466604508126546028072569167415073282560266290824306988775205128198458557017468265059392634355e304")),
+ mp_complex(mp_float("-2.2328427278579302469420310997293629951150073250526715504246256204984639757107099497973098842798408796337194577323249250903779743431331331156842099637464491972564668305747697203086829447989599723928550859982215796469600905621045261321554976805378038711551565343399288378055605610009882788844602666664186876001405972057041113344626693518143066648789582626566495227126096635142038642440957951088926103101e309"), mp_float("-2.1950758875219412584097865073179643873232458852841989176303231185556660607221016063978931912829361800641721359572997871613976227273780258447732940491321894935880876390491509575862813445389237193876998259203475041835668950512390931461119792218354594002785578015026107959739462380918877667380838596403385009302073415579266712139436189214824538021518445411600642239664161401748883812852433346849551955413e309")),
+ mp_complex(mp_float("-8.8802146923656345138468058110572363168893022484710994036684926623411706015596970994762700849948568992244884268399358898979139180938136323293864915951609295015381266387173019151222103749342938764773345636822796077845407116014966968201741708407024422643394916445915390592683035269154011831069834980214887420867313012095442164956877233218214337898786505981020420438008564479788963413244559623434634641721e313"), mp_float("3.7130035587155321287392841269717078362264211640848385095845360095237514403961148258172010346975584305764402573954241324168449999315079737159476020064685496060125056921819702516923294366381841785637001704400268510710880464511608584050925438751347227121844650318939931398594596583652110832009634487869387626328628085042185523877240165139039318388367258105236467206626356826818983470951638743625653335565e313")),
+ mp_complex(mp_float("-5.5270651429257740128167589257320619953318400897232028423017389452406793449278752633445521933407818487378688029351676566857850728931859725594284571056363049598861637677721023923562601510033614568245636299983779218963851439325931805703339569160622418851223670418128816193530478598488486623665925438153937179835901512186913746120091039386148574540339200332639778846502031594545914762100018406058456146e315"), mp_float("2.9588228476549780857101118137382855417156100202574061914849165034101029532540274892934388737162590398636324559256515425830715970726176031268731996103396314003605284383899084302949517129463634725354870619477583425869725398128202478608036093505764661621162667382655133422760240674511729127414730951234098071508659304714804873914125429099317973315308771686116205900969243926064369793145755551584586307891e318")),
+ mp_complex(mp_float("8.3783941112547563423498798726393824376807737946120443773252980076486436053998115059338151465101832447026177627734008646981315044737011699707471540606847981536579249078174064089468801350704353057122282049431622904196596743536024795900529630000123782187310619364959075695130601611017227556450858815006836237506715248203672551877468932109631656767258401324539593906835902799258112375077491484220001805245e322"), mp_float("3.5400134313130119275572877659772926972873395802221133091973672775953774004174264485305872905021789039279794738376065337064298775053690429810717979824842231332261178449797998401918669001729778949368106656537002359677591147071487372160587522057906396743811600830564508445316044225407426232232290810289220614375136349306283905684703193852223154723762067496606914807845865854619064526419260521406539304378e322")),
+ mp_complex(mp_float("2.0011785909284634676956605374151572419892203229302219739898810724927285269633826763103194078723550719517317500456641337993610114791521074171885099592946146641553280479889658867742690791080483545408104224513742328155277295954864495813893944111648828973130241883550186149283388977671939084852097653605280413945608094820550439243918960271238884898964123102217761424334386799759592636524408525821394074054e327"), mp_float("-1.952681934971861304335852581087370182228294699126135687373204788636258825150171089441119526305929743388415123544581691335811485679050398933406425598533189074687555118291510574754389627782643728530145098112929625508743450404092723731894461993855056615221039120640773873772837589257446169738104284237140487477693472995757195948912163149995276822858924439790497766068276984631879576611138497514729303799e327")),
+ mp_complex(mp_float("-3.150016164845040955589045245890168920374644499240052154996306548330822565059471885706641077292517961445883777014391218113533307338386916457943072180170050225939524303687098291047720881102391874251742813849388311939805781228369842277121932034364372230311550407473176328146242641713915337237909475407245246221911560008091079954873556822625497958237675821051643420901048241969725426480578198273777735353e331"), mp_float("-7.9970224891617370301079345101353515229541428203041245183466657839701331468411797891719937576458597638027958219537330462167972930425870711912336121154574025892368627340823516350004468500104446607826506798346742174984820732118308237923938923153848768937598475782288721311912837687700551444573206901746627229882217690935516735167669352192880580657699012451019086097704935975306054992131259846481160438661e331")),
+ mp_complex(mp_float("-2.6414766557032734400764989383171202895214013837343070579763398235547593569374598863373958941588805923877764313457249043409298637897370400432045686484670972867010837935329112031970947749398862473405888465727921265174589455556883891631251563711258289163969319782278590580702727122036732352758237428293948888341402970836912087607186949655934317572303554623438484498606810653263440759058387765177034147907e336"), mp_float("-5.98715804211761468308042296473324585754473217690609966126353897114006233596693269845301763848725575844392237539904438555445647010770260027457851047183026486902534792656289645645796169180974560888593858813416825590718786137796040136440976534973329192038804955951532769680927331209355128581672991723385047342741129534712726880287844614225211410546279721607008315400228511034454903777127171258892486523e334")),
+ mp_complex(mp_float("-3.316018399852009227374659571337801413582703192678470912585535591699744472226671117117850964444499577059978896381450697053094100758815358362477939856528587205278560822766530006462360805777519720523293893061919031740261677563270502444741769011832416090299203963464896026634610832290973776516131902925874617109139199517774007411349077208879240533785891717484019925731437222170531949045812057684419475832e340"), mp_float("7.4143384844463472145306880949303143758348681422649425688267611828495379472707827804776065811862862415008193719358661367319501732961079751579783417968299485800470557149847908086969899250749994226012685787809702694816547518382911367887843873740308276651522172780497813962153805826908339598747552781460030180120066361997097060328377206340851704454156976841952839434974119508789399741041697017952723208053e340")),
+ mp_complex(mp_float("1.7061599826260795259382747835513361807793494745351734417608381465891050254069020898680243030514411760384935571358668088252802014655430893649557555838339537677861220176300048926156538224668493063182275265161513798004428064976306771389116929273320072244819229994313659459776161798651955432992564472435393701739690338083753566630095701882519327727573776622917154051352510030334014644534321933497528451074e345"), mp_float("1.822869061675589287187604830582539002347545587369015550744967066877963474904448715036812161433275260867478674954435639187289889863856265399163131171114995242770593569497286120510905968164801389869397938302211457041864776668325476274554718181009631198326420418620124728283104478439398410310319516488906403733667521632394457831951213550489727281520114650261222400572393535917017231098203597052978801225e345")),
+ mp_complex(mp_float("7.1980726186445401328706747467877314664788742582708762305236465534882443180592109168040675660539882306846910039416037498126735339411084438819990417711199981799507080408925526376537608418912312895946679512228633413225941764078525177981060840287397179216177096739430391707221549211270413692450522655332282314803602152153991754487753810824794387899994836508525446956288900590442933258407924284450657616008e349"), mp_float("-2.6637904367778336329133665962045950940857874253902254119256254208798445382976683069213734625268352065300216377782503259175201986676845161998206776487983806143593600849104418421864464182631330890970670916324226624628272736588822640529583593625433076475333923943520747928401485682251994086834969241867246226170374053901570675875221280948985558961813436156555088553635688439947611472033865759824731930551e349")),
+ mp_complex(mp_float("1.024970651656829433736340915262424418853494701190471497559016392826323199519865075586123004353243834010464251468395681394746176785301028397858656272608714060068225291837769079953768637208742175757863671269483313135935863787899379615582655393574817920607590337239709905843319132334504913501993564790659422777091448207847809511878799710756059289063430150843553101987269257366893554900380143859130552041e353"), mp_float("-2.3571471438267794761407118274515434278987068802310481804382469567759376135555795329002416504617855520384745948720071205253575621162790632281775946846805545026861300448744076599214880824499401220360681707686615301428926141006448951697598321019777658869191521348560298972270997526939197333635503086261923137495670572546008984473414906494955982194527004479174459973925435878066683410585097194646351784945e354")),
+ mp_complex(mp_float("-6.5578074063390788076904738110996136539478135947938668396841278312836854282569970666735087861972160894243533887008950732161295304604372051030786252208315916889456075531448348374051397019116073190754082713293054689674597849189447545074580983501072626499730206553694029038299800546788340478868152682584984961521662728493197515184298350915673804936876053260415979294835310447950429405388871123780167478669e358"), mp_float("-3.0981401723555587794801781517411181414711883850419894587649065442698501826321729985985383998301105129759360702848559181853864612089824387722856714460506193685630398577041267290343040333303228110789261709302329496621299436601152872967772758793117784853686514480125643504164419747436419592905525106205053160184030310886594145935852245130402025592875698766494245905342951525326563778037103944266542570484e358")),
+ mp_complex(mp_float("-1.6591005666733386305383011174819687959273891589094137515293595448409840417094562346083228810838503552937901964417941203215208481515795370015669060273939821705744313016784121466431399558784212124564157320798701020121470395375458967044978138641646130026888712182508654943368693108867066784081670638102133026075876614515950078959283857958485152798765797705403445580968853422137567255232165523250775710338e363"), mp_float("1.4893807088794811513271218626226097448147254313099205807967090440747097860308728962384421669331309841444150687137714326400466905656744226995393614051167725368221832825494374583158280513458495313075157770843198586897486923731965164833003145596363768013093402337386627621058174759685978008000301959131453840885384396361976012961500146013441283512664513616823666220692144318327697156120023192536478518362e363")),
+ mp_complex(mp_float("2.2445318792394524873886990910121388189948986166888312378500682315707720796045964996378168620229794025475356633249608793366270295627301389923514322757601953573035012734994436634045038207605514681639275041991976207401556383074822665215800959088407089815710755495725982564985953875643277065057603785951882730977439256543075091300572686770272121699764148790250880956306684481455762458859924370740713161422e367"), mp_float("6.4757579092107700687339069883588182673169181882143038895808011811887420259558049297459408657806063021188306376468366779459135835268680130511325394788763544324059361244847833466350375081997579443167377728533415831898997175211481168092217379559546772706786130013968981024717293942584313245908973797640265644169887841593806438987597138527062928466772780222031732403109494910586412622864880634559938564006e367")),
+ mp_complex(mp_float("2.1025118692458177153964963749284901977255676511179717852785517890580802120206088548351108964011702500720576953327053194612731288267474282939737543608706649184548146548791913747501113609204955960144621272121784543077818748085873366473081391848947866147775187380472378960686387796609397830722991410871721382316267771027653500750046945543249392424813815503190339135623930555286808018144757326753877739398e372"), mp_float("1.352730562938370441528963008526293914783189479695494232907554415803378747923343554783027302127484071128311149402350790144614418531196860251499931859140363195540664143450942893248003165916931077372625950045368208542825673532440038413118419206652910428093472713026253649840654743593212554630032864983363227885490359092775603332967225067716626285520067133972614522856429234283892263931531627822940011358e371")),
+ mp_complex(mp_float("2.8877193403373737038518743064631303004566915804390738158135399876620678951122587329847234192470356263609027048074437828944941756164374608053577252706220515410969787435361048405497231271711244008740747566066436900445197462114859158261138222336792638465012827854554002832193142594590960500129993162114237630060301673978307265435514250199800437945665995942369563441130822540165998355961071633137523210346e376"), mp_float("-5.7971585742148909989922115992083509218890001823094164021144794388817154921362658053356159716657058129869093415693122746946134856733078429344503925109603828136084775351642857235026108062431476179896131184902999124868146864830573477991998610176358582244077739060474997949949838924794270081966634440715662136209858328035722553128734686741970919775949333022836185271120474487702534308391853064502169755059e376")),
+ mp_complex(mp_float("-1.2988851313367027144088757427195191945939177462043867664010092084543590949993660662245677402960760929768590025765279043724420728773412936582571345212115729924008137911662417869039699329432784425504804657840839565219986197475083114333899473766238738060236741469069100334546358724965530972435876848441413528802177666371354452534771152833834672501722035410935008165394554691981157245244949242833798466377e381"), mp_float("-1.5088662621438695985451712021417280608410773743356718669577290837230500530107908605969260800712178069673865975246119571923725066505891860007670925690997549482352436675655723394780347949158044369550785516993905739404771046328225442784163704880450651028820659566212211002930243197154562516299886739829143090621309792375016549584263617313440969161498522471556785158976051233526273273494366369485820784313e381")),
+ mp_complex(mp_float("-5.8231049699748286907017816004583474282464185211288284617697147917659425540702791317232320669503030641396178539231113050847937400230521563712069068708582144714856476691896021421955921166963329365348562687313619555192489053533895668486309143534476106321294071275410594868531587848146900416617337658227336808543295116184981626298924610866523389329291495307349055390834257106469195928010545223790698544907e385"), mp_float("1.8836374021052828943417795247215034281338249455385991371412465819580863469418914210065088722758289735575965941515498620378944594021210273951008342311417086445432846097729521528848256697913431930509008545053880325362292367692346222417223318619563613197560221599006832029946099007639658138235651752975093429920783931428074835155286833488939682771204316482025745590998788182506321185787392524670773363323e385")),
+ mp_complex(mp_float("-1.598069513324284661699769443091448153464992467276974031468223616813424400194666706882322026935408594697770388613264855355021717950882320919350666464178334110631175371078322827678469416019346734485786894109471624413834117971063391580479971979012547852577932318604428751107033963754517598684836187440990300876600464342249356150559427198538008347760009771322110447829093724556052640829581935750815999631e389"), mp_float("1.8745699077960615886746833655767396666629291283546844883299178206193572356901607392609415957153112954854711240572718583869140719079324207899477839557887913591269728312698076596302235036015486960391116009577380157925779776954188387158900230027108093635409949287472057616721256856570515327883475034481041330214756981333960141156282625318312104015798999741474774891543483806227888165070758786026749426429e390")),
+ mp_complex(mp_float("5.1219730764194001820802490939614016462304595531880033475277654414400442583670359163673426872212595071452717719934810934074011959662434235163069712718337420713603874502665256583162055792746609612231015424742523646659421118749421881742957521575637583325796493231154081427674223842701984988199994391302014015752618977444781457093655561802898964425877677680862676675380445699276722788723318790947882019757e394"), mp_float("2.6857365924961934367273612978633640695637260539209286925771835284092214571471365961493078642425279261622018758082539080969102745100928963358861261547793683361941541856723583057493075574686755673969401936728159558813641379238811774522621789222058074766910708458504393701104897018314411857259356496604343447814274524823302290098071279493162997426583081501040477116183632575528279856842144481909129754161e394")),
+ mp_complex(mp_float("1.3712030339187750493580824609156882097594976540229807570056483916265322312641217916516613700920249098045734663163987091514582884219414443347282909131628351243673172435940737240215252450574081409078851320957261704132596438317390909327467946535521541200516549369949108725668123953463651356965445706416408240002159180921962365185901129896240597703875825810585879865990983519238464898868172227739615053974e399"), mp_float("-1.1316038323326848565125307773759217231718819146375100143260183676687608385702310712489030328421974694395322584467801339754805087262253375189221294235268324844915325446362074198803138957390540395735107740789938073744180927566691656012038073913923066942150461416766956782227337338764982325231175441593938739109561036678203024679314314128037248014324369252728737318677303191455496674170158154503025091062e399")),
+ mp_complex(mp_float("-1.5735558109624501184612578695639222172975437252703454435157529314999224196607245006582906525495279557570159249568270712630510793065236099354590405232315864456541535106305336506345166431759140781536096141295739246374027112705014918657787752135248882887045383215670998924800902607198329757136151864426487467616509559673115115256698017298243241439671388916334651074296535534999899555337201804917743983007e403"), mp_float("-5.2337283581890316891886859724226309227191883579130689151024301863248536633010286680596370313162538543765221222117573271294333738856571839857620776877046922862577711230822464983192235350389541606048778440126528297777496515409871244443638326030758610552327031569667675246978245911582499340993961551336354338355119491057141464316161445572004913372760137188797097263894022528548060398122611653371643615469e403")),
+ mp_complex(mp_float("-1.6706122480570746176371519410854362380441507235680859478920884154453730756617781778697733868018821466269391835340775604266593227739436586785222394874456223155018690466114957374965664202043908772650840816052995461997969589271434499103708644451699962064191538390829153400521109009550010734568379381415510545731031473333824486380819982073713527020033418558860867055894336984590382159409774480520825423499e408"), mp_float("-1.774780845855832335443596226615815158958883083498599599851741661228277560410019025314046173121232940702871453386723155305284021142472120488474112142731470198507857661240011118717617007111867286884749350185905797901202398776923080003688885825735161074147357123656958232519755577626632022496317137283920985895356134717287118085150317347663018652782882730508908796523019750858870054097087501159887534457e407")),
+ mp_complex(mp_float("-2.4928740182984428718224385366059963106708349525304934837442711429233445830836079341558211990528010462551879524751364742708933949630795872313727684873451501605562243472583827635807536516684347064423943143886092358625280944217950991229474138465335330138143014114980728114185973346261391348367726866928699060213077089113703553625393516074027649068316880719333051117307659910000723256618473933170128801022e412"), mp_float("4.522930903353476358999940424070494928319826011080464736293124649841912407369006078691779987768169797062932891928114771344842097243389426921425169532231479292996910404761181935953963616422997446220010426303673430473539845780662080356101253714726456576986685280494915795695207564833944791427505216322177581445287875123290982930581915059900676178231119893048470939922500442959517426435480957062634518567e412")),
+ mp_complex(mp_float("9.848143780513023225109578185855785881794364084706128981264693868641689572496252373863538328673184938368468775081219729441199772738126503491113500165651163924332394387621444404719219461074474027410775794181260992153313934387039775958481982436701783243353681896052865688838918479212907453044960810725991536297784158931321965552103776033717852288148221730042273012904432446500307276803397077350459638277e416"), mp_float("1.2451940419066296723126606621174462460062109013346744029501120416012437588377054268938604246908455880446350977372551552651425487557132875413148193877048186096554055385851358892157164656455571627590966406488902252376844607546581233531888032341252896988281761546157168713506298003288321859389325688875118342626321674824155041588702054560158087060963734855551267154093814409869738415274284751149726801686e417")),
+ mp_complex(mp_float("4.7017870705082228151953623348698375865194796778009132915446563752584259257693170331595015534641251902599382248256206957759244799741734722446939467228764739038987547893897796548786555284055112440767858598930728005545979345132523501464958660842506908289237273911180496843980485891840734647779262144323016220168467942520873668405147259756190020293966759598565342171995618308364707050553590628646702158913e421"), mp_float("-1.3076641067906469433500051694628502731658658557249907901134068245459653205877402857653965928344987708191951753971759854840464317086124073436773111294095369739726359681576976731110525191579672247652601583712831673128787117227457837720308235754175840993377666125641402715942902397058637204745399365677142946760328873592744386603906130317023520808076438425918936875325987275395714778947878374123557993378e421")),
+ mp_complex(mp_float("1.894675999734553261727821442752226046929553349226558935081627967504386583213528554741137461519947457266132466809923114859962300690912455643414879435610686251020482409726218304812915632786597744157156476759591590410460304822892942558314314195631401092738941878894389649329897253396994988421409894199042260715850954431167553864686692719089349660375746319837873849917961175344573680439243987666366897824e425"), mp_float("-1.488194727108398267445753612131685519718551203475167123326723738303960123315729983844599671418262771061429892903042570061759272301085470327391426291691076609269850565055576445237074976056693289446205445078569914950932273799538784354896250690877683487906723569575421922670622506770947698438238430317354330841864353028747643188974282671888859380976945345573296767802888382033577490366644787134866518607e426")),
+ mp_complex(mp_float("-3.9916986678794165176908277144351009664874797073808077445764397016460259034299124580258674012114694569885354060466590048484158984592839041101406452033201513047146921101401417569050493735721612348061822068599666535074860865363968453519337820127542642428704702003738851037874483782271726170027540106619211037184885625569398495786095045873402227461419387816465453967177780958551096567294781940004430573168e430"), mp_float("-2.3095675272048778413680153969389780327835273655901758963063739044205550269350117694572368442687609914899701610166442003128440172930894590497650803466961096454697067825953137545027131096080195054398037924676421850844053315233956263911602561748071672410752212017285446523253122501943434980868590107095026437063954212135616428014600434779858524671446286840272194126480782967257282778130516454523542380159e430")),
+ mp_complex(mp_float("-1.1299702011352111038451670298467711188935400545415415410820596883880667827117141285455717145080409238269209586654932847682146887769053660803296645336968394962057332805907655095983481442181507440882876140533505946693454431477359837298455068283573105187616681998723646275724927176661499899720812063210824795024587718977186836791804653889599658652242202260585271182075587674779663799775803401417575598717e435"), mp_float("8.561032559020190277086928807580715418534189074431989125692318113796118797428987371449790341289249609897036947686134210453396561657454652035640388498546119909370577954537628344419534643878828640758402334962697834256369253397203962810980677653716249720755561465849907955747274951460159814317976800449526986190818297406278847619034986535637487989478348168505901725744868873355418415022992055344728575629e434")),
+ mp_complex(mp_float("1.0801578565683887474866181185211059325275727602549820379581563739065294973595421744919316898735857416805957170904328287955749411887571058866378010646680148000906728533845040940193462719337440789036535300155794431765326871989514377927082738211911530928369663031451976269810526475134170695950244222066316583732069178729633998802501151220854017667725778775608983911708472946007042647889861657672524630332e439"), mp_float("4.2219434024687238208431767592019405958150780080048764565904313774034609517050952615046231730959651408152562423773708441976548537496055717055855937570376605659031320947638991181171448716264101132802833536180948403794484636136259366248795090140043970644329963705452623663409393569144226221216137809085980034964624135347246142978522449550876585047786254069591672125046578821592201375072621470655887041762e439")),
+ mp_complex(mp_float("1.325113313445252712120232518085663531024066509772208535958056782535366546915723088056123363685546976196357059693035005521986401091751017572265655047001511205640870345616539804068852945716108855895874598433440768797827959587485581164701496585618633844166339285753597567648851464844560615657143333479421214518089320427521917443880450199247472995792128953030216032417782298668425033127174276145910875262e444"), mp_float("1.9678461841159002200352949079681499523392710997102436521467569506737208747358306258546476162049259904249619666872931570592421728744297364674810795924474964554954009971650990756356915618780516168097810357222033843208733457422920544476627588672762731083952665145532412987820707787779996612443019279937995915016363278913964809813786681741721372567808258808239036002935623063814546307881327248879594067302e443")),
+ mp_complex(mp_float("2.1360515628125442042910609161229485365867763833873280999272311826777632020956550701308301302519042236425714952521531516414821299012340337592846051188443882673117305491384250861216401916910059210570629339966192426106839703673691412205178909333447988177936196030206680681000270199748957414894631722861186818495193475091806466629975551772575082524316805213516759798310561649214218949887646106490245748046e448"), mp_float("-3.5208283910119465379086285687400253526911610272721490473461347962125046191388354416499817327015649273679080490088694309123214660686533287762823944040659781239364973146385540232607741071444830104360676495169829068661724625221986607402540568854121159426421829705013059842186667085259027183084354696465209242539788089265401175860470150354713936110843533306356813571076424718098199475843363499833334686769e448")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02101_z_sin(const bool b_write_output)
+ {
+ return TestCase_case_02101_z_sin().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02102_z_cos.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02102_z_cos.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,160 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02102_z_cos : public TestCaseImag
+ {
+ public:
+ TestCase_case_02102_z_cos() { }
+ virtual ~TestCase_case_02102_z_cos() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02102_z_cos");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::half() + (boost::multiprecision::euler_gamma() * ((100 * k) - 5000));
+ const mp_float y = (boost::multiprecision::one() + (31 * k)) / static_cast<boost::int32_t>(3);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::cos(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 101u> a =
+ {{
+ mp_complex(mp_float("-0.02689754956812547419620745330695523919949431929146790025778199948996100757399060590053597407036379472279542760754867299523420616432346956694740729328654296985375596428736222468307786628321718396176196753493294543716626626054330079175047454918586003219471126867485769671314472447901143942735117975307432550319012546348513119118100151058883949881799271733560777943934113621535382376603778761181259741722"), mp_float("0.33943041078324365167798558209341774520019035045742993556199531367418455231299130936986247747454491305382768804580672694949728359195695537774381780713095447165824164194850535925271311837257037642592828557892718365826803864189620203057624670965171829919270911414313243982458426363119575607109285795241540533963349224346197601764542061183114088023121335627721478995167535069900906329178137950137535279842")),
+ mp_complex(mp_float("19556.946614937617397513874818289470275301760153398281492937697791019953875154891447237423845053230285069809095546915026670402793814217972433305635829384959535643917503757664168329500889338725027941867237291245598937296994655474614203954271818938113554342511700760502965732240208203097601140595461248367998463256794330072894065462123700941819312608887529701334128530665554061795195987126077667960800705"), mp_float("8812.760395735693383697164077362034062286796341125012155671120801318976296308399275586796141310929755831522369290157536946425172770171275604426385945191555138376166161384809255154522127998245690343674328463741966344260275948394051312947286477255297814521064288708690345681393560479932071578563219033237847468258259988992377115427968916647208442715381844587899078658914910013597422384586977205384570926")),
+ mp_complex(mp_float("4.8269307457943802930324294129510245668068834439810073760310832694834753300460334706523363854183894375238042548113964641277983883530233514776677226769311743315690339101378357177329485673642397197094881974421250324957914339367343859555566456241664206335642023138136386891868935928970117352507880732115099359168676179120461427589266976872430976523781739683650480871777648437320322542612924853358214362028e8"), mp_float("-4.4925063286897475269425376622320190350484614222775204474733556751805809713369449003639265000051144515698357351348437239821284721988351406057412188449739107719780884677420161438187194607864577692244263776802078330503521652808084344111980403005870900976830412444048754685848267779475463250721051776253633164194085616149931938447711176809117395529506066849037994424457049957654935912542441103668183680569e8")),
+ mp_complex(mp_float("-6.981752843855086383955997100549201093846437449724832382502438315325453076725685096110945165626628213966062076904506542931042478001224244735060295241517963319735655926055284083982904953101455895107730067282805565274386293870528708621005854638453869961517797499206564591641880592036146096943759273452023896528558750821924287564411034872103408981145130127862504248479538539030784762805648733840799533559e12"), mp_float("-1.9030160025181949626920715932089268497399265741890726684234249433677442206919374223117285171791607856283270459486601654912948128592769855998443413855896639198240772640505528034449805469118700870437300501396128532596570538384283997494615825712002954586363083957207053188518081186875477338909882192376172081500471889216380677804179399945851818501110567650100654586726834290407956920438748837699302398953e13")),
+ mp_complex(mp_float("-6.2245567785123649171316844138238511261098747843301717138711152382493947527145744311617950343431255400899239742748834781181193127325996667950810101878249397280730143137277535350133441865522939524807283021886428845978620146956022564192969430952940951902331957652786866304883701782698097128773204891386065341591627458275762187484789717483221513631875376721929577727235886489432222599127882342628679138067e17"), mp_float("-2.881926464350463959867254305646733323462121764642796953856753771238500400470138251922433871814018035923746758494859118128175156240733615110415302368683631597073882034878755847111781618530870051260500932173422952666709281827399940112296498567447517804171145457444371990593475291943053152350359837538394433662251260629192213157725522421452520227450472587327914493368600089491087740624607039648627903026e16")),
+ mp_complex(mp_float("-8.230978642904354172762559252859503000711794614594212650324053478765749270883174239933162802809814458655306716044032250739600267147991321123175469272108961353581093907750137913765529423269796017651287385545028455245980861892097377485571960058317123606110391371174291066853658652491020235687230481416621008213523766399567871060043601151875565004697858359808985572536453876665256025532067400682903921787e21"), mp_float("1.7296431658550643901978468307896185659578158284034093916307248591009897711177528014477127044910493627301966947118551620616929072403455230824564121307756638454015199810927071056436444280495908608053254935377478285952027837777802151977479854203671104435783400958250850379166031695625876744930492022783113699237932096890647367735895524188789812404367198641782525130573628471738972032918739306623436476812e22")),
+ mp_complex(mp_float("3.9211992490646193340048702220821879947793060506687568182705040413335216918130154702926465948604742462905516675799544880153932821958219470157129656666308358572250357157544069281158007168851310656769243016495965487303905948824123226534971897615601000149990702247974778828464044357328792965797304414786185681218708954810205585483373883967002314286781788503508792066720251107006119425538090177042692922171e26"), mp_float("4.3928029095342039443356254014289421636830982635687692633513432876892555691165038046466728592841903937553717191325068264571591010051908131876583388930559594522558421037843634393108960295680890395724755971952353401983966254301992500654166701142463343268695668050391050580907999580592039249971231789405997170321919422544513121409040297075885868587899315900638866194480847535856384383012057155228718934892e26")),
+ mp_complex(mp_float("1.7119387138864305701499275691870009712840300473537869806288487362257338919719544862713542658748739053937409879500167126045775610515979585986941907306479439530436601825818883425823053672030857451000998561479590000624404547561664740744692121232304173375680377632790319907177244899617339158282110487903764852056605971793134167480032095470822619758859907748711358343732971589299961916446592309757434698123e31"), mp_float("-5.879835414367383042960705917611326220725504716098752110881715192000395730084273717274952981669290937718506460113879630515965145062383329923717297775587480777895724171485481791979217302368775697642714061808827143355865185628353139806036631448858027602395738816326756845240584859633279341192099768742174550037344020682718678338547388341731129213768467664831680487217654381073784864189900240423068631288e30")),
+ mp_complex(mp_float("3.728655045415778154268912509657707677831905385639364968112071457524152472738948460897877915380553817945310960139045166974670072672249199832316762502932151144394861779073619963976590369898107894568612538149582899845201373520982699223906690825032099714413229943743804115822214039770905674117450436501240933136072704763012976088772338170242855148100674370322630222181868670156446388579951810130621107518e34"), mp_float("-5.551811842430656899141642029714446198533029930052044640181515087448078582311345609859397002061261007443788266334270117278701539069921837329903893065203603626865525996626740478522751582469616740732907533133298961266091264834776086026473237190721148136635580810323912124423853413036394659761471001522403217944032521985375898337342031058470617622508512486301067783337725096527581951444933413914369012378e35")),
+ mp_complex(mp_float("-1.5289090115255216250991754709374343157269757609817792715551633773779280732632907946903998224704142278636035087723848051568329909641085656136776256246124483821087095777909138799473965207861675629968970939208215606788316773436059687788130926072527744191932922391478813523088491245511390743669589728472200613235212817602681984816229048668211053529815304165294060541875444322383092638213117046941121220928e40"), mp_float("-7.669603761107450009766370818668982401041954698313750072738202664086031005822030257282482754987429037761054072397412292348717102103167034919863520612152432456192408272553771185212522616090917297036873560217588775728748788259806114882817715118964276271090799469276602206127313592686167287337812839127759974260393168673589620304820798200923417079068231189992893415919358591337743019386137003456383780369e39")),
+ mp_complex(mp_float("-3.9946144659859100692520798671982467008179242498996047046323653434285321574510699085530942167656663211917901333473584492183677059527087438290624743896917187037402197887780459023032161641159885961554933701725429776246630114909255533144951027243356681229945195752550626992086566943462779286792546107541118198130080344021280722198412550464630413004788590246202313397913277404361461887164941982869928833838e44"), mp_float("3.4192079895845537452496676555677622078990838660167177160932335089720829615128196094807153113454792040312758723921770802737010735585042022043387117410228574401524769627804156443924253650291013397759300090679393162169170075562332507472782912706278999910710529499903628911197247870632282785603302707689220807877218973873124164556504444386080050635586626643809809201640550627133217675958075564078642184634e44")),
+ mp_complex(mp_float("4.931542791198041174679761448292208463181840433904458112958244167161530665182230991898440975242527654189598056381693417095713638211138833713367856558685937354656732285006931144147377280387525292441815572443872926857312468187046081914689383368951134091556558974138789001884677990368921169753063438639232029276199320756754655864471910140028805523404537395372287077120019572582592818154477709063632780285e48"), mp_float("1.5393026859977913546754131726089188730088727393703502948105982833111662942624058631840318571990392924979870807742096577454083347991168831908561732072957689401589144276179970810420547740252058747183874323090871669995293823215303680040327623818166990969596209716016640643000940764617281474493748155913333926558292954382008777319904211507669446106849730759467936223610844510486025047785436764186729973753e49")),
+ mp_complex(mp_float("4.9496261565698405772573878831827933384202644063102009258087027698305141834256734224339712033925558607428036853236190306077769651623870927671924061882562646927058348777832546972274941729523317149953848116844589195524899328826220905665998024883366859876145872108267113225585932679603161891041412137519285440674522578619923786303540935051481006257087984534790494384636156690794055039687949261838207782823e53"), mp_float("4.359687738631568849544873683202352642582195477204026105682499750626797219929617410215392656634319615990873816009397800737447388132860751119625250540064278802471536912392078250102399221811241507465115970600529657213532192523913298360722520834110822342782442047053739827960310600586503604347432570407618655152237355768959520032348828234386683897963300367402213991919315899436926426825096665112524327369e52")),
+ mp_complex(mp_float("7.131148466774308223237125827798522510439777862550548854163995771705669653590532274180228522724906068036163862730456593888166335969822368496992101635308901156284637333325383898343245761392071764430674054160211076520025926079642250921137690370069558939098440220788998971187375329134683470147081339841907851302208211798992297254396615452828100408415230230858763704613057512291637299293383819783589064831e57"), mp_float("-1.3507397944355981093606642731561207906078185846068606804593596573383008055681707983897067321825852232876084067351095012783807391872304125073324780634193927838643139260641992372803514257311023665810124734543645575223689035659690720059276961659377306626469107618409752750005156298358064789896819795296010298475714243631641534547865761768516795709839152197398355335854131208867007568725931786156726374302e58")),
+ mp_complex(mp_float("-2.9784332464563669611383263093377559652294880347822835479922309982547900388151649271488909040629288019198188407888213350287823674818841652496553912172135990039600857350742517699398508997169543892416258994525386263808628538373355277343993879416368976761586935711927368771698872512094225996893611216906300542064772195382831292557332142725270225363381258020751312215899240477688516571821898738850355943272e62"), mp_float("-3.629799012974520214909489179368286536398803423372167637299384704333412578532203823567369704315521030153638575809729259022307176628753322258428860865766637780313697293915107429002088530530259600117599360944139391680670803316587029272665934637999276221915632467666734528201481259351691577499310261101013298302067820029891000770123113226938619136973560241721992675497090127107858672546661184693734109481e62")),
+ mp_complex(mp_float("-1.3834158943095175381554579851240253950805422659907110439596784341881395273286955933126987082852661646642341370095250856531348929985698652382572411897813980636041914529611681236144050262070701710874654635262971867531761832698507346428705032320463941901929527458408411691289078511367124020836188206668147874537930012629459334099046265454886597292267173855901761235693538817464794117148576716986832188185e67"), mp_float("4.11697936607099649868993256935711145115704190530235138091665400111690884091799612772916357215649330259819637239133809737393231299028121896965376473209155663552262550865948036257575848381743111623049495660854198427501654024530583516177047239048626037948815958232013950544127531947494384932020729600025185478971933293748993803070782807021283338806133658358305560635321156743820276667968659721785077111e66")),
+ mp_complex(mp_float("-4.811252247422723110272600490102197839494450498819362103763402510304076061425361890388177912837048996175156641511666220151748736359223828752145116990756861840585986727852656999234228935086120901199900706900462503545280724441873555982221179992772864215599679258703096373508394540798739284344384361823394510515198571391417306166412305889255890831828082908778537344157659177273586137164276132226478187481e70"), mp_float("4.4108348792610681697120843142558007924002885920481144136348614947870711313786679513704489149546331213328911687997580331308976587322516673953496118205133784091981879844921008451907687961763709166411289851778799580293398221887204264859184732781992904554039780983544771628695234032626315743409119142824371696138880416675601624006440127985924468109609401854727551752659672609289959533656152158807055604005e71")),
+ mp_complex(mp_float("1.19267355750366819080879717637345260856501134730440213566708344914863769669339713528848441763661808036510852550951985395854524636459436309244580046465380949915968256166401711406343475825913967798781406566162718768067535767876452381403546112459927015987410123170989682172956355968664658710331598606426573778184431427684486734591310295126431032070290000612951670739875853787063767599407192479218852201685e76"), mp_float("6.6173450149937179147434009764243997014145370815684383083506104540090424979879419049260890203777622708457827732364663087309366786439559525712274895474907826946905010828523085136872320565473739670872622890306076405136151917837572194726852740556839842589657387768510718740954439827595982441931093900820415231484370740571414783759968139360298883999873185382144608609833442449733545528732644451000372943262e75")),
+ mp_complex(mp_float("3.2959149351558216626636018517749114363518229905023242520850665500752659915067976494475790552076736032118460666337123918333047631845977678121821904182051387856940493658700107246689930543719132901410053979253679791802380695041122515258639323114097885005867951813870769231203393570613940246209265688804138950796542156003478107246342698905616631027863367388178414084789317608988166000786371113590109823358e80"), mp_float("-2.5916917703257294411236615068458281835043515477661044052012179492973908125899907484258426822975813437249761827273658373739757942328718487687627703364269645706574807980490211122331018719835023954694593367028023485768627668582720872513901730549564002572647318687637396292938550818404564477582663538824924279045650554509582553369371687059864858211987110389425895631647086086637850129312184983789388638444e80")),
+ mp_complex(mp_float("-3.4186968902833247127591327561354874087840794944517081718975776827250034446491964337790916664007207001196842026462539553578003094256527642317391751772668868332266922923650675223690095862315845436506893996888375234516265728231183213798839027717917051415776961927441786145307476683770338177217918525031448930231868717352071399900095085760974149259494493581910855117214489046179256089439355635466483992927e84"), mp_float("-1.24273079172037670050865233703092132135458712072143234372880429524665746283968599024769959985673685867603258154829032577976550749993993147478070329397332773835951253634289871508195764785618399886560666200540055132555580158819835936047663810433261877611822810196537581932020650874650437198957138803433599777463324836674306010117837731272659703026464137648108838939130228416467635886670868166566793054909e85")),
+ mp_complex(mp_float("-3.9289741149443294743870159692292174970721296600074134632252246942813435524104338256972475144700913301896495943359866904639862796714754339276818175904000280425031220478088534381304957666165102396546226054869152726888639337043220893685360212961825649203558927334342706682563035720231569432725055997237761958458561888263363955322227222350126635214459238635386334379821788615447312296727427551761981082945e89"), mp_float("-5.11436164603796297781438942719084166959919192016393343756464590297397989600101805567061772951574996086419950016691146613996675340973722032890067556658949459267209759842175722987103029245170287678799863424465986675003714844456109191620606038826927170722610904366100524867166327851763814805170411945952214270065114483673887478444151193308368456658500026988093228659508409900300013629469885189845538236e88")),
+ mp_complex(mp_float("-6.1292828122236368460655928360160736056370162594344444139185265866369696570021997525572471485429709604218479299209924506894933143421908792889625843762148060817637038168751069168852988993468590901249892801854480975660571165685861533791795429791548292999672009093461753277696142139781498755907576832335945366814956378769465669488415179078692682660707548572572871807306590267489237660972856636454739661283e93"), mp_float("1.05250909719145339278484756220774387549816627530350279557585273099822740103503461373180742291445265218849156707279298358268788225831804653296245811492542591727334536523349211203875618337292907852077295711125303023476158313929948387894097817652978268245545573792474313785907785841400175240450207307072078129596884938691789322859453125063892481364220011284037917587486310657402812877480113594697770517594e94")),
+ mp_complex(mp_float("2.2526158304136817589488551999652436078932475050899332717624307393592655895526305603920247294248148542820514997868744614762205192316334155178243341575998620285643517666440505334884242749300749644373731836965208661521932989627985679338607449800873541498340704306326772965070384006399233814288096106517040750306909770992423851388108791865122979075104250975418011706074245908074462730749766610825831311559e98"), mp_float("2.9906490330194265253498419226047320810685268323198186918017778416658957899250790415545135783419683244613474731008326096676243552175959515698557422925133118613159415529228772776235343271896014358114375192950122587766585362395551803233228410810637725422978839900696501579953712900953605168951972410146620478236633414541328793278578180751285553227614124932878422663778846848743422358323690079303167593435e98")),
+ mp_complex(mp_float("1.11583336183569921111539526150911522952539775009141656415183316498988028036725317520001694047004620309608156492837523276969465865882326921735412386993011805903216061248864935141219958221687766568819590113313327699085018410970391839828758343145850989433173351637870244896143337083129317922767938944725869861249360098737847606913754534304916161981845345254123877459609632916711926843646235378041434406715e103"), mp_float("-2.821405244533855007837335797920481762987183300844778606119052343370165230208145224078346288140831962581011745712289261458898507597069179429462037335366946493446291854066554969105427485535393122386314854632217926318176916344782514942366634624746574323913752712238388484609650358140651741178796339063518250468460433133576945553965021289475618367624603727358109748637178814177961322501421529786963155428e102")),
+ mp_complex(mp_float("5.295503635823844386863061023666378056234377369058537177597886778813584455680870993450325136913057585830944601591007617946275766501261077407099422860111127202963569776418092500567790345494209803425847500084949489013268026503457860221159023563029466480600502591618680381735097582280002236770084472474839799252680754479083978941292621856589956241052371790719865778523025932612322985344713716842132294905e106"), mp_float("-3.4982154411805606203234285962632626803753063118778327022971604275790103712124530430894955488631084978439881339835953614234816922334791219669811413404288214800115711431318118786278159592143062758414953567007715194426528703011839257160887489893340234797915573574661639128901235500259118259732049382200424413387959076481617854467610598789047284478121860285460114417849420684116169460547318644948141406677e107")),
+ mp_complex(mp_float("-9.2827919922530410931739185652793161201723554166094191763563878309043019793822805216854090358202012075761783449629163232517146484423907583154468921530761874545839514599281269720587707180500858471295714688274160504281352888646893268839386160729043592853659614345444035571832453928889929581808927070721241697205909393440009062374387766401456070631200859631392568502370532001249228285061835486778499754461e111"), mp_float("-5.6675257569064275082026220035455499323616775111022828853452160078879067931870284651872506614802512120726988230081770646149946956188526659656978213867070323723908872243377893113734792773337768363731060057863045979785821118223013194238570003848714309207325205638766007000230573763649039070626343554252788079714356296810782931489633066191391838278555160950582706628457611867711701980725060280696299918442e111")),
+ mp_complex(mp_float("-2.711817896120031276384867388474543324121975966594342874730680845285204939079120315048805374220007617240607119742260309030384537149740627940171009935379121112424747882516349183796908402468670493515693298000814291628958675395072542256049596267933039873713495847687664944799168831300499802983969015609438697409827954141906354506011814195463583178724004727958781567963003555975278486399356169235079216188e116"), mp_float("1.955563390679808799114186754082529916779006465471503555234158848191974199852528853072214050681052202596717290519799433286394365897141031346636457263594314522562102807793975493945705931238115479394320616943852616767787370346006856684507892018314891283751846403731432428363683884171549928534421306677515545236869864911791533691914063088948196794769718867284618358558107799939748845112062915800961650798e116")),
+ mp_complex(mp_float("2.311716252377066948787419609290117421925636696568878555155456061652953606683600291640337673403231329179699171551082273456511730472851096407543862883410160508789230626369342633007589092018683129602884163827584367213137844078077083944247307880757257824565542409924718252134519833949260583066237316879639660030880475202431838295610811064620475042378583228442412349877000840502705650330740874423692797554e120"), mp_float("1.00143280891597958211830183370715781462345264589433218798949872899637213454051561834327300690706066247856090747440321926354740953542229433876254094525406477053829508165087149401313832748817962143016506530798625636499456747207119326162838163760058851078988214921691332707937112186341993140795436890973536672152131496468791901632881928258515225199965790210761197276159656874917057985041339306256666313971e121")),
+ mp_complex(mp_float("3.1133061758886646441208040272075503959768235383916706668200688791360081766688830752783707771598523563685403208276832378936012987174468891898866910751574041570754028236704222879695724248249332977585258024176224340650560807485503682748406070977413776775509204368600657708617217436155429156184524916734183127780010752133589600121498915775994651126629777904491019117004513538778499319630888350980936786798e125"), mp_float("5.377243743255048757997103989261071657350044290692544806987639127953572947383220065971377745850891820252740990251675169001242325656015763820157075288737640788262303711033855100964180384217371376039080591646759232060681538522539171908853448888868963700801219191670370110579842576589762436852649912126434698560531292469347095637659882661632825797540829889896099970515999543060085074153444397398843817495e124")),
+ mp_complex(mp_float("5.2322120294960862833539763943341447390952386409695002058566458627128783248796925803074369069054918565048713223427902155562456829947171684319831965778217837488363382487669183993290183968443793341893078745309051743308007725942142265888777594037154511941740022419992810580572186427934033720399693171705884161648807936987714332606972416286867404405300380774336865473397159397641732518073194608560121793888e129"), mp_float("-8.1822652610169600578545845729792739921820208083536695077479791368038278873053850975885082693320945389641758725514621362774548556929857824781650678913535630495458293018932628697426219900117630694029006102342665495730530493456996276045989493551425054061062321052549831026882696497229109059934980754544996485629677806998516828785988826403800864010920096879369529185976373290672796462243174814310972672303e129")),
+ mp_complex(mp_float("-1.6955378913571192737000049097891981368335493901915505461733828500640856101386561623882398429652291924859542396981895173231873572198881277013081105313633195924324156964640644552706370413139736262913213720281704716272627909678615442839325338639952095652629261333109176158277320092870431081346788591807784861107142921210642252451573199551591190728972998130286499484771249890623136455026195891291795733028e134"), mp_float("-2.4573674612922406023872116219182421961246581701340473476503191838228901243610155119042350889960393842907984648852237450785031408622836785378604619615490357447685762142134542083930956797443703732402715398342831181664466928853340600087309230335719652768747985400893268891964174988346432620984361119124630657177906644600097141576283869764437959983703466306174765539879019211854046592321136290049813193019e134")),
+ mp_complex(mp_float("-8.9835187759697348067238738460463059890495874212395824939347903972479457807339098175036520200855717524432187788885933282834971356375184817851256074827796765645431009298988527130004755138897798059271301615793358619387442662328220730050727024472387263577106088307451847388012747447631443025701087531454204185006088284809171096204370282249385503165089570274876608262255579700331739795503201942825696076865e138"), mp_float("1.8779168761661222950365622888392679864007207042928337317079360457314579646755409535224869600682912725188865479900112781112675532575364022689605222454540288863565227323573173007732627553835309530737573609984531081441040893528203612451507013675847061423300234524276605754042992942131514183230796332770980488349084151938655691751550328871865532691527351429602326919315668768339655579218422523340307138112e138")),
+ mp_complex(mp_float("-5.378752752645050089509396164540489507093378504630075661510843695452589909273130812285814530345661740129946278924100846789354523249664633646741491255941384906583897451387344675936758918623141939362741944116932452866294778437905394261875236959319511354219823677259726079954454041331048339858845231557230828996938076765360420618221806956049927504563488226057255977146832503860276700609958319700322230122e142"), mp_float("2.7695149291295388778780632447125084936391866006125343650316781954496412432875610494452953388861897951660432731098823729840345872513901803960624527182354596855324448835691855839024195019905223075802403876949946068116233623253052891568951794828697220993276005745329281970474753309022835897657977847104967741690793124885701471343783067945198849313276705492257951779730239954156471908257071784466728326087e143")),
+ mp_complex(mp_float("7.2078190464047539004103009758677152865334731337218606363947976883715284815830774577340962373629511362679738860298852403620237982304687300304966678963361772665934590684132034524058483716500423005443422425900698235604283178224383754452387287502423817561156561603812479419290982742340566748095144412820863932032807719736083824566232188859467182509201632829078719244169348095384266722673674184025422904744e147"), mp_float("4.8231387060258094191086546779884893830396489358872119487647261955538734524531386507037990056927478651085566870085434663073256354421390769092397595235232314974694189390738027221090839690474204521030637872761005931966442017486847710527947008763209975914774082416812973369999907115676945740626121305737803573134108310923405085219228269590577138296109915071758491683559420096706790614346713526137385765619e147")),
+ mp_complex(mp_float("2.2253711287992306488190866038872747961019609336589630275951070401478524266731326995882519431957799533481336853383949279682990864072160156985559142601771743137902840127560679340041419238225174522692314617105155475610476460137105750048033401759241484737122928010463938750385978174068184618469729721792111371344529613450203693119673678260727304600897617769868482553367368437509223781823894448984575418021e152"), mp_float("-1.4681166396750887108471170960437828087533744562183845111593686164322821901629646808338516452899183215612536754631027577526417890744705571425599343657212064919303420438993216786544150374873668500738554291215841937061470742813213293157583729930189374527400019089215426238365577183328828547591493778683605432695509725873365090345143684912309259756009753406954392317624436655327405534832577571720838205369e152")),
+ mp_complex(mp_float("-1.5097685281775285527282376132368089384559664456192135000281283158233732772930645822366711085978881548106174086181901253264862789675546342919872784047084758858443015473442276388341195933540927551778516878846645455228363267518826476584066644106970490282935764552567279221720968055200853960049767580278184976621715795658309582889164084472290412454001466055518314944738579986679363778568605583791576242643e156"), mp_float("-8.0551778941261575792644768331784093616983668470403198156067634595995763358489652363625061633970414026245766869707440600911068149410549396818610516712359495281127608835311218912058551398134763433064136812093538590297242508303088063377711423247169656053008895997297965700368738565474473982811034821099248651134657873703820600707217554278295783741598126325530152886004533631494856945753288130436961722341e156")),
+ mp_complex(mp_float("-2.4625820135056690340254614179676941108913390390505857408588552563077952477447670988960596392164660579611220145910274849159651400490487459065530365124556723308202373260514492114994751660526432407681585653256191123841957361725004044340568798839486011604643484852935427954510803341207809154155913048715386077988900148777463152796691289134118841379916853724674399506335377182010100786292628186083066593102e161"), mp_float("-5.316267478252111960930303602939646653966547455166923236131932653119187623780350390505909389509561487020628928487522527330563124748945891147305515337289474758888729394994336064448259042908998384718480217245195374948190725833260304312899123579132815969663663854353227065762721872791303895573817867895263885503378755263326189626224065018749482692784899538017491613716576224611505078154797302631848381812e160")),
+ mp_complex(mp_float("-4.4398332680508629706366156674097468268221886067199660830209229486393715375317956396408028409370179752184355793361151484351606867176186501608474318908046908168218968092196222897813557562437464179960689767674024653890466641810592451272288234753777695131225780270309695718783643031389424551523491645489236698431414737855692841518054778551258133750277576840689254380463220195335291135745378372593269780819e165"), mp_float("6.3454478443235408631590319058221334504406914860793398728594613838715902400641599473405085097738800964048558491390718205556169900903279295521036976239721042551608715409530888901603353848537351977501902332026112837495403593812580657021190441602344466508818432706206499023451351600166327353048712453535146968344474540343865203546012992817371150263847056312778939571827982401740759331669955476717160163784e165")),
+ mp_complex(mp_float("1.269386913472995629904817394611048543194998575277485447415679545620897585925324188153047518567959733013388957634804128993874114224475873692528048143818932985925106723481737139896543065799376127260452778437650736522042540424374006511040197537764643768841392953562818857408213204087651630869334022408074341814344414586957672119959866238329296186814281472506656690914281999982576436245766557638448428538e170"), mp_float("2.0140267508816144380631568537749147528387266819120456472969739241522142012984748309582991725518364500361716060891005899852317890870127286570184524536314442110548616345074185102059471241297327078748699599675064663768537390237727123016041183185385111453857055337988883522927022389324923518292453923465083030530595095866197671201080312465016854813580023658691817638303149629302313960326985820090991982396e170")),
+ mp_complex(mp_float("7.2195377847609713651526424906427849642602882979113937477524317769099651980403871678132536209414909201908627044480535101165269613213236758629725792451623620069110156969821441871107581448164208453995921718607405521452999004269158638405085765771876126508604824555679997596266309717492756209596710333279458348185109669072623365108720481389600095795179894501893224027547986218285410638913224292977375233247e174"), mp_float("-1.1983295823370006650773783590036567156747390522636971917042501600584015159160689269371852302285051463041335445460687658348778900106327081708347053880351654769835770493460863644961058553433423907782327591933041949956307339877447194588578219798551683788533972957625143691802848154448205325377150471782925654733684741444052350102421248785680448476354858667927484106455889271331427445254587630770540312516e174")),
+ mp_complex(mp_float("5.203492925208747113275806294675485525143786609496893380185186198877787288260927535292546880065599405779342154618056101725744791263345263389225744112479751510873938775804576157506777238058595955108727783336256786198260586908861856042912184906008100052411304688468194645725853586888830697482599021760180564071914843031141981751784752400619310562813442087423477952087477720126000698661438099518120225322e178"), mp_float("-2.1886743160080874636876739442956255013894472137920509467038521931448788416148219843969066764232858863718333712857741092614615773758236520213463915492372106330188459925005337855328178137506225552721603758487253890855817078427416673897327085937582980998070588158645718995362607146298872436039791633063715900171392849120435637411132748520882163418152683866279220216939457748480511053715364550715101507461e179")),
+ mp_complex(mp_float("-5.5826565874820391666806590072421325366191895327534742348545674325802108978432261084791560538070572903676718319369696665167628755501327762285795830518744863571867726827673177436558272521295342586838836554568163068719224597246339960930429034691757537275055543584413160640755484047188135541936176880615401175009553730707529754152004048943518860747153445609910085452052732994023840123723953005214877374211e183"), mp_float("-4.081613817005908723773559322964216543325538854231770232193432317744856833698718629993008230883812905912501346104226356681986611755425670725390266700120075637948612965036142593741768575259336443174293123412868778022472423114334137979516784247307735634492858103340300905085681674765292693073332552466819761136707130742329565721533377013825012677387042196998734161738369144002501299150863292452607107642e183")),
+ mp_complex(mp_float("-1.8216527568141766056574308076205106944633490605242489785381199587766838175561379812495479000381355514930940931722421894551165464056474903580834705214134675485679594673324102908337722674975097651797434686278048996323311132307256587759817534756912319264249625851572750666394458798101765720139969198641894594636074320514766149397801127455646267300489020982960118829265033219417955286154620548262469605279e188"), mp_float("1.0958889716675421397022448788105155996230744526070720135008272790655924533591450344048509792377154396264060921453767237271490816904912343147419862561617353907813908525869835841552453903974221176051504882746491956855078196034685771966810823819213427266844552631648109101700737796339942168282835154887911628837485473054896563767009682331747977684533617687789689598951354592155412851006702340871996642357e188")),
+ mp_complex(mp_float("9.357984877421303472766389036415671597611125709567465743129347544731500999679210219338980807160480589744616810241302336340605138765175521504436726334721347920769977179089967912115117116263423711886838402559637786391417074403451347644725510174267597682459152798713235092326519902118276515946108190013282302301094307107685653345308225045644092881459640950164368634954248436496667770214553737933609040612e191"), mp_float("6.4677120515472287445573915569680479913114280915556561415712200387852866583813074316184627166221009260131892885109102466976062045905023808822899687465237190995532086084890299283194875185886403135037403989275369393241236271622610856336534103657252454478267382696963014124129340149584139799618391004954440245591500233091452924630239655728648261589414692889168701892641027093775004195065489304448229098073e192")),
+ mp_complex(mp_float("1.9443442617811246953436725134211298881628404993961819638721923243180120534580308900873099967779782331761209270545875761046288666490197646590443928672054156357995777652628529902234571919286430279228085142445955156771416926936568075838554606557028860181449772318276835739723470533397150410078629995527627573904830605856713094970405154919597386519969338603051147728941565021070607721552352208640793789224e197"), mp_float("5.051952951903833070466129084110975210350014309920919875541396019426843184850282856376963339749139048252317277239187033274324612580391372267433937732457505671384521600187854415755670630912397241469290076626169343164820512895887220108587288248907841624128020533510037955554989145143792883498754348628095395907089927000173338810110930025948844329359744336151987741542113130920942527394611586504459139976e196")),
+ mp_complex(mp_float("3.7476395684587270902661484587242002796217805879011470902551692310491490571296988974322740320065094321987023582162443049570580020015560847689273530460170758848350176544586046185950522548405206838711807051969281047948849843932243864804528851450613638735805870979646566306096929295477537232560265474538850872446238929530972269323368325143599030558558207410470517842503236136503940210098202289424853073182e201"), mp_float("-4.9083025846870175185532820663970927257236463290011122376163744906638325625803113985296073310817904321464374908228936349113662229257375074343736898452082491999951605903541341749483240108614503209131317577037397044820151609161453318784218492993781599208232613010825024420427304377932520144444170248861553329821107405037121722446197092316665057738260033067964842403691088465925459025142933656571239500511e201")),
+ mp_complex(mp_float("-9.445652470577992704406768529473840381253321987289899310390084532581691082152361518920995631957372772892316870234136800576339431016512041160567015943125892012456437648110723264329692586947705799936768051119554971093721321743640834921656046952861796494391607858987504328678981930012259247346895332307163046211960786662140632447011608170632847785020036194291148972315094160842993000433555802173283276721e205"), mp_float("-1.6466836352947963515847067436339929950499368553987769302192565126139188595944511265768766991618433724720422962237919626132225056050498603496886869325485494935691711075478387104052474196114963799373002191382599190070355189974214808690642824822108480913565901002383226715689415803941985882250788915477971117855824267530654059471817517803885794229118164259590920115746613055520947030845363207996733103163e206")),
+ mp_complex(mp_float("-5.7916222401815291573496527791590047404532765230901258212751629576406360536312574083876537497665971954450756435529593340837530321391800204806156746573490663495030292667429574684904234436017878981723598509983785805495779956327488513580492981635199417835411708266816112538185073212630013775831405395323489616827177230770858381761926160595187983983000100329000624577917096789741786521160587200068025262994e210"), mp_float("7.153751677496726726923971322487036770351390449814112226239485092116889153176064663949795834429586574803182520714605143386094533831139697851661221641243267527491484887528035359888936285664421274282041207886121783322887449857071712492366986344096499249203738664382869366742818204811990663730617455026189285503827984757175417549076759566719097530580191789184632343582305315181856125473051836347748079177e209")),
+ mp_complex(mp_float("-4.871295715222498451362428763443444858067851929723012505252540634960525911232956986822512531898418888991441846752191967076961484444683946252532821843536564626663710463997860395273158914894040278760556986579180206412917528692224754685305162788639563705095746533488338671081626813673496268703612893239105503735852749695165116926748953837403696825036513623170624217579682692149526060061536867395404677761e214"), mp_float("1.7264925266899896449314871866176531457985826259658414165543314966615298183253855715095156533131700206325143232091617823211881284320537619296415483986589039601789199936099291057621372620562762987693368121403991703555627420537175222312990085008931092201749615332273868750819746894450973985936179248250281454041052174018141426993221241143276743335084350821995730356035244470652488518256990118651938696312e215")),
+ mp_complex(mp_float("4.3124534697946509444658476716943165563936928113364451661000478682235821712355649341322694380526231533308529977128739132577989968206788050924616559871936779479511267747513453594854517325354313953873100097767023162187466958184325878777611651736566910893700795583657858744925259253006048931763765237391021276181752640998170290147903513572026401686103733595351851628167672061825869335556720404183997844582e219"), mp_float("3.436952997645841352492357523385372184271480156637193081320477429644815920177341532195331390820963743073725614452058477176899720656778205791612808791570256436277637996974724894548357612556462154116583857336513771526477493323046062437376331656556999843135046717852835304107671918572662850184594281961463638411822071798856620656262318073891270342417356780264741175555097532398812283211311125809963564249e219")),
+ mp_complex(mp_float("1.4876649578609315279489092396930726802548433902136716549785894993042941875286146268065064039514376926811104904219088265773678987030463624532565580338928758641851534105036318814226947013146231908358180009386659313843576865005644285821051139677965408322004743011812133548545734346548631876637871139633528369246640610278746490075525815426398741358453739323813351928397896995344624409488428667505091442427e224"), mp_float("-8.127150705327845879222825283123104399986681502009880767781942845445456703849097805191202917857579816247427247930329340993187193103378606963577820959730924035118424920777782744777923119375431126382726453835952014090966545362859425697308503187647820531629108735252416281913706647383716921398194160146067073440770281203495211423388090530486784591853226269804721223661653805601115194447585703555616867806e223")),
+ mp_complex(mp_float("-5.311386411447862037765845401093461186955586387832860181710046230933383231089002771242609068146232080829509228252825556010350119062815917787893219593974956001122482898886335907628601829239122575528700376340606254462800190569771752098372106029776116384662941165635127131228871427795873274059056145585765480950562397281667515435406369944965505408174201050902453712492986900348810081781124849539925365443e227"), mp_float("-5.1839298058231299381602959076233261000033789048348920554213683343021065682642997240188346185554730762783278408396909905490399650237726287627915925663380769950644653463233980921833973138913022502988021769882056293693533974813502608096399985372276850697530271262606468021589742408993977125727524974812334747253817810478079396892383462084188671777113596774748982150125796005133571933688394545449028001984e228")),
+ mp_complex(mp_float("-1.5323341807020110380571630428775644150144494029807875605615260682804475944194519472575808908877307887180619862841788823046924594594742872799234758097438850352908500878406021343251142112344403993123418367044409827837599686315224079667558262805231459656064046945053919647469513465293319149294011210775434005592474380020548673447649417402716494099336128512675018387165997520726840692506813381554101364681e233"), mp_float("-4.669559442852722668330929691990635617881161874502604689895083139825118179507127916686366029400356606227254213111883564280943472897344816644054132165272050809293734965439609719542321444819463397690159068286041874559615273611113214700251774016155143787404685579450476407900048094900261460761474930215638385803078112194105019908372076659441982900518070234115472226557270756301610523329523326118892609994e232")),
+ mp_complex(mp_float("-3.148514828690440085179891558991917734358137480611503898218861329629118352551865999651030929904256224541360011561981712011456421060472504139393391463881452003373453889799273111785401819463658197137604044234804134690567195175184866384634089461224537891848715143797903113941617091553534098397787565082889233458128501271698409337555030397013091535949291595831247075873990746195694450207246375280103020828e237"), mp_float("3.786259598781758176704264030127116928516176810841871998612340448281940811328424932104470389845733869057301698286270058744310099993490417492481635743896403406840311496366561899173254460248535416968483564054860361965066591832858642083948935073119170406083650895982661178911560925276764663569654255585276253417267703296960696219903873415761817609431618351529751363669875204245993473092706783105385198708e237")),
+ mp_complex(mp_float("6.979543421291728299257303905893547247813025321046322914953242855815342054557686063184626896725072654105683795079882546219697233088801850793260638960724151273802524838768806575093997681402059137676993018298722006731867138315613549017374559623378320189586789611677108656152365256941867380379873782785260923605157040002872786306740743724334912244177813907552249325442590594684112602799454155395333245438e241"), mp_float("1.3432480952472570149526989438861591944251313857604678768240158637632751297569559973566527989864230857662614459730712359197645580279831169963446312469990064623483229513051890167070354268423535158024007884500646827151893162271174800189678646369844163235880928522358964392268205139742082371794209633708401483621430923211535279769667475750628072652471334958251189639756348362137161161282725764286294823076e242")),
+ mp_complex(mp_float("4.6379731027165974257952631887600118220488131250348554097867981288416488753668707753479680252667858654509523821345418178775469411981307731822270068606683055462307571059014796735155288523358786928030907882659210752805700447565224471260768766967481702882380304698695864514628594780848204334254407577040596051394888932882033049446490614879953121377883143623294424533183755219767524876817960026332711609332e246"), mp_float("-3.779390278856900369420311463089909037233377372015406481321590032453358105899010047684235327937475883067312158084321387706477040585235432632717343483028386936200106966252726674249419931982390512577074511204259151716906014565933904181659363069285650277606998970601133500319546985170228924246752555829931681446482214618511559708007021289253850127467819741274086300360438991256635925887845442115125541293e245")),
+ mp_complex(mp_float("4.453403423378403371981976614689692859616657002240436878632412612828760811311464212838314193839108072752783757554668997300575377652114953707661207157134730610845706936234546877853584722535247770593665568582700384302757802437044323198721312459782298758648941157301608163470808559954284816326803875600618416373310789555590461707727165071115742933513521535464682125012612920210289944760955506690308282546e250"), mp_float("-1.3593679678929623838121721048705097545852818946384008831801616729023298908632224570543152081942137191098469341205379143281528712260805465623668708225637068390416459824292748552188506415447915278787939085574001751702162861618619930604131106632883723921932598428841807042505313273588361671913002234226390523204209111927085353494456790242033575633448975816663289279180876498720362373563482636824738374469e251")),
+ mp_complex(mp_float("-3.321839478689370320145356866982221516812711438869656848244909204591636720971902292985061959309168709172691412174968973436783448242752081627841053703078147901720783566718504714821829056910661236168226962891093684034612419220052918259994494978541411987523500888808009562904859845751491862939093398641492015266924087198193495020563605036243372333777689397873282864991496488664437161043068284552362792063e255"), mp_float("-2.8812329030610251918129514582973636812716872276527084547943226857755433982660986427741016883875363335495684503346311100984368586908819154846549362483847794466851313930496827962347375428141787017330924074913832620974138691904558075909819212141527439181466128131004517928113367365320853819779691321504645634621856408933508939182599356204992128068516355758997384661501792624267865376703015264227603669979e255")),
+ mp_complex(mp_float("-1.2121847514564309895231843639734537735884377902833907123138883000445471529975978664256829904961161410000397432324085124228450226036612163472332800239575051577394034409690198594026010078757905625185627165630473653371826095097328659272402425455247123084956373818947724470588391344483840679420007988185023790056869116376770976121570577802238212115991770847372448914496451986031146822274383121409628414776e260"), mp_float("5.9817962424146591300413216881545882416051975913057176918737281542752736805918189743065065076638766862384075740541894810476450908085891826435603610806071736830932084250667361212148348368658138934190835412479440903682388633788623149960563515153018572637696262037726940319722032208426938180310804912563666801517715274037581854983505781486654500436338713465960424231021753345053209959648503550149189245084e259")),
+ mp_complex(mp_float("2.513023038684423865689370039381291133370986088511298842168251823159352280515993226732781213708325663783714726879456729111702832856234884123387672429690322815756918728927262695316094764231058803075898344674813149516187941820232090704279575473723647536681080013129623409748462446759029372414071430290749726744611634198401704415299467280001288805738125227698183906391372616705434674478595695222976705458e263"), mp_float("4.1477091246035065222270195453251790288702940855608969938426635167080020222989323649891500412095654542043454242204030930281067651263758088407249293885731140338404202862089811237041493872698709263644584326405368570242436972404675965520525285626810436785567108421543867442296331045707464273976875613273442895650721183647425851628818423111418598088992578233182480557930869500918835265652995493344340726171e264")),
+ mp_complex(mp_float("1.20534845135194276003313151423244177558419900347090966764032450196960190742575438159566242287625908640974258433077003778471913849173411272740572805906236704113305566333589557637456554166878400322006407917951959622032847110037220569990469948096144130286813569054141484624706417091415359643388251613391244214280791482716443874905429181950971029606904488307944460752502662664133921783642769893172883411182e269"), mp_float("4.2283085258753643514310653606592676195909978720921722303011015273359010961814647624453468678691898563428384699698407407053999572064292979187976870421883542557413233233339683055589086175981223586186379654366146919307276089693185993259102225643527388101733091947960280933064116591506158602542235985896154347854173674008441518464784243668116988262323109851314177659984287153772187082712938202558154954086e268")),
+ mp_complex(mp_float("2.6339858255013494653584679935886362085460444764344261394636201250579547831019520494279773583154322426987716315970135350871279572277060792005119771136901937329220553997400258884745662138789501469896158942080332649031262484895665432375139664976942059744281539117699600034801763681564222866915498738168149939535775911438109774201939810732891483809657071029939265525037951255855606475895214113094966430627e273"), mp_float("-2.9121769448130204959023626363631432407581621797715255755193051561667150710768217876765835479267645439517362108193070508932960883900546542166198815199233462660664865650587834630240720293721875443733078487858593454197989821813363299738853770743839071332537992942154584565150647141192109697020857650620215353706512924461706887972642473391234579051903383263265376108644595767723871910852148584365664938631e273")),
+ mp_complex(mp_float("-5.1153618622811302112319765624872505136643762648857710219992609883422861836751804040851633735012914714979970596562259079815724785875924725443056883552225784178974583362256272760121794166127295810621638174140114178948865264939258131087774781225480878164185235546726441408560066841813475823125707827541782489803426002545184424316836881666611155809720799433380417863778687150402357899832066710890660943038e277"), mp_float("-1.09332141719479251534928971723901877393727937104816508709938203708672240321946524465764717334873411095376841271075322114647047295809031468422316957140304744225232196446622400210262989593000537089207330715021417447169766011272701643558353664299584755775081823404129627830720102542188210638931388065879951385387029491548163310551115489860826905876639156018086453593874246266335240705359535408101799874305e278")),
+ mp_complex(mp_float("-3.7076597232597641740988756035376390738883837381671534188799456378997777243430654798825071254355040048966994759554391623156560071060104876459075100859163576478024831483522754752826818967854932071480909826395227093923152946641495130263088179905425727700200321534341966943855633789891147595497631201698420531674854748337837764149889440557740008209887800856533743141841894105879450232888829324697414328787e282"), mp_float("1.473463495590434951785203529772650730444875798164800956457407962385209173736246852979767509176503355251497352422315804661682091780448114178979422826627542159529981672043555680418565024175410625796415318645426369246883070953967580590401645292662700386060427227904390558270831968555588270784939710669797548017735567366592768649614527431585393756956580456391005293663537859311023671573323819803560314363e281")),
+ mp_complex(mp_float("-3.9987510479745286791299670098754999473305261648941121078694774464172973060080733241957872500195218944946412321688504652196816104811008050386047276009802921379598109493555590161898642747883035181489659607747576339181934770230599147315185846358968234460111844807152826444586580510937297003497884670229111324893576869948884592186666936369059648644647203762892438945572224675568350711812993275708519033189e286"), mp_float("1.06826077238701367051568179339615336662949901178468954480029390993649886948760060274507380378058925274886027800020304807549549512490006430174244658636067962838698843020470162025267386199452683664461756754182411742135306585394001308471889807132666379636228470860125823764383337707099272059880006125779799258886327424045156499394852247085509668272547542224574363532536328944851459934601819189089877605597e287")),
+ mp_complex(mp_float("2.5510289234662203173245593172612242690353300158634039604377789352718349804980801763751086197114219105049599752190527915061242630663862570012627861854735040384541257770829772966532072351653267721720237311059301491139035726917909075465736648782101552400165844957651489535154830629780817582485397863007409336840807067642774147295389463138992149887163766669308322591553823710428649482886972278664174529043e291"), mp_float("2.4056421655209930361984835652675746177343261852593896885252904471129661316820622105754170616619843257807720330828926731565941254923796647755713402005255902759839105388345215518771061048828378519795371708723762760963590566433668946421786060887427313094335274188647448825382899463342458117485847413747536001968605053849585893729481447727190217084043929328755682578007633724822068533103301809275562031675e291")),
+ mp_complex(mp_float("9.8559382468509493346438874059441095502203614828517603333056823041314070512018086443443638801683113510606513075208862660375059573055724469154044522203028810673623081804228223009875924829867462147631168765099917551657036647741515783634125385061178853317488856457386868349038724426627567770122559035312504974784576580073903997591169984399427112864374766279396190743132751173128896392047885966380077742228e295"), mp_float("-4.363895782439673854203526630687136692062109101736702396593199161582783945746588373952463028027155487447860170287828976829721011815653369056928202675664047166902328191128256484309516966414869761995719575812304015989073826567431144511858698010642062997813992357134544807915215781512985254030200453165153206983337867138154991565314810724459803809422780569489866438550302907956987326175113739999027237688e295")),
+ mp_complex(mp_float("-6.27069984234548629424679203033784837630271728400820414084952130910933362288796042735134730510937563188276838975235206188517856742021170240829281667910933434076396131311427384263364110199032430145720798377326043291938604975786870434864837117961716822703653394216910830195334598423058953348670621361113413595725070361988799781243033755591926915555933068711947287914470962490712818051866743145487129047e298"), mp_float("-3.3128620347118271955956789394478130681481327985137012305598787955799123088721428708063706774788134691367572301876876026825082479646668756380591650368799030328204117658424611162750051025598701428859776570148477818823352931026668056653032509174848409057726492643448627359328668729957306824175256118020498437807407327128478332541453203881821729811865356151317752109335627514764308454778306097005465545602e300")),
+ mp_complex(mp_float("-9.4629779324914668004562433586915924347265034325659056327137695432263089213956851794822963774343326394370802037655085803977631756448873514239190202745201239023536377507120309768741564823027438426837994969360684401791007432446082497379478759398378720827666410579895976948530492258449077702244062396992393157091466604508126546028072569167415073282560266290824306988775205128198458557017468265059392634355e304"), mp_float("-3.7683532375043027104446341118364800529294751005855108154349236894890512714282425171785630436769864633438510440036707849415043289939285408759625504842573826140921511950582398110123447369910343556103782094311534520889208550625311321314866030557361170894472825658855941128344570620754239062827046626231946269953695500088290974241579158713544058627385800256554298697641221755329238817765536529239045329327e304")),
+ mp_complex(mp_float("-2.1950758875219412584097865073179643873232458852841989176303231185556660607221016063978931912829361800641721359572997871613976227273780258447732940491321894935880876390491509575862813445389237193876998259203475041835668950512390931461119792218354594002785578015026107959739462380918877667380838596403385009302073415579266712139436189214824538021518445411600642239664161401748883812852433346849551955413e309"), mp_float("2.2328427278579302469420310997293629951150073250526715504246256204984639757107099497973098842798408796337194577323249250903779743431331331156842099637464491972564668305747697203086829447989599723928550859982215796469600905621045261321554976805378038711551565343399288378055605610009882788844602666664186876001405972057041113344626693518143066648789582626566495227126096635142038642440957951088926103101e309")),
+ mp_complex(mp_float("3.7130035587155321287392841269717078362264211640848385095845360095237514403961148258172010346975584305764402573954241324168449999315079737159476020064685496060125056921819702516923294366381841785637001704400268510710880464511608584050925438751347227121844650318939931398594596583652110832009634487869387626328628085042185523877240165139039318388367258105236467206626356826818983470951638743625653335565e313"), mp_float("8.8802146923656345138468058110572363168893022484710994036684926623411706015596970994762700849948568992244884268399358898979139180938136323293864915951609295015381266387173019151222103749342938764773345636822796077845407116014966968201741708407024422643394916445915390592683035269154011831069834980214887420867313012095442164956877233218214337898786505981020420438008564479788963413244559623434634641721e313")),
+ mp_complex(mp_float("2.9588228476549780857101118137382855417156100202574061914849165034101029532540274892934388737162590398636324559256515425830715970726176031268731996103396314003605284383899084302949517129463634725354870619477583425869725398128202478608036093505764661621162667382655133422760240674511729127414730951234098071508659304714804873914125429099317973315308771686116205900969243926064369793145755551584586307891e318"), mp_float("5.5270651429257740128167589257320619953318400897232028423017389452406793449278752633445521933407818487378688029351676566857850728931859725594284571056363049598861637677721023923562601510033614568245636299983779218963851439325931805703339569160622418851223670418128816193530478598488486623665925438153937179835901512186913746120091039386148574540339200332639778846502031594545914762100018406058456146e315")),
+ mp_complex(mp_float("3.5400134313130119275572877659772926972873395802221133091973672775953774004174264485305872905021789039279794738376065337064298775053690429810717979824842231332261178449797998401918669001729778949368106656537002359677591147071487372160587522057906396743811600830564508445316044225407426232232290810289220614375136349306283905684703193852223154723762067496606914807845865854619064526419260521406539304378e322"), mp_float("-8.3783941112547563423498798726393824376807737946120443773252980076486436053998115059338151465101832447026177627734008646981315044737011699707471540606847981536579249078174064089468801350704353057122282049431622904196596743536024795900529630000123782187310619364959075695130601611017227556450858815006836237506715248203672551877468932109631656767258401324539593906835902799258112375077491484220001805245e322")),
+ mp_complex(mp_float("-1.952681934971861304335852581087370182228294699126135687373204788636258825150171089441119526305929743388415123544581691335811485679050398933406425598533189074687555118291510574754389627782643728530145098112929625508743450404092723731894461993855056615221039120640773873772837589257446169738104284237140487477693472995757195948912163149995276822858924439790497766068276984631879576611138497514729303799e327"), mp_float("-2.0011785909284634676956605374151572419892203229302219739898810724927285269633826763103194078723550719517317500456641337993610114791521074171885099592946146641553280479889658867742690791080483545408104224513742328155277295954864495813893944111648828973130241883550186149283388977671939084852097653605280413945608094820550439243918960271238884898964123102217761424334386799759592636524408525821394074054e327")),
+ mp_complex(mp_float("-7.9970224891617370301079345101353515229541428203041245183466657839701331468411797891719937576458597638027958219537330462167972930425870711912336121154574025892368627340823516350004468500104446607826506798346742174984820732118308237923938923153848768937598475782288721311912837687700551444573206901746627229882217690935516735167669352192880580657699012451019086097704935975306054992131259846481160438661e331"), mp_float("3.150016164845040955589045245890168920374644499240052154996306548330822565059471885706641077292517961445883777014391218113533307338386916457943072180170050225939524303687098291047720881102391874251742813849388311939805781228369842277121932034364372230311550407473176328146242641713915337237909475407245246221911560008091079954873556822625497958237675821051643420901048241969725426480578198273777735353e331")),
+ mp_complex(mp_float("-5.98715804211761468308042296473324585754473217690609966126353897114006233596693269845301763848725575844392237539904438555445647010770260027457851047183026486902534792656289645645796169180974560888593858813416825590718786137796040136440976534973329192038804955951532769680927331209355128581672991723385047342741129534712726880287844614225211410546279721607008315400228511034454903777127171258892486523e334"), mp_float("2.6414766557032734400764989383171202895214013837343070579763398235547593569374598863373958941588805923877764313457249043409298637897370400432045686484670972867010837935329112031970947749398862473405888465727921265174589455556883891631251563711258289163969319782278590580702727122036732352758237428293948888341402970836912087607186949655934317572303554623438484498606810653263440759058387765177034147907e336")),
+ mp_complex(mp_float("7.4143384844463472145306880949303143758348681422649425688267611828495379472707827804776065811862862415008193719358661367319501732961079751579783417968299485800470557149847908086969899250749994226012685787809702694816547518382911367887843873740308276651522172780497813962153805826908339598747552781460030180120066361997097060328377206340851704454156976841952839434974119508789399741041697017952723208053e340"), mp_float("3.316018399852009227374659571337801413582703192678470912585535591699744472226671117117850964444499577059978896381450697053094100758815358362477939856528587205278560822766530006462360805777519720523293893061919031740261677563270502444741769011832416090299203963464896026634610832290973776516131902925874617109139199517774007411349077208879240533785891717484019925731437222170531949045812057684419475832e340")),
+ mp_complex(mp_float("1.822869061675589287187604830582539002347545587369015550744967066877963474904448715036812161433275260867478674954435639187289889863856265399163131171114995242770593569497286120510905968164801389869397938302211457041864776668325476274554718181009631198326420418620124728283104478439398410310319516488906403733667521632394457831951213550489727281520114650261222400572393535917017231098203597052978801225e345"), mp_float("-1.7061599826260795259382747835513361807793494745351734417608381465891050254069020898680243030514411760384935571358668088252802014655430893649557555838339537677861220176300048926156538224668493063182275265161513798004428064976306771389116929273320072244819229994313659459776161798651955432992564472435393701739690338083753566630095701882519327727573776622917154051352510030334014644534321933497528451074e345")),
+ mp_complex(mp_float("-2.6637904367778336329133665962045950940857874253902254119256254208798445382976683069213734625268352065300216377782503259175201986676845161998206776487983806143593600849104418421864464182631330890970670916324226624628272736588822640529583593625433076475333923943520747928401485682251994086834969241867246226170374053901570675875221280948985558961813436156555088553635688439947611472033865759824731930551e349"), mp_float("-7.1980726186445401328706747467877314664788742582708762305236465534882443180592109168040675660539882306846910039416037498126735339411084438819990417711199981799507080408925526376537608418912312895946679512228633413225941764078525177981060840287397179216177096739430391707221549211270413692450522655332282314803602152153991754487753810824794387899994836508525446956288900590442933258407924284450657616008e349")),
+ mp_complex(mp_float("-2.3571471438267794761407118274515434278987068802310481804382469567759376135555795329002416504617855520384745948720071205253575621162790632281775946846805545026861300448744076599214880824499401220360681707686615301428926141006448951697598321019777658869191521348560298972270997526939197333635503086261923137495670572546008984473414906494955982194527004479174459973925435878066683410585097194646351784945e354"), mp_float("-1.024970651656829433736340915262424418853494701190471497559016392826323199519865075586123004353243834010464251468395681394746176785301028397858656272608714060068225291837769079953768637208742175757863671269483313135935863787899379615582655393574817920607590337239709905843319132334504913501993564790659422777091448207847809511878799710756059289063430150843553101987269257366893554900380143859130552041e353")),
+ mp_complex(mp_float("-3.0981401723555587794801781517411181414711883850419894587649065442698501826321729985985383998301105129759360702848559181853864612089824387722856714460506193685630398577041267290343040333303228110789261709302329496621299436601152872967772758793117784853686514480125643504164419747436419592905525106205053160184030310886594145935852245130402025592875698766494245905342951525326563778037103944266542570484e358"), mp_float("6.5578074063390788076904738110996136539478135947938668396841278312836854282569970666735087861972160894243533887008950732161295304604372051030786252208315916889456075531448348374051397019116073190754082713293054689674597849189447545074580983501072626499730206553694029038299800546788340478868152682584984961521662728493197515184298350915673804936876053260415979294835310447950429405388871123780167478669e358")),
+ mp_complex(mp_float("1.4893807088794811513271218626226097448147254313099205807967090440747097860308728962384421669331309841444150687137714326400466905656744226995393614051167725368221832825494374583158280513458495313075157770843198586897486923731965164833003145596363768013093402337386627621058174759685978008000301959131453840885384396361976012961500146013441283512664513616823666220692144318327697156120023192536478518362e363"), mp_float("1.6591005666733386305383011174819687959273891589094137515293595448409840417094562346083228810838503552937901964417941203215208481515795370015669060273939821705744313016784121466431399558784212124564157320798701020121470395375458967044978138641646130026888712182508654943368693108867066784081670638102133026075876614515950078959283857958485152798765797705403445580968853422137567255232165523250775710338e363")),
+ mp_complex(mp_float("6.4757579092107700687339069883588182673169181882143038895808011811887420259558049297459408657806063021188306376468366779459135835268680130511325394788763544324059361244847833466350375081997579443167377728533415831898997175211481168092217379559546772706786130013968981024717293942584313245908973797640265644169887841593806438987597138527062928466772780222031732403109494910586412622864880634559938564006e367"), mp_float("-2.2445318792394524873886990910121388189948986166888312378500682315707720796045964996378168620229794025475356633249608793366270295627301389923514322757601953573035012734994436634045038207605514681639275041991976207401556383074822665215800959088407089815710755495725982564985953875643277065057603785951882730977439256543075091300572686770272121699764148790250880956306684481455762458859924370740713161422e367")),
+ mp_complex(mp_float("1.352730562938370441528963008526293914783189479695494232907554415803378747923343554783027302127484071128311149402350790144614418531196860251499931859140363195540664143450942893248003165916931077372625950045368208542825673532440038413118419206652910428093472713026253649840654743593212554630032864983363227885490359092775603332967225067716626285520067133972614522856429234283892263931531627822940011358e371"), mp_float("-2.1025118692458177153964963749284901977255676511179717852785517890580802120206088548351108964011702500720576953327053194612731288267474282939737543608706649184548146548791913747501113609204955960144621272121784543077818748085873366473081391848947866147775187380472378960686387796609397830722991410871721382316267771027653500750046945543249392424813815503190339135623930555286808018144757326753877739398e372")),
+ mp_complex(mp_float("-5.7971585742148909989922115992083509218890001823094164021144794388817154921362658053356159716657058129869093415693122746946134856733078429344503925109603828136084775351642857235026108062431476179896131184902999124868146864830573477991998610176358582244077739060474997949949838924794270081966634440715662136209858328035722553128734686741970919775949333022836185271120474487702534308391853064502169755059e376"), mp_float("-2.8877193403373737038518743064631303004566915804390738158135399876620678951122587329847234192470356263609027048074437828944941756164374608053577252706220515410969787435361048405497231271711244008740747566066436900445197462114859158261138222336792638465012827854554002832193142594590960500129993162114237630060301673978307265435514250199800437945665995942369563441130822540165998355961071633137523210346e376")),
+ mp_complex(mp_float("-1.5088662621438695985451712021417280608410773743356718669577290837230500530107908605969260800712178069673865975246119571923725066505891860007670925690997549482352436675655723394780347949158044369550785516993905739404771046328225442784163704880450651028820659566212211002930243197154562516299886739829143090621309792375016549584263617313440969161498522471556785158976051233526273273494366369485820784313e381"), mp_float("1.2988851313367027144088757427195191945939177462043867664010092084543590949993660662245677402960760929768590025765279043724420728773412936582571345212115729924008137911662417869039699329432784425504804657840839565219986197475083114333899473766238738060236741469069100334546358724965530972435876848441413528802177666371354452534771152833834672501722035410935008165394554691981157245244949242833798466377e381")),
+ mp_complex(mp_float("1.8836374021052828943417795247215034281338249455385991371412465819580863469418914210065088722758289735575965941515498620378944594021210273951008342311417086445432846097729521528848256697913431930509008545053880325362292367692346222417223318619563613197560221599006832029946099007639658138235651752975093429920783931428074835155286833488939682771204316482025745590998788182506321185787392524670773363323e385"), mp_float("5.8231049699748286907017816004583474282464185211288284617697147917659425540702791317232320669503030641396178539231113050847937400230521563712069068708582144714856476691896021421955921166963329365348562687313619555192489053533895668486309143534476106321294071275410594868531587848146900416617337658227336808543295116184981626298924610866523389329291495307349055390834257106469195928010545223790698544907e385")),
+ mp_complex(mp_float("1.8745699077960615886746833655767396666629291283546844883299178206193572356901607392609415957153112954854711240572718583869140719079324207899477839557887913591269728312698076596302235036015486960391116009577380157925779776954188387158900230027108093635409949287472057616721256856570515327883475034481041330214756981333960141156282625318312104015798999741474774891543483806227888165070758786026749426429e390"), mp_float("1.598069513324284661699769443091448153464992467276974031468223616813424400194666706882322026935408594697770388613264855355021717950882320919350666464178334110631175371078322827678469416019346734485786894109471624413834117971063391580479971979012547852577932318604428751107033963754517598684836187440990300876600464342249356150559427198538008347760009771322110447829093724556052640829581935750815999631e389")),
+ mp_complex(mp_float("2.6857365924961934367273612978633640695637260539209286925771835284092214571471365961493078642425279261622018758082539080969102745100928963358861261547793683361941541856723583057493075574686755673969401936728159558813641379238811774522621789222058074766910708458504393701104897018314411857259356496604343447814274524823302290098071279493162997426583081501040477116183632575528279856842144481909129754161e394"), mp_float("-5.1219730764194001820802490939614016462304595531880033475277654414400442583670359163673426872212595071452717719934810934074011959662434235163069712718337420713603874502665256583162055792746609612231015424742523646659421118749421881742957521575637583325796493231154081427674223842701984988199994391302014015752618977444781457093655561802898964425877677680862676675380445699276722788723318790947882019757e394")),
+ mp_complex(mp_float("-1.1316038323326848565125307773759217231718819146375100143260183676687608385702310712489030328421974694395322584467801339754805087262253375189221294235268324844915325446362074198803138957390540395735107740789938073744180927566691656012038073913923066942150461416766956782227337338764982325231175441593938739109561036678203024679314314128037248014324369252728737318677303191455496674170158154503025091062e399"), mp_float("-1.3712030339187750493580824609156882097594976540229807570056483916265322312641217916516613700920249098045734663163987091514582884219414443347282909131628351243673172435940737240215252450574081409078851320957261704132596438317390909327467946535521541200516549369949108725668123953463651356965445706416408240002159180921962365185901129896240597703875825810585879865990983519238464898868172227739615053974e399")),
+ mp_complex(mp_float("-5.2337283581890316891886859724226309227191883579130689151024301863248536633010286680596370313162538543765221222117573271294333738856571839857620776877046922862577711230822464983192235350389541606048778440126528297777496515409871244443638326030758610552327031569667675246978245911582499340993961551336354338355119491057141464316161445572004913372760137188797097263894022528548060398122611653371643615469e403"), mp_float("1.5735558109624501184612578695639222172975437252703454435157529314999224196607245006582906525495279557570159249568270712630510793065236099354590405232315864456541535106305336506345166431759140781536096141295739246374027112705014918657787752135248882887045383215670998924800902607198329757136151864426487467616509559673115115256698017298243241439671388916334651074296535534999899555337201804917743983007e403")),
+ mp_complex(mp_float("-1.774780845855832335443596226615815158958883083498599599851741661228277560410019025314046173121232940702871453386723155305284021142472120488474112142731470198507857661240011118717617007111867286884749350185905797901202398776923080003688885825735161074147357123656958232519755577626632022496317137283920985895356134717287118085150317347663018652782882730508908796523019750858870054097087501159887534457e407"), mp_float("1.6706122480570746176371519410854362380441507235680859478920884154453730756617781778697733868018821466269391835340775604266593227739436586785222394874456223155018690466114957374965664202043908772650840816052995461997969589271434499103708644451699962064191538390829153400521109009550010734568379381415510545731031473333824486380819982073713527020033418558860867055894336984590382159409774480520825423499e408")),
+ mp_complex(mp_float("4.522930903353476358999940424070494928319826011080464736293124649841912407369006078691779987768169797062932891928114771344842097243389426921425169532231479292996910404761181935953963616422997446220010426303673430473539845780662080356101253714726456576986685280494915795695207564833944791427505216322177581445287875123290982930581915059900676178231119893048470939922500442959517426435480957062634518567e412"), mp_float("2.4928740182984428718224385366059963106708349525304934837442711429233445830836079341558211990528010462551879524751364742708933949630795872313727684873451501605562243472583827635807536516684347064423943143886092358625280944217950991229474138465335330138143014114980728114185973346261391348367726866928699060213077089113703553625393516074027649068316880719333051117307659910000723256618473933170128801022e412")),
+ mp_complex(mp_float("1.2451940419066296723126606621174462460062109013346744029501120416012437588377054268938604246908455880446350977372551552651425487557132875413148193877048186096554055385851358892157164656455571627590966406488902252376844607546581233531888032341252896988281761546157168713506298003288321859389325688875118342626321674824155041588702054560158087060963734855551267154093814409869738415274284751149726801686e417"), mp_float("-9.848143780513023225109578185855785881794364084706128981264693868641689572496252373863538328673184938368468775081219729441199772738126503491113500165651163924332394387621444404719219461074474027410775794181260992153313934387039775958481982436701783243353681896052865688838918479212907453044960810725991536297784158931321965552103776033717852288148221730042273012904432446500307276803397077350459638277e416")),
+ mp_complex(mp_float("-1.3076641067906469433500051694628502731658658557249907901134068245459653205877402857653965928344987708191951753971759854840464317086124073436773111294095369739726359681576976731110525191579672247652601583712831673128787117227457837720308235754175840993377666125641402715942902397058637204745399365677142946760328873592744386603906130317023520808076438425918936875325987275395714778947878374123557993378e421"), mp_float("-4.7017870705082228151953623348698375865194796778009132915446563752584259257693170331595015534641251902599382248256206957759244799741734722446939467228764739038987547893897796548786555284055112440767858598930728005545979345132523501464958660842506908289237273911180496843980485891840734647779262144323016220168467942520873668405147259756190020293966759598565342171995618308364707050553590628646702158913e421")),
+ mp_complex(mp_float("-1.488194727108398267445753612131685519718551203475167123326723738303960123315729983844599671418262771061429892903042570061759272301085470327391426291691076609269850565055576445237074976056693289446205445078569914950932273799538784354896250690877683487906723569575421922670622506770947698438238430317354330841864353028747643188974282671888859380976945345573296767802888382033577490366644787134866518607e426"), mp_float("-1.894675999734553261727821442752226046929553349226558935081627967504386583213528554741137461519947457266132466809923114859962300690912455643414879435610686251020482409726218304812915632786597744157156476759591590410460304822892942558314314195631401092738941878894389649329897253396994988421409894199042260715850954431167553864686692719089349660375746319837873849917961175344573680439243987666366897824e425")),
+ mp_complex(mp_float("-2.3095675272048778413680153969389780327835273655901758963063739044205550269350117694572368442687609914899701610166442003128440172930894590497650803466961096454697067825953137545027131096080195054398037924676421850844053315233956263911602561748071672410752212017285446523253122501943434980868590107095026437063954212135616428014600434779858524671446286840272194126480782967257282778130516454523542380159e430"), mp_float("3.9916986678794165176908277144351009664874797073808077445764397016460259034299124580258674012114694569885354060466590048484158984592839041101406452033201513047146921101401417569050493735721612348061822068599666535074860865363968453519337820127542642428704702003738851037874483782271726170027540106619211037184885625569398495786095045873402227461419387816465453967177780958551096567294781940004430573168e430")),
+ mp_complex(mp_float("8.561032559020190277086928807580715418534189074431989125692318113796118797428987371449790341289249609897036947686134210453396561657454652035640388498546119909370577954537628344419534643878828640758402334962697834256369253397203962810980677653716249720755561465849907955747274951460159814317976800449526986190818297406278847619034986535637487989478348168505901725744868873355418415022992055344728575629e434"), mp_float("1.1299702011352111038451670298467711188935400545415415410820596883880667827117141285455717145080409238269209586654932847682146887769053660803296645336968394962057332805907655095983481442181507440882876140533505946693454431477359837298455068283573105187616681998723646275724927176661499899720812063210824795024587718977186836791804653889599658652242202260585271182075587674779663799775803401417575598717e435")),
+ mp_complex(mp_float("4.2219434024687238208431767592019405958150780080048764565904313774034609517050952615046231730959651408152562423773708441976548537496055717055855937570376605659031320947638991181171448716264101132802833536180948403794484636136259366248795090140043970644329963705452623663409393569144226221216137809085980034964624135347246142978522449550876585047786254069591672125046578821592201375072621470655887041762e439"), mp_float("-1.0801578565683887474866181185211059325275727602549820379581563739065294973595421744919316898735857416805957170904328287955749411887571058866378010646680148000906728533845040940193462719337440789036535300155794431765326871989514377927082738211911530928369663031451976269810526475134170695950244222066316583732069178729633998802501151220854017667725778775608983911708472946007042647889861657672524630332e439")),
+ mp_complex(mp_float("1.9678461841159002200352949079681499523392710997102436521467569506737208747358306258546476162049259904249619666872931570592421728744297364674810795924474964554954009971650990756356915618780516168097810357222033843208733457422920544476627588672762731083952665145532412987820707787779996612443019279937995915016363278913964809813786681741721372567808258808239036002935623063814546307881327248879594067302e443"), mp_float("-1.325113313445252712120232518085663531024066509772208535958056782535366546915723088056123363685546976196357059693035005521986401091751017572265655047001511205640870345616539804068852945716108855895874598433440768797827959587485581164701496585618633844166339285753597567648851464844560615657143333479421214518089320427521917443880450199247472995792128953030216032417782298668425033127174276145910875262e444")),
+ mp_complex(mp_float("-3.5208283910119465379086285687400253526911610272721490473461347962125046191388354416499817327015649273679080490088694309123214660686533287762823944040659781239364973146385540232607741071444830104360676495169829068661724625221986607402540568854121159426421829705013059842186667085259027183084354696465209242539788089265401175860470150354713936110843533306356813571076424718098199475843363499833334686769e448"), mp_float("-2.1360515628125442042910609161229485365867763833873280999272311826777632020956550701308301302519042236425714952521531516414821299012340337592846051188443882673117305491384250861216401916910059210570629339966192426106839703673691412205178909333447988177936196030206680681000270199748957414894631722861186818495193475091806466629975551772575082524316805213516759798310561649214218949887646106490245748046e448")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02102_z_cos(const bool b_write_output)
+ {
+ return TestCase_case_02102_z_cos().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02103_z_exp.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02103_z_exp.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,111 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02103_z_exp : public TestCaseImag
+ {
+ public:
+ TestCase_case_02103_z_exp() { }
+ virtual ~TestCase_case_02103_z_exp() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02103_z_exp");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const boost::int32_t k_plus_one = static_cast<boost::int32_t>(k + static_cast<boost::int32_t>(1));
+ const mp_float x = boost::multiprecision::sqrt((boost::multiprecision::pi() * (100 * k_plus_one)) * (100 * k_plus_one));
+ const mp_float y = (boost::multiprecision::one() + (31 * k)) / static_cast<boost::int32_t>(3);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::exp(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("8.9558066625208223242553082882273557624500648173688979747971238504918080248626555878382441877921952972605248709861674003193039903526515011089322382612880077834102067884777815948072692337488720093343953183778991810152538846181493559322574259403548414794734691742640832882091284988283283978650624354573056722839013424766874130736886801360896078955461704436459313144662623132670006457444959761702727533753e76"), mp_float("3.1009798456282954005346581545032769608951852145512377907832997601925844908809865447334251490912198944589392485997337669759668273969577683032715637768703767100500566113050782231298899526474633027122787800075288106938279966021904025578377599454299354385646689836390637042428905280034604663021835058971814901127544633745230064107264852901089424948028876333257381081679258342760330922783686609341132465423e76")),
+ mp_complex(mp_float("-2.901352750639364816774077914866866360551298681607820139718901249194821669859268787023824006745266058861383584018185141315397297889938516983437626102446456114613612584149818613678388492145138847900745585001776881087104097627870308699255263090732848015670317910537258228470673913385942483442767384035344186933640013222602765895848854884631785186249747003220845739947632290555197971712623362952587373438e153"), mp_float("-8.5007679222530112434912357537141144471975954794731787862488096543288004845828393759268646245966304059955397945371136798466647810595418475402636541556659353165961551433859891718192603906713119899169271928951578403445354459662166304324129105246947694286946773527035023050028931970650179235161521901799861449808310585253470275871986028489653439815646854136735389008786125949624668788592095117608260003898e153")),
+ mp_complex(mp_float("-4.6627701216088646560147666843710868933640378585411141075920871706188364022506146374767572215146385663222814025946100396906597314752297454960882779264045491496292016813467049960556342833645489592467822109594356818195645448747615545481341258544728261548000029735969969997856502790345581099237643569653772303925650906999125133259631975033618761681338039904676118488246622627022614323474293681057643182957e230"), mp_float("7.1223744954654871085822250131185832752468972858828949225047594984752238800271315244569813154391925302099971241902423823682305699705648725118981254303448210583689902044831874308359734932383986937874069744535144152007905339921715711811393174768779499382336035488379950632782656839720924621499041197380012575310769161160707417242619197573660755944876853476184523490308646023809478916119724957051455916209e230")),
+ mp_complex(mp_float("8.0405871530934573342824030986321483574352535634045105036637529909529812446345420636360018092009965527161392079096208518030088688600941751388383749346053252297074554459985120422794315155984846843616927139112187493440769914160422281534210527854430537129416771409207842390657019637421909420330893137978114301357894028597689058263919148763489184796311799607130892816101948955224452864165973689480524779942e307"), mp_float("-6.656120535291630613011042932836646384402764537560259023782185642008813059920274196190670037284145895235445029391894324648734322073679467554966843317668223265392324423209771379489779599820604892821029159511258664266306098168658289156453665445401623738154739892610141167263613156998168707200642754741758534133805239689800319898860256989650912175727418048374319272194116662267812723387023374474339107939e306")),
+ mp_complex(mp_float("-5.1831880932240439244981159182129111342457545248589313879028196634947288089818548729897149884332795555569226008953232386706482142583997732909572156061848874018310853338219798015064317903806807477326792103275683543426016770261195706082130029018086893574541155492843067733383255629409876778580610562275938837949416656157598783286327327284703397005912271009360457016959972056787610690387551366925446868833e384"), mp_float("-5.6217189661139135800397225299665214079217410105210135114600702223362107388066326050635946749055601604545389462281096137448025650477291894901526787213773283678959787699766517261220300192176095817756544643024117706589558799773370818383270760727141359654256523104564181375483216806011112606765063338791901423858408118465248002546086916743023619422336377929614773794332295262874699274227131514391547851905e384")),
+ mp_complex(mp_float("-1.1811883804231914260796621791706605892068701242177115069835865541502638410157759671801205073869739998854267250364982750796984391706780384144402671990158315021824063864050590237381574613914279889442337987852523901984706799648362750420753786484386582587379218334327185031110358878793458581587117380016063941042239097675614609389515633571354182354200039809693698565143407395835276971716729822956657525562e461"), mp_float("7.1500550020915054516320523735781331787248343464991114253743584896406828325810411790271947944037390161576008437770207622866740964009087323979740747289900632503066108948078494077547010516724733462492100763121699673483251676629487001193920009248960805234306354966708031098440165033137597404852456768315526657619582898268737705286480213096304821570153890074194156003876657551241582123195563558802711190672e461")),
+ mp_complex(mp_float("6.0323618143342493731190719558333681067527705031342418185338095519070036362611996783048070998065779232725808375294459062079553676025669812280044436267263028714549625938103030052761251298092297218723076585516993745957998629059475951303504114331916301975070620080240616138009649681849339014675444741153253609241729596729122747405144287698673734234141285149430738231193971570327927707033012399891282497017e538"), mp_float("-3.2839091964733838132804877813206164128026916205125390555740541135142963039725948284506030026020050119674321512592840465917330299349775892479451720672934841099426285501003382331821299931815677337230226222623727766071300137525876676469153783813258763712725922096547665884498116037977491800906482930746840856353793264321943785295690490414265391413505009547883230148705859749359180356613282931018488705687e538")),
+ mp_complex(mp_float("-5.969821264544711096483894717382997579150242058245949768600357547960709708357037443163397179558510595737556208463991870858558686334135083631541815248678437997822068493194444670627045471334907674473127517053373360703982823605318607012562764176925391273671557903427373935765241093728057306750688205017369144280812515741874661193893307946180014356976883864181290948286388718189406307758295837395882481177e615"), mp_float("-2.5949235260490638129015392967787016787156846811868892169748776776494696144306379365745550259399749151041045158983875161588968437342910134883125096766530254579785202293801837570639404972022997505845847666680449555185683895525371039224232670000860739827979581534425456030085129782291920492789905535163422514926725733787237280061030857347781258158982772313745796775323039907607002471965260961460416269327e615")),
+ mp_complex(mp_float("1.5394818208696366352298356888019744585025251217150634596851377140610711450939154351878629777031832704201574947108483681418416239052404608031172430157234749718708417574895999790020568341610860138662940321881327015616919166119027985175907129351984764441791089444164627951604368660646686524286998175648688810937816228399825387285253962564803572774909041497206406011760160961268371170733162168591622955228e692"), mp_float("5.9741074739703327008968430631192338792650891368837561327495808587010805341382553470178255662065975448406576865235673692427933445320957905823187964458769717696170108110141326624636421277694294037827932649830317979034189227956617056683040260561190794550106402661471545143693173888102065610712834357016270647769826949425616632291639418849848264489480390790998880107930767298647677202001014975019167396868e692")),
+ mp_complex(mp_float("3.5679598956179245880409121341041952162516384655952600547770243629754020616097426850620686633366721644734500126012986611545734669501860763403829890992786105248043868515045855871405804969043545094759332036387796530308810202779595775340527597387783721484228280110187837315633479469875768193539101322246353489247935756125397206558752601885905913845453449599124541112755162108859121715703734229200098832645e769"), mp_float("-4.6320721428575218580825357134224886437744753330777740619560051220084289653895241141683078828998048484227980840274898666630662893341380265924859931789179982483888597767873590695086480818006511415046826991616600063659272161776306486405418396254892117496887486052444535527935351761815143041647966295552370441380217159197014833638178134803598315261402120117580683340169935695847074166379070816623487261907e769")),
+ mp_complex(mp_float("-5.5413046622932391766149302247453199101738465422488971633343220984898517415836684189736453944492692193271970135951463999230896835757183266511334331897707424537592692565928778030499487423338752614271296016039542574297996435891847505445215654089614989311844413598615165605177359828586672996952181718255445986130620755097618831462552158528354278640425925801422457738064740090291149490445680402263229147709e846"), mp_float("3.26436591989521260788557215910377932508337568978561007344161095986371929527348122721717071343417875046247006650977825711892695252428606387457095260039628155004231353634974985954036749143932314312165055590394625526389489183371130278464994010269560488295093357427154641906921308688204415861425013020283671397467653441591262634670142314469838292608956210028566523535008892808350450683837911207530063819e844")),
+ mp_complex(mp_float("3.2536288658523176758754649399803117169676708693527623749746104226740467151457283324350750858674759067072430377432059526581549760914025716318608567506510054975247813278089486595578443037733677066951725894040636326207279476683991837915121906208768854389363046078130371084668041494683294219214543601652140255614405784225750890411693078048326438987618530521674743318068187139554204899987385811205884794719e923"), mp_float("4.1225986673645748971970333455823032099380764823954651598366394539999920733249737762300387048411030268112386820566355582667830805305021904752189743774536859939505407100252622110492503263507686513587764109470451618521738968740861617607710055738551776943829520901864105436726398154523606625580331481560584176606810763479671414839388463893791199684047677026230506470281759445355332417830869695731979928432e923")),
+ mp_complex(mp_float("1.1851950763875110417440203679730396260366398337282493668378750182115370581229350772866179602202970662620143335472686228984953375515197131957757528936803206906571110481229543520701659339972833727030832604471874860383556122544977905374768575688741483119734362212432003043115496003533391496055713124832503594334416114173508400788508887752683550143911931925816376907328977740228711664717899775781522167898e1000"), mp_float("-4.8342627921272542682919847971338438206663156112048610192721198240760807601310552433975841628829137278544888722374034449855098701447757244668671092828495663973436776004246807381755353209286368356208133427177874420684104800597909762097092316274848263422660698029640331756091412287823300405868000591210861934669431257077614128572073146438001788001562086099805771780881679883982865193441305908246559255247e1000")),
+ mp_complex(mp_float("-4.3038523875848271196897530297952020811965219872985793768124048282242303162672092570527969326414560853603873305797539288927648342046222547908325055467592232375937993153834196885281776571584311649982698874597404394496202268556143048353709698944462237054978809563477471927018750806125880505040894344975827013751578443676601179419989633751620753649081870611464195674403229502986235331432476481812845964734e1077"), mp_float("1.9313718491859343457790018137308325079578879663554848096286571921577999969439221977878776732569569253141081244700426278222499430345230591418579730820066924622132059651617864701874703934411719594608315381929971973120171081123073540725696639327962271910139601169860700763320357670124188263479115632266606974502103103154658107655967708535035829993390084751937176999970993896965881670732149443867849051756e1077")),
+ mp_complex(mp_float("3.9516225243401065773411218836366754179233789381101348480895987682222181844409378698037833202994582503514969434193751874595355878401645466411555085108494282180661905580226560766570661837519541682705031106830677892226402318452625739544019383884714267774966657269705105150280722360122475722614639440871748663256288378535270412442837946564071106942621187103050792526587644504327137670876299085026056081004e1154"), mp_float("2.0912194949694251134516450567901855046831050267342488970869085812613908486715130218164271559639197955381113038674461340111783702290210545787562574053198994277387681745916737506061534856805582707094148623077035720954266699732284649038503876279252557846907849635692414567089816231884974259485777698823367517401155640488920760210730374070868306038996270989180055182592280586944219542431969424770019340236e1154")),
+ mp_complex(mp_float("-7.39836627086034191549350547504215435809774501513991197247588896822540353314614846127404409283731415882662858555133519966034656538693372041606459759150186434268860910182133901197372010461546213442797750666612289469302136808386593233937943460639363040026752883716683813471516515081642994058832565004341458356134186815312635378052106269046795753014967469495999235642994976480353727994417718251356418966e1230"), mp_float("-4.1721504681873506331591397193137820824524230428219771621945442694653696811119351568281169171662304564427097969657647351789962303213035504653398565077805678777821053101455267318751418948902800784609250458403670647292527251348966299547651760713158765410817068386338097365055973802216228135895585543584308700524053954119973478238013381260143257884429471037479033562368042848306225853923095508158623022505e1231")),
+ mp_complex(mp_float("-2.6871590349114018885434522282403988195263220199234916888547953782557241192587034361518357869302518869359446009871815964111457649057591393669263166754468482673775981919895276935884109278684013544839741600968080838274661142558245282060523929637711963631462024551488454310698218704064673960747304675319495032267710308176951000666225507530833096703815570239651986695254023793360843316201433772745982486015e1308"), mp_float("2.9843080272495335725299752265084480510105663243286633137367250866826193037392016341332926904126299656113473278885762349983605898446517482516961897581405138206807867585160134936369570644059597737438800376139847763758612883188708278571663269417351866581730419700589138989743676434031058642158781298153157668694839450265153396829530753265804164515753626670349258300135880983090653814970502815986454715423e1308")),
+ mp_complex(mp_float("3.7964583084235867567999864904037247889779269648439627165484035173304223786248450657342289749454124590564344784523969205874323613414163137081262480678610345729450588746169775459204047365753346119806943942790169058475796181657759128037073176059420035745372455122968129454257248291559510771373673920397658567823357087359289794023364714297907850514133736579014530212731199720818570289996810929406009720019e1385"), mp_float("2.692827585542346304843850886440218898350635991942493827363351788870053067315218940850011488015445405995433919630374507098142217776650548898606061461109585602010878211785024709683937924515519886359057382327517440092157559158402693666964168304913982585835541174658831272841799861889170438982813390743818138163817820751752759475329423614268585097806847142656745014822323397481735544923440347876950767724e1384")),
+ mp_complex(mp_float("-2.0111459293004276171791319557213343342011136035109365570529858201883529813272382519331540813045565525401102091942279759651983148227921277537090706499626288937716414004612832628877229086592106288461351548481219177323371778832633354108258293778696441333681484001487018119198309554045043453091811786636177867509257046392096492072147684595957034551771931272779602418540842352649692845730082274601893893173e1462"), mp_float("-2.9944340354621712016403110445536971678195540841934708617365159921339302367241220203293446987538904689847930782471602251694407674925171158632750346744246683864251024921926277551241482043591923426041554226907337800337014674949341449430301842876759967730992917369191755138452336218347759207431912642873344525084610693580693963189721232906252693110642684860430383999072512503655747221871756411107795359754e1462")),
+ mp_complex(mp_float("-1.0660593445576578409473981502783236224663709828471586177918783020140641677611082564793710309058894613481171200500389274843053266772343222805802379791558848052013363217079210675645474837865039598854816570364349094262534017739340486114563074169067160740080357468816938269543296722310181553610136771936081638630820049873100754630259873131761842304860349459188588463373817862653804142399072816880289782745e1539"), mp_float("3.2481744934958252033630731861811459512761367709047915313395948385778927013486916100433789919446143839118741756942413122037092122595439668933182738363030506275328694836833806355781498732472077228949600043623523750401518389587956182757128878931972241443478037058711256082126407241852261506444419526035336158130061628692519174626363295315157148898870457183432174455971922337624798525667294532174589837201e1539")),
+ mp_complex(mp_float("3.0489683255758916005715272100283073904806705521927742670226927451905909785795670213158079214349128554399156161684765290617473777291116909012611195884111060628759524771368127144760616826458582574866427303984239253743501604540247594954419440420744352838904734016751822611849427764619567520271871326931755734941987035452224778061307365365769013245528650085529928835677601324906171423356777429686006450026e1616"), mp_float("-1.0961118991634995059530017204844646173991799103332359157854048103593060312358250436276968793270479210507234469468254112649227210053899635064002341598171938373756350173231938382541566951365450609413112023899220524100097798902077303439974522716778611186320740740214292265347757822496220206756094804574231023810353683254927727103930655822436828994083939339105096054881610336762579360542600604578101319947e1616")),
+ mp_complex(mp_float("-2.5960498662425236874386783628388719404663260619437917642725189852436664813430482570682232386514159012313951689324503297336410142303949144168540267242505271033036960512843696425637108803660102230432338074308592306510770810163538856610530459147526621320587361204682177108703144074126097592648695729264562674026931336176257214609446533824318933785433449976951580743847127546901257486786212653052923523414e1693"), mp_float("-1.6400607007717669658216576104116900805165405624138914714394278893765623172653023933191346998536908495201985203757573426774348946611088400572066397894326821276669305168890843123556127345535924558812511340027765911405626413081640487337176222541647384485300704664011110648946992868986840511083120693169670349457806670537727566653035138269544227407344136673947189733355598314735380695582269816158521590469e1693")),
+ mp_complex(mp_float("2.870682238071902047450982276604445022990429814368960302320194910448413855430963181458288964798484430716467369419930954371059510197789935991229899747546457198623703922011119991564416029014730121313913148714915516417310108277735876334916156600528756863361656856471953479253796689030929218570577704803079230676092180116759026449532711690212777331393011266796339937293609557970860612794641980265801751599e1769"), mp_float("2.8960673509310076252799294842019527799154961732505215224494366922174215955846511179467575323232480219826544483248368047412895143211783029747795453983966405196365950785683208750757136233844833454481988849248940692821406414747562536204400869829753070337703054348979111791445623577109899630324819812541697951025110858389164227949655988552242584980681393124698742098924689171351882014747597618890688380978e1770")),
+ mp_complex(mp_float("1.9972564796331817740961850381368598198412527705375015154726763463406649342544119056024687426707171237541338654537376009813077497114170994526531727077666287228788961211189209427400377392680038890635387008058351756658003605794648436347098204531527789626564296037587962611990097405264102772025638515074185476919622746486617075602945841271352298836113527891087982326698375566776480866265747635840321455272e1847"), mp_float("-1.9022591771980713608803004406884459104458848238575033754810127142718960087210013312052655770989450620071530953535677230334524803083149989746161639009653170290588887982445448289552632972160142882672063313201999164458461594572561067930005336982735212365359997088773868256686485528624828324557427820431865599279741005865226408355233914122919300333698674684844838699314076467997464264294147242476440980559e1847")),
+ mp_complex(mp_float("-2.5856799438774933641761606490783760964260091801334343190803130469985787182566748899463967660922231814596978612013904034756958222666393193424189774006046026712051424994774428676409178914286840174186859169285283249308897414984674588874366054762974747810998098150882077839504567975361592296098977720026946679266168663970717044152911170107302168512583615505419739737437787992053180035261952325098085465163e1924"), mp_float("-3.842141366869550764914621632940946114868102155940648316243808963080172538335410320784014899096197277618683632830686309887243930135880869602748461504072767415961645017797400688676744797565412185109786548640801644925332442551649714528447898841583351768816683769067347429851551153683414575162922521355037308188534786691669543508610902344397067621464673282146202018095039133565144871118271673435525095892e1923")),
+ mp_complex(mp_float("1.2196563347284594087288035951438288477084193318658780261953212593283420282772359369415059644491491115945418436595372339038000296779702808234501310424185635860416175012353530367124791669652128683451428923427761614712733703147500758901740802565856281338055781849226256721855670312877834364952402464684081516405153069351295532326326255712275431543465807925545428634642997111229907722572323250176412340594e2001"), mp_float("2.1564641669493225006739066318729329242964624151736052731234440933290104048628914814233071774615802114404365560523586048960017830447111131192924028822487816155877294919046082249803097566632152866912671252041134748768362630863217274069161885990908521555803307864103570897412306351071448114313703017259642434334092282807622190045355166860307911674352047606536712760759009696729973498273195165105695199982e2001")),
+ mp_complex(mp_float("9.009985911536642476632099588267046901603642544646703764658966013163087013110083802712968790023023753118973907925746271918672916875407638723582374450581678976621733790602859214301211727332176894126641724063149311321746736580636396009758829655019444842634614683676132214125003599037549061234388328521468595552498216227660022262182863528145532695559792410463220098290292055475334841197059767018818161429e2077"), mp_float("-2.1682756107541044425488459254044447593072621256210639250171227182107187446942839121979188610261638976303926547159153381279367300085006251628946966805352605903483187331832749636730293054489150039084917213789406105586088830073358166076501972785987916692664428162204932367710496888730097115770543816441606882405380203952852001553063134954207284430721481331767985827652751312657562215399287285662169802644e2078")),
+ mp_complex(mp_float("-2.145651779586595984490257322589806622381635900319578418874564237885551287823740790607209655794257423182036361714517551572854648531320726475102383389524545956990568800193125801638139215100275706471767059413127956401179107384642502000269394902178499610328055828531925927855298425870098259689407782593099747606016395757919995548135846521481136371874738724993926039234697656132469592505717163967613191625e2155"), mp_float("5.901618479644882615843926634411152176239016105661547256527717598678261231957758675923535421898431175140217133669446435976891191654698560011083613797136435457537220698630791657152648235245847146742047289897349097095227049672482537562988762629696439006794834154225197651503262800259398133535324377378545303910126595712786473932943988448089495310792732355976432318901602198907509840119439173271112329239e2154")),
+ mp_complex(mp_float("1.69148466539070674829731349932831666873070250534169858238608408101245440865204246043465772706603744068108983206803217958616741012664843759475283214099534281112929365307707572683425785084597540367270406566250195486883191296045520753668553536069927410307678353340711349168976077159483695491680843111923449532864603571583140534653316029907696105245336006102225802348295893399613039188265353098202711463e2232"), mp_float("1.2597592475917867796475994220894470552861755571113089062069956173861193733649412899340016416569241455106414842435726222990660376652794953650096481299420416722896903694981795427716008515326057390616391108675733066754348207527679203700466591670155277273717135628583712397023180204120031549300662814528611060214331722866403215233912597578478103433424571892457096691066422910601423887642229613879589880036e2232")),
+ mp_complex(mp_float("-4.41678706463248269713559488280378905568381544493501902118847097912323150985542801777978000835311649449204993757738175585935153914439234902724836250502411768487128431694048671581438875192084892644289181735968462895086921716639984291937929405677772073121866578819581919203672149466060639417234807915382503366876947913755823681818628203237414117350253833099145570115666943202204059333973636158260784968e2307"), mp_float("-1.9983639152102803547172232407500708364438213458402023518957405720014249642603519936512256356769304287278562523254874941569853106319985995788983974850721475122424442203521311372635278714315625823079230061308687916583389143567698074472897289919813774344904073749785727972913939315451691674223817719718061449576132521390206943217116715406515684797119264379946357452759547369857304903662782036584697714641e2309")),
+ mp_complex(mp_float("-1.4678564244352937048745998861305908475714256183479304458722682003953414460866235797049169667080827131217138650868164507338083707263746498378202127235211911880574154107229563041124832222910957699548979263960064353002883627966090313968585919559912529973137636647392346310049001871212619587442068579567726065771692477417673358967616634229789597203428786874743844299250307090030860125686077304996333992135e2386"), mp_float("1.1975708110685465901161335475817332967786235800387324990800516462718738644388389397400888411156557744458772954641801514892596397297434245768683435048379830490980002638236296079841552295105401158299967192196999312122267615394753617793540787811433610169985875256838521372267156182802570015091836482022764180909307664922982072532225867761930916424673629046071053634725276049100554679190792606835627524503e2386")),
+ mp_complex(mp_float("1.750478126184443612664014334542235565563821467261700670262878385785635793705297205725187376352985216916259126667826276452948410136099109237335119904008561259929570212048051318404961891405575965362057194399483299756875402779909762215374988255671080404515886684620797006068035893739982842673381813439033947559502930091723980291327647251263446588330684574195375619999114970204535013457878033051944127619e2463"), mp_float("3.991973236742421887210330411999045929957544344754018748543881173333250597373886476151251441555531980777219565115034204074231680975666433078991131807962231818683211325071839059889380696325818291745734651270524084168365321840871213260732726938932500623439544197635339823202192127329764625995925574008724800782821120410652956860049995860896636232307163687682071051957512570238272766072703715801379444137e2462")),
+ mp_complex(mp_float("-7.217385678806985546398799551383676804307005227633298013208843072224870367421266759391694235464825714209216823861774448372743095412157288956925018584871236197521871955365918182365290249442515199771430251874546915785579695698699271553520079670232685091482265919527342986566926535387969131771360972655592561361003381736266559737142258993439314327735422727671360029874844484709865943152892674552500687366e2539"), mp_float("-1.5409582100189348109346756424451457832994385454577246882133969706585463527036344683908778201044232115497581680442748719505656163716443167123449408596038490308781236834858815825100737829895776925845867637450812052168229116596723365485742753050983418482381205876746775302848736645882880429720587222608968886059942430123462483121731172207297804501562153751401913099198599777909299319507427666555950466714e2540")),
+ mp_complex(mp_float("-7.311285490304276935749089616712162205260657635268862627758323499475943657294519462699510071635358832814895565221558352747839922237511694363495461612800752427376380117876798102191706412629181553758291791948515103594367321087730192342343518839653175816396946253163703365547000138998924621896422286682306215418970457886411384032592162903923343510633755372036567653434017395926869531431477703922253134774e2616"), mp_float("1.4374372725499535969048368439551248855384389489498026542756238981220462270886033612654885764108967194717521936881026130820914165039172061502364073108567765153135224504448441416870670888828151561681011305926985031745091139598097860010192861264472084549072478389581179009019564343782202841951897216188526564963136127006668194581898581869849377910435768961425339519487025849635578161013500826283670622856e2617")),
+ mp_complex(mp_float("1.5004236448893888731287935266175268110123054760191187376817649247784234460761210588779906996729784098293608152929376446097942854480671231679567024873587002936569698456886390103197379183071759774965603649949817890743388847969252228667174754976845048284438225724200489560375173747555985697158959263673739013729607243972526656313923458649876846702571901733054223851049746952844063097181848039411199804779e2694"), mp_float("-2.9122356577482491959455682186519967872556787130534065181718954265809278167842715102347661122001595758783844526507178255749277599044570449710943771062452021881202546904346557824765140435152797597643033722476488263288841541097917707145023717113793214776431453602727346321535379816617097141386643528409191590835551910886441365194532343635401849200688210009243935658328647611953230173037984398857512897e2693")),
+ mp_complex(mp_float("-1.0920446314674038965892277784815996546183011788092259709451583704231153110088737161125847048767307163128820781466466957744581301514832469708565227545893328259410148749691963607710126593330369103419036593595910935081816976069072689910980904432624190956828486573633303734109066897007319360006637429871903097772385040717402627325470528942188118759063194025885739767305505919734879648323875221263933315782e2771"), mp_float("-9.517180110214390307664461350582548742749256292007038463337896663571269068437206952669814415127101722055289936696692697888746944458654342303452921341369019114109458328874151080685269660179767816076401828780022670532556732736192058999222513100343021572177320223012709161642805915304646389573316248539163646232495138493418463179488615051247259636198591838818676074538861591987545176766461951506622975031e2770")),
+ mp_complex(mp_float("-7.492679121490271112058153255730961076488504980759138051315317883885767628957118519533169953457356285395225703597240192250488635259545125978346057815642953215582741937033069838119031058790341663842999800327450184660037917774498388452274406536448155081643659455610626931746650899778085429152394544496754920540492129993931772798946241101781983578509601682436852382234917095489217934819815402988178339033e2846"), mp_float("1.3708239329003340511983748018424648237446931032355945832216951760012442686979423367244613504445556917199870590263906242483338177903472760218002569743489052727581315809320032884616981694019563919379383633455462125939210735662145911543861864103256610528625487821725638731411944869572780428033206574917525099614625912823471592072041489916520016952029405382903377589214802582665332203663089049264068600552e2848")),
+ mp_complex(mp_float("1.06823045655227141458793496130606721912518026299556738590606309716131175557987842423762928246012376047095854751107166658014973201070312382996445075103399082466587737988222528666669434470772857059729970495146584101698136259898782923485121309876119169544865287825402914362865511321076641677201106946983585236812412656035553534023848415626844845775988048016245190435727271227801462159737512596305769975309e2925"), mp_float("-7.4285543357944287509874236370823968968544008101445840276870631180577733516464829830869488402200446745286508254483576091173117406792769771349185187304461526472998775386104647211529896744996981857176466961960208607271750665296823164047343087051730840175597072076564869125474489222157485586773471934958359930678420903499384121165254776585048502882911096839043490586909718559471716946793201045884307236996e2924")),
+ mp_complex(mp_float("-1.1777350932163415021120082291230566342265801583218808644892361084526388666102224646948840813517414940266752841211024294825180753389015192638501365652243249369892231276784373834621922306058653839709718603840065756150750409685580384575416115508953789788595947403395515405919595760570080035213666875365168479414878394510308807478857538925358085608455287152806160075224397276274069136746127591792189552486e3002"), mp_float("-3.6550149851222025090005346506998801011916865252548325926148814506513140068698875277511242763782745247494944063419329268067105402142071989427890379541370173831826550357919251171640716434384481877216111753644414964419780200595455976718621730849996194964984896100189541685135041340225583704285262520363373051285421033817809805144542729906925302346334574693726609500840029695321799361456073096945512130707e3001")),
+ mp_complex(mp_float("4.1315347518562648143764486905928057780017715366481994756661732536541381444445885610491703917999180682878906353799070222952289029251142877488287501532012097857774311189420292067849936281575252439480811708496356284130612248067519901147486231036642265351663483559024143851147063748784526623071159353309504492913116206728875899923726396730263729098752825738097076874368920508727854612014526331570327664042e3078"), mp_float("1.09324835256532583141516932201912470341923177103772912646950429225607115146793631520143172025498780161498047560171839828894037088803968117162065457879834127629988707135341739892456731755175244135233045165577553591055977050987145578642213840128171641424800278251643199137779917821043998268199519545298467643876902222510670089380501022604420114955438776209525430085772682757668745103789817598348606095206e3079")),
+ mp_complex(mp_float("5.7633602635087424137590312464706125545504081117545209417843380169737282026993373414298760567496136031360905419617285267524790542716392799426803282470221321799396776228617297900842228351525939351646987012024736611341857135965819505239861349576121895678728934853862673033366127954407076497583201080599165539499608165748653805452044232484137962966433302936631328579442407892726195139239060294750884949079e3155"), mp_float("-9.458921619140697671895859622058124198180364538197134361364797593747250185054363139358186247193381710989570541664715408999040536490966215426757468641337182766202612709741078384047458800327705259852771076003132457848394073379358919903833464863067320768643201955258696970414533600390713713195829526146991995419550815500070499096645314200034728318116279877412329552040277700644172476380310057849348033157e3155")),
+ mp_complex(mp_float("-1.04283198573914026371906807241306922871019676631130846258087995295844392881820831129667353718902138545546946585424043454568822992465409873109922157501908197741250100646057712351711440222341521544691077196112016849792902127810504962604158668795722327080815341650506549069977029980385194980169960248075572173122555319815508311473177741838030774191258173648975641369685216523012633434701841055698157346309e3233"), mp_float("1.2046586436528305697767477919022086179108301675695508828301955725632949974107185341882373738714144041748709690109955961606837972465947812758802781658381242867261038583157028053699775922148379963343727033656027388950460354845029175095512868835881248768186214959826061383184177793187926678010668757028955454065053320570082843632128320030283294710739227854215261617646075677847014310526173140272504078113e3232")),
+ mp_complex(mp_float("6.9775429512465883258966626549058074620459373908079988755039070892722411863373840328448477516484945808860167127989394891746502067292546677650544873742791605235602104387519121038091599218773734026999019543461949584349306148824906789038645866026597859198447334915485575397374312244960888962976213700436111601051204596521548726410778427704242218819829202205703985608620542406707520955165965576101085155211e3309"), mp_float("7.092199461981650800936955726681200843163252219681077997633280313132585704777715316353444926813014869343537772720296975260962808877472726093432864043588440639127651619102979114025505107533280236243974353518023043363810310080938008698512555251740462620450138612775604554750422783612116151051681878686332750226795894675909611226861476730790904026517214913563286430450972572380381208260196730734374834243e3309")),
+ mp_complex(mp_float("1.2345672429584976757933828621008958251683185382190760015166366834204805795675731544503300269329627715305337717277265162936723435667814944057716402854484456491743405588946276944975840505943430431478469609005086981226377424329157872392700652553877130671621653050486533636960535668722378175299164695894108626478541682029480891058850388465417279550799142525298105583500166079325554616627086949518581484318e3386"), mp_float("-9.3481041972522186199497244616902207618369400577650461633879230264542652610851217608947036008887174789269113834013879499569693629995692608656230110970011061990285843581970338653717728523757628194949458621561684417825348708304832506085864699325399743632076083001255526784206374123898249049310075188152229010210789119735850593203838250132361136554524940222905394576071005695983943781196581186784645467908e3386")),
+ mp_complex(mp_float("-7.7063108319062908675700120152741675341125838565085622553822895712066531461761707610851389646263422427889732266417214357052594321344200680105943306086378868201871761701497266725833415006760189290597309286892865449885850594085625300875554398533638586050853865437841339332887614293835344129234291760893570435024745444422390098430740743136138892149234898196372202241825255216479890600239747272579142945424e3463"), mp_float("4.5249405564587119436556730240288759726859453893111846550984111681094998747253358980127475086922371661409195187410325324279652571932458737697059759364761272015170204012849099667891723554121329012647743788579916099704125131251198098667727330933264957603330356577912443884537150993109886399224144263610382677456640904688698820615520227660887074506571235652451699721670050793829799675236046370071849792698e3463")),
+ mp_complex(mp_float("7.8728839792900406832090794165313181768178619823745600432316471385554154568447481496468056811088703646686645867582078582945661104029031034711755430113423858769580036135358234322839603968999228231958328196174154143583413031554375362680623548293571171064639255158620122479810366479287128648833474808419047752126395848707892587304393138161147468438551098254115203857572242228285094043858988809766735008474e3540"), mp_float("3.1228294330103821539854250395905290071854578732176107879269835383662576390822050890045917529847895730629366717404294344125694852346202164174868703517759521593154323657724566624653022549479213822757290450546200477920240487004754016668725539455965948110066515300397259074536703184018648301367427904155269663371124872319495443704060477309711686133627702053260216311122971279503552188683469576716714106448e3540")),
+ mp_complex(mp_float("-2.2539420560297461796973778197085584729763253203281926234722110955624609452287257470323155891428103218817297304873210744803700139263042136090282110965327237337594866232786633137515365609280657228354946798967868667854578308591693864454334067743919586058100278485248803976351514309125670793701029031186183896349288811908143139571352560533368058117598734914161928416772367278397467147101373504704564554509e3617"), mp_float("-7.7041145552853761180307743670394051085690707838835518956058111929325511377513570446740294228344610354298889125448037134006606160785106552857627694271616588421702522290198384084636229117465605681010946619946619655807366841095618276142765295761859651747887350384759263016636589207735421930247142509463849771256165234107102009798180277135680039759961385680038505572774950215775597215992312395307821946077e3617")),
+ mp_complex(mp_float("-4.4446268012318776598663086190522612343434300120019846600137262320292027074326041773975230312015702847343629366738670341902699318129401825978633442955160249604583802308953790490862868898808084703086610926447788916301284055502853792098921997524568824755542039953341018419966950577027489194388039559492465398795753607426197631538966072577647338504546853666679082653840652362669722023509756492860917160963e3694"), mp_float("6.1742389603046557366214553578379570873487749414299524642357228986587678124370610796954256900832538555054854460640315239272493569673969215663344113242136627777546253123270242788671990416184836579571636394945313794341224408626739973597834605252228289445849440340111377293790851125057081626336184175765634404499652230499974408915663629615942439906545978963207865410284849444102687677888475865202754630564e3694")),
+ mp_complex(mp_float("7.204817537496141112942261956682521836344280180245979565320277780679099691590173082780311040785826652058890836410907998802366969494208875526746522571758942465238632433093308325992438543341918187067884064773287299118220359643159624825560164623848179279020653870138769598486576709582257144482160761927381683621650961274959410468328535884665287609776569218132529478918868752515847706688957679184112634771e3771"), mp_float("-2.761223327699051074097954312025609215545084192138537156244361770830798539380561800193307930955566073965987795691559339024176477117884170928367656526281750560475194808315906992554850994957934183028165167520223192957987747643514264482859293902452760565168390210095384111202161025273336581491905445959673436255548852513733319068153509847079715444830877360055586760517561898966200366873122825053501869055e3770")),
+ mp_complex(mp_float("-4.4050298175772164212746951786689288593079581049524718018870043191128328461784342266027581983461898080918590973242142675946881334107230006681794752696557736197532974691971327960710471610597531097308708903390281625276658659730281997833551062941516802387515517930281226805940780679408530752689945906599610836507276886156166791992238545899223216482703114643402280863460354190957890407497404819139463376387e3848"), mp_float("-5.2240347070947943031126643603252844729425907589234862413701681137820904619384760639679883824346653818108888448058233762448526282777900696999803783023445690342329174896472476659114893829126686551112847476471136176626826053309394638339859994065460380939988173839858318779351909433321985205837363246407109675996110402684421904202893799049851642339945215993877435758672593696368744672602145185911067713856e3848")),
+ mp_complex(mp_float("-1.3374322216661528371375078012807759308005742525444612925297730306504855565298187080090095064629798221790318350320091824788994789391471348852668183729750559868461385425093030101468032893360875371282603294897900670620157885533464975145905224576672416893295316493277757204054232774149408462217418526952261348344779326205253608722076731282546007307678182706640875770694821167672734193216021958730314976193e3925"), mp_float("6.3366993213987434167884723537202930842897347597781800002066328644667769394888890667289330771641618123546588729993610011131959443411911064612903109333277970507611560690501485798673612563137495652818777007127814720367491331194739161783908568848830894522623214687984505912158188331851121027198166079496716258497064317896282785307104425624439719835542087754213388515587979387064865870312055171248690151618e3925")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02103_z_exp(const bool b_write_output)
+ {
+ return TestCase_case_02103_z_exp().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02104_z_log.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02104_z_log.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,160 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02104_z_log : public TestCaseImag
+ {
+ public:
+ TestCase_case_02104_z_log() { }
+ virtual ~TestCase_case_02104_z_log() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02104_z_log");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::tenth() + ((boost::multiprecision::pi() * (100 * k)) * (100 * k));
+ const mp_float y = (boost::multiprecision::one() + (31 * k)) / static_cast<boost::int32_t>(3);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::log(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 101u> a =
+ {{
+ mp_complex(mp_float("-1.0555234405475835252245784655022890867184176046999068512305854572646152607983799562376098239226040008809413824028781345270987642313155075533279551607615346816561609834714287286365882180494480521653371515685137599526313331311674544232357381854861116987588418011542394552541624363212639457675425486763609095290672343223156397659018406628377738300549836973209741554114132767094938217280259346949485107658"), mp_float("1.2793395323170295272357170702068602485954171006754874912152662130666091882325955012425037639622960099428396875156139059153210539296808137296830178045701619480586542202527179728586331974900380765032228525500207592833266355097298622879781985469725132871337506805557800217761079831387785882273136357577325669894198872855353576274888815468731649065421421833211294657699427531993290728822426448750005349161")),
+ mp_complex(mp_float("10.3550734985595040114631829561540313058483900391264720996236934500812126072732793992835762310100490751790792660291225360635392877206943698825813528187638750687584483230181723083126503629349917011907848835894873895473817298231911511984410217124072193095030657459303450724750484825057359681660394956147408688704912890152700289521928070594833201802261735794405782730676028755825686153873191449331821583237"), mp_float("0.0003395294514598442470233031689420762555763628378922441928721024104837974596826893651378664805446748821075555685458185877677666075405286382630779016418638991459115795921404624926512879757543210126424620583750314901695011827453401926437640591388578819238392811364021135752398507091945948232080964173578735827505601214348803592277669060416292283032283468147288085079458016884058898036881272922191828877")),
+ mp_complex(mp_float("11.7413654286831755624350483154156762883639119489350883451221913659275580791268809114329588050987226622340251586670477094370203300485778219127818063270700785383210328789766712766335450516302650369348419345668682884193796426314140542405775298672780950560286673058690826646289196804768522109184457126266801344626722514538643206862807310999268206697823613993756565062145906499038901179646269562471554716593"), mp_float("0.0001671125557069135309352264363968241984759092627521174192686217525492954087736870638385841726781398984008305736776960639187390031002047731706767019246476475859366236923975110859432680846114040458636241557747623341364040377557821612585964438182178387502798874923160556494040356950001502543933383527954205485556637415891924105873670363748579389149468915573934978843273458168541278000439910882269832677")),
+ mp_complex(mp_float("12.5522951949798117769537059716369184574960305674056227524932118688511557676106354138475541732158168923935476075455953938786835652151781906609716220011543311878478845126380504126740694476785406714752079311835800547333369213633656112099351189198395352904502756067565961260270681661833117644445954217544389397429450095410649439917953379357378490271627187853234484706655637144836181550318745464335095717586"), mp_float("0.0001108189577642956493242772924526654575226458108216548897964769017990410285153828497684631963236173285066369432684259852898993444080892499878192525869174244887636277090626394760014144540850233072875472387224841308059614287761114658953096017824204467861832863385948051801296083590600813352512655248803114278838183417992664717178069061732136284307850852133917625485433504935833046352034906789494748523")),
+ mp_complex(mp_float("13.1276591824446631085749032923080526387515330695501485852223844149410569099440179341399224056817846643374219757519294053378370367635694574717764346684638718354163730220253525333979667594514682696039223437228215949273190555482076103547783222631961708429606411349528026748059610754025661355623320889541215855253388961404182674829440498853090443788424095437695503520841758259447009693109974238703554470037"), mp_float("0.0000828931828460932842902573973444749745248508075610911413942368616228448110782441495401037478926111283000575303217946289294817685028795131606620399394899629279955334704046562188414408525644764169043915737914925694998623949034455037074662406968994817496556654083921112322767923759008617874868274268885641362226509597820011526494026141765650260620676588564000026787592437151839407622359389551343445123")),
+ mp_complex(mp_float("13.573946212209509308854283651028767311852447668284045439750485774917424471802206990621561589778709716998522390668259304488113131556446895698378239775398112505297211568797120229861139845113345807502348602789016215975369222534998679042945220771930959279231228341792137321355157682697290231471708855488034558092187059022707416431641177369061128600374407069469026737512711430980646680556574793671869962059"), mp_float("0.0000662084477995641844326774160085203074621187606864834318892086335451734118359017769859432368177545359741524572441739266084498480834770830472379361911833725295735418574084447831590569411492672667794228172899319078330299297989761929714820227083260773482661516446183532655054788115482100218599475342685446472685560964718977423256240138349685166999852965899208230459816590149703328609427880263813168974")),
+ mp_complex(mp_float("13.9385892862199203497005611103160541940184851289122878573023143470193903283036805923299061609055878737500863368883496115213844294587113167549126757662305195182650756119492897984353364836234704714297277010736244217674679165310701028515017630816277625870632352461761911357733654779285791847530858259444239131572418396974441547111762929930050976943050463613169180354360335244378966594247097447977801462835"), mp_float("0.0000551147624009500134046323288080441253657922235236188038981743669846420471052203187262615190641668967136861356588326766457401828143237859620046281767931010356501808197826850701478494635785962991141954053370606145326110014708854569654113318316992106539695844771210214672929999237594525090030434247539805405609517726460069284084891842776779796391906697268265300398523016912175585209119831067114465109")),
+ mp_complex(mp_float("14.246890622011571128008604799628107885069909572786671938987024488164818684461802269111564787776500813538023033594813778893137397688456116176420740401744077783453791809052621229783680535453574243486855793767030072920904738416816284130737463909086720233903487127650756876832573961319862194274656414338012749538117503731241120655492812483529829230760705606364649483328582664378408982444469123032333417502"), mp_float("0.000047205136482153448830086061511408936567647212728318919863877804986386533782565752903534139821772750608184895925040004446175398928779638034795059207016869676289217776994356255253017387250423218580658037709138599335489484468474411328402011103466176053455739958232786512916746149488648204623176189413831306861753494065728295489502863742947040517235866965219716954327378931372615121470768927668699047")),
+ mp_complex(mp_float("14.513953391773225936639724171731708674593822329340770346427880112535121671547432856870549037820731609827155061798607499322223173217506664938209360708466128223534783822184018816628353825219234328703662085004566221454613833228098233499979804804712479471272741562427924421499514103722032297071078332217372123122737927277523197005354236571194674124852513944486645479054423458531365857037515724551242914869"), mp_float("0.000041280811287872284622024767198034269772694323718326087056798520539696597719503060440282433273870357463666702835563578866134528962563756813977093776772778488218949919290383107454775817529473182931789129700361034155336024890738708215468018842902635016640772453551778571210185779873966874930107600019390797130784643645443595679924730978286626724704734301071378045631941442100522620790801172880136905")),
+ mp_complex(mp_float("14.749519452468163854745278309882293735577978190373363832130852031460137914577705815369540170906480957488041700878167862486454758448942739760197440257213991647923951183676404753500383330530939298653182886919037832147659595863192473301180246013365308485083444778392462472964812222688355396782072238851954837665202755719397430675971298045700979121458881261301076527790412559226335453169465887283198606909"), mp_float("0.000036677680900837391858470768778497500025461954617181525897766186187080584063241257971379566475621648722519608175090557522863739644612511390491558080570531374621938452914831544394172399392178881270530833409559172342772270145396807315485488374448065183337609138685726752934663871584083357147421944556622043153597662675360272058319236861725051934281743794717734888808412662573298519728383896879813883")),
+ mp_complex(mp_float("14.960240476189100477460925662966421431754765368271645400846044341970380175624745209330852886456199966068079693960018252394957843786911819809667539120220788121477021559864941157502636471898107815658075643400749179926154223296366402185372674307207414975261096894705138444221917160082152484004949486487869292952940724372732061797467455223126627347447646282840588834139436133846353374467610748239663866942"), mp_float("0.00003299812380537977234583352162461212624205405023085760397374035915423123332736452674957988801994415023390614266701343072354555074526092800183336248613337780658468743843263782284612823006661708548044183639266892856375875622182530678335085049887164028958746785141587740413759058588169838829221173640719549121347102610234315456904634017291246091731597218880459159813004533535345721470151688868941872")),
+ mp_complex(mp_float("15.150860830178611641263165644365046739188320939221722558039962757965995431456590355524917544126446662889185089662486463297288449249700464214530078121970698882767691838642896592051169700506506751504430008903262102005132828824616493753615933847800705156608372654781189487221361800493892225057725197267104850498001866292173981781813239821194508306072391883305736644220938977408632735742013800527311956908"), mp_float("0.000029989525668989494702003307852960120185051980682247491374113219002479396440869319674030906041126801644312257425736733202732362226004062815293274254844182766686572298644163511161420510760713123754827221422304855013394172430592294744206439478073284615473679266445707769666317072355376769537631069706581672506487738081688470424681657052232062200323301290723873172500695922156767788701902432351307585")),
+ mp_complex(mp_float("15.324883579884113382138670655773229711384119125503117120816364214494475881111769084153413111745459420957460304808442635844189387313776376925336940191659025625954258634450152200700896520679613835685766830514957619742256815418436500079966902188183592924921355511149476628925687476184525684039959209254517362763898795920201137715805641933139630423776018098285035736163558505351325334411491798978312189388"), mp_float("0.000027483700206518424603755393239140102550033213668855501851801803043243933134182581553439371039459215206333395113277008199956550359829296954036733534326395381253876357591330171819563257234695477940256373698505724256387576860831356020764559420311320264671687436456866092464015118689413031050447741262908823922055413414566358407770296001051786850377073694820953787740949799093909581137317585850513147")),
+ mp_complex(mp_float("15.484968991905235523522652964845722156839638411096974855941621103012695809835823769996582565437444478153967760390095983082826649438685269743945573934399108272874931940589184214999061523754308705644656313164459157450580727733574378746699895466023825539126859955529479276879028001545789584157548114748932342286475020335454626189616600303048535720798617493494396474737393067447152745028061045558630483504"), mp_float("0.000025364337587486776350714728220434437445341155826427061198538886344385473130893332549995830982261928087705872583741954960565200201862808640949372096440503135979853398483052937781075305465316512134817691894978256080221266139303551022394678472440252614613373593700500089433539406046224340558785833515570373192645788550709478034080676806676026337269279194617720842024661569108261555195601963426449006")),
+ mp_complex(mp_float("15.633184933573664720051238096953448791401888845963091763650025344302401023847721074114950927033979555749322364017462307445883094561155424718741125225915305638936593093169683351296302676396164590347282771301931582486996020204734471992235586258371659163350137286129565729750722194108735670283859308722270692375743772557767967180687341529076879404380606905390927211241124137667067841272092811574830911284"), mp_float("0.000023548435070687890535539378753506393084514951892827273976450339481586122605273602216091907335306476852959066548287170594697434262437242786695488587398902606408136118698547970165128118551278251533487933834980621468121568786274952836104712842128258292030569672050390381179439402769228179985846175968562659703316614664614527133647195273923086501464835687205896737431990620256995944341638060281187231")),
+ mp_complex(mp_float("15.771170674418563066927569256743151307844329414806667987316067810350616976582859209699231193288511885169069143939191772200026960260801494442206508006123055070494730740006415712454129216429123765732156011919966496144387584806491848529072369267878333720746651388729609384167268929876964971780551427560997682379050623639604996072177330794321986308682406111932500567264791197983567831249519363948578209403"), mp_float("0.000021975171087302994791003155371801963731424066225790052163621909164071774474779535796327713120268190162184726120300744264164342830763070733335116147716143072763820930772458127110334150597038961381067736950125878616422403066202905961471278436934662919631951399976310935453847274476858868919831463825182088402873905046859670809346038544694609620223056500524644198408719969336073464483255200252824492")),
+ mp_complex(mp_float("15.900247714951283810224210756719595573093457656600531042739157142979349279343584370222294652671419515635839468344224756686420763422356686400846931898185578437491239670212218512048109147022838253409075090987383337891333018877313967031111733258607865285225229740077671544368804660031594430399446035455702890397654376643538665976907752005984620485332094134842401221205871345676010044949315250341151311501"), mp_float("0.000020598959823426111626949189258562902613195755650303454511437250698663073940397701426881603026312855176577840152149707446733431589706628083394394837469729795738364707208597352032121830060773712564462832099148426777124899641637592778398677785328444480716051236844193597250331463494734122162092944215390930061312974444081339241342199424753788466208890832150308577026929336912475676634139920754898286")),
+ mp_complex(mp_float("16.021496957140086293269147231930416936110330600851819731168781349740348299702031681552293302843336650030090194194900624415597240793413700516428792712808139901583339170135582961315832976423052740742032656306730793596782647783433588613612277486194800072912182205240673467695729902674067754120316630197498210359625293495500005684704566382321766867281282679358359761699194761870795447476161489067933358415"), mp_float("0.000019384961710826069244617077488534335230820113374212927895553826651490710064681632164753794749239579126146665562108876377048014427193055796588393602284315159262921801228882130395550406442706287728142585438762837550598357720725399461918534337903797307828196797780428571337206787358989916690989314681496498001201012501102145779071256948250475672238707956881655181124661579313395312651596546680611009")),
+ mp_complex(mp_float("16.13581378360984797126856102512692723075362811945799745407009709898188903384348650453972488012698332509620692739842344453221166643212083619715712794432803875798765429530678908600786926486243402319632758564863135475760652391769557954686563196543856310598064895877941601394888917075107125197690813870647591603905743958699845456037977452287325538776846317378318568425049836443499133568961228826540807594"), mp_float("0.000018306093066744827861559683207205089292520809250780119326719271934535612224585462917169530575654110454919979532941785541507372654518192295667858770985576825249380752580465796857931144562866658832935268311747470034100196979067748278515394109651162973319039746939238218299885517091292008675907923958839488416898929676177338354785181815337889536493477747522256602728189908560200612982667333667774537")),
+ mp_complex(mp_float("16.243948225126266984248785292037200949780365059738748872210056804820890795511130953636372631974999761599910260746931006551234039168002472884978982853881055054923663515137502671299419901722712626932481971819472552956320562781431491262947998065468347204840315377786549280686900656170385294055681945287952808312189523676559823524683476354591342500838211901757338882723471877944977759949139638754823734157"), mp_float("0.000017340981641151433127153483003386512256682330435761035239258652627229393862074871648240379526969338016985229856574508742892168429808364232279481711746188534709220489436430168128608727346127416341414666828265200133016064032424121330212764770565465498814808162889999358992905707507873629654735848888500956068136328973624827091286491871945862744500259940010795390860449092146475413753649149772621438")),
+ mp_complex(mp_float("16.346534813026984249024118938308835103746791012529945347971040149777541824035392175826472925697715644775886620036506448096742790380586150028557905517813833067125435205072744984765778051852660212199117053605365609422760353658212107185681766071709282809563289135703585063811741298228267530016236035633411000106799343079169974764967277939178816403247596345958034709649044439452882713233425328949984728649"), mp_float("0.000016472536477436976463657669082146534379436101158711029846398582653695165643092218563081264736808876463425596778838547285344075979948275883387591509554159361817001373416741684681784537512478208377309847036882262269511987552329607375719131506340292092231560681433014546563315322756309138116356125341267015687831324152750858546118719611565755979522295438908513212745229401037319108433821573051734288")),
+ mp_complex(mp_float("16.444115140613379967936525559389527736929846096768147905732794643131702431841949451526877087850462047503027087219600540541078941967428256134491006327598046076194801175015968977909086806907595825834452542578823238451406662882313589842809975164206649779679179194884408657155783632244988986763028730809792228246932142928954852958237048472271607236312187599484968214510506406046956132555700342681253301394"), mp_float("0.000015686927005050393128522541789010192097775422540205565361925602232285791523486877874785341488837419135596442412582520856788101777914216845565548923944035330646955723392339915931816409079604648395967317870407799078316532107120928014734445816082163559564555814996703026736304093407576861540558360345029561642147670473302246788025295554259017576246406847831759808325232222912371513502899715070912193")),
+ mp_complex(mp_float("16.537155171230958119826627208134275571739847095069854139969685974457143777964923885533045584947365329820747139367075600172239413079011504339371722044806439471116153391905207082884213024685469267151421358655247853768073809975912294023894622041090747050384290306148103805176290518765969969723951809402754308217928390168634450076220181118486739364801945239554443964121069122298369452876365398929146959227"), mp_float("0.000014972840965391295144652892243209169413765616139807244791288892780310626422544646592032909136423355502362909166932104128306050570268153231632703246368873334845992837848205196399618644475294161881015326869519050329647947696642473310598668023424443736554734860555539709958948412509817296162016635173494992009497076044363370237079869581171979915439879813081312259234307210088226213027583783042207422")),
+ mp_complex(mp_float("16.626058695803626997319132127913502737207944367033050257033650305957564055102655547610975236287595864418497123968120857105622032946009043292786415939309000580012773959881194617209721478008205449606086659465663265568134120877397097389952874935526182849492825785293525108268318221463111865314897939883984047033148949379436657868264844459073653538107996592819261409255393515642975965731558456568449010069"), mp_float("0.000014320936191061170183894468695116470536410525584558260871212556182221951067945320831916107300609411945893771121437000919817905836276355244719316594702562627586931570766408095675803662643830948886175715000183042797166530809862342539605264396050544915325436811270850485527068094588128753774357171122174147069596333536896710841306551956350679996646991223028990475242611953360106169320106570715146421")),
+ mp_complex(mp_float("16.711177924141853696350261220777809264159864939946413194775302851633008009815153520454920208706617022108436838721904405768240620956650551673192633807936041122196146902819803128352884995217176482695706813066279896512754274997169649174414209640935531759296904566558851103290222175187025786009147364437488260041936624755849496066856330924787285798701602985205557176696539457257612831543565350403802317141"), mp_float("0.000013723429622774649399170588156353408453836673156713751879731168932934722200668121016432326341076742288107388031197515196706705852460106031460107314248788698187543480494154653525846657641676880409426620337619629605041721074283034948389640100371659930056053777541953443825584056996156504993359056580981939705650601120647041272039599246941188081305271401728372638972049057007574566552259157453144193")),
+ mp_complex(mp_float("16.792821912741716881369331659698358134339711911254532889812387432188718970178103985351372283422525655965096720153817283788047528026763436983988749640225244470275683530529731043278903888346108549621471809287229073371159938383449101625862716885774951273483665483509111408194584141054968347779767027642167995991211397703566105098741476351061077883187893073041040597518186297183900273211740031806562400497"), mp_float("0.00001317378508833751602974209064247375510425862148394409553414917983840095083049621920067850879875318742049019709977772236339598046097057655147576055764916131510576703678969746632326268278140596116159699729381369765101314046635300036250593621942896239582837627822679312207787270018709582248432756832539775123950870716666579521600129499317312791430935763755622657878910738294589498243882435066916044")),
+ mp_complex(mp_float("16.871263338657492888984445300443458429033822168191985877084116035285633068824601173279023095196323844949789033534830219268226145616962444991272523951888744689298739539541014531224523816197648057532482017080216633099877817419012087546178201042930045576722792891309384634755615107352749959642795408281999709177770743451263941563508831371832852811830080810372388840973403882810476195879135336552543167862"), mp_float("0.000012666473221253564275439949160719821688244720433469946279259663558559783357647336376315823059547652287093621063452785694132483770705874602220675023388889644837932535043973963061987870549087227536677567588284760658351448227295313207117862024455724893052320730687543376948629625780120994201061555269598603665111781765954489024084590402343305591146989284181577223217378429936944410217060218906088619")),
+ mp_complex(mp_float("16.946743994275012585690506311783526124343987568387435633545292198663556329474372761348133367884136178784036071289982766685390185728770764314850415226683291381097261025006278598112309409905435691585549013025129895964158253312289622420428426582318210188388699983984029693972720055105316072433721381445926743324758796380253494745604428693601110681723717818007545125246847990809211307793714520821302887218"), mp_float("0.000012196784793968100596958261090642328756569059526722562902542046336948255753497780280715357737191203787734395998454881248788838471014473207192122546084278867983804802925435104319550700540567466760963213937183237257060107013705974397618045800819517563688706215088667539859678331744907419019720399618847179859552170026754978913291400727368915228724915066218600352671985610643587745396901761947161178")),
+ mp_complex(mp_float("17.019479282305222673942341052278498153331515400817296712696384512914203768551535279341712803845413813424472182169886017415291123097556170499446507286174360884423527507237734610676172080671550119111246807251596118901936981645668346706789036472922224944491282196617041159530892845040769845204638207883459514524841016300903172754101186689970911044086576695424731323383375307818776188437951563123991776234"), mp_float("0.00001176068409684942371787804623918144308247883254920188466377171829271292924642208430159417353016350729098950606574901350170085468671153233313007247181705985219636515714835674878846414123826921105341906419121172520779925153326226668046389487010726968581163301862849561187900077050002393226265602258999653768079904958023391555112671645413718608962935037244857029368392482828002114688542540981090782")),
+ mp_complex(mp_float("17.089661921647893056919483239100926483130942117532700662702926872067817721041373671801639995407165535372220095638438223192400717601572869009296173123876976554953736610520632280853581731159591058071175113268401573441461767998667781975655905711399681780272546912110357126116068193761464568023870519970731230262859284730708201656085820365021755543451753563393944957061116624620708313786601610852935627754"), mp_float("0.000011354692686040685946624831184627574826044075084549535501097530417410720430036241925854860360021412718479796150807024151188949424226419311309992794084142129503457809421166256745829273417744874557250149705592125053260399998802420281014898524155829207797271467789575989040767009696323078500364294925321040861997359392562045163449189720293294289158764770184450195788913030664461270790961000293609565")),
+ mp_complex(mp_float("17.15746502474690422132103020435513847262679548894665215805530781138458168557166651520567074739389252949682291578033560436467088215652594308875013470561258080255553371302738525061725853225981260671540697715226041454153784503438253854493814039283602159222711001388676881673238046701006539119725000821978298201779207214550339997956547077629003763179784734808636685042324324214095863331132207153526551448"), mp_float("0.00001097579640655917270204255706851483690275137785078298932676214598037403633518054047712292751199904986529664072981660000895065900595809619245264987405320993374714893410459439194972019175830803722413496730145848608823025242140565425434703680387238687608782852786059519977742564425224745156672421948238330307710856467687278227457410650611516864303995081908916294243862065984035269361542306761578428")),
+ mp_complex(mp_float("17.223044670164559843308559796805165415083672566530768683396291422657694873540600443486332340136101362260373363881198611589937289314458267199029653142868705285220306074413443047364068568759408626194685581452851137636363242647598641721377729610298078552777394358455236704228097858640303248092060259087580514212723912846663445724891346710606555327032482737464369926724931586473086869884253044735625771833"), mp_float("0.000010621370429518745499112476155228211067789864890916437119157273154579491155697485253382795919942077159419001471788344989315240094149674247581217174183696224348352028574086803533801162091660252296535701053701847420933116060240623897638007202092405346146253862396484445470014736693156605277371610515040203676659440551782039118742097864129607522930048651427461821925163083599519041859875473798443948")),
+ mp_complex(mp_float("17.286542066586463960123055239926875317446435783897791691206291859000038080673515887411789890361655421592741091341441887305144337834621450768993045916514672730181480588538877628210597062440779944432369455851229009611865979423153264524273059489196304365184646651663165310538955447714138061860169603948082279106064026116972219033962132731373083560060618913098692240896768111716260690378579013399038371215"), mp_float("0.000010289118358945690459924855976672949295744670194302376887306324322815609903089968347654146519327627502954702903925925821250628884768102836197599786448299212299181095988499076499245796189379478719696884523153068084204877761312695191640954756378223520280529938821835380620261432630804189308083998964991236488060248681553384686955351672849902500059023332627253318549393198270221668363738530022799411")),
+ mp_complex(mp_float("17.348085383731269661046079391906651392664569185229469398624038369810095025332152455454285543231101956978621439122889045434971193164071626184156618437663519394589057210178727323892415678854008880070562196498184875754521443703697779406816529246503144619297802002220569910508077322201481126030912912761853491766917992575668445455333192513055994869845383809360765629086019174016067676891930162013031468216"), mp_float("9.977022420834131669718585259739487784931241397698908658880530660169384038727551635879464122424019801658252960630483672644831085197368233643715278393690579531027202784095716930239213548518069663655345824372570577482207886474601014926918047264689787117443085384795280008665379868182044786336847693535235211796072423336294852998891530927860179550467601620682239229062332632566816483365138062877436e-6")),
+ mp_complex(mp_float("17.407791309858334587167566282357415548118406138402513010939972266665039434859687330945752094272645953531794417555943445735822651112571432196736277990746522574219167275075668078462917863516610255024570251613329587433324395251497357795296592174996709561341635005123679786109369997291087960350431935320780407225058861483671817927956521708264268930209478347424923598557527290050564633539331188735018465703"), mp_float("9.683302450655010938091254229065950264428673667335665391247932713258657563355710042607599108588061702498724139813769887245719885423991619749189279659448768675753401429277470459010683098640676135102073670650399122604075473076536860326417412545059443341103141126528742431372629705074201065674906792388020616985613496171948768993703069383346542433734266948733745071230168280076945128065559351298012e-6")),
+ mp_complex(mp_float("17.465766383447098327126034526676823610297063640305059874845015323811044621305438145110690339449892990958399778185293431582292546498271369853934481333046050023114540619496839768550746635369076987205446342734838392600140154574524602897973278976257543394478533790385364262810472410936999972880498207960519895231806445880821951543389434476185449503317066427135084639322163095483451015821468550302316675796"), mp_float("9.406381918017903954200779838955403051584093026209093798741285475565134217276987369065287011162922458558480315304346845316355749890326679960730699506016785386353193387233346310445863963587922622388907271105922608094009111380901997109427327658563835519344019228297098410138735391410996036583531664776501719940771552157549479690421004865671872870352787906311199670519445906800897969267178288015068e-6")),
+ mp_complex(mp_float("17.522108137235711939975533754359526214106489041030042478496531881987595484031639431849115742315931555974494659355216469703917197535161087984911964314184717928001003075808373013202511844331078603965340944497708388788811310002995241928089805760008298743799281021397546675953434387331875354637875269392224012916515701918504590574183779194648629229050605582098897162658537190100125647330666820043562336552"), mp_float("9.144859618932947196926457403547964033752799599819603284299357870629386565074854231201645608645527547631614222528498224905300704948610747953254675592256045297867144938529545545170044515500145617636591985027166898240162611870453026788491507353748014109064252131800712894175678925847574647392311190239477036531831786215542963425736708074632301495406198302221355601650330593920107107157450273232246e-6")),
+ mp_complex(mp_float("17.576906085478741423626540807638523612718721585883565590870956103920379088996268130253372538163472151950218967805103475467056153495377822247715508443419484347384042556714848975419821343927538500586707796870658418479203836251854070991004862602502402235176916029373465874058573604853099580685764961010579985888377436945823829629901831042111663607697090702189527148676002682809740355589603877849995650324"), mp_float("8.897485962495775951359962761400171292976012231834865373968677186480612187670119361787895405478383938610730174501220214055519077862679591960914379900174332278400893193044071858376377376589329876585858485247990699541057487342806820764524373536875316114466880283976297972127835138282512742272214527089312288816189692315606893504638314509710406289263822656065566515325268831841696242629805039412246e-6")),
+ mp_complex(mp_float("17.630242579520241562686333078072422795387299654294517362052774032384561099806063911570529073377696419065724790491052378643811660201549018048701948939000138774672749580132691593976960859906645310000162156627864991164257358256740000630483613207070535590208962612371962119378934060158217014660510250522889873249528701331308694687839923361128519623885914693264023542919404783736200393375898685328318626906"), mp_float("8.663143004940709557813809084867928575926528447940415979917618026354853910270326750187055082579404354245019759404583750079697106067539417899015699064371460661779500794242486908283069803575387642863712892220372851009639093400494273315251218850651819182494071643030777947904385450100629184951634961330380479786124220739657585302750467054731846205208391572434279878193458189778380916667842781504153e-6")),
+ mp_complex(mp_float("17.6821935522132667154008773716940486562545302741174243704422479006229687365159846014029446982298634452658281353238839825395995100246192019881143889448007328555424405689935055292051848813634224538411202574773973348993064652883672687350392321383046064840292646864481514842740485093928215262543310011676951335406630995196992081955413801734447490571393705623396528298899689299763998882242756709707327747"), mp_float("8.440827557904885742352311627146866967353066524030058885627975829673080675491118818264817142147295430438067677405373073827908663473177487475194982866088876495704537557412427681518907090887939117732329872315788423583701746065636238170374222027741208292272723869253828652430566188823268706689638491352803993856684740965490119190143994335218460218585594795979775938954598322960911934755787756093122e-6")),
+ mp_complex(mp_float("17.732829168076755763787748397973786485784208486728164934818923003807596716111463068626214866756736561542473184732380858966828349499374205192199151450230654533175594818596474558808393676630667631851960670099194461179850376040938583865697673374612788655917114176240438978494690445157062785132696189321146399085205248195733158829586463777044702454253431609417667329523350991246804165304069574259580787721"), mp_float("8.229636832485289723213702464058254589550903064814241094707779161446744252949553621686465465669363300644901610626430759125176416344980801042166417393710359434454562794472419190989002453058239870380192958999439632813922509687394188897582040743794496001807325950053251690910858557961816685627717220142371492305311847383689234247799687584220716678544143402377450172755711468327370339279922193611488e-6")),
+ mp_complex(mp_float("17.782214393160003554853327031622622098405575312905545933061403755114897272695460915693137864486069769180142141381277052434669148185898829363522164410750078445183472460377012801445742417505188372257205734504195011121109275600148032307151733760513626457332332715860353796347837267194656921009831791336995749368281671114525929387671069855084195791101122047156826521274070161272582158866370142533810692238"), mp_float("8.028756185809877626256988956117943659290609478885256102858133197262148583857966009539908905776629980770261570755366485312881855008655620607117202905157911136067642070882719756471517061334883277670109692968220908773742841240871098731350319214147331538967743964513441472574120142224395904652630101032409840114351851385507088595359589899799883193071714813338075676168278928106103086342539451391326e-6")),
+ mp_complex(mp_float("17.83040949622751013368772967001889034933544975006005262311115912773720904423850215894308799196636369670926594512464315332208617539069023648261471605832175566145383798301639617131481681100935425543552627969855645354770728819674375842453490150194739231358485064525627903245287051771175526201747760185963882145491338210268968008456193439232128977312367680767889495947197554233147487709908002892916722975"), mp_float("7.837448619436239284872098623166952556992039766132370331360669811250163649723636372417798379351450409227037306824478042575844086830562605396351568645275950035805483168348248362055729819556720949322370912935457090818011792814472750914482877388858322377635738696967372362518673947016914705578861875303010609857631413826932267304662535174437969010208352763692046517684109962038799098256343722235488e-6")),
+ mp_complex(mp_float("17.877470490963532151525871715287068310890082910664406045934618487762078908939855109424332730235150110719558626208737709222774391922657288315975650166239278953506012389739951360474396693994910655767459051984484372331485435837227333371602684931622471278719300585995166778812520450777627632887916746237697884666379262140790592864780209094262655697055557310293423214482272225863378172499613543766207490553"), mp_float("7.655045744183872788690561810088635045472413762736424631002088037678910083468074150958217939551055969707695449063177845397514861005738856231926174811439426232427517466244512495612753279365629906953178759072742625727988670623669913198470029948346556236688616230411706775862127819818044158564406234115219579394882805448252146599643378904114384399106864182375903073547947311138941892404897011413928e-6")),
+ mp_complex(mp_float("17.92344952733425010138041071941848214120883497387798461127610141725528020801826314687019705294002787256154095917810117642418917913852956727399158728342312394355719557475950987341488391314517742033982433080435526113068297017806462070041493883703696678687208273191742005053172746694039551849424267437109694598998337829852119499650001599251311830040477874262539527747981563675077084290738801210068807458"), mp_float("7.480939977933741937634772225426483515511203256267387624336633531245622512549973319651350438641418613357122782252044528189322798023345298764016786089989475412430796293952939952992841641564230563957753671481299658958862263673547277724971818261094572675071658199581652239615731236778663621880164919761287123386682717120126646110562151341120932399909957055859473025130516039966683451097898611003061e-6")),
+ mp_complex(mp_float("17.968395238964874620357725304309015014612755809910624479838767754930443660421708789209059282089125924551677435227530418805836013557701723346515232621377383278931605064773644150567913251937633243987514103831284213874621815999933852649706350281634661510340246246642480556468855350915015985072274836037273763091763396988102640422745065625054824786617776647990504215924476599523066793627120611291822543791"), mp_float("7.314577784463476026922351970792996348914382733965270971456888183574441949719865500673775964813114853119726776442473982213417909652082405356555364504274209982732733824198952744136916471794130744960954587620840399126922081736895252295161675764514508234618224522527838330928182076186865436499353535424274002275246799912154643060997570425291732319582359686831547491901333338360790410657552836923655e-6")),
+ mp_complex(mp_float("18.012353052333673198260767656510153488828347213251484673530362775719118094958262002442531707913896822387743594140918624557425997115734178674095337067670537138353024582841152457855832680423827660018882316314210306880911569541705957530719838309854955977258299673901950138205477011795394828337495224868379771914867684116434175632234870157164722722169585648221000439507797121908271734816308454284359612991"), mp_float("7.155453794789249265724798646746892780954541627789921706397148035978851852043343816777641452407945865453405545833140846989276573956496189169317404898052849697200425160962544192780826950153582462626219396598015743212126294087256302727903947349748238810355143003373566922216948347067269178239271174839281710498770372094139954121535631621491219146680830812541972667974121804607364818365876887905055e-6")),
+ mp_complex(mp_float("18.055365462711190076306395791381330968657814113618785589347864518214061131243515530930873770465165181011089333867691901630217394310538908947151694673352998935937085114841533075654888356418423120202630613351555376783532311302168982347689896583599124525364880323697841958772011095938455828535577168314382077550574016088382386608260560792158492675400907502436567591271714763171132393191939291384385388417"), mp_float("7.00310567948743787881659718162994912463905309598542326417003268192741446284257509498998441388040510926956164055099610969905074380374841224385675000193721108295791937433667374528323280522372707757723921637517800563473351630262591156868537302573280278790231136043700026586316918728923517940889785447889654237051228593877456471095904982947048292085847538705602958610582921520607933659800202291243e-6")),
+ mp_complex(mp_float("18.097472281046428069301184054411562152689846070308928965139390447651576455783008877770499185688567871132483093023812215328772598553459825339791664595238115637202024144346878267765301671635316330175872667685808365665354258326704505747190824318480035334341386182359926244479813957663104973599362029917192718364642341899216556523630261472048945323517745350766260129829873061067768230807715675684802421417"), mp_float("6.85710966240494779836110349799783741318026713836041015360751466697093274599662405566572590629622570834516849486140662427698788684593899763487896172109571849124434786098157090171019900005397412493156351971153763342491387773807294813587202643826024655938805835599896508606486778849621278459696581770833157275645417047503931742313429824815223057096256751409548191962671423576027621063342055405089e-6")),
+ mp_complex(mp_float("18.138710855395134489941588468857458789595154182095261096098747619955783676511223897287132861886421619235766154486022813555058106523203886153988516377150814050005915627408603914562057567972544867484932212916008409066100136483091980844294841842212058754530687240438038326297800111393611649716805648451099399129582986161844194810480839891842020195200439805825816293418360450218852928950840186371366267862"), mp_float("6.717076584071242252880523210958711387996725295369677889212557922856997970980688148443790632741805690726756509116122988634357433989529238017998695736090582885352582755122829986655117359549545336699097298225269016006601764674848320278911466967102868656411487497938328857875037133783914514581184132948264310219410041505264027227872157463981633853551045675339728532775632684082682568166856506617201e-6")),
+ mp_complex(mp_float("18.179116269976780201605508946179836325054419887551575244714821517743540070192001298873073217436454682509142480715278027891183886430908191941674512909447368851443051612166323129729619541977023285456092404591652350399106489123756400454231965919298833504027551373493762585828608246172693804470828672638026418868173871071751271540369705474377075251971981451420096257947888602706718170239020763300215502172"), mp_float("6.582648437804424635860924638346929909131635240967916151466178244654568644180352964732789709537337207250102511542322579872765298276655213528689680487810419206778747682392812727258531981700379370806601253277519771737050948410242622525563850482770097246151510718417718981490392217062617900092616456475759714598352864336200845542311835055879724534724735080281839592712821415621811210745871199114994e-6")),
+ mp_complex(mp_float("18.218721524518856355074630469868260242279423720386407087166808785605025871011043261623783878415973990101496137117492563708834480035574619102491911596907160224381608076621431314804988026942727741397171652588707113869138576306132021714273403416035051148053613104439965132021894577647933453550785997533374724968263114328770720067471009759189050431013742427021898381435580457024835705282410046572638130278"), mp_float("6.453495313590960647677824552702422426053829930240986605290226156636552828364550817017583468316181474125462029065641278477946077603781949400882171196583754294283073330884526994546605851515729244481157697903348871671241953588247983943234907867923647646387380605401253240750258760689440643693866779441552053376743261870091421057814866753136539832851791374085578497367971661680331750843225958450368e-6")),
+ mp_complex(mp_float("18.257557696185649250637697684271939529458570240858142486570986596776659846595403393314377860942465769707295002062182191645509540626540052967370104953875140376500360037331511877083341395086911150169654071047839460484321348147553823683218298006963937915051853330761908674720958827300591196078169508954480143712275105082329807729766044904575057240455935466311311140301175303645314351371663909109765971013"), mp_float("6.32931269481254221834709614246731204104642412472254424905903811336795976711683778510790661998790576592916546935169036459266781983038086945423170564416979740001620759831415717116946526450014078723841090865388692129136226445876461211369459209110406866891099764423555498139372799840963110978116188668886487008110121692883914458265394400243469340965352485800103384559485360148026515656415443366562e-6")),
+ mp_complex(mp_float("18.295654086082286166348410463097800811482011655361310604390029110847476956095265750859275361905604102591391403400133929904434657769267620779282284505481475491818227973487731824642588830938629338342793040507445310974688685613835194884909900950919255302223232795190564481748363671708891193453967857081349049366801186436141601613673112350522320094824592071713725298575835431314314930527684336395293104531"), mp_float("6.209819061189407063454986992579262428058837472819703040538189317727741259212336784046824293259912364113807280041397773927452854951072685306588844489710149011527236983322732963470820236479561962418199377190670906212528359219850786976771902952580742316798658748257270070936694158302853608913919840364616939510601185104066060957686479424154920199591492859969037504868331182535634021872015599028237e-6")),
+ mp_complex(mp_float("18.33303835206430237775715431224928197330551168562268696725224553468074794293275531882982126409234912818235642665404048618634264079013347713046746120743080857766562574922905303339003920823329913710536295089833727466799272079400871526490246212209301248096517935050901524051984779613255723471773438291986474731706050655386101763410339803146922161600143471183407955613750944307166822583998006038215698831"), mp_float("6.094753758221782794346703996182388189288070009517510336260833212138690050056117132764182582980875107046466428367430763680852819748255062793901827667253590002152026527422043948587076645681701942493383426117502963337132336853405323609158514939806709677318963298653310353164774013801859485647061741778555245725383779861707267766360837114043573012641893778430212494277477377850503225564976729583836e-6")),
+ mp_complex(mp_float("18.36973662936069221414662495649494160828180946535900945828341013715943636453072773705642427825384207138483607034413419373965146512212859018894501441715275221950670964289289563501341386201614463524199345656702047246556899591575468426292412507824124314627023797670089597255808108075523398525110531533436812970807554637417523190844064472746106415138634024214327679600900618123205840934747381546750039194"), mp_float("5.983875099191707368694237049291092000593593791787397283349865263653764725716209703135741954603977427006934736158476738290154236771753462579323610851456237361091672263458580012470512317305198062209983327893190458140763737091145877769390638374672858753737949862059002256027228645180266177553107322792197997117180647133325530507934796032081137135682559394515999603133244224632413927541722308994005e-6")),
+ mp_complex(mp_float("18.405773640328169467741376056980982972385044526244566740410658947564103371839487986673968966505625577772701754095710394972636431332252131354359331453396939479534091144228149832912595764854537422207221492123026876426228156013927765353818251247908706143176833230194660324327588175660862635453246164170543352877087566632348755255002168118596491210721772972450063395278911415631379774000801687222683488442"), mp_float("5.876958670638506182636849117038951863422508576193979102348039971783567059390671486272274749338227855738816809805658482736528884955924369082569756129024166198014123059246615199922927720149570490675904638138630201138362418740823671273270466280275470202274266377449481439284884875767753441624362240281058703328095944237254091487616675865609489877786200825179599523335693394525008528149288465429514e-6")),
+ mp_complex(mp_float("18.441172794491068057246318164284363318320295920896894653410116897775537170685128378257223200555619778173686154186912898022364210223106944422387960600416143295979699311040143023332233478768221572862038040298014008951220641172502446062196364303238417732208676471158997834034504472735779731393329894047128879053035487848199210215266829418299444132962244798202634236711014544018349124032674359054554729159"), mp_float("5.773795816305851694948710825147903904811465943655278965131978354263593802673356764666660801213695809253194041025568271323493898283331373391651214415217049829640403962852956292850311765881500767796152554832604298674692095911367267116304745113886420682190104089435529187423723292132346287337884163752376972176819412982199561018480655398792078527420038945380420495313646704035199401180906221415319e-6")),
+ mp_complex(mp_float("18.475956279880744206098143087597794080938076860094533215725894060360649635269621571543177221839308617761028876537554418223307672873404809456638870596552411073344770475129604947777795241930215159551436678245169382611630169136175391147392443292300075797897318257219716932298178152071029352526792963210542708576907810889775414292574627769623824507850576030783949166540564323149954685420287038556979943485"), mp_float("5.674192278008802162672951972093701507515865644893820776132689598559489046417982637216629100238827981549660699389847031011759935262091884296698712722046049018871595929773604150650205136800200563785039311213047222439675856483097737878301433234311891583977239976735294565814985686046274395575526692480290715453271167679350335545273930965278785833038265646003712591024439191489969215330289847961221e-6")),
+ mp_complex(mp_float("18.510145146566999485200927485790597186166966129271731816379052703049469776313175650629029763796805126362763367857932275564950376934718998606311945549088635868296801478229813784449983615028769415109914899320283057434327483022901090303483428804154234741625211624307451793876165745421866196488935038388439925819742502493066555962398062339399433970939926565833701244372027086642016634492435487000033400083"), mp_float("5.577966974793057541501645909923835941504115615591095195776485304338327737316683479856099233586621918320199736218203485495099703549423629520224075491523043411827598000257832771793469910750882813177200943356630752563480946604224465929881670510750875150792703985856022173219827146067224256241697804901787198792447758091288827309951356374762173422959719067511279326562195988324874900354950395562329e-6")),
+ mp_complex(mp_float("18.543759383169020750984795911488924154417006723071562365319989841887327449358912798980010523160144998538210392825055853566672838157354380784355470123015530414527230610238588781253481348637409388856728404524393094568843069826581234177849288919144506090046580329405226628707816872771287930571431110249171624762796727420840720582089932026354413597610822133556891487644048199655260406990320868552076447339"), mp_float("5.484950904243701308357669246541466878631267140474320256887897755959902109716800504111428907202788174667680809195425261568704161283348956995968085970700033285702383335379049074600012722388584090627726003389634653824614126067748101751628582469206803044204248564002271256706232677558851741897688580609867781338756152933590849660832827141482117794755849133883775475195892940788845343239167607949136e-6")),
+ mp_complex(mp_float("18.576817987042200124727620155471181036348628236178675187874257124039245700473498516359369046330011870946269358389381701942587377648613982209651555029724289228013660984064985990917334453081708646791193350585102204601116521629585660872214103415581525588385031492646822461226513615417077844969678110920269223617595848777596797775606713322935193932045577398609048964071247872056762552987225074868322063648"), mp_float("5.394986151918890910083529431059478952823405500424761021556724382730836111847715503257566186635018963399788682770839763353782849420956770863841048373254756683389967931158595021477486222655494674801373419855649979071898779243105723558540475772613886705088674046783154678631158176935714107179829938361610270710777199643730769631732098842886991603084699739096245962493260308560544616663744135084079e-6")),
+ mp_complex(mp_float("18.609339028757922477405380340844287716355861198745776284993715812773174617685179964995991502642177591835794276129321848093596987664961859728356776908122748609897590803758929628487224623351478141213910949704342500364624338085397260790538126262522845970107187097709681099157133180145208920962045427376481454559037718660455011478449456436142039339953098598344414397769649581074243893008295638647796627535"), mp_float("5.307924996694514558241357914669853243424162865484117947886605783597900911516182411632372739023373680820843131669438728033973668937868101701075636002233089533892378980728961042082359823201140945100021255847318064810015919141013999478689520857093779542772474977539226878451094601221154262223271634715925996546890540297324736394928613365712422214094386506781243614823238328454759824470173569709279e-6")),
+ mp_complex(mp_float("18.641339711424281575216836120173144532872423783947630917929633064137618870013622352609139831355616825809920600791671979844161746156142643177974104709071124013246662080031168787713889673741408143679406049867343607205379117866856302338094227708080681865185458888857149717115523094908309540903110258428260250778296411876488229636081607192395238018389691336492101333892065116623480941133295720604434871893"), mp_float("5.223629101357604615081895726010208811973970086390158572975345684335248265829154794752697982010751604804908294446473795354694517657511017080126416510053740880192300735720965240467999083688030231891992563901805510390019210627764989143264012576096341582223286387668008953484279057639969594113185185338463334076228998667560537921203935550871365396486174126246155969024381837924683596212914082160081e-6")),
+ mp_complex(mp_float("18.672836425335270289948892508990246284258689960968208542635865561885904748685945695884892021033732121899061197400674194846971918281152084857611097208043665159435926915234064923438952347816987468181288298872154560940607346870968009290958199928652739436868427344636608844071921725112367901572222565869727625197674523909145754936627734714219900756638356007737411851962936986237588893253845501043009806016"), mp_float("5.141968779119742881986875819657535397025657434128429741348790770025192763270954866102491882946616342144956924178805434558922188133271022018057311039948072484006004294004909292435281245711426544261770235241082355052571534544431162739896736417006292191816398663828436506628154390800690078601181798849590964168184183204249300858422327722548915479440189387099781912982985836166362057691087709622215e-6")),
+ mp_complex(mp_float("18.703844798383069396518594489239331497741810998157494135410706181397140249858088122760952265544291656274060846261735048717723606482559992928754388879394967671178586997070085627865173841868885593689459386200779830201645008606420557410189217806186702866001912388533179428444722663915652566724342243889235670010103228636991861647404402330755143677633377597866775626966659690323350290906010787094542712638"), mp_float("5.062822327870416127944844718822782671167149129141939095171461689754238852528205483211546090876743680433885261379289186978568758099231882266167457430349228404408226391141925612682761147983011209957937223829696069798988986947706543086387007115969910884074279314014582728365523594716722212669046585041948734330937014575044249466251019059274331542304204377137399848592608165550031162121149401849329e-6")),
+ mp_complex(mp_float("18.734379742621603422767704143907335902633844243756315845655601797837383163215625863986683511196756925966043004658797097650071413968420676889304278095796796636185938383505564288839139038843950142036911275713557660661554456024021520678760446329530387126420997535851576714449480316482217773485654391343322247441879947691112870354296067175682381165190650856056850462886515283960800473193148508841796141289"), mp_float("4.986075424982282976268953692600096049435626935434312980332750072582316513227385780945478845447541506673464923354729562612724559365592683864089983097279568828554165397052438406331146708822637410275469527377252429445141427488928238847215054041259981313021860435057676056099928927347139841040953137172266273079936028020728356891693996283609811165699175382291145039022868763899350981825119992501422e-6")),
+ mp_complex(mp_float("18.764455497328665668040971489898577555768165160588941923591710593020491904507913010248702438369659682262701048241528507933860762789217803466199529115580274170401185436750229093574806196320293710847796112332874140650320690975151231704967792486010282143400658078782792766411652054750944293761865776963404810876424644963429642604795383888549257069197531958375891273237307561955167575686432493022332226052"), mp_float("4.911620576338998087105797775530958921269497015658599895686636421410596971621214830952133972460423102944395944635422430624544704875785187654529617423023375124526284041403860660699839096034701813421542496005208877882449576829348472124943375146620365225738765143077197785615783969956809434959362561303863051589075649299791053987519191896392292316190137200462552949793901312304405343272362631026343e-6")),
+ mp_complex(mp_float("18.794085668877892426423608169532806081915821114098753347284130708390905504099965805612625418158871719907986405152056007497397527764201841738612340165774172285877121652221549565911064578328913389693517727042073618350250208461556356813444613839028498098760175648585421884132836399219516874918839394647228195117805492843874523476671823941666182210354092146329848457625876496990467671991401323647363611787"), mp_float("4.839356614001221266404403567562978852600417890303448536139461537341674125102008242051860928891699978456536241272914359210139253656019936368523219490456186693873965794793628951265550942918953177184672190468186654935144448585389955365410032041096784085543279379029047846053359964732816848160698724262259188571616812827430088508804883961807915160020761013499024396813936784503982949726324579354419e-6")),
+ mp_complex(mp_float("18.823283267700052043384848349132498548474594598492490769734505386370012030104278546302723899471036082257812353436417788140009998904895091376812817922976048909791232794970302905520044543241663446358771385470110442843494218946653583072621034531965708294091250841853493331659106736741889483351094197680738171185661043040361878443873248152412079354632412607938070210050581506550753884769286513691520133534"), mp_float("4.769188237574204077642884676977041189612103279960530988619988669356574649042420645537274772299774661963002794639041472862932474792544673795327560395842854258085551308616267796501380092413828612816869324385409936859376066909611034819416037247817302887257519095893860734688086986425330483501951154484086378293550333426885765209091919698415440815860343559930321962821793059649244171275845761684146e-6")),
+ mp_complex(mp_float("18.852060742584962721693080308433190331026027860208013950592685660274816814697871761546270525106918980916660778465555153924713157857996272882158245441461534416566212461846276096370751289296681146124935378343350826275155030159303261338326723292605551289993059041802566268273160987122659217897406182945569534302609981398041128827065006805111549946710771628144804196268653482689984056118223043428839336004"), mp_float("4.701025594904789205560932492601683095897536899143258971240938453626988260793027436700624340096575334012265770120606900735606381336952771627672268524988531185171746360094797192007665462472303212060536658578926641602538750220985393214002418774095169793255229398676502371103377419668201020576146046533811715406491755190771898780938838271963398892426716070084682453419450779417127597253477060655043e-6")),
+ mp_complex(mp_float("18.880430012550396311957397367241138040233528838852141304416477322231238948538094148469034932421938056740429131700637600005937236356762214903838276577246213317450141140772898714460020480908011376967774029925932601932447158572300130674458162310883028326805046359287023170461955414411164843223034579766550093724754771056279388652323598345536186811827406755067935714159164051202378770147073553634748894948"), mp_float("4.634783898228519058422025760341405914518726258137548840360603109449302879156394701653076658860561197319917513871514340932121709547731289580535997039933625879835464020304748664159759033275029543497165263504407195378644797761534926925346447375748921533028043208654483669100342183768574275440457045416612167685494391022231796945698265538143612157956366494542793056170439168924555484275606567418512e-6")),
+ mp_complex(mp_float("18.908402496482161433025373149528860689585990884760900867069532534243087000248120516795855024300129946434562834357524916390909141860495022960133257348691372937008576049337398685162680122479303735739795323552753726181633780481762502717898984126489455219150871378057549643690196716963094519734177678462579457288645595468415815917711519429525384852400951584729559395382386003098963583700179674618194856971"), mp_float("4.570383072318776195621686708535585991378833008744039146147393856758060816769204568503412956641886580461382005967787645272456916202276372118148413885855895096129644088191815702329248180422179452027527035681591592029218075957257812427806104299935774595771157449885406851082547844192809201907363200115510259191973575242725136034669301623381936493085951243739845549904631439688433411342151720630307e-6")),
+ mp_complex(mp_float("18.935989140729841417808621806826763600440283340046879959153627214585829054984702536720127721871139623039461014304970625293971117729368204806614826875806051647263380409029203219961285845492418360347173941971801096368081006793589882190870555295938276205769008736851780162776535742232951945761413576816959734863251568835182652485964890671601057521878991853567382288007598441379631564863606348744365717875"), mp_float("4.507747431567916013342576808044171354546244396097259918200585664053996298575154751504039194492767397158235087439085551064000024289214403771471769318129329604369338331491785165893736498537388175054533392758241692108364883942382652627773636795475445420398853547671522775284600734102776460678821339765483944954592146575917392175179507577572118476652974665629570291972471111762604570334747389842338e-6")),
+ mp_complex(mp_float("18.963200444825091206463227079410779519244977469637452333062801277120783095596494117953939344367700952369360855000352605405941834645484811085318459112499682002372524752482819448915062171561111427706247036646449855200548430963816574104873568034316268870782771549110515661621730988351027530780503535232116224896234242185746420482222489501968248172890917052453149986799435968585480150031226129569845757537"), mp_float("4.44680538326239243283733808662442212468105141058052919831690869749754408597876622585702591390909030019480024365298496462808253314480543037529960725441035350319017000523430100293307209779417028613210570933408679919635400231942741863120023028541602006134295740601372224232557538569242282342967029531342450505485890073880406220035245285176554623286675156373277212574278246111278922774744081776496e-6")),
+ mp_complex(mp_float("18.99004648547371306389424899983580509312529299103147341815116809923152174049485399861964107138773561715295730653574114201103673271444746618388712094730192681559422185193388963666930975618806858776264040492457835174401749877301838954325412499306809079666102165594432562037266106390323999834559523623941443184876480530812938926607084790176489231814701335881774649988061128585353275135323360110486781668"), mp_float("4.387489154606055743932224825241932747889486515357097679172490048947011904954241701703511600923117982643976390142371608638381241491226592298074184386691282869468057238507802894886078808607981060803393487902107235318151367474707180931899756238856062043812176417771412788167990813072920811922005066611731554115631578517502145239790779959181526284874629384564351418782844010975944129817436647700739e-6")),
+ mp_complex(mp_float("19.016536938958708891521015897494806815313750436500404656736622716054340926651500821149981545527825880709928948191489291685246497782452597826267624341422954252343442214731317599774508888957800113501824589373108142723932063039807287063770947863328295639688892297620594429368819380523243689500115590471858549736460508413556376429598649173860399050585343361836097986744795737247016005874099102837329618805"), mp_float("4.329734541303365463874216226049492216805620334292943955753537164139404319828737745223850553570484778409013884416309998943961224911166871890976974485609827388952774663722207357390204777907483433530188042523389801234967291639499380113768924023241252764198050926977187643394653154346962487641557847488992951507783078891100019810737476659103437150919687306280973324583649257924704375867803417236503e-6")),
+ mp_complex(mp_float("19.042681102078951358866207751358410438860301779270758202542817008047915230388722614355328933102328761986739403536845810778744346213973413624145279838384295183971493685650480562378485857023764667660306181163933399224621165597757170027563935011119250187740756564707379217351177971309809810890402930630286115315026929434674264063142364233557644277401325680503093511560611333621540178817154445801762939935"), mp_float("4.273480675741707369128734908443318486712908605338041936551693982112935170862570158046495617799518524826365945393153043402985421961904143912161716516393182729491671188624712189711732510334739132291950901195705748410612106051810304135895243044354421327052548972324272612655467945702244847311932041042941315854956630056383031634242827646947498121999663745002981568913185624686862538248298093868155e-6")),
+ mp_complex(mp_float("19.068487911736856763192671172976111696143073721484454518201056597133851236751675602017724712331968461560485902899492092598558795404954737934561643712728050651376497906189353773850971079523595954694942319530018949011614051139982467438537943061495547847924589725576462898629306523645640009715302024731675460685515430572204518665748905121884084719285331313705083387548831952234892143794722514585310592667"), mp_float("4.218669813013195541341309882930695915176926156006615343105551944328356517356028141561368796180714840751301078229868296446912781149240545716637528154698105502410256748056171354657063567451078837257354494799278621919656410523969815600770897194644238047964243041663540578905439760050887063866658677180592693348819756433367240979799844252243164308612667648941442419840575183680201877105882665185652e-6")),
+ mp_complex(mp_float("19.093965963278330801742119541504692123737006762402827705815036281991397395846108877675071981397259139023207525484814482358506346705256533223694913693373049544422544216400060967886055823240555753333258121870583145903096416729066237341649347271202196287095392346776540741672131676038652442386839828908564305412353781119713891457906739841960474103633445317170332854422447208874975019720294932631377552815"), mp_float("4.165247133194602058321917526302992885542745833427368567972667472596762265032218743897549847253399073155189118819418817114904891769887154019059917763551020273154704148106245567240298412732723993349854577689680365946560197680563051127798048680194023652616521383693710121713350819755481677784266669567175921065506827623900182145019240150067355717034042378892003795993821197299864432781518649096389e-6")),
+ mp_complex(mp_float("19.11912352767916437668312726867257881200786565756896799997383013012104034461810646062975829892512891994282142342113793006475838960093272001519671138714512498409157721779574306792666561587023058296681120745519732058968063997817280776190170698333486746366375559564887235728934315051616003586425320615863498328820942636798704960173497738958327228994163119206873581770068446565582080632686296523419844756"), mp_float("4.113160558462256244074046172896225923435042924334781995369516478685008857005311331940742331803511431159470984789593250821482184909903032444775702028525501176216981196682458990137787117065718885402430654819967755331069870176340208496274069311160930429990791570446751171107769269997780999919649628052609703166336593064222874443822954894007071234362154565137815555741003604772746761826168007559215e-6")),
+ mp_complex(mp_float("19.143968567663866356569186287715250940028933430864389519480596803669014145774876990275624645518019837108624961061645558030182285396254518975793588498875744840257643733636127718705201118758492611151022763604167146044659627255397551229458291642285977646418449582069022866678394002686716653573253836458933798383020190779951203930105726044238258491876359779777328116045576319109806789798296092785403407634"), mp_float("4.062360583759370003407926042518674165970089064471897447142026686356170374136998605759903968136076918713915902929703114067401977512126499682292494157305914003013859519151016883485669322879714183735024927917438085237381776448180789737568659470526441102750840535800625258744040283783724863196013313966042866515596893311797515714900557420790597100932655147692401650016353389470554315360642572930885e-6")),
+ mp_complex(mp_float("19.168508752835534063010143623686273673897580243066508298455016991857489704355576575280068814835323774955050806103288486844469398826779849210589501237613163580730855013478100511674274391794153040724071015065200417848803753509757235462882546411404513918936531126345706291102844581977628017161858234416869258938296628503622943662582408170280142566348026217391124522343174777532278065176223269990183098341"), mp_float("4.01280011985842101875753732564330067417840795965143816974481394035329339700387810727962503896463662898467040400672977450190717290609683639508038845559809644678697648641567980807481347443123662501384726528185258485450665393183161641593504932278937550320686718359829171060192349159108405799581486216248723699807943618014734020499656649689883178999048788168566073064597714778380105621822485164376e-6")),
+ mp_complex(mp_float("19.192751473888692412412634608609629428573619207880605280700205318520449699847474926861926282008327237918157810045064907432285782652038807761441421947115163989678512070934691998729443030471850009698819923021260683749100611673638549683097154138681950797492656472421353067562031857072899541504715724702801632873804154196654449486187888465013028817756704943201402667862608501259965392379198039391348672696"), mp_float("3.964434347772822363195827094700188842102136532763846746264140684592957073786689164155513530163448012381080717661554303240363253637860685103168689956345278638532832241713099910250974461408788604603864777807018286766312503358911790216354977611490074957066643405671265249078807414195297460796221899097790099477001039899649744815470397024461730214486546044645212504043530696940245021730654669738614e-6")),
+ mp_complex(mp_float("19.216703855971001902542282041702623172813222231424034550393915517312378792740824854201596619918237619221732022655599180764328370116673417302774148114637058570162914732086411587400295819153008660675523932863071959536135246030093174243978466712412965787928413704798230081773719490018634131854831000423271762008411586749843250544732004537565779856232842208111154031278790684761581948161966739855098958141"), mp_float("3.917220583571742487732596957807557682177261334939729801217439758597276590377301802831346662046942638536764123666463796502286713557828636654846791026576715718093548484215409611907009929479355369399745471625274856019808795224752309915834379233525927045371149644383093249409810340610741961590787551882036676812564125691697950433778240086836194140015787953272694018741439648428492993508093741758398e-6")),
+ mp_complex(mp_float("19.240372771254275914212547865535132890945812366459095685872027011361008717086390321056051655453787397302132451465743974078353385325860149857511367193434701156431447922991551600112616258129773468909129526672948264208916024593031646562666278614837976811857836074346813080740090958496098478582679439548702852561373273792607739238136767226438826890162542094071398182558464827788690372487844721281142258821"), mp_float("3.871118152741021324934667466685652502755543934689136600484176752266328533822408674562165295222976736351913816379059160152210332028053513179289919195588796101899205652113043409671408110156473075384969531691291635536475230000208761418548663885113517242260625720159482872676653268070997445378000753852332540274391717468526918150925830093199181659327917228939565402081567226317967228381612887391914e-6")),
+ mp_complex(mp_float("19.263764850770298984933926747217737522857299086858291602822177112769579005909162033795275141867759046152899197615416082068890768445264883207760744387973340719131963681336508440260585661449596253227814079387852047548211722438319776039109449590021048356182444308286266709619033594398651835088361522554433473315328770957594937050641075623576020230870928863492208556102761763426297397597321608772324533676"), mp_float("3.826088273312884038316419376965704561878759593849053755746080612091837904440552982084379009797481672268498873763975639687108142686003699023050251001338375103892432455217132472408914905119641839742129388150903739838256558780891346054327292979525968949240755632831601165784135271688805281810299011960973715834938686503329498026063319676026347638381087756843091849494927002495010332584160371929758e-6")),
+ mp_complex(mp_float("19.286886495562446639763057439092162842693290121038730773153769678169662812349593251207248425242407403561002250419199245957796012292793482629548055134518347181882824671324274053209325995643657715601128539898716691130734827466812430841407784499996578664223348891000671317541996244788323871960400680005626123375529907651224544655497656526939984600597299806946258314667796543875965661872481442583155092446"), mp_float("3.782093947058656087323971981750453207289902778316757224425217024165744835010872500907533471650819996627752944591205636201749087644851475443941119632062990068329361397699490770021482199141806173183928989178760661535228580756242180324952255581372241804494438737757188423234394005544287277549634470448137284705940337614260897694757616741023987876143799827731590336712146639283466762798934654279855e-6")),
+ mp_complex(mp_float("19.309743887200026947444357743865863347441808739235147730122998776167283122918449425755302005353227070002617840044657664836045265780389613834738481372084516959074079046347146406255502945124417682821401667828466302728096949060855105560781051056981854442694894788480012899391750003361728119621169140226730985463894702381022942383098306535491989232004824718082287120737681051067278592156314097839665865177"), mp_float("3.739099858102870027978724009509026439044122766946738011991624247442277561719068926683018773528921484703906152066507259731372460093869666879162005558958118014266133351676065721064493390193310486109512619547796829783565169977143010086833384653762214149046262631151885213744847126039216155075905513643715935990170536465965573548029970877349609635915631993227894537145997737021479174995381389815494e-6")),
+ mp_complex(mp_float("19.332342997698552441081427314773530483213501126221449629372921672511508309428617431839180207079956284024002863119873245420182430908828102265454321128980743182680427572385896253449959816403669333362808793754323779682735026364343108900093960239884188842690328918186680173029742503346771420720293623618997385759707088259893121086823373788683654838356686055697145309007744041505925295807775256630463916688"), mp_float("3.697072278374848080068852132813071813640023857818896935161828238411115906684846567647065821188042832344919944521200348340414718124493823300193227877614766982806712311965123051824724199806053447029697930490727763558367355377004248804799081297849258103687077096835244091425969312239035824812017923731421929641010586683068155873170418371068490742569195585433070029910160522489462289231528240332111e-6")),
+ mp_complex(mp_float("19.354689598885771303032075981733932965506182428913844224721336825078015745891705122824716571373758085075798762339225472641171804134433676022811447293780464123885689388810433224653980065969878326719983354607567832714630063842205307720919941740105851710555637421602655420070818570614859115661514893496956162365571107099140125762306317271741362957497197951252900614560520018591403614280633378207151400407"), mp_float("3.655978979365766680716059544461134061822261147242829329461105189611531597185553811886316478350719664232117441446476663782232288471883840921952054411842524064709638068951405704413683178950834894328312955159292528424760509546342739620786601422694869135342080857634323831127588577638871276151368571909406962408498872456138717390001168412181789521102647860885770758509417333326344072747982989144931e-6")),
+ mp_complex(mp_float("19.376789271250205764330789763002898918977538575933307584731382137543465106925319305594356265170584694244400838620402569592113586109834746960399399381404927225523268762377997909321868801952107739067032160435874592085779784175339666683984195253946684476448354398712604284016310664389815241479373118398854187721788344938852432807173717819478349055188180117999255285715052851534467507827080401270419767587"), mp_float("3.615789149705994457357374540460883922301402289017099120327350574601787945743155941677165782065298855452528430469958007288233128606049196248193258127137406928396399431901507150955707624381919298729677726120272328529955782920629162923215682951075796578877218690181410477301951376399924638297034774738215581684060638094530813610605851932681748552569730030930563732355249090512546411612401720873864e-6")),
+ mp_complex(mp_float("19.398647412306134117430726692548605328952335989521668405845004622193503805350791850618471553406032865165997501050335983958234513409476838214299299825202427702932916022038487687995511781408590044365262695129978910349165835075138347633468260849998586123238679772576759831012594150527089860795584680202519077876602802517236224255040957744347237558250686039273077775409233705510739367948110177405974536731"), mp_float("3.576473318119701852645036091673955666260581699388752443637950322628760246518025968233313361878688900003956565532592759062229429615909694857481152022937489895435432334561312884728205490047416143655505839405318519950102146987112265872195097783211005193966636792008685719208459573440599901010053030231426981398654991734583298026533187037846662847557079937170196212709338130507860037865374057067152e-6")),
+ mp_complex(mp_float("19.420269244506384373052468213255457999022467100979243007758329753919958684151887732717001295022068091013695286404991195054635290677099098286887839372116613016755161383721365340227874331741665939662468727217460642858444698085375544871671640064279379162884733893421006234006417402008108632531457061757786564611875982715984066665186990182388548151939648231960979470826896370655148211356808772776456544548"), mp_float("3.538003281351861492165646094638010463520914469876819226974971501058398916121792000195099515433839176573377634288957723826446876227906726546551700201216933736494316718462072906377847606119660876458826328895311747773813759895484757606675791851419497853837824208537817725146798748822012659664999315677245062718810334664003897385503614433485611590438476275378407785190039092503443824566589756711766e-6")),
+ mp_complex(mp_float("19.44165982273195899704430455384325040195662928396266312440179519287725345195404689010386095835826487068332600597631834925479712969588415754977262515435434034742995960679352837331758210171472936903108992294948734041098585848483618543901934689739738983413525687864880813999071879380781103062021172158346666217429713781315115880757556128113343029427519672110666640396375549111653062345597067752759486999"), mp_float("3.50035203669722812641773207322637993464296810145151579988622661944511948218646310608116354162625096796636474963980076165195262912090806260043932620651311833206026804198547989472003660902210160649305733381810258165571460895719898268242803879188811822101098617360637776702681726382874398088749902526964105662121608378543717003071981314874933948533336353059649411735530649152780174921518279370847e-6")),
+ mp_complex(mp_float("19.462824041385360408572521860615210140649786270926475530127548350504665980925660990288382013217650086568506865071439224650696578495333198657358636729620208165699295797607516592576314161471475889538480904252982228725586487362213196688490213907458335678356887143072390199923980140438282483290858526519590712983680218290588464545279326295185669016181480833506732255579761328579091554354607566665432167929"), mp_float("3.46349371879209005939164867214677131203438018779816353210970847535776746987146464181063559731833563570532270265423910183617320877083428336752804615009715729052969249751670457854157870616641264352824458904826740426908972604502698922613516372359504620511648871116099745588399355161890374700003564710770137037835474129505728343289558440849090991162462986122278093067940757195736131272014255528123e-6")),
+ mp_complex(mp_float("19.483766641112517265995418693767339299909635186331362616538359093566734019151858540026786499677166186225977699268824288846238040309496862860892055665418328454163011786375299826489828665559430912733902576796394570859421726964830791735011016428259646221368950354690145519689570223480359617727145201329133456663173411393400106748666743737636553522681327291320831877988222344504485353037631314081624254083"), mp_float("3.427403540357860788344983744339833125419424027880958834898256748811769606710640109208616910464545556761526512920415529075608572019264100736103281722822007502583582997574743419009383112619057935315278920086315911234717502116293183680179641573099108802616820486825287391650283558422629006917558984634093460769475638451693348527523919930307473348934047968893353589813580530482556902353931962221261e-6")),
+ mp_complex(mp_float("19.504492215176405212997688700738192844593659581726279206823695925080484865618887810800236792197886221928353315816561362954093818799185184517216377844768147741072716634436889584791498424776309043230862825535031663725957049394578511881322627700032466437623959783424071620315896064865278932702753495550571274681765412974072011757214238207287338553226633618379528456688606691031709661654955399177412854216"), mp_float("3.392057736611231900112286474638902113551170394300764937864142717312084303963822278231404872656888892912212846939757743342877939183618723039397734926467177574580566362242123593011133418400691586137035079387740584395132672199570064067510956708069165653481321554016359722442918882498267422055847275080732992290317320954291687534964119228457287048248102860297740484320356717430943123340975065362183e-6")),
+ mp_complex(mp_float("19.525005215503797629630043988347640051423967466864699821024284424309984103513817335400810279198621390279862518200679858609654782878383551503477415437022348209167203250781129503092546578190764663101879176803537160645825469103421189871801684524677124339048995524415218949336312391203894614846910413785809961036765738050074926180008892194287111861217284626439441066540857191682337151378634608584470831499"), mp_float("3.357433513078903991629615390725823820242001902227121529695841058203426349845666463876958621145180597225112912933535584410878270335989990370289466503795558423805056647606066015195981449372086897545450949417878376902421780334048887105011674434912067212265737363229660142807990189581255830769213863212417538206299635385548617739516981137193909975740095377151407781395762930780717863104253251687352e-6")),
+ mp_complex(mp_float("19.545309958425058486114294358697813610830671986768433225603619435358994651823164494901467041173089036851201429640325513092792956219454267578123723412393596812194390781832822783514096058081715992545501814789589500628706308050019542018566532653410289711078832834271071823306027030719380142004622324583564318515191075298178788487489810398349794701752041912787277655005702349635466320291390056252453394572"), mp_float("3.323508996576089623829910256606541208298878195262707760395697561543912506621715496030424976696527176814240717945806352286204719555066125597970381595206823015246562716117382914982372058884815326421448064706173595789191934394360689263812459704954892606247691875213571639085238299898722986478766077674290132172891616315917007236791920588977762388179897553972740138091511621856330327385507468510557e-6")),
+ mp_complex(mp_float("19.565410630125488448347361755813470192010043606423822123274552299095837876075651358066587511487092916994918732814958312485072956301671033420189978507388609393684787689249089988518463675733232238873188931034644177981546094288880854872132743822459178794917318375574510333121878639422692570559395689851808826197873914521535290929001898928145931194475694984071166914956923418523931033347528403267930721294"), mp_float("3.290263189127252994865749053528510917763777352660201702061431770089016261743314642120601702611947668607731143231443870959031702889281802729632369169325398837319091916243083359813427754124679031652065943308287343392182659846735221570081447161111192523458744683316106174552910820628688008301924252215937574098592617651950432146256501170520492672112745246475279377310378094889609058449729912445028e-6")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02104_z_log(const bool b_write_output)
+ {
+ return TestCase_case_02104_z_log().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02105_z_sqrt.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02105_z_sqrt.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,161 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02105_z_sqrt : public TestCaseImag
+ {
+ public:
+ TestCase_case_02105_z_sqrt() { }
+ virtual ~TestCase_case_02105_z_sqrt() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02105_z_sqrt");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const boost::int32_t k_plus_one = static_cast<boost::int32_t>(k + static_cast<boost::int32_t>(1));
+ const mp_float x = boost::multiprecision::pi() * k_plus_one;
+ const mp_float y = boost::multiprecision::euler_gamma() * k_plus_one;
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::sqrt(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 101u> a =
+ {{
+ mp_complex(mp_float("1.7798556259262221616563868209559734890863593605259643837165209652997880378272165299811699327565300990960492965059272868712027489696878424252064936980911848975028582397035795079119338133694542314714871335773506368863883352468573442551947943935830599665198694947540441470149339118577155502666457014275907037502436961754016214486607867810239036899917242864660748538951275871797152808256072629412571008837"), mp_float("0.1621523837365052004828168329613985508660351918347885190291820732601325952958106792679933082227489257826682502623849298875240782757011788673256611687503377016237204272459827236155393021405401713064046275485116498985031364879017761357300988595090816129718451466935398446102463351043458923025077785205977044839325006211540263164669177962658420171351420090601329331167890258485163152004500877306457150356")),
+ mp_complex(mp_float("2.5170959652509175140543227140021035814565046580234322049869387200747016351165986990810681425942262507516826700899681833805592754345637646359904196665132865108302973650205549510319447461279363868196790088906911519932914253116113099215780756079222972745626650929251422232022391033872107934615691539118979329868088701348602109145470294066136355505159074932501202185571955347798945662814408440831616418561"), mp_float("0.2293181002512921405298100779075648722903056502053369879943255508028149500869347065604415691555078456199834592074023230693899188090223203598052777878206151959764611466727863748035991029526931867763931380138284693333961628736740814161101507288193956884215366699814263036482627216448958897011038692723602651497193967240537743542142119571460474155359946006912437693699078094076589790791949724704953480704")),
+ mp_complex(mp_float("3.0828003742415226689047374692840825175314822032420206949919098796522507495165967919340928103366980602544050309659054217961317524683226849896587040957506137572747455980173703206666932409567402517501679964114713764065267480123418766167246725331812213714105871598209346797967113636126197244790422468438372987365403900670351360477131731193760508281319256229087677428538582953020095215093488750629498794447"), mp_float("0.2808561672000323170550066704633376791143974815815369456144951291716369323779870336912189120606729032195735171984473848768470362017211418657151739962605354598177491102663557147915309501233690497108326699223328494862725338627763119229404669949049686879513742377129749328044437940303339685507150993624994123044040732958198291067013946127256881855605047136538342306440840265603220847898403146159912980001")),
+ mp_complex(mp_float("3.5597112518524443233127736419119469781727187210519287674330419305995760756544330599623398655130601981920985930118545737424054979393756848504129873961823697950057164794071590158238676267389084629429742671547012737727766704937146885103895887871661199330397389895080882940298678237154311005332914028551814075004873923508032428973215735620478073799834485729321497077902551743594305616512145258825142017674"), mp_float("0.3243047674730104009656336659227971017320703836695770380583641465202651905916213585359866164454978515653365005247698597750481565514023577346513223375006754032474408544919654472310786042810803426128092550970232997970062729758035522714601977190181632259436902933870796892204926702086917846050155570411954089678650012423080526329338355925316840342702840181202658662335780516970326304009001754612914300712")),
+ mp_complex(mp_float("3.97987816970646984320139019673942761253392552062885391986823998517436829466843766309857976752416483832627381749159140990466040708043197117855012878519924364538006982037702171924036100630004266945146414961658916268669786622709542536373169657841210943908026254041868357341453066830112043626785858764134511471750864149845482873253904543870171773724004057370786638879850934233649031247317434759480428318"), mp_float("0.3625837527484569753332834229402550180243906778000295342296189900242471480046307928515925927714962309462870595020923459102907452081325245594744463547947049086988968934522914986011725389932486362694036704644131738829677154051941681260399679697383774110699398380788912689927408113300967565724917442426290582730721093058618805023970129911899489799569620205747816910734629236638530414202210963389051297404")),
+ mp_complex(mp_float("4.3597380993412143779690205778780751518936943276758999313745847957045584466445347777536829778791896124890552250064208257801790731662599173715651585780279403277397744091450637201892087830404186455637123219209336398920714091576928183206623536153454687642926393107567443376951931211318495264626139589257290726312042973820982932789860704962237888343413758605447312547791838358945447291335150664132252793079"), mp_float("0.3971906007304113150252256386719254615809052349002367761806618354944195317700984007342549347780318684075994454532778578713490031303903340744663313328819993610212639209254703709866758255065822149836023930989439226606164347475441932477099822181628312958095996399491821487297294882009435401667026020408894493378942780174621374792423113207887725365383099031875596386453618557334733616635612813658552352913")),
+ mp_complex(mp_float("4.7090553557999897993658369701279100512622029650461873827122641713092753288191443509377010031966022040535256926763953365880323347132597989664039015303839274561139417116845961135873109207074050955419757493266271901746799166518111088522085426916670123107616172880749479016731596709889790943926683016172914457839346624518014222113564116361044035085605288413949635414544491320753031939009487728931762892423"), mp_float("0.4290148818631072309525159343901312640361567251045354557488187078930321953454608587103753344865862995112514488950673328871373753969968189417499020131805582116184169653008884904414610379935421396907837532116952178294498561498834514073457875792029200230491917190309669815247515757019029408128860071277195161764782592350237633368333616703494462008493768885675703043054466929043380814430238666376796754037")),
+ mp_complex(mp_float("5.0341919305018350281086454280042071629130093160468644099738774401494032702331973981621362851884525015033653401799363667611185508691275292719808393330265730216605947300411099020638894922558727736393580177813823039865828506232226198431561512158445945491253301858502844464044782067744215869231383078237958659736177402697204218290940588132272711010318149865002404371143910695597891325628816881663232837122"), mp_float("0.4586362005025842810596201558151297445806113004106739759886511016056299001738694131208831383110156912399669184148046461387798376180446407196105555756412303919529222933455727496071982059053863735527862760276569386667923257473481628322203014576387913768430733399628526072965254432897917794022077385447205302994387934481075487084284239142920948310719892013824875387398156188153179581583899449409906961407")),
+ mp_complex(mp_float("5.3395668777786664849691604628679204672590780815778931511495628958993641134816495899435097982695902972881478895177818606136082469090635272756194810942735546925085747191107385237358014401083626944144614007320519106591650057405720327655843831807491798995596084842621324410448017355731466507999371042827721112507310885262048643459823603430717110699751728593982245616853827615391458424768217888237713026511"), mp_float("0.4864571512095156014484504988841956525981055755043655570875462197803977858874320378039799246682467773480047507871547896625722348271035366019769835062510131048711612817379481708466179064216205139192138826455349496955094094637053284071902965785272448389155354400806195338307390053130376769075233355617931134517975018634620789494007533887975260514054260271803987993503670775455489456013502631919371451068")),
+ mp_complex(mp_float("5.628397684191500051350830477924529927151416637805000182865239049304294018306425592438437764834674403585967346025748756791598143058089454789809580778476514589362960911030440443882253277261196230033726444001765054524572401026364790011900000077255726563269072385878022539662980972000935193828628368305534394012332348670308645907088379566231519933319295422923149282421142864690983905527260842429631764783"), mp_float("0.5127708606330008320162138800098718387039183640830584487256691311957979660719763026975407989302690121572251334371766754134431648207795656181417954968142534158348411775130539452107093615597504469828182579031760285613285381150964393584407507600239909772792466736644874236298829934121213983085226238190311582714586167567815027256808812294958014977556141784976179064556068434590338620711859257582923862914")),
+ mp_complex(mp_float("5.9031132922004355532975035115714253533443902567664501063195139219333687662022487297435039320712110475632269970079943448466486184354750541686275896455626035937516158329159868747788526943016322912511363567497809638514869662093590799798021512006724552200805001269955020621789845066832863551056180395319334887071152338655609595908833337545675526401370847198674603491795203038809281614819783396621048039282"), mp_float("0.5377986157157149085988108984888832667103356501835752113865529705602689913793288235079413159248151589132138154905123030253969942648006407703136364098865508454490340630255912656825130777685077084955633581934384486542583592941279486717738468579118818232414824662480104006072544024853700319350471480115498853493033455467226197028476368315288553913315902046929622595634094788676881044847972629229500663176")),
+ mp_complex(mp_float("6.1656007484830453378094749385681650350629644064840413899838197593045014990331935838681856206733961205088100619318108435922635049366453699793174081915012275145494911960347406413333864819134805035003359928229427528130534960246837532334493450663624427428211743196418693595934227272252394489580844936876745974730807801340702720954263462387521016562638512458175354857077165906040190430186977501258997588894"), mp_float("0.5617123344000646341100133409266753582287949631630738912289902583432738647559740673824378241213458064391470343968947697536940724034422837314303479925210709196354982205327114295830619002467380994216653398446656989725450677255526238458809339898099373759027484754259498656088875880606679371014301987249988246088081465916396582134027892254513763711210094273076684612881680531206441695796806292319825960002")),
+ mp_complex(mp_float("6.4173607222000473246212185487763026739784061991061044118493996883840284393104971513117491832065889983844728601027884784679663880499667199278047281774653854858146793916976698554805672961268823943544133517323430120956162647430640014432467658186211331307855306984005474662785973681499627085882987042386862909542549160235242423015600042616497115129469262618534014940889486677635019695333225545663061756513"), mp_float("0.5846487340006825595524486066507063952091047520858387805219448386453924878304539738316073945513365642817157234844934361435868344031031717718481090003082304712148782117994326167948181798660503141001224290093273771620711685431736905819459851391644439560693851056090664758955069333991355520716639866755199285752027666261741063924914749974896388546149970587408656104507378352006196138345875004278154197691")),
+ mp_complex(mp_float("6.6596099501380061715068764956539262645972640767932178429716945274000471201963206583010867193730617036537064116514751692797661852977269362532769660351341681425026281929352654543034635386295929320723277655734717123514756744986290253129591995950064636070829446731910718709747929799673325781351622759244650288929999652439376097517779815955351564754299951658618102221296436663096155234044083496545850879199"), mp_float("0.6067186643906974017586809275048106258841707354673233509470648918441350790406621506456289014189604833657419185247937995386067707763427173586694549088107503296439255648717341066492388799093834126487379083013348733979652229913793144194550379842758237416194517425512765819584150743774932918822022151009092974205359548307299154013583826012508357391848901684050976215107639185328459509946966767298541738577")),
+ mp_complex(mp_float("6.8933511978658363667897147030217206266421604778667729052197025625017387876679125200617371866368525935593472191420155588790094227241535293116699673071471152001422168151033718931163540065939945894445737800834687468601948187334807750956037336069661660375301643428943221934046622618199952167587494948164329142072804967503208498817664425478033412927468945823714527494261690289673411529814167633169541634355"), mp_float("0.6280134817593190360713596345946004894523061914945736839866181167248231448475196571558730212727273310625463201711210727254348245159797495076630306530704127471217834572010069560942608366805251760110262726604803409965192335949916945537278073751641555797243928606038042169816405809212470101074119647906958880834409380100012749630653796111733165318080149447480513900664668912368413338071264277493564167728")),
+ mp_complex(mp_float("7.1194225037048886466255472838238939563454374421038575348660838611991521513088661199246797310261203963841971860237091474848109958787513697008259747923647395900114329588143180316477352534778169258859485343094025475455533409874293770207791775743322398660794779790161765880597356474308622010665828057103628150009747847016064857946431471240956147599668971458642994155805103487188611233024290517650284035348"), mp_float("0.6486095349460208019312673318455942034641407673391540761167282930405303811832427170719732328909957031306730010495397195500963131028047154693026446750013508064948817089839308944621572085621606852256185101940465995940125459516071045429203954380363264518873805867741593784409853404173835692100311140823908179357300024846161052658676711850633680685405680362405317324671561033940652608018003509225828601425")),
+ mp_complex(mp_float("7.3385327440436490342374277858708016631885556608084326734443267646139517538755129561702128570293703134368652209556943518949103671323765173828919541047228797799541263421355102534907283185786372477669204307754949002093975045010994574641544098203148220969292348778429862840231425639143593085966688806480429828169478334403182803968971087793594030811223513430192867740203156274054173641192325288267781438323"), mp_float("0.6685714055912982404459968394702554895618956252539023378416243333785524813634578728823730322633350121286255093436104905152591550900629654851603436818067592709613455099374045093396640997754739987915085751318794885259972647546908836739870570735706591366376441428809365161760795199252517812657995542499444323499203141414514754391101778039298570235001593972168350656254035621590786241753380609269175478575")),
+ mp_complex(mp_float("7.5512878957527525421629681420063107443695139740702966149608161602241049053497960972432044277826787522550480102699045501416778263036912939079712589995398595324908920950616648530958342383838091604590370266720734559798742759348339297647342268237668918236879952787754266696067173101616323803847074617356937989604266104045806327436410882198409066515477224797503606556715866043396836988443225322494849255684"), mp_float("0.6879543007538764215894302337226946168709169506160109639829766524084448502608041196813247074665235368599503776222069692081697564270669610794158333634618455879293834400183591244107973088580795603291794140414854080001884886210222442483304521864581870652646100099442789109447881649346876691033116078170807954491581901721613230626426358714381422466079838020737313081097234282229769372375849174114860442111")),
+ mp_complex(mp_float("7.7582108075047340401657071863636940637039593436937518934469640293586060190157933850583475338715009820537805131075981663257865663805240876131438930137225075192811364397762951013684523793447453814026680733956636904304928739464117106936808736961829216834535111150532155021216110712808452428606500618416997250850090906604853158660384690541009454611722891951623887032537268378842103356308805542276278832423"), mp_float("0.7068058541616544142170638752550070753408453695024884094844271727236864964130126847416569106074936324833270264530877145844606334604021999497961466236242982268433171353162898314369836120563796059356499204179541567565805867079812060920211290811584166728862389194532799186366644286633058981483673279335341440788073260498676517617040736931598864584080509867456160661825304722424623348309027158788788406671")),
+ mp_complex(mp_float("7.9597563394129396864027803934788552250678510412577078397364799703487365893368753261971595350483296766525476349831828198093208141608639423571002575703984872907601396407540434384807220126000853389029282992331783253733957324541908507274633931568242188781605250808373671468290613366022408725357171752826902294350172829969096574650780908774034354744800811474157327775970186846729806249463486951896085663599"), mp_float("0.7251675054969139506665668458805100360487813556000590684592379800484942960092615857031851855429924618925741190041846918205814904162650491189488927095894098173977937869045829972023450779864972725388073409288263477659354308103883362520799359394767548221398796761577825379854816226601935131449834884852581165461442186117237610047940259823798979599139240411495633821469258473277060828404421926778102594808")),
+ mp_complex(mp_float("8.1563231318999191284617900781966706761738669707252702476075767664027025473638115138372183353087329875715406624821661232175105783862797466245932411290956616549628205946848468050204670761928302051379935590284070084016733815724375067596649903700183698678571409309316798301122053500002328089065546308890875162000336154717155804361743442548506229610813411071352171553298967063075126318453522944430700876529"), mp_float("0.7430755725900613677761221708440489306033033142506506321531086193957722429895394142681598406356603460661245581473585888405694744033787646389001396582510420750320234168788097577061733594811547868015620140235290007919166394842254388897635282794457084333409586725303350810051744148245235026868813541212243751375766310891290769051382783015249630197695032729991412315616106919825231564399991757816166314667")),
+ mp_complex(mp_float("8.3482628780547471236157221792748501432210191839711987039933534143025247695478488978278059806300395313058929807678338160589733429599067951968159752790224576694426957231198583784967543833209734844322835541109683872343171770905782100795666683305965814309371217207868748442924651819490908353391031630456193122857999854933085322015847323324942482273417768886436630408438155914723152429166491079898929491818"), mp_float("0.7605620961706403610419640840092461551266249257672499387618274245472156463948486454465397680045425287805964742002958663011410615893523888910376808132634979178751550054021875479476740005688809290565069607449522911996343082341279822460220320418200441163048302027846196146750916157035962560537463845065295193452348242132495758137796568395821655714459435354495360412112272342968933386181405033871542243509")),
+ mp_complex(mp_float("8.5358877177624679506221712041220698043844764010567246727840875724932885349306805720047780791130566545047918720455545072945379292328134702943253909560435364214785472103614288254575931402485735540114988150350007587341818138008701585207283548398127335974145896090125229434166200802300462919365610471323698249014276580131370796830427306219412101832216572333575272875857573683955798967732736869859298826728"), mp_float("0.7776555135038323854399395648293040308499010196867375157475883015981878451553225481097085010355233401341823980710067537922503690629092465214513159441995713240708143097310181278267944021408673751715378350235954218661607867042556843508404417352337540325674435559950488668137064346167811517894980666455601322502472374718319956319424178586093208376173018266341952750445662663655094571547488208666389941894")),
+ mp_complex(mp_float("8.7194761986824287559380411557561503037873886553517998627491695914091168932890695555073659557583792249781104500128416515603581463325198347431303171560558806554795488182901274403784175660808372911274246438418672797841428183153856366413247072306909375285852786215134886753903862422636990529252279178514581452624085947641965865579721409924475776686827517210894625095583676717890894582670301328264505586158"), mp_float("0.7943812014608226300504512773438509231618104698004735523613236709888390635401968014685098695560637368151988909065557157426980062607806681489326626657639987220425278418509407419733516510131644299672047861978878453212328694950883864954199644363256625916191992798983642974594589764018870803334052040817788986757885560349242749584846226415775450730766198063751192772907237114669467233271225627317104705826")),
+ mp_complex(mp_float("8.8992781296311108082819341047798674454317968026298219185826048264989401891360826499058496637826504954802464825296364343560137448484392121260324684904559244875142911985178975395596690668472711573574356678867531844319416762342867212759739719679152998325993474737702207350746695592885777513332285071379535187512184808770081072433039339051195184499586214323303742694756379358985764041280363147062855044185"), mp_float("0.8107619186825260024140841648069927543301759591739425951459103663006629764790533963399665411137446289133412513119246494376203913785058943366283058437516885081186021362299136180776965107027008565320231377425582494925156824395088806786504942975454080648592257334676992230512316755217294615125388926029885224196625031057701315823345889813292100856757100453006646655839451292425815760022504386532285751781")),
+ mp_complex(mp_float("9.0755185679757069153484108370012134873803417840930112514990375214790968114957110089286083791753938443278452565451509362014258144312703226974453922211277998588199913570422552805889514130826856265406526204761621134099230868895452988817261658613675356690823414356020660013379654775522865213383955347912545407180657341929841942158058372539575476040080621446797267480646871171732488372690050803717274298251"), mp_float("0.8268181688480253409197756590942383848555170467354679345052130149067050134201471462582461305300925089672167907633830561900366660085244046276811845470224687441330248335999503499727638996165773321984901201529333485702197820243769239437735526567089205025213599293665461363181021268455828193849582243853339405204567426931509270840689340041552391353194396920419199323872954073140865336225476583157436296136")),
+ mp_complex(mp_float("9.2484011227245680067142124078522475525944466097260620849757296389567522485497903758022784310100941807632150928977162653883952574049680549689761122872518412718242367940521109620000797228702207552505039892344141292195802440370256298501740175995436641142317614794628040393901340908378591734371267405315118962096211702011054081431395193581281524843957768687263032285615748859060285645280466251888496383341"), mp_float("0.8425685016000969511650200113900130373431924447446108368434853875149107971339611010736567361820187096587205515953421546305411086051634255971455219887816063794532473307990671443745928503701071491324980097669985484588176015883289357688214009847149060638541227131389247984133313820910019056521452980874982369132122198874594873201041838381770645566815141409615026919322520796809662543695209438479738940003")),
+ mp_complex(mp_float("9.4181107115999795987316739402558201025244059300923747654245283426185506576382887018754020063932044081070513853527906731760646694265195979328078030607678549122278834233691922271746218414148101910839514986532543803493598333036222177044170853833340246215232345761498958033463193419779581887853366032345828915678693249036028444227128232722088070171210576827899270829088982641506063878018975457863525784846"), mp_float("0.8580297637262144619050318687802625280723134502090709114976374157860643906909217174207506689731725990225028977901346657742747507939936378834998040263611164232368339306017769808829220759870842793815675064233904356588997122997669028146915751584058400460983834380619339630495031514038058816257720142554390323529565184700475266736667233406988924016987537771351406086108933858086761628860477332753593508075")),
+ mp_complex(mp_float("9.5848158785182461201467726031818202827167578224313886671438643470105434720139720640026414156957556755942035146182955908259330850657859524700657959526944111491303280423609108658263396858793802188410179035915508510223638409405247198379853837812738917365940726810764198412477436752840952378163188174333731003013826706584086517321534024885359637199954094793356581236929314559771470507898735133617383621242"), mp_float("0.8732173102907971161020167122393384348861762181040310283513009799057291726810694060817101166518805015103439610217862934528756091569712436909495439762322851053526408595233653975627662390941717276831571378825636703342796101694381514605390750153800827505267742978426801731108615970432763110167532273575449548344819498144612473284637102706417773671241041587105798005566577982027881143685045121324484108683")),
+ mp_complex(mp_float("9.7486707542226864479617545792981302849855307201072288241764488940354098349333057703308549732110817474379351871715403079185320023687496096040352279356284321456076495654578912233661757249682237358751645882531626436184015948566590187040396383939451645892824927080588854234345158245399159121263359851570234624939636196203342950580510183258979983150467991074740859420659833024875542117405869594611075223055"), mp_float("0.8881451832571773213219955822115250120273614551132931813087248635762819101109338892363889005304960942773834458038097168071785462564297760749105624264188672373990249917986283763168851139034105080147348238482032677391209859866461374803385406696524729922769944129997571141205923093569327358956900661154242035381535133602252602257548346584279504083224294278852044105079923391819703783393995367200667448675")),
+ mp_complex(mp_float("9.9098167250145421806914710437390666018583712993693172011334929671621371859307737579569734245950995650679092220635868050055350770905583574292239318372393602145372233020824644022229705676681915796360636704350342130329876952130293611199757150889237506102548734414049713958726462659609500554558251782095718731127274357462931395826162388969982081350221896668579065377902985475878304982554076944656220705503"), mp_float("0.9028262635160520869011208999116640894696312882138804711776376678039841086488169331514721572134022011921493412976105715292873850746753712740378771359135448980219496519397409285763169234532599446808571972370849975074072669015986412131313337653521661267695371085823237724883846876717680575003217737954787534018493343604277538287805896486528515358049365637698828063346184397322788555529435866151063284516")),
+ mp_complex(mp_float("10.0683838610036700562172908560084143258260186320937288199477548802988065404663947963242725703769050030067306803598727335222371017382550585439616786660531460433211894600822198041277789845117455472787160355627646079731657012464452396863123024316891890982506603717005688928089564135488431738462766156475917319472354805394408436581881176264545422020636299730004808742287821391195782651257633763326465674245"), mp_float("0.9172724010051685621192403116302594891612226008213479519773022032112598003477388262417662766220313824799338368296092922775596752360892814392211111512824607839058445866911454992143964118107727471055725520553138773335846514946963256644406029152775827536861466799257052145930508865795835588044154770894410605988775868962150974168568478285841896621439784027649750774796312376306359163167798898819813922814")),
+ mp_complex(mp_float("10.2244921449263383188933097687492676073712065412319822350037182035817678012517856584257670034523466114565923740783696992013403812613295369546667462927312752030553136403230044903959395020578073872251099882031500805945876681061788901680428263796529995743029847801493502525260166150995443573989940817587969408248790988315081400555980550637166527416919716495797553309575735247375995127893827648029636530706"), mp_float("0.9314945266598283109916647230576756929959518914424679754813711473671562393986396279532179385043252491428299887688258753253928671103408936386357956684338197537872150946094498149910921058446286442570304357019413164915823639641133164959012631336389891157385729846952815742910086775305361131973269627806572494685136872207400307867635867890778542548875722166882238493371479300200594222659325431415955616823")),
+ mp_complex(mp_float("10.3782525345455734164585286064415342655676227031305107996356921495387148376502655963924233290235567360705508644459405729938477746987786701423580390475482685236736376789152594799190106649022640565339321166579631737863083918956647112570276772319410186316605825088098113759564333572644697687504932652049633021512329660598253619985797063641587775641799613890174531539231276114369914082141630403723756620391"), mp_float("0.9455027492020572820219647015810594321991019162487437417238203563160228910011078782025305891464245280198166925854072362333142677582595997185980050543362761657398228673628988771179525890760920027395479444114970654467590484006478980551438938943588439258962878114058868188400169233728915401409573580835290801346841131443566705745599667760764350098277502996515178771426848272441900289677274937913929184044")),
+ mp_complex(mp_float("10.5297678853782357539378731515252250852896315129182699253036898963289936665126747793215176197844375606829098068611271088052640354994799464180705332501608833115011527124728732926763166637522754345937340494330380418504213170526370782535876719530931494701775305842658183074070079206005797064014865509812664954314196401195431149177078316739796515073425906492911709120664090084296985466961445794185368960361"), mp_float("0.9593064392049493944114439581974079209448002264627136883925200016691316596612555491995392803301048366645113791030277989721052377452300263637699973869393377459305858147245853249352654510246834367945324039019814138270837609034658193503955758030379389546235261554919968278653557489788201365016144195323241246206591003886124311540190388585222916284773258437048646409887420492304702550273250587977457980424")),
+ mp_complex(mp_float("10.6791337555573329699383209257358409345181561631557863022991257917987282269632991798870195965391805945762957790355637212272164938181270545512389621885471093850171494382214770474716028802167253888289228014641038213183300114811440655311687663614983597991192169685242648820896034711462933015998742085655442225014621770524097286919647206861434221399503457187964491233707655230782916849536435776475426053022"), mp_float("0.9729143024190312028969009977683913051962111510087311141750924395607955717748640756079598493364935546960095015743095793251444696542070732039539670125020262097423225634758963416932358128432410278384277652910698993910188189274106568143805931570544896778310708801612390676614780106260753538150466711235862269035950037269241578988015067775950521028108520543607975987007341550910978912027005263838742902137")),
+ mp_complex(mp_float("10.8264391107245087006071288017373755846847231787152987216410059859491730133788039838189700657163907099400572416111763922759503825263553556035940326702470707392521145058350218156964247967348539276908021675868316607040458987572715668830282254041929423932432434222616422740698401682643273696506148600237600148146939893708546288559203650050577261717978881308528722901657883837524505576857039098080891934151"), mp_float("0.9863344439909522600954741788325712629660629789944586687095851464692113648080932467072135343902528248588375233497873817598506583683611792989579488942138973296861739887366671058354150320169345046768443442713206697877942607673797153057238038971410633561836991716566937331641190799691018029051993069932196158528044832994280883489569611536771676138126371561377407910884935252020662880848308701451124466866")),
+ mp_complex(mp_float("10.9717669437227162986451634616376178160513543863016590910747264632847973730883340424559705657212678428250258370322171555564910850378523471780296353955025070187573062438492035738460684484155425431655801205179959630453159127629347092668524110945616376030904664536911709299656438823752231551358412306260152765580469590363037120571114383742729363731759118838503780264269658945834744116578100157463104418025"), mp_float("0.9995744249201115775946990811244371899124522167188439153062702875222738381444618532723620784510238712886877959729868584235833635096805448591411295415608090059930589015606863719968623328478274526774387866659049836455119322683739174607561142544157856208079443355742573228460103609151020378131047774289765286509720540949779722600143522253883567739247208058263203175918252844336273928250610611606000723501")),
+ mp_complex(mp_float("11.1151948213473855832828739182816728567932368898751079851615161850302217215138640871456382014403088703704889762887607573732140275183406417317326949352956603533220707136415532620904010027007428264000360101939131802310247746730888219010664487089924993886603163932118573702878837456076369525082276001396409653480267590888615847261141324092697355848798661357705052987894209583622370069665264570431376925623"), mp_float("1.0126413118700039552862003584205897802525599154757833353361363594586827907987078983087556182210104163324783325331314499577456616263131883982021351088859631302510911094133153956797547090225674162363435450426435557695102577789938938720221247268606553683702104012860773594323116667154892417125665778106726615433442098484358482436590136214393761725158928409737200264666535279538224311513053703039714674193")),
+ mp_complex(mp_float("11.256795368383000102701660955849059854302833275610000365730478098608588036612851184876875529669348807171934692051497513583196286116178909579619161556953029178725921822060880887764506554522392460067452888003530109049144802052729580023800000154511453126538144771756045079325961944001870387657256736611068788024664697340617291814176759132463039866638590845846298564842285729381967811054521684859263529566"), mp_float("1.0255417212660016640324277600197436774078367281661168974513382623915959321439526053950815978605380243144502668743533508268863296415591312362835909936285068316696823550261078904214187231195008939656365158063520571226570762301928787168815015200479819545584933473289748472597659868242427966170452476380623165429172335135630054513617624589916029955112283569952358129112136869180677241423718515165847725828")),
+ mp_complex(mp_float("11.3966366974994068669693722895798720933601860834683540885803623195977972053065936082748618624319692937725613371623121077606192549530162053182907099588496033898258440877033807458863450785145396956587728774643096992518512518869181895483702017196085161959140884395389098883144587374824756181845838442005261543864295234288360768376236655663637766926928397628991225210624621498927246901198533555361555483817"), mp_float("1.0382818584607285171993482711500858791425988192675679861771074004089962778003926556365894102734436237499740749579908794961991287284973903965664277626152664582471276801506353315168093207401783814651872015394355619186527180409477027357547686855874909038667136245004021353202848630686415676337702580439830174762105983590277690986175809577275451468385839312151554899211454489075104263187828141263769329138")),
+ mp_complex(mp_float("11.5347827922302642351124266716672370596360095342198466563726987734900696722101636843698082413145402578668429796057571182079863049202056840570652352974533728970494704440785071821123588432053745586112404512079656677022271327860295828944239524445867117230416794789172588520870140968049814228141586296983658705456852948360604768629638466275219435441642589656730482510368955852277240860868121882442497230256"), mp_float("1.0508675526250180697400934918910301320540417318115654250503862806163137517017719870322682312147041926491113620028571372811084867497670827801843841386329692226893097308396717357336662888014855072741113491906430894771570882899024948735328947562982571524740768497341153131688077768577681181890659043382762320958430715754463609639632709663368112939281792976261553260186138717148066528722870009202345248984")),
+ mp_complex(mp_float("11.6712938491442599447361999023295657909834573708759670875486448341369561337772813453330820092123616957993799977349770509769687955110173448573553972789075646535859381859496583011325985952715790836729926302539898590145016985454483467624782154267505652114156192831485100253557103758817949211434186629300464572307683540060858111267659974101387741957644212010236557085987558880004101371408985059841970871605"), mp_float("1.0633042879211603924399435236281900940749121274261116279462046897985503752224093859163658241735330193302231441795137350134512008780200657671850016128108733278313393435359756105829754586986434903138600566712615831259607740710791153208448467116202399653831284991511935266514965135523649670976907771546858096247122353434132192951655388024831373002191891780494534069612322535646170342135501893375869421105")),
+ mp_complex(mp_float("11.8062265844008711065950070231428507066887805135329002126390278438667375324044974594870078641424220951264539940159886896932972368709501083372551792911252071875032316658319737495577053886032645825022727134995619277029739324187181599596043024013449104401610002539910041243579690133665727102112360790638669774142304677311219191817666675091351052802741694397349206983590406077618563229639566793242096078564"), mp_float("1.0755972314314298171976217969777665334206713003671504227731059411205379827586576470158826318496303178264276309810246060507939885296012815406272728197731016908980681260511825313650261555370154169911267163868768973085167185882558973435476937158237636464829649324960208012145088049707400638700942960230997706986066910934452394056952736630577107826631804093859245191268189577353762089695945258459001326353")),
+ mp_complex(mp_float("11.9396345091194095296041705902182828376017765618865617596047199555231048840053129892957393025724945149788214524747742297139812212412959135356503863555977309361402094611310651577210830189001280083543924488497674880600935986812862760911950897352363283172407876212560507202435920049033613088035757629240353441525259244953644861976171363161051532117201217211235991663955280270094709374195230427844128495399"), mp_float("1.0877512582453709259998502688207650540731720334000886026888569700727414440138923785547777783144886928388611785062770377308722356243975736784233390643841147260966906803568744958035176169797459088082110113932395216489031462155825043781199039092151322332098195142366738069782224339902902697174752327278871748192163279175856415071910389735698469398708860617243450732203887709915591242606632890167153892213")),
+ mp_complex(mp_float("12.0715681773536079149845442218413663358637896128785842343870473496904668567496254286520948358026583186062906237487370887977565579710707998763097433057597386241930322137456898628713914096048784450582231431440311206002710323252834683723504769976039007482370346687182197375989927884961058403793182702219471924818241268779955789613658191947607454109877301942450558019351130460649640110820457801124199661881"), mp_float("1.0997709740513333202255885175671737496703712075961327876304596006222649545855617512845215199554512380069878821927928598608530307567476001582433232099858727527796996496454362840634118189703862449136431355999833657957824427769262660869450158153139826162894957981294074948335176037667335188527093920670482989355377402040341191869273515268569299350532528886290343872172094743794822747126022549631356175792")),
+ mp_complex(mp_float("12.2020754099307848651933214477144624907035253947281523563903223462035897497288345735737103212408605171560597913669174383724660847920999719918152883395106312113462872884928997404417752350088199252096360914811437576583580558585415604280518965548641652474654902978538860426442716567807703329796519639475352716470342796259076445360825380731034533188100492363612431663709770928185732896876290759583989786147"), mp_float("1.1116607355291673264558178031383648688736736589257213307112244752536179432609464485808104735516390724470891343107872042893454468406954438447510644845627398902138671891623156286248855938387846404428591304823137559974974928290876310177319283647073259439728489690863597954155028227833873472527206862034123687132472960659530236784345250453828036504938610889787520566584041349347867610776918746189835247891")),
+ mp_complex(mp_float("12.3312014969660906756189498771363300701259288129680827799676395186090029980663871677363712413467922410176201238636216871845270098732907399586348163830024550290989823920694812826667729638269610070006719856458855056261069920493675064668986901327248854856423486392837387191868454544504788979161689873753491949461615602681405441908526924775042033125277024916350709714154331812080380860373955002517995177788"), mp_float("1.1234246688001292682200266818533507164575899263261477824579805166865477295119481347648756482426916128782940687937895395073881448068845674628606959850421418392709964410654228591661238004934761988433306796893313979450901354511052476917618679796198747518054969508518997312177751761213358742028603974499976492176162931832793164268055784509027527422420188546153369225763361062412883391593612584639651920004")),
+ mp_complex(mp_float("12.4589893814835551315947077466918144236045155236817506860156467570985162647905157098681895292957106936723450755414910080984192427878148969764454558866382942825200076779250565553835366935861796203004099350414544582047183467280014097863635607550814197656390864632783090291045373830040088518665199099931349262517058732278113501406255074671673258299420700052625239772658931102580069657792508405887997061859"), mp_float("1.1350666861555364033797178307297898560622463428435196332042745128209281670706747548759531575592424804786777518366945092126685479299082520712796281812523639113660429907218790653087751149837811991448323928395815492895219554153124329501106920165635712908029160268547789122717243457304212461175544496441839313875275043480781842152684245738608941199459940634209305318175231809396142064031506141145200052493")),
+ mp_complex(mp_float("12.5854798262545875702716135700105179072825232901171610249346936003735081755829934954053407129711312537584133504498409169027963771728188231799520983325664325541514868251027747551597237306396819340983950444534557599664571265580565496078903780396114863728133254646257111160111955169360539673078457695594896649340443506743010545727351470330681777525795374662506010927859776738994728314072042204158082092806"), mp_float("1.1465905012564607026490503895378243614515282510266849399716277540140747504346735328022078457775392280999172960370116153469495940451116017990263889391030759798823057333639318740179955147634659338819656900691423466669808143683704070805507536440969784421076833499071315182413136082244794485055193463618013257485969836202688717710710597857302370776799730034562188468495390470382948953959748623524767403518")),
+ mp_complex(mp_float("12.7107115656914513988698026104276706130852007048387173580166835726634832036597503577497137727194898983286660895166615991985716794845012618334937216026992204351337064686376245882102660197371532244348781590362898566196483932949706819323240887803785648138012508594409355940374237602703501694938711408532366887594812623803641528312119351360347782415702768491950084996034946989169702402620850605943188090215"), mp_float("1.1579996429718675212847872150190562656959834358122228838620531493459760902930034540929663279152910552751657960976027335689514216007615707591618551456181989154072189770362439047740806663743098090259265901923815662225212098676046051414791620171888715939158223074773208841738657173488518843864389957156072743610098029276765314198222751482854945427289287495532769667792417508602588352802524577659480536348")),
+ mp_complex(mp_float("12.8347214444000946492424370975526053479568123982122088236987993767680568786209943026234983664131779967689457202055769569359327760999334398556094563549307709716293587833953397109611345922537647887088267034646860241912325294861280028864935316372422662615710613968010949325571947362999254171765974084773725819085098320470484846031200085232994230258938525237068029881778973355270039390666451091326123513026"), mp_float("1.1692974680013651191048972133014127904182095041716775610438896772907849756609079476632147891026731285634314469689868722871736688062063435436962180006164609424297564235988652335896363597321006282002448580186547543241423370863473811638919702783288879121387702112181329517910138667982711041433279733510398571504055332523482127849829499949792777092299941174817312209014756704012392276691750008556308395382")),
+ mp_complex(mp_float("12.9575445437970567664732493165616150402425655670339854788443445995022424327082722622348599715235360536133492517687476840886701406492542129315132820260585599761562068481648736089708033653029015193440048846261165823557124852412295511632180356862044736523007646769637096155673751012191928840488459573730482182764195806889279379644274720911746571695778382155947894095149974118651070638681754551271568273782"), mp_float("1.1804871724105409866749531895844963560819112307320477479269319319834068028387170144545135030437600999194871717352735658894740187962114891284814536513277826026358335943814956194035949299637353579945705345354036955714917464410934520876853407619526929332812930330644151604846562547023459142404303919406240686474855931345439215477538935511203951511835054228514741222998264184317762555476220951463416619933")),
+ mp_complex(mp_float("13.0792142980236431339070617336342254556810829830276997941237543871136753399336043332610489336375688374671656750192624773405372194987797521146954757340838209832193232274351911605676263491212559366911369657628009196762142274730784549619870608460364062928779179322702330130855793633955485793878418767771872178936128921462948798369582114886713665030241275816341937643375515076836341874005451992396758379237"), mp_float("1.1915718021912339450756769160157763847427157047007103285419855064832585953102952022027648043340956052227983363598335736140470093911710022233989939986459980830637917627764111129600274765197466449508071792968317679818493042426325797431299466544884938874287989198475464461891884646028306205001078061226683480136828340523864124377269339623663176096149297095626789159360855672004200849906838440975657058738")),
+ mp_complex(mp_float("13.1997626002427530063586377352260787307066745446394018431465626183535668272634484960405196752798548641193342354309785228266148637345491256091458658398357019996928296849152790870459048931499012262341451554218186769970040360147138904972738061046105218073073592494787318470375125636684597960861079912216836139503649367321304350158980078874369328752689574823363378466842132288524520830815703298300530151842"), mp_float("1.2025542629456252496571139996118579096188014778701994605293778897922231626562155792836909836608358031021202845263376375602203234434178794378939724782749483320112271935653191217992690761300922880234000540628423793377309582513551099776591956655976076261037901374405239889576784033958995100089246960468573938095191497442407658702178826008167146521977351813178039488896006653496460151333720328241991515292")),
+ mp_complex(mp_float("13.3192199002760123430137529913078525291945281535864356859433890548000942403926413166021734387461234073074128233029503385595323705954538725065539320702683362850052563858705309086069270772591858641446555311469434247029513489972580506259183991900129272141658893463821437419495859599346651562703245518489300577859999304878752195035559631910703129508599903317236204442592873326192310468088166993091701758398"), mp_float("1.2134373287813948035173618550096212517683414709346467018941297836882701580813243012912578028379209667314838370495875990772135415526854347173389098176215006592878511297434682132984777598187668252974758166026697467959304459827586288389100759685516474832389034851025531639168301487549865837644044302018185948410719096614598308027167652025016714783697803368101952430215278370656919019893933534597083477155")),
+ mp_complex(mp_float("13.4376152944281662173780606383710482482459985464882709505094068937825711777685649752259331973037925543189736514844942949752230556197444278368351847926003123764023251709585360302321276798035091032273922755161717457870116282884314860226878670924864098576035692884602535372994737095961831882758927573417316429480879008539824700780875855039741354673444201267297788895747254507078079698233360078107387251901"), mp_float("1.2242236504951036379646146677997841410970551905131509331593567234593193945580231765486179095833993539562578037963042113360511811648116341030486257490311865870183232810109012318561455293728575037250508325627011164650260648229897143360507152767190968713881875045828158033566884509935870107030531136239070257632172124050807289438984997563095850034397814078912774671334347078922992491462576407298460965634")),
+ mp_complex(mp_float("13.5549766082494954755164132644558977030416938652066064991073573785027271198750753048857458793526472941116947120841292493711392309162373014090526524045835398632855820009931572650985737758196058183626381455544955746125971955683776784911051486568879640417413970161270101929452346097997002887950558562054869991601538488038573082823166164522495483981966556517013601450936653326697098652286869226403037112844"), mp_float("1.2349157631122005003793849254347205037660852457780323376947897148433973376533362593420369948841198432164465119150586406165071252451565200627182957226322176572363795471113466316012568817038129499232777822760635398796319112980160794293096614725436728806571583859227200553428076562117807402086794414011429052482409943231139242766557840565297282339807953565020778136469831118869176307584780384170948137189")),
+ mp_complex(mp_float("13.6713304729032214411532923974847170858023227231226433581784414844335764012621689699808781445102811328279667519604238458774349023480275010658042549787413308302858951437814610603929813402191832317604829041884141075227749893286860972746483998142248134939242921098071171184596429959833324974469632101608693242360794705142804053150543424252592947207680891854710467367668582695882232717545574396976553268694"), mp_float("1.2455160928444157755660429114556378689114560510368653854263521222184690677266229081096571243511875378643542900664996628145134258183166150046949965158021882228738407095881257697307464299248387473216150261938410840293145859026280157374666049055062365083836049744803158528540335834501553373904902338547122301826825090196920349894172687966350820259675680422633821155546360550266784078445273950299428368415")),
+ mp_complex(mp_float("13.786702395731672733579429406043441253284320955733545810439405125003477575335825040123474373273705187118694438284031117758018845448307058623339934614294230400284433630206743786232708013187989178889147560166937493720389637466961550191207467213932332075060328685788644386809324523639990433517498989632865828414560993500641699763532885095606682585493789164742905498852338057934682305962833526633908326871"), mp_float("1.2560269635186380721427192691892009789046123829891473679732362334496462896950393143117460425454546621250926403422421454508696490319594990153260613061408254942435669144020139121885216733610503520220525453209606819930384671899833891074556147503283111594487857212076084339632811618424940202148239295813917761668818760200025499261307592223466330636160298894961027801329337824736826676142528554987128335456")),
+ mp_complex(mp_float("13.9011168255509121362171100137829939304445532869131376186575529977285959603057328909654364586143409952039018690331346887634686708084928357476313155325341083472117143418046230756764147228178057645148593099458105399751937340258211114090967831559529057801782860426817722867698016059443724209632681953463207284050204977433317735077428631232141781216358755554261591794528478935615191928785940606804969844758"), mp_float("1.266450602525531198940041441771048200204744024135553167294454981572826990180830121500899262776654708055395294073410694368846603386283546682420882350919126399041585609024208581988232323379738327782988688875235847985095051198620799048905543568881865231410940099666501660890649464981746457618514029935769952553084218905761410953622005504809098914586720725248562325879200887245574029352743954455426845102")),
+ mp_complex(mp_float("14.0145972131472937537900246308180289683196710025551270098918407136053996936970559367376151243755305368990288536898588868098163113351832842814898752618073162184399197275983648340683671478297875832114754902042253279421756557926990973128253164419644345156714160313134680510348643281686797876876291490926886782738386787017378723513159178447291585483373308309519015737753687814097832619041450557698371594785"), mp_float("1.2767891463310266748399354671707863145295285680198687297537633722013313814596009086177450868623349085488583550727680938196810567037942512949415978452478965480685759443431412285289686153039990558236678394647683850523939394799530885835594873117603988097044247879880980526541680268904787928570825062998364424568254158377709374553735649058957320688945219591870798987199690795230770450470314383953560984274")),
+ mp_complex(mp_float("14.127166067399969398097510910383730153786608895138562148136792513927825986457433052813103009589806612160577078029186009764097004139779396899211704591151782368341825135053788340761932762122215286625927247979881570524039749955433326556625628075001036932284851864224843705019479012966937283178004904851874337351803987355404266634069234908313210525681586524184890624363347396225909581702846318679528867727"), mp_float("1.287044645589321692857547803170393792108470175313606367246456123679096586036382576131126003459758898533754346685201998661412126190990456825249706039541674634855250895902665471324383113980626419072351259635085653488349568449650354222037362737608760069147575157092900944574254727105708822438658021383158548529434777705071290010500085011048338602548130665702710912916340078713014244329071599913039026211")),
+ mp_complex(mp_float("14.23884500740977729325109456764778791269087488420771506973216772239830430261773223984935946205224079276839437204741829496962199175750273940165194958472947918002286591762863606329547050695563385177189706861880509509110668197485875404155835514866447973215895595803235317611947129486172440213316561142072563000194956940321297158928629424819122951993379429172859883116102069743772224660485810353005680707"), mp_float("1.297219069892041603862534663691188406928281534678308152233456586081060762366485434143946465781991406261346002099079439100192626205609430938605289350002701612989763417967861788924314417124321370451237020388093199188025091903214209085840790876072652903774761173548318756881970680834767138420062228164781635871460004969232210531735342370126736137081136072481063464934312206788130521603600701845165720285")),
+ mp_complex(mp_float("14.349654810976449577566547585469740863368843959805585908869802248556413223446912372560373235310666214484796189366350904260819775143850174689285108472217439837583790172754815874453840602525710486934632252093288907402034335611016882827050024262748800791390323594426677845882161802144992376144978160313313173287868203904007700753385113504145344099934288943217328274013652220447321304119467585627835788445"), mp_float("1.307314312184718780829834648911289302580611912893255000182030710455885459538085187581518046886674589052253262891015451237740947835834323236815972033278514508393705794872154132044122541055894020499251419414292448181818702163996892996280739665486379520337885734634867730459227619063208374521328651801243011654305585955125431435819821854953929928373804456586811430072479662901382381969528271896337111849")),
+ mp_complex(mp_float("14.459615459732004537362974720942112340969667169522461993105871493015586469021521969393589434662138991787697212605461530419281094005606353528649452030828640233180405376332165458218649998094852748066066367239566998867151271290294425476450372358629329667611127074492824559957108257278529341724181883798446774270393940193576971680303104653262853683530009997887516649811518118528982450530922294737325776818"), mp_float("1.317332192878635753878620502352567503818448652418774607688944587902120199666051297129238235116736641032964820351643911062128560297350314976696612203493096698366531898347539686863666111321497649947048428524763343092419776268309797034645340608981398448719433280374621243578695496345270517405609301630251416890114204627840060109958043644561826024290831247936634542955082176076327029009930952367303418381")),
+ mp_complex(mp_float("14.568746181207976999836978875918563639735065981641550172744192667923344641374830911868068451462540620721037097689501487244434820810658059379163896097493586025965380193590838501980384624216841136300297486235421455997465972106748404225587094170801834708010797116267508039210614294417611363537738468628289640186347414602338346682317388138400374067785526370874895108249872251778196861671321219991017387096"), mp_float("1.327274463683328018946770700239590551014279275359398577852809707132349388509513900280954989111018716306814352620063148895272442293487803168583152617346125335636092031594668495918637240819805811650683969008101130191699727021282579335132123055713644136407064324952673204057140716091486417069579914558460927398128902180259830500079748774353731155490358557106727101788836703097537531926811106365620736773")),
+ mp_complex(mp_float("14.677065488087298068474855571741603326377111321616865346888653529227903507751025912340425714058740626873730441911388703789820734264753034765783908209445759559908252684271020506981456637157274495533840861550989800418795009002198914928308819640629644193858469755685972568046285127828718617193337761296085965633895666880636560793794217558718806162244702686038573548040631254810834728238465057653556287665"), mp_float("1.337142811182596480891993678940510979123791250507804675683248666757104962726915745764746064526670024257251018687220981030518310180125930970320687363613518541922691019874809018679328199550947997583017150263758977051994529509381767347974114147141318273275288285761873032352159039850503562531599108499888864699840628282902950878220355607859714047000318794433670131250807124318157248350676121853835095715")),
+ mp_complex(mp_float("14.784591214867743550921651319179715303005930550110149083108425200330612353621610131368055511681594337292810543117563543438247694977601039048776376412814875441135059061406131404508127543982891069939684357171782635432918619032578607457034194747634227184055416643646737106908028388878349100622428249031680786744459261605698735989526469596838161410767285041592896908671937503073943114950773113525185395881"), mp_float("1.346938860174702844612739041398097214065520582568714234019250813218197601968844469309215213982165317786291801596537964652400575659785528687645343186059993629268148181441625458742742351250980558127776075689541088600858446048899998046336331066805178554508215643737645197929987204680232943933690840313603165676763474976010923324328708999266592615141670538024073655105264968957771066641682252986096798557")),
+ mp_complex(mp_float("14.891340552142566765917882665346549445499503171257684334405872391233205991294864058138533741179918623765734571861595842118072318965796425892401888781237649798244193208429232482071337292423424384278205970793951127144627895493588677364133858224631304724034410029837124650600065129088951634773234322490672052031306020671639927256377667518622224039361209384522648031447343307704573065772805310760584262659"), mp_float("1.356664176795480413851295885203608141930407107607920211417468490830920198603732346298221117710429722850465779830739186881692373973628620133184282395483874600931740441629544362773415256842580384936106754930984637995685277839295681663769512473559301358671622698038572283790258695189502776115217160329511904172339969682312505775026833979454683569241013439203651099862981493736784821820111226227829648158")),
+ mp_complex(mp_float("14.997330078684902683103351616582993119516253095757541339069473761841237528081440217927756882513793093460649975933756490714423211444374911935244669805622961343156826504810774252594568862900817440179468290619641024842733339530203605174563190700233084686437629649397288237157714070077287775226699151911836498940804518217856931908228421610530487561165755446183248467324135311209636814698554505141517107554"), mp_float("1.36632027144135915921143818301650969974158415036013402481287933002201804109249287616431235807514013548659829921043221528201766188292457186963500255091299088805174992797839751860372833841660382292166920299688424427256146660963816250375640888742226489427917021149381225853629698381722612903976499010050207843974423749318776926884151618854286512011746066438326674457186056178167510816113905011587721842")),
+ mp_complex(mp_float("15.102575791505505084325936284012621488739027948140593229921632320448209810699592194486408855565357504510096020539809100283355652607382587815942517999079719064981784190123329706191668476767618320918074053344146911959748551869667859529468453647533783647375990557550853339213434620323264760769414923471387597920853220809161265487282176439681813303095444959500721311343173208679367397688645064498969851137"), mp_float("1.375908601507752843178860467445389233741833901232021927965953304816889700521608239362649414933047073719900755244413938416339512854133922158831666726923691175858766880036718248821594617716159120658358828082970816000376977242044488496660904372916374130529220019888557821889576329869375338206623215634161590898316380344322646125285271742876284493215967604147462616219446856445953874475169834822972088422")),
+ mp_complex(mp_float("15.207093134038120878437441357595413724031689606149097068680412746223677293026714725449973271138098062923376590149897591758522653857666843021852108179114413505461496990874965278486025713199922508219849107726363341167097547698349047051064846648205322261673590012599518611183942943620832302492092532830288792363097472907774426313220589872656015357590678462245180684852242310404518389143471285160870999215"), mp_float("1.385430573956865961918186999661809804312065910301134748773319852258396363161252445035664559084845431917459163609800680561522451543712236658987056736359686940206348939023228403965029698632646083108216719573741681471268272477555645807885208920775394787351847475376828289983511784433877262186045244218452588587152986777379221350957409155770548526062294513599768623856687326465238607727091174754514122336")),
+ mp_complex(mp_float("15.310897022593110678549871232137949638562307288957746848753817220720746231819496166170146060365014628588285805018143030558247801623640613321139409325100769119478470256792114633052178065414333132247589159701398200757333050325920727644537878774152952943393507191424171638983974577054828439798927126262203288085684950960331583936860315030735239697890177543995397516390865769519173688155322498903447659131"), mp_float("1.394887547727730589037161845619053453425218513352042484116928514325632469106885529731682453821414054751150196213211992160097667921388811645164024082566614406174265750962514380158984854865225684863211080632519728851356807327745626842468717375601042755462364028475469399545006951404640268368911002263413942748425412584762859860348691916153582953831039867451257764065472163236408565261088788981135689386")),
+ mp_complex(mp_float("15.414001871207613344523687346420412587657411016210103474959549398261253747582983959670464051683490301272025154829527108980658762341613424948293520478753068786373727990086851603333466204783701258750839982057356882032633740061709383083623362665906106857052935799104673398983556818063098622395211234219186493682701950335175680238565865596880254140659628114543838714269291476510047607546744375314749397224"), mp_float("1.40428083600016158527503335231668839557198740790768472807247564585818466188993516845609456030336451609786758599223692438423518100860570932857586998130267729908874555133177857395765475061684524855416334961166424743136266931388155961470233497452484343975687118856487466402221897015166984275357549681249706152202036647909914553350697306362844092780252356826917115322042013280161042394920157307995649")),
+ mp_complex(mp_float("15.516421615009468080331414372727388127407918687387503786893928058717212038031586770116695067743001964107561026215196332651573132761048175226287786027445015038562272879552590202736904758689490762805336146791327380860985747892823421387361747392365843366907022230106431004243222142561690485721300123683399450170018181320970631732076938108201890922344578390324777406507453675768420671261761108455255766485"), mp_float("1.413611708323308828434127750510014150681690739004976818968854345447372992826025369483313821214987264966654052906175429168921266920804399899592293247248596453686634270632579662873967224112759211871299840835908313513161173415962412184042258162316833345772477838906559837273328857326611796296734655867068288157614652099735303523408147386319772916816101973491232132365060944484924669661805431757757681334")),
+ mp_complex(mp_float("15.618169732202114013249043442296721719272267845573486001638895374220597270519273019841797287719769549701862730188471269069255640344967054404695526723647042943443769430174852379649023589769795687593900908797524268492302304054480947864118574639898320444954867894861170801999734037917054951360320350705021368332256452600701525357863104277721058006516470124880696140496228865136511516626619711631787905232"), mp_float("1.422881392618574652887578663864633430895594983222115420469017994599421403826286923600197577061539884488965762650522747960078758697972623946333210295064463449866670337418812557885391814133638157909208946720233319258417905803411796708964728819484945987417141474325042142503528923940731949522472001942119435348749202035878495065841320312661366782216846119301173798508677870854294369440737940046889989755")),
+ mp_complex(mp_float("15.719259264768663959432801382107681838205685180362196660928265160223455242729303810848440014521645876614876779128253870126810394580321260767844564343269863005918106310564681404253562988944489780046238068023021038093081753712335747493125658310720925467500979505621750492917061570362098912441564610739840642758241412759697548975180708837355380998029339435224035669788935095281911360904182186497341316657"), mp_float("1.432091077065842634230131355180452205902075876578682301328904282393769557463408093163431214527700112078087924113307639626848398388163272038806673979806377022584163402678970646373762214508931599546099980889555601632060325598251595498638037192930204457570262967255608505743732678022225341374292684077645091579450984266034787468539010532620563057152124968802671747489332240088893489770914957418027790851")),
+ mp_complex(mp_float("15.819702837985190861450808431675259066058086482834247530858082187064931932710154731326406940753912506356729321199601968923589220077495293139037714893799381806245752393745596022814499273084465799637042732858322558029609915835976006859804917712491543243241402519844421591167197645868866639013525120957549556411290712697478003925114021675097330938081890154224145953776320527029201394959903931189228533262"), mp_float("1.44124191188122060634582814404090076941103867141048205940870769266767723658715551257892167102279955413480755788008385341645833233721636865955446848803360643179692951515069628808529852646190491791148769302024491635309703756236291398837139511953150526114356642719345939242341729620662395731899068927064506167671718094547729199625377964536632633748669647182543286374570079612348196635311190446314755851")),
+ mp_complex(mp_float("15.91951267882587937280556078695771045013570208251541567947295994069747317867375065239431907009665935330509526996636563961864162832172788471420051514079697458152027928150808687696144402520017067780585659846635665074679146490838170145492678631364843775632105016167473429365812267320448174507143435056538045887003456599381931493015618175480687094896016229483146555519403736934596124989269739037921713272"), mp_float("1.450335010993827901333133691761020072097562711200118136918475960096988592018523171406370371085984923785148238008369383641162980832530098237897785419178819634795587573809165994404690155972994545077614681857652695531870861620776672504159871878953509644279759352315565075970963245320387026289966976970516233092288437223447522009588051964759795919827848082299126764293851694655412165680884385355620518962")),
+ mp_complex(mp_float("16.018700633335999454907481388603761401777234244733679453448688687698092340444948769830529394808770891864443668553345581840824740727190581826858443282820664077525724157332215571207404320325088083243384202196155731977495017221716098296753149542247539698678825452786397323134405206719439952399811312848316333752193265578614593037947081029215133209925518578194673685056148284617437527430465366471313907953"), mp_float("1.459371453628546804345351496652586957794316726513096671262638659341193357662296113411939774004740332044014252361464368987716704481310609805930950518753039314613483845213844512539853719264861541757641647936604849086528228391115985221570889735581734516746606320241858601492217015939113030722570006685379340355392505590386236848202260166392578154216278081541196398051101232636646836804050789575811435321")),
+ mp_complex(mp_float("16.117278183042581403052673949854040265125727833102649831700908356145482408257185114360611339485295838381899330510143579136211949157085823068447905252730696440923071381081633772805780676181580059444525694153761692112787632789701695090402263559680109334008862078330373698797986618063317789731787615214659536895163740521872209073904843936180493990456595234000608300759643165641404514449135012152327895553"), mp_float("1.468352285801104534075782153340620216338534839561809468601110747940536373746952794130731949028759808130369326855748296594544582588524118900149119084961166672016154145492200796901471744028261110784904167604329649441537921132359345983974772016092764931860783960988397709062809230805802961501437646450938027482522815798976355254178632275629533098191468035859984520651555685228965737247929573395842259342")),
+ mp_complex(mp_float("16.215256460467148535014099142387606066938847752169064186361781357455096485852578138220814942961531999262789614110395895294641874894949683254937537586740415792958923465554985712704465349307976357453155125195967776066123555047077418256194672609314835893562598499468775439103429332413657972219223819967251008969195999535807810696606188104033699272171449802450074186636350537881396482377282599637148166086"), mp_float("1.47727852173134887426477731379704422342492913237436665440696358166857703728704879465115960712495500378782127546884650606077557726554327901597067685173358206678162423292183231941888376524005329015637779011933056863900195987456799748615034998755287861751045830293706664078773253443338962780393710869520092903786064649887414476992401992545617265164674232990949771832142614446410177171108834489646698118")),
+ mp_complex(mp_float("16.312646263799838256923580156393341352347733941450540495215153532805405094727623027674436670617465975143081324964332246435021156772559493249186482258191323309925641189369693610040934152385660410275987118056814016803346763144875013519329980740036739735714281861863359660224410700000465617813109261778175032400067230943431160872348688509701245922162682214270434310659793412615025263690704588886140175306"), mp_float("1.486151145180122735552244341688097861206606628501301264306217238791544485979078828536319681271320692132249116294717177681138948806757529277800279316502084150064046833757619515412346718962309573603124028047058001583833278968450877779527056558891416866681917345060670162010348829649047005373762708242448750275153262178258153810276556603049926039539006545998282463123221383965046312879998351563233262933")),
+ mp_complex(mp_float("16.409458070789664147919644414372869909462126595621500848231848699189572719454219851964801591795524098644664458125730954633152277664604915399568649672661054805822956702454998766589175520612416322411803337878014212857586454911202170910642090398931814153307343344226393242467269730486473119390386437680258197827186108320791737731680132365307098354962769147611145175895910966955193667085722002532411478747"), mp_float("1.494971110714725845146069193255105199562894203989849273229286628938663171972004100215017732316899980199031052149477041731216279753519286290970488473776505432736267056480421847050691820391386375071843436529719445489053097409576818710299606766673100040738084974541486688402222734531826337401664355118047812282378209279132282883681295064700881221229241374761626990375054407554286184542656074426072394486")),
+ mp_complex(mp_float("16.50570205190149645652463151302033532668476311871631846917876391863678839639387659113970069428410813433992570501671448737071818403346065471894380457388232130137418703656997913447683628958679938932960395965242506249270401052941511104865152609741197820159769420790352081712009837192165420080375880146079841517055470527048363896215667225182272040233246402292099894329757768376137652755928952408716869786"), mp_float("1.503739344907571378958800616492349996346623359576610322696364787065444785779018572959650787219764950883576348482844682552064329976132535869344974180351299128825385588967144314579468527355709337763849944387224852862789922040480690547451721313296714633685861713981344095691119979615182811617385846591051887205839511692811755064921422581801442343950306569196941944854268995423551307889279725909425180864")),
+ mp_complex(mp_float("16.601388082786526272555189218855254262579035746558678918546767662325537092838192196207490501607196611904687826633631516405048516480358287802829793314458664219190140145152500610470376863363105093797815804670101050715797835909734242931346525737308347909801890975220837058779656235302554588127603569849917905815810916751753428614159589460017234819826561421705418640504171351700725433562123505598220746481"), mp_float("1.5124567474722980497573157226344339848637897392605253789792360858457489963370556731568523949326991892694849467292236739922002140955669738935299356553878274408116736697728588515193941282493543296839528480141758841622788021649187508628665782670939023349951672588004684952577883683951915367177007381416147537818693554698554403173927961563131073981180008497982332850126216706167008457825715547966512046")),
+ mp_complex(mp_float("16.696525756109494247231444358549700286442038367942397407986706828605049539095697795655611961260079062611785961535667632117946685919813590393631950558044915338885391446239716756993508766641946968864567108221936774468634354181156420159133336661193162861874243441573749688584930363898181670678206326091238624571599970986617064403169464664988496454683553777287326081687631182944630485833298215979785898364"), mp_float("1.521124192341280722083928168018492310253249851534499877523654849094431292789697290893079536009085057561192948400591732602282123178704777782075361626526995835750310010804375095895348001137761858113013921489904582399268616468255964492044064083640088232609660405569239229350183231407192512107492769013059038690469648426499151627559313679164331142891887070899072082422454468593786677236281006774308448702")),
+ mp_complex(mp_float("16.791124392772776509134550892497809620885734238717432560007725562021811441426398733520113832480673017454475972800280522348037205797236740417035557914226695204038399267776423699823886812628608574122037275272369647256936614090303516553076912189774412766614056781566139300165936241689613295674716642546889087028575613387636826339494900960967919207450558490882821447990455501002385180943878750582466087107"), mp_float("1.529742528688192163908987751139835188682465569037423531591835622097128047714283729138375760924626467060034317385315244637209416240916627070050107259709983786556495345152362220115420789630761530222608274334541211995051915564687508880161283022322747516272285373018367883526995081919482977242671528368781156291148945842637383174358905982273664149725388974690738830585922679028423810621332767358690703634")),
+ mp_complex(mp_float("16.885193052574500154052491433773589781454249913415000548595717147912882054919276777315313294504023210757902038077246270374794429174268364369428742335429543768088882733091321331646759831783588690101179332005295163573717203079094370035700000231767179689807217157634067618988942916002805581485885104916603182036997046010925937721265138698694559799957886268769447847263428594072951716581782527288895294349"), mp_float("1.538312581899002496048641640029615516111755092249175346177007393587393898215928908092622396790807036471675400311530026240329494462338696854425386490442760247504523532539161835632128084679251340948454773709528085683985614345289318075322252280071972931837740020993462270889648980236364194925567871457093474814375850270344508177042643688487404493266842535492853719366820530377101586213557777274877158874")),
+ mp_complex(mp_float("16.978740544335183131887407943608991580580985508681019231666429585220114488787557581085303644475998167030296114699949333887506050614528938545510767517756220141438740262165816811244526484848944880723909683493368537144869605805989898199477608861520723828582648559941200810108153631049629107201779576826937364492948525044436948922834692120284402439606161786735148861941691686405526140411576765135760599675"), mp_float("1.546835154494558963795852636550424438860929333280761699663069613447440318923838466463259383087594542272982984081248513194093686698974257059052523285671101537694540676668173537077221754980046395896920691713393773160794943231747983831837953167933878265061879900596206159377576191957950590302635885980235925758077047902332924455724730181248203616098412211420940641563954693126594491877631974645546223504")),
+ mp_complex(mp_float("17.071775435524935901244342408244139608768952802113449345568175144986577069861361144009556158226113309009583744091109014589075858465626940588650781912087072842957094420722857650915186280497147108022997630070001517468363627601740317041456709679625467194829179218025045886833240160460092583873122094264739649802855316026274159366085461243882420366443314466715054575171514736791159793546547373971859765346"), mp_float("1.555311027007664770879879129658608061699802039373475031495176603196375690310645096219417002071046680268364796142013507584500738125818493042902631888399142648141628619462036255653588804281734750343075670047190843732321573408511368701680883470467508065134887111990097733627412869233562303578996133291120264500494474943663991263884835717218641675234603653268390550089132532731018914309497641733277988379")),
+ mp_complex(mp_float("17.164306061421004588681496957314089408374086877512669465139849447927735706994094859225922122315168882377529890233697875547965318549342125231255641328261384681718127219888869806668443302817858379554473634314179799701177671263152608704910481659339207834968772925203894873323020402723092368697897604564375612022618544632508325045060215258257809740708112905609451887652276075381055703621935929249275552634"), mp_float("1.563740958817370035885629366846832757950670821243966068359604108892504226935582966702261847398656035987805456175101970933578903994577552999417429603261571624056967999170439110213935068288651687704300226164989263404861971493160213669830588276649614889841701176979077618217823159252274446515090048201722860095963050105118156558024212452653672210716494603497758002343671732055228397494778570491612828728")),
+ mp_complex(mp_float("17.256340533823359358210749067238182167627754173967969131970897162295497467543818253007824561147823423964437785481143529895099441375380314630939680697444898067412834285209654641807744657440864111549781344906452070479176392101892174156709592514531537305114614668085214959658664986551433739009164487086522756478819176030383186816462170067113851808872188889335249952607035307973726756163209551788137913295"), mp_float("1.57212568894299879601427479688377951219733431887333514898250163979060606473763791111810444656014695196664733643760124974316727712392047881170774326165045717197709212810186858302136933296647394196655919404160602071471350900074250505935219227591582988937778273209168821873753677621423753661050796178180284570156698776677545038850091693124015086427985017502221377563694488013883251751749495145815961532")),
+ mp_complex(mp_float("17.347886749354120887277530736379247103216991008429397668347881479161298867778834347294755384729228068225769961294997717181879322772437853047244101230845194966705709255529583056269889567242476519972686385648333868621594923394855516147800731649283716558066419560113848484763540888033665154503442421755054078897161190968343232651275648124843258644818306896926809616466358715769042704657614044244829447251"), mp_float("1.580465936800261900243149997387915988136685330968399032305149165686942241059156079773599440105196185414543613410349792347509351269433325774887062270306181002223129960366483295424322184486002552553483676705048510133923751623490945806134709198438551048948092515399147089832104880942736399765226403555234103160896549285342207547636402884914119704931996960999002444769562951011584965735265147253858436463")),
+ mp_complex(mp_float("17.438952397364857511876082311512300607574777310703599725498339182818233786578139111014731911516758449956220900025683303120716292665039669486260634312111761310959097636580254880756835132161674582254849287683734559568285636630771273282649414461381875057170557243026977350780772484527398105850455835702916290524817189528393173115944281984895155337365503442178925019116735343578178916534060265652901117232"), mp_float("1.588762402921645260100902554687701846323620939600947104722647341977678127080393602937019739112127473630397781813111431485396012521561336297865325331527997444085055683701881483946703302026328859934409572395775690642465738990176772990839928872651325183238398559796728594918917952803774160666810408163557797351577112069848549916969245283155090146153239612750238554581447422933893446654245125463420941165")),
+ mp_complex(mp_float("17.529544967474162455115012468606804898664861813211567846737098466217355052566598187274423464321115083270846212046029465176388588580332807700354894961764769222635184678845725120790091233763460688759060999390340904160137322748841016491835904923556378499604723427277548066453277404442468679485934083656975074253599507943828064736664645561464902289160030797408728287307628308941683882321285951561478980499"), mp_float("1.597015769643115050587294901611689155818523617537895611919502240009177946556762807725320943075892940098987588074729527688893519889593684147112790224263669294261382196793573040367265225305691178077178693264264384162484894029154691677118298915284385947478107548007006423122760959873575534963956903048569395910519339514460488280401669495532422837169282690936648902434901160626216969254652574343731119678")),
+ mp_complex(mp_float("17.619671756756422598380258998014725070195532606164025434908571040522911445816190893567476998159583755261778690629777283663914928041946352451932937665593005575812081555143884657223613222895554707737753062234838063953039977181279169451046529255456080921938655650475995562415673723710475554230984077383285530907662090944021476401829205846295448853611352452750841529900368743459261963970085908582131492993"), mp_float("1.605226701759044983708670545352954106032139551437358915960278855619704650608542945923090984088554919339884214451816261485729431663156242518636944514744306371835228026709504623625193720668852307434751966096799285333773140115718569912771055101735769818950756689869984125537839051514271227907727084906521856048035777068376420479499483700022331908751962204838706385589354665853612853554364807293467436492")),
+ mp_complex(mp_float("17.709339876601306659892510534714276060033170770299350318958541765800106298606746189230511796213633142689680991023983034539945855306425162505882768936687810781254847498747960624336558082904896873753409070249342891554460898628077239939406453602017365660241500380986506186536953520049859065316854118595800466121345701596682878772650001263702657920411254159602381047538560911642784484445935018986314411785"), mp_float("1.613395847147144725796432695466649800131006950550725634159658911680806974137986470523823947774445476739641446471536909076190982794401922310940909229659652536347102189076773797047539233305523125486690074580315345962775077882383846015321540573735645469724447398744031201821763207456110095805141444034649656047910036640167859108542910494586566173994770614078886778690228436603064313454391788768850198953")),
+ mp_complex(mp_float("17.798556259262221616563868209559734890863593605259643837165209652997880378272165299811699327565300990960492965059272868712027489696878424252064936980911848975028582397035795079119338133694542314714871335773506368863883352468573442551947943935830599665198694947540441470149339118577155502666457014275907037502436961754016214486607867810239036899917242864660748538951275871797152808256072629412571008837"), mp_float("1.621523837365052004828168329613985508660351918347885190291820732601325952958106792679933082227489257826682502623849298875240782757011788673256611687503377016237204272459827236155393021405401713064046275485116498985031364879017761357300988595090816129718451466935398446102463351043458923025077785205977044839325006211540263164669177962658420171351420090601329331167890258485163152004500877306457150356")),
+ mp_complex(mp_float("17.887327664110802874629942776617108102722847111436804461021380132257405937250796230515991147214293833592468630882014565953550266624185407080490973469462114876925390583878388993209710801255951110024702430213236491859011650732098852574408969140779687735914899240908541453609423413698164086017960809896246545506168827508097264558472259743893186502548938175375000148373205440006926992785109974168546064951"), mp_float("1.629611288220143147558582369803702521024571929635327097198679605707661591694799457527810549054903929567360629262065262192809216126104145886542755555735420842234908084719159597494413661072760516448778266881079449253388804382205451175592375695960232845518290798623506468561344117367965140479076061041715742711404399104241852281487318335469939790732026004958000942845868444306121516638355337838633536777")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02105_z_sqrt(const bool b_write_output)
+ {
+ return TestCase_case_02105_z_sqrt().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02106_z_rootn.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02106_z_rootn.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,161 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02106_z_rootn : public TestCaseImag
+ {
+ public:
+ TestCase_case_02106_z_rootn() { }
+ virtual ~TestCase_case_02106_z_rootn() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02106_z_rootn");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const boost::int32_t k_plus_one = static_cast<boost::int32_t>(k + 1);
+ const mp_float x = boost::multiprecision::googol() * (k_plus_one * boost::multiprecision::pi());
+ const mp_float y = boost::multiprecision::googol() * (k_plus_one * boost::multiprecision::euler_gamma());
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::rootn(mp_complex(x, y), k_plus_one);
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 101u> a =
+ {{
+ mp_complex(mp_float("3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094e100"), mp_float("5.7721566490153286060651209008240243104215933593992359880576723488486772677766467093694706329174674951463144724980708248096050401448654283622417399764492353625350033374293733773767394279259525824709491600873520394816567085323315177661152862119950150798479374508570574002992135478614669402960432542151905877553526733139925401296742051375413954911168510280798423487758720503843109399736137255306088933127e99")),
+ mp_complex(mp_float("2.5170959652509175140543227140021035814565046580234322049869387200747016351165986990810681425942262507516826700899681833805592754345637646359904196665132865108302973650205549510319447461279363868196790088906911519932914253116113099215780756079222972745626650929251422232022391033872107934615691539118979329868088701348602109145470294066136355505159074932501202185571955347798945662814408440831616418561e50"), mp_float("2.293181002512921405298100779075648722903056502053369879943255508028149500869347065604415691555078456199834592074023230693899188090223203598052777878206151959764611466727863748035991029526931867763931380138284693333961628736740814161101507288193956884215366699814263036482627216448958897011038692723602651497193967240537743542142119571460474155359946006912437693699078094076589790791949724704953480704e49")),
+ mp_complex(mp_float("4.5676877571349012822944124125988156781931086105768420229537579897129604799416650602669847449749001171331380570941330512994161370397400289282802889821835607859280117290493064055479064097139284620110837242336973560258561496576939626750510467425745900601589826809580442292531765912292619053751950296319478398293626871870490595041500607573517174059421386954637744862538209743447097911860406298064056171385e33"), mp_float("2.769988744247083190031371182949975288744721796515523810949622370426608723388448717796877625781551627922433840191642180761395698933405390211617372985569598273883394760851411235704888930997689977580584055254387752373773386832689523753394757162321981956823980258382680186457043516517499600880732905146550808980149381666037538820416548202322415342502132732006196792828930803229723340813378049737231547176e32")),
+ mp_complex(mp_float("1.8886721189201865653450549291355012170977016731450494596319683521348119435395343793280830270627346573760602133375616938821064192212389896386944143050164413349423189731171341455229980743703807126788930625467109680391196702369380388503279768207521865580619179044138896114460381817884670941035265860250109626120264865257931682133461687813073390151427509457967806373308511557332159532236835910979780747298e25"), mp_float("8.58552324207617539703917356994363879622829734123305522626533015286083161290019570545152766610868427601864028161421048905509709710095406738633313904776859801166968764466299487915610416966897660567172343355658501388104928712139623074118587986644068708044128500809697163933090690479909357703639990256520741459824387857974236767565604412068415381416547867041464909521525831923645770150873917504639385779e23")),
+ mp_complex(mp_float("1.7393180923477741218768419582810439211807533736423571319986591576153333179480350438625436991071742883543610246943359080113225988692486159415146518418322594874986203090284810412047274052338201063605383582384064593923175229435040216672511331808601505688172380588279902791031282489443999958959258037699949966506787446491013709278544033731629615206213956165851391330484841388079561809443730893901578990663e20"), mp_float("6.32370455020924293814209124649068189496753321529119630923478053845977733279405374459670213105053612426380877949803850993960548419747396090332473453008211156659590150423694774808000019991738042029769959572713817183596567114986576189366900568882149173840395046044541393671660498580412042934729515658202297131784029549404924233694728473883642890344315067016971122554175376792344352667434540245982641884e18")),
+ mp_complex(mp_float("7.5896061571057829941600725311640730814170436602552880842229193540783955831783481242194575325167685761948333931338904183588624792140475767600548998881507971823209483907500940313710019274815214304546288339085986385735328512247108465972916968150242767235556697884928079487965894819556626087767608781063360308133870281653176822404060446621690682530075401112434814852585887258549932390036826880481289001096e16"), mp_float("2.299175381835378965047524215946861591363972119249677776833683057146756035615907652228376132114837741791644971939754659702197285658577448041491534795588620800409206185276188014669958560515850990771034452383067690613439630387787213984161992925080690862685774282726559427053436770461308611109534114218661766679422811267316171635103117271257439941736555306211272595303758350090170388082722739328311622468e15")),
+ mp_complex(mp_float("3.0084830690884151571820832298669098243985453791913672960777119059395854659296448372796648460537232124600970221159652531667922201958623671465320053367374033406797383096346458916327614345042602823578679641569626277469474043934412902423713626005808116971408114222923809859718406522771241135486972729926060582151685783011142356616581885577339787655154253095229052414684203482304576086388500691830871153456e14"), mp_float("7.81121163872024307858991260172159703270612882524710519983225873566191283191836852742366108907760587835205278740246229825194878009615147929493071620983131109950729054447716912849069801225274767237797578877814035920108043236090878660661643643467733997544505784790762556254053456014902571240323283181026694037387911556267690454339914786659959941006273778876964537541884741397068189549206782757197757255e12")),
+ mp_complex(mp_float("4.7404451627409658359402206126052626416496283336081840641184243568204787587220112093776617855123067493374295060700546331749979975327308219813444054010095331707893105402345608948544236206061150674271243332635653946640965665251678225826870930325412492891088997793445970208643037697256639878238104214096654722028200180771338511943684495625073087684581172368156282221386336755149837429411300586829952686787e12"), mp_float("1.076899423470466630051757909858149775666279543843897431580430528975015962498525528569824079307982219195084604183790334890528873381466623124516255725301475346032248838670819343757960197936807567852383243242435247243468915740190827053847982378648863956871196914566660583348584649291981616870793779920763725623993282114013536381481553605903469223278660063457290724039154623351348333647996481629226930057e11")),
+ mp_complex(mp_float("1.8753807765687219113059473540228856662210985550647548297725895403769633029292452728115359847441238051332490902550264328792675041511603270293016243634405729592465640213531331608527490222246937162971450787079880962354676909331710003303468492447074326709518009923658448469542310327360641129586852802761988582110813807400841952832986302825713394848454360088654110693349398085345091710201221803717995614781e11"), mp_float("3.7868428020705860652183020668329546406384038487260849711415848324099930894960607816405734033309115502766825931816882119541668947799390481981261328532467125102949122357162128712952490279920348942682680283068141119711031529106450085543304868770936400019525870107873120741046908937072566080678846671172314092571887268333151655258502357162681770579224192888237688480909846851810915738428538959582285652e9")),
+ mp_complex(mp_float("1.41372269772882738188317142521094372398394486420397133909438167787258206810227381286051264572027008012705049231088708618265449690290810587117767033514495227853911258306556869143988016474707703376799807810112633659604083757058900380226658080089279447474020561801434367525248780986199321524707660733566719486551315080689181047022934730193502623403774084160264011661421946384843770398564425110228209167412e10"), mp_float("2.569113810644203565155359212044008576180879429448389863810864687231708004589782440890998123493258844866456276722596579400258133371275187261772679105384879178368188360669677544113770115360690483318404559825381353200903006824303801630371244056577109820807128763889112096140022453924249086520443092738193111260429714657978283160758533632256983408740001922040186090569791349080519702221955726320077073892e8")),
+ mp_complex(mp_float("1.703620054241587165166792966326381364364257156513890218045969084311628994778444213624385062416242594665670284832309152146513372790933787803585646875862242785840376843644705081548982009412130595472240640235889287217031336542523399003821423874424870828503122656689540834735414023922431983938068371496481069904214402946646464061198525418642466691621534427229804254720475821723923792018815778795019881594e9"), mp_float("2.8144327445963105217323703455278604492872581334218329294166754203624308794402777567785139420517504879587372914078992598125511109280002792500219181351925768410064918448601699379149300628593983557197318866969321786682279643586580481047284821110920380894173192602779597320071121129523049399752432181620208516019751481718791174468267242620235820174652621533873690607657399013793303487378059308517997616e7")),
+ mp_complex(mp_float("2.9190750125820318935026576246580725030457081611405712032264224907979713936296085459510857866777712428595285316021780314862893195345330739810247271782146656584433196645638993540443790065944026180970040867440859227039976832098650077398621907386107574632060188128582265740707971403095286211179151907223898714205445931047591852423713333056199317967578903542841840417640940255329302675266364742240929456063e8"), mp_float("4.42047069258878851518233272420961050336329957107536888317118637495855351655894388979375805007222533671250230297378422757520908461996777648626293326350410949545330261329364420807475669912319378550102755209436530910371189050435709640672156733379414901044428405558630369723801086158446069117079406410886412558772795065982380416977382207498321773964679315091880658236409323819967863625065005067142641987e6")),
+ mp_complex(mp_float("6.5576779921017183963123314893982630088263536726892208101907317812236479561201885528332351639431384505447402703917817104911401018662374247971695478876571644908246339140010248984438772790722395327998090599263952435375857265516523510520273436799334345737862903079534222536497525655538686255967531165822016035179732426065240152644087617936253557155891244374865706729072974472632708024897728010572745108161e7"), mp_float("916655.884134328291725401981394883155794736327963635734315725498446242880726134417951078919566111123101970685154465695370574049195450122525937697188615211990537589841468215970094277126445043206157442894207431824433818313488067975944017442808268111009253429383484232929898428240235403180223739639589055866107774149782613489272874104692368778637892318236731600214440525493779355721011094666715479450762")),
+ mp_complex(mp_float("1.8226887598147765088089045919247650165172518331569770297139864479796209909157224002818646377348792895496753874857407413002014725328368941377581078743994305891915361796632191844472470642983521199674916518032866677051378963460293142915423428020400469685605349291460404381097163168420259762309800128567491832960497789744159546258260676824707199989272784540225244835156875687909694409919932558892000865724e7"), mp_float("236581.171989952462058422629527049532687094692501065511470595071264607096909765820043022949938129704667556410481167469638804227046160242505673147353750493746593736473629763720319105568983919217341082436514223038928108760135580350830016622166129260844498973360285918816560263346434722327235147102983742253266922797375123247394166532188175069695989606392761319210622617191929720873942588972392380850185")),
+ mp_complex(mp_float("6.0070996836897464243039206593813441632358567141203379012208610728170917385614423817843290331877071352757178049235447102607302862817322978306869355833171317618173526639603714913064825082120314656750771527991303994546850869558692188657311682528297026663205422091152655730064891636789579044509803704332269024339419645000565753254723911460692853185314664001187015647810937205265201565712649374266591829233e6"), mp_float("72772.3057622220480146785541839431418451144504286715916992802191297844495533695963730167077423441957140191826854565769880795836622132476886168469900249541957115975000783693532245678692280940459745170767077622017183235514893156292716716156826332864169266303457774746587926943776842714189007759363683540231924179041890277079094807468061150798279173409784797724467265735330727853088233885210109442080533")),
+ mp_complex(mp_float("2.2737983596657355962308409426935158927163816550281208455817401316211994670412650108482215511713487111185567634142121976312313946713724256533652209505224804413688038936578212508396662905733073655058031947314484745263484837663340197765380583471262075907439107222495490861921293557389600773705671142743260215851355201123594887088998582478028672862563969002077486498653693757809192945358421703937113835775e6"), mp_float("25823.9070233550080725233419318852239206750153712574980800287929625895891344169904755668487200735706562331787084770050073209192208665437179399890624608441617716500449060691399363811806126514889856188438954735197376020886317292424657489178616156069765260647529686555690784957190205230975252554918447404890675846865763282396379093068681392447644215078147642836447768947275129412776685885989060493844653")),
+ mp_complex(mp_float("964663.11998837170922990972251947229785514857071976755368157898334054718283983165937279949789991802567544994988673860649966948758679909981067188905719775502709114876861486152809068122830012271487221804120806464185952545632496083795908011282703378210858114305028166074680448787411900207908184328563807388258188099012351492596412069239532180898266106487225554693341687937452911605835532402561184298394312"), mp_float("10311.32807697840195180566480666520302148492339087657551024602680935777773071059790278612797848188940545650938746175255011965297640834327168120941861403969467676669593810369923137622353700918507294956820262708226607538828334027482427047461042548462781620869932832267309652712434064917967027122174279230977037083308542557707084210190414743311242258301253060204281929161440111744599936621694773024477035")),
+ mp_complex(mp_float("450081.07257297380475207168734641266297421461412533207372020544452940960376954067252276970723014202549536765583238675884553783435531876768865887219042698004654607011791572209218819929689203615986793187667906757747891318138916943353231029170315814990855890807325018896957851334194988789992856224927389694206883503912238364529454170406027033806421084535484195298788011244095838120525410640495260443553307"), mp_float("4543.6441313219544911307536096884600293094241640367637868133171466887241964772452614863049495746227004543075045056745599201794853415801084206627004544001255939353972032191767944209474261541900090350763566231939656736482454689426509532218038246395089815416387698180957786193247201621265349308058898041327377903129443369624291817867070879949255411883498336986106337008590914119125523484362986432311081")),
+ mp_complex(mp_float("227502.45206576547919238745241940119056891643070422417523980154012044502982053157565816252539630562976842962607585487122125619719859349215735054873062329258114360953134416910548440397254926326833611065809501756166511859514742396351077960635192853484856909707343992301809524209276298475769672198203912489547941291392442268071243935852131094838218500612024947839958328689640435984104847077264746539691936"), mp_float("2175.79028517679813727601705938210669843133614667601115936188715614978515787663441647430139537225784411800914304903742482447238971949584225864422355350338684938859298612524277077652202104043561971596451343681475960556868368333545592504171346795041880984390706545574592132432558599829145770883981055089000130640855892075615548222198353532370326960189602338919233952086311053689976453578818017943359842")),
+ mp_complex(mp_float("123098.154213320125295419130590340577252215750083307550864936362244769522138381872979816670870567978456619431346707976951243231525474456957223978001520791801634664573351597382723508441330151706011532619527313998430026915458457517831885260398333234129416309227539234946400045687823586210774672901136700445350968476832439360589577059932397332261057065217049584789744211456339831071210060785451330882205907"), mp_float("1118.41969608753031582743522165145585188757259323470985848060485534458644420491696419490586277960862691141982267311880279986722436278056426944465248186280102779644047926947789297596435951579704928482759229672629765168292162858622442209389124907275780225040782999041448905001859867780107705182642412590346924779407464378762011342029807518416231988383986727630643903063188424729384260600279376430999405")),
+ mp_complex(mp_float("70610.361936015982991747847823284177151506100567737939405276091940112492068269605529297518065043301953619635539007545829715187154634547525279038309442628405024336838405565956029491734533982730073822772938359572157158961755640587112892611133268053701540391858919538966061720017520490449219548486261258003654370987940522530502847076070510663770020666258811900185504653305164051714670691873796113624475911"), mp_float("610.986048153549387023678179241901471752191791459897893226433852511054459232496348814919653041207282212696791486013059626242148828962179225995886494162664292265664273208261971608015567747775102116972350712734613466087476230463124869805640100228851089597134890464190997552086624253322061549556475328406379681437084291172826788438422444728567455277095987230441173138083566951501031312110752831983529862")),
+ mp_complex(mp_float("42597.525146589214545227737810996951375169455577888417276757776484051223389464321091520008484646574140584554068376854305980218255036793004930737205259540061138941967955155734532999304975900016403600576427509534940093623404934846023319736266023477073450357209053099813772029149158293136290660819362399032353213382812914293888808334532619264313630747941501137090939200449327475342416984110714796139017314"), mp_float("351.838106338950967255312109436184385803780715833405174806445450693216493106868236888279752032774639263886163945244657630913375370556450648935452344713274312159866177718712254264480179099928489259496197279720258985089335968974514914187854309804981695150406459122111982084961227822631582590918818976739608756469869212116336474385823668601288588853482776700055035432942203667379320036714211880513503799")),
+ mp_complex(mp_float("26850.152543667484058931855459417550124751509380546138221912441625649809326621261530943801981268871612835257028706976038220266163154812763122533080491983339712915339946279470741954562269224227812880309466690777834414202525078754761082865377609862123022296523507348453511272405767305494483134863392418788648434914881946917090071245141484533205455702406728750748415737287807995821223614949394860628431536"), mp_float("212.128620990267820497641099622045099555357179874613022483401045896278415521050328555029644562564769049955655356487685266010294346040792940214833916845329090088334012204000556334900251921082016060642045199341362952775170579115705758524152452100304273505599223756424878189995627137243659632983663157636061379571364759416563239599832313590493489934724695570124941622375679470584431915093265886196022617")),
+ mp_complex(mp_float("17586.442331976435563548500175639833100604437247542486599550782351044570543701167475857052179381796138631639546882740755967607531807513131856473363683356621958016471908136886440470514144096092609627835273427077857257141857979699292008798422458571524981609504986751663839111885343726859416466868787609781826811476261411748908979425482334734983757299567927564401387394342918383204297595029150196065053719"), mp_float("133.151591154376584385247420152310526451947568806287911203573298225310011056867304634702953423371910521804958451805452905699898506484668458436913340118899936049892266212853394860988070659377608523174736805061408258547526916453366412225986231684525977448356770859915782621120568549407271001584554319072229101131274316254452319188760796587726644821259927884123441533994064925779987528378487900544944849")),
+ mp_complex(mp_float("11914.6283829200332739747438535848765163035451050895254434178942820277330912397047086235692805405945539352315547935821219338486528451917243774187863337526853015500434466716544096788422039710349473367222377597451634647512089050973532763758435535283072377338043633587894899015018613881765001023766739288786739128503954704698300858035923924793953572766849575598574805122508836727151247477196343878722127943"), mp_float("86.6003110716644217539586147039768649535317657807801700069974666639779714507165005989771739123160316572064471963244595387289525339461560435172530859897791162745996517783471723379284696668930872663023789730992871084396475411445401125949451365158557924160792508901446691046025798494230508154103634064024346432657013077362629735888049466192245583520722767792195625367581576412056855164506021179535439656")),
+ mp_complex(mp_float("8316.9430364400692719935007608131894020072621269861789185620187251621495718805995938253572210939691567468512856779396602487955099094963193949513399716468942989765238308383046755753402054105137643359516598616167133699985654180073520477165049467837239171108615011916014238032827913116162476485003371912159853832852255269780203976968899794346824631576904530985378629328760364174113849510395768397217072142"), mp_float("58.1257756699766839123541554893697552342580501662403525676895879163158210490730401274210249608249593321277413774390528070478448823828192764234956213690254375843357724547890714698521043719484692602005339009044425547317811261541157254172813129511302114378921089224340073219762289617553100072962608732715293807347493534918765528709629049201152486536255896451864202629689603562279374737270997121434342295")),
+ mp_complex(mp_float("5961.9360862461722960615449215192184850026613169240671391561326561983402985088921798017620349214014241348382154103335154246913366785604277154198901126479258098686067216683004921719206212935339597851065421224676088815422563107804924865020698932619193141207486643475555134195101890997295520067681015536949795599536347071783465808222282837864265489080343138253963791142606334791287988537676037644714561211"), mp_float("40.1237411688885860742644638040881650694206189617876279601961084458840966420779149497449809283483643182619175945590415819519925527496948088503763625363985930388413150715251767552350550132655363278642623231479255976839098316791122571167505944452532152891374699375487784480785835142652965748283722544362779100755315656099265299872227031991051949442573815471390576573270227802865252956823289225969422568")),
+ mp_complex(mp_float("4376.3946086688478391234157301596518075647712976060044436577539832045422441177377617284587873077544198905079486378182386716761845204342106604750256562093090834612582674987265192526267695312315991591190267092568668259723476607507332599494017869308312262917713118779697073135418870409764255569041430495235279146631623060324812200724429321002463854521345059533913675438436766396756632625746663438720249036"), mp_float("28.4011451522665739875413688134311161847708871457892273758667478529276963435799916167869730574589748484835926844130067256216220415048789806187754511259087914774658037402497495660737389191677470961255278573585285902012831033502305810139915573230997085153526526426602832976704827849454904719681066156086135859552206318620220908464445661949306773091228125033459061153187789000745952014235873668313481508")),
+ mp_complex(mp_float("3281.6068866451426057237508720307455567215873208402972903191766280146641906965597608603224645598209831096280837644584980640985599360319661066248905624306410553278963840104635760257928801416980571753167409704396763602548669003601918650712057812406443005949331252117588216373542464553026896426051136073335872509445798783337965229923275138288867626364142209992736749729842383892877266727141359869445292984"), mp_float("20.5620093229891859478142423737404419181897380482288718873289412165150461953870865818758441273808994883580077937762454137046381418067126710280398738951946093564626530136403728697518327188185138606139575019426189194715776486589502843451198391919528196212191477344865233147762460384506229621494524817154776803427113211429270430229452427984493541605806526984372758554701980401069715025489117425333315186")),
+ mp_complex(mp_float("2508.2725144762967238394737101271210575598678677046426803861674386289919512147855203762880388861468103467436123504267299239119346338163073864976072814488808545880539246284745399516559276266293792526859746593747889851330602249755850271605220602065382756834449227051863376285571996923802409841687838461488611997534280174987145316702471632999340780664286367334960452547698612439681857784353134495680522031"), mp_float("15.192529457827578570761850819224374672329531372731161336786795635433869157002098197802268717876231513374994649314182657722804431714332420218810892834333106777851078644943831244387766394423517090210824655788066693561959618074683619293985178083831873008473504469246546793317726246085915418470215203074274651213664782930621682922148620430447180839999901780643031194701128986345130686622964384881978767")),
+ mp_complex(mp_float("1950.6398303864204586788502199506412224750386295909629536093302637972410174235500689332560284372701880634815743886089012083843640098019827527607973798801592978304147483056983270713113161757796278356586527061295316546923473996224938920131133462850876293770023820964979831930921614706588097845521549536323171658576713624245946961679455999314547334158182932343414087363433102255660863234224909087649605013"), mp_float("11.4338286519292509132010197848572863616372460689938286642550900234459979783603896324039665128458083672838936473052540765582638893707386467948520557312111900950632483636804087733508447690873589929881672127198377981142573419574330520463332159681073448173612148312220422058767242840195768591485862978310012357688697451937414375197688936245859394313088630222319581584163431671744932342042444405662054139")),
+ mp_complex(mp_float("1540.9557355373733637326128003532395573068704357963855483150877316354830994634713568786863391394956955386363832952353604342570722862634793100283490784972205742622401121878264400569758231426114689215180977916848952772919853921457636691993570115435466481233390838522408542397069506083270364024224199034009056176665997101553226138397938860786483492059471851648631203573165440847117533636881463219405569426"), mp_float("8.7501634350738122808156425937286910486208664152498207302934936939309820503832976401774511542860703242684887769917850811839179689753979713895514366325215518682346590386716463159235841831970920990849208381551014366026117230408039705733920931895650417214475395089115895487128160395770179364255278878648886286601155816089280422286544247658591013557745437182561099791051862394499592256679729221322994074")),
+ mp_complex(mp_float("1234.79719993664244838699298750439319247869415245504311904822717764610705691558542846122032119281703894759481563809131376433035214518535664842145547181984537366657399934176219598898877818099644469389110112409659146332602893557490385314636612260897374861137904908746944287329687367011169597822364396981034106064844813448587808039485415209067719676799473099106282388103298160093681622541186101004631096846"), mp_float("6.79919343669373402429455587419931729348489491217052521245638310622168117715664341258954981298163689186432523846713906107945609563962700998563104416662389774462103953839799465303882279628352869511342533078423117951451967767720749696195538890570565730700828536608665459019485248280095506580839384278900106253833461346267109558002984807227550952063487097556763233903617198753522187818870179690155975885")),
+ mp_complex(mp_float("1002.41570773770672540579890175406832331332207352439938418256458493567141191024730852626487141095763952297458970960356928936675337044385655801927213718510845697565667943926503577125871871966362144486853914810115104613424430499911518216169370199262465298727811627364503574581861573035746752207678939554132923281945999676162519138414747753449524287606359884348312941383936533744008242237796988540463821162"), mp_float("5.35728058386628771822018744607969619573746585822186108990664422210417224998710160780877505623086946324280974081940590270997795198433049281204006768958606048472201785616269703826156879918636738468429558928889875399625914301301338861747644757011453362843717459830640781948220251158563211755918113877158743343294316984629315247901173879966341528787895582458098369351136067622244236571212608796125565032")),
+ mp_complex(mp_float("823.49980413181821592953953794066874610568294119817694370610706867411560545749992046745078330614579018664981632009909740501558377037337172879021821216170483935101623814341210701479468763037975527699684264102254688095503233212947909513277058179580861841377227609020792293527353873917610054876596714596084250634287371511492122726940901687220304149981936985365087077508798302502138360114206944752655797059"), mp_float("4.27534011213431903653649325315108881115267504950299130093696646838411851461484384833733869891190202103062035972027807089546959638657220788553806759765814227615402080827942584493365988491138967464793595799610254791811206618104297657390176795774139390694794687932850101988165631110912254481434093020199120176251295807006122332276810675768923620366287404295666637436803334453398128359414514029709263823")),
+ mp_complex(mp_float("683.93188567063802135238626264743402318503206306566495627458962927817429400256439432084635995208442555754346811775374135669683167956905662555706238816657511475421306082635637101664725432064773204973800634030673478923143968136667512458257343689701652657894189073879610927193188385500234927914648175833033326115285015751292192651779027348296301835966704996213463186857649856745063321212062269259867984087"), mp_float("3.45211576051286283520366486828065365218381494359508183432600797609781294044372966517446018438969957910719585196054555297292843821889889032170300204339783754816663302983754981645380803141241213358940701726871569365036640988817285027917256657285897147508518096045291994468992125587136210206167688237045723878308913320746751794262892321534929283000878735114530163063341962195546432702267942052276670754")),
+ mp_complex(mp_float("573.73669673059595666848620539949304421608464017247421014052589750356255550376414921799351721519099698925357770511576926642937168728078393944376920023579006727334833309773941642904379143806083592162808719678074211774164714832436780497522373651894054331211465039934363982978678001372727051483259409819599731363491143650084493766125259270274051523947675708410509412521529017499560587116311459803268233076"), mp_float("2.81764132174681595476714040462473147858116233076723002170593005104178082502895231273644503198573295477386737371473100019027904279374680738566852767626345572348377397976842803926561830657981437476856923139894567658488412482127748677147866595049322328207586160529425210054792029036282913165604748534077670496125444959564985210053200977042588491672363230346682597610209661629965604970407900875090762128")),
+ mp_complex(mp_float("485.75787297816695213073368435550789175232815608979562612067313517305992311494807054358591140242855664430724944896099619779741060016698801377760373781327426746178299873864791120000449278961248995800543588572330604350689360568804667631639001806478964385418914647976231724142717188902706473701704717718938293084678909779221828220206292801476544537050279261706603200636831541216868289760968047733193724597"), mp_float("2.32279495141560185823225753555048982483747905066698863166148078911849687928544059715606922141589935662335528483579865624249926192987502057582265594998895924412531887930621470846072952846851901226098454867296305882866004286630200738591024230180284169257813834389422139572913923661252293611349350002498393217986110709051434961467000931615147118593184904286699860146424674461444606611913562530868472165")),
+ mp_complex(mp_float("414.78846336426733446622666133834398727642874052919381552839457600217172539706994378903940434310537194884304745975786344948529850432940516047398262023472451302142725227516976973067827380299327099620442698245596909282911163139428231401348359432718201844404925062045548207459861876982164652605089415151817367444246090109015026012835913163368738819393404493089150175827423190465694198461686429348936423634"), mp_float("1.93257570663697130977828558426712221481038588766390883329701408391775938720767635978244038009427794054176512725699801651337522194024120701766699209527299804233985312257393172529021902317037578453291415536884281789296084668429079933871864057669113151781637357291643777108508023964703919027479271381321364387025625229014343494465580303558110976833939042107625744698352911600662275865544633549235840213")),
+ mp_complex(mp_float("356.98995945970917742308228480035168342557254417214498917286851216265162087034246907379610592128592049755700543994423127955325939236807852236739497724920146006144827692813910422537774849799019444017949261538865299374309216007647628564875609076534507352518076276842675101864055520589702069283181995731551880206460575514963519684471338325869758009957861669010020349904048559101832520821183645147981510349"), mp_float("1.62169922544198730876856689703627729456789173737926558586995045469888903721208036775308408443079808009805289855645471211355892182582917130316372810355988358355274894117290446481662181997020910072076964621985233023701339681271554295154331063878819036958364471747922782775707965829274346480640439840539151728986308001075231930699083559513127819330000274765943408508913721784098546522308417350488304477")),
+ mp_complex(mp_float("309.49794044825349636463859173252842270519734788671812693267979292440879404038989973671135695432010158762996101796366038264730958140426143037933652996397661896663199374457727035841500165411744276643434092025416592563158605421317498725282907347529769676899713701878740856009540559544241088547701636700167994649387340038344389181240844470354507021979366176405161676533539564885338012264619803330133269684"), mp_float("1.37166501470083075032077217789178904159084146350167954803411260482456306906887008400071867353417702398094946528523681784323902633130701801490757719246751852692554022260674559862081643927783346236756937495744794664422120757266781284283436076385889381916175421017341975947115276373533932730612591856359890577737644340055090681631047888855034644195448839491849743291547119220158965811225461923110282236")),
+ mp_complex(mp_float("270.15043063384539046389285696106529518784114854938378886845049275996874355404189985836305323281928412522163278639792761920485785878616908160630238135007020344142562908306270613252715361181521517494697706874972409639213892322598956732168409198903842617535518396345530844964360018952148835214910793187213761653155675658567662648620461539519503576169450725641519596803433613909726082537134449043806174596"), mp_float("1.16877360494329783097507287823221546899907549333383022827490085871188970813423386579729762867829291474867713426376511807180362082025716809023047595644458997910028248904111883851465496071579840645230855082659445588321514376664066204358051991853297782304210606531810509038546136988319087112042433190695557482016521929146742370131699110286387983250804661376290173845943223326651209567972823674913531171")),
+ mp_complex(mp_float("237.29819924721116027850851201119027523626531895766141209795459499309956445967312027331093841854439275248118170796287071449010626208276894210595837525534703845283233746333190421011973170042578946973731815276994794899026346196110169630452404530751710701455011545887783677677315795285681626492915029288319987378117782185129199138207367699542233520964846867180950882974120208891915211842939147920762280382"), mp_float("1.00276665463691133043307367049535223450700858088658901271751679592400981234436616612196912573202686256392898077696406639238010561604124417249897456810383977584558680745421885224139681552929337168947093690392080661333232900625670415841603184375140527827102380183581379559239811095175913023482875380371585587228855123795806690431133350106377245171931086257273169277040073535955231751515605263582017581")),
+ mp_complex(mp_float("209.67057113161557232295130301811910623703115929881055563672592283346929235285156641853556951312622826621855882665751267060208540500289476282876988831514174268043807070755466775920350756941010596806803266524227523780979331265140485611978120176047934147797946518967956942773880734237056748940301899591104451848546987011160421984768186301492598380254535499248176374946438541024941923197188631251820024974"), mp_float("0.8658817422686268705605937735957348668447736534578075314737813808636437915181378313893510688434095784681425168613477961081774379740340899019830801558891986831895065156825797475774054918661157527858356162405930699325357206537335042671813267209853819285502162198144884508554467814033280908680467605136024365924603264184702852882359866455371512774889655073317494948131271357559596583392414856779831242")),
+ mp_complex(mp_float("186.27935358166761727164504569977284143076185192688694969011922467010245820213063866233976581766166854418198288656152220448691199592440652087073912007104349030181929429450497101740612605608011251855760671582244114386773724573399801579351000468130218313358160440458220891519049256642254613080947729477374864924811980615664486478026096262505114850303930951569654637737576990810515816145769118810472719975"), mp_float("0.75218709918947387450208895598417212492866557636952502055719203660582438409730703548711705943870312957646609271699748698466889379372975177075372340218611510472570127927363296633801205734329784001150204527982736926542653958478254661826275395704747341262843420432493476203126602412808303704933438801995922290031442377396930449883889995514012465704555453443124362365183718613230340186699489314822752077")),
+ mp_complex(mp_float("166.34926924427435442516385405052191167421958249545822747243052825312836897727766563790922646759356501354351246211300103353843016782693194797662260682597371561067325898950150776462973829659339757404991123642127903127414988639150233491222120287857024163713403127395859287039757502139207573242827771596151773799192249489379360011884306896926269098434101786086245642173939013129012559142134697651538009636"), mp_float("0.65710782109276480471541153651829451973194865335045484925428744201742049116473035786377628837747991374262314505851964888837752622626610545791002917009422827264114734158708280468621503987895535785943420630212599514269088183489725566085737637823032886286904223272798346613873449781669407524963175872778745792476050732699393129749239601179959405974178356438360228139224378719474203065915002103945942638")),
+ mp_complex(mp_float("149.26704254343549340853402731545293636268324857142966478625025346582318746575010436177929252699478289765436742910043923271252590382751175363526331785951843179832688667736413471033251323750432548035781911538233898836914240485933213068501926360071491585931082088476633624917987240822547623636790318745661751573118718215543028103631585488635782508688737523653451805509537013043301672269933869132257138091"), mp_float("0.57708468075717583072238968850414418654197862096402590682648955394119846991962753587139722160220012426732736195803813676529623563473349901255148818907617240993782319081819351339366466787301334558345393573884540503019022752849285680454089679540407716506593327926287531177157149306219071691750062475587581092849386833499477389749453042895436476439103285972049617423294129063108137467925084871282490057")),
+ mp_complex(mp_float("134.543761801588055203663956058742845543211374249173769427884023884932094517257620414629417350983109337682435972652879082931994147638741086292970060592642078718017993207158407341595388178215255445284116439968769540286403393717733762712946244072251962276989506348930923520962317790738904732077840108772555561640480871009090467775027433816150506835683435901971201235899449700931783297693792526950570391131"), mp_float("0.509325845927930461289271613997794908642167387494433400628349512645704402574531352134234039742735213529961356297743032813309488523188849664178777715949542697008075477781652636570665614308838791843701165562694945237132346106083005094320925899329566077832882260286899660022366293164835378780403532337765324745322972527165633734413907500318816015987410388804708297868768188309113454678137589489753401122")),
+ mp_complex(mp_float("121.786790403198832470638147996224674104524086777411717364078532579267908297549163200155315886909975358031276808031036794388110213547904924771133776535091187970555596957330594813619301818600927305514453526858226445879472236578591485160350003717925065672597553174297688428877273372660505325076054492461916420426010340865823669279647935055056649989454523499845778767796468889156164829215772648979874617059"), mp_float("0.451624410374531696925050008855745774955167679386138497813422183265063072279526223039084395851362253288317409098518014560582897333978222893588557666547554195352431560857245924312614230526697340600174604919149466610575564903431805875652364373564721757457850394154147858490187111294830002400541523074779399004474833309668675377927892996755610099632222307509574082062934251515555908828610757036549747668")),
+ mp_complex(mp_float("110.678615655049131508487872390582842727606778148459928775401434187564170089208654457913490897460154356095170319561424107038605566968743306170988066825482212690157438061775671048004200768310850497366373507831231337444288557825301611314449352750229570119979289378363328645021151635380747670271868957607319460846696601427889644193039158514790191331252419097052638255770129776363647178768566455731757876845"), mp_float("0.402223034136011433932509040985087339245428872689757530716283368719494000269224965465168188156166437211624440929758036617524459603386875475183824432871769730438981312262400054248467489776826844767031037666097299360275230860610497178714954183596376057888571868570948986998725207259648617462152486812685281143058353875541998516435504634042262721308826680939059979966326744654044861678239194244513128924")),
+ mp_complex(mp_float("100.960786151287188640809829085299397310864881734036702190000914539188848487184062773886993058583966853074615990118938403234522252776291290832732339827956109739700506183513751679682655099945933304197288907250418577774254529108055890758344435950757627881753061797628460795227187595055167008180740377362847079738275771445073990217428328034465182907521271459930905194855250078621059810381929451694732042513"), mp_float("0.359712638433265226840279906730176810293024900300229241488830523078770416348400494976904473430448184315971489184128223671486650413009358616234071271854566566369463455345747253868927379211924972682397051065295850473631574395172711798674319702933821180257497321280896810939627589988043061452597704807218968305167932427591111773849709104304901512204719286373452015745106592819874529718986370147766398688")),
+ mp_complex(mp_float("92.421615035043164139985996182558825149176798058366466552409366374558462339808850815877145635141166873243270268642514145840986276272853696979116495252409484581346968916010485036414338157716920945527048833754130252211171892831411872711401279316638822478764179681282712773291860004493874914880998810400903770303099357974805180118204867461330886784286493517685629450526297540210886119413781756935491081901"), mp_float("0.322955949221835435787505684702627279041509988997089690059352008270144131503491385594891980989262593431689077048428659364183245017293932010120058417163050696650891282141189798105082589645232333140242273306862591729041016984193994889752494097263614920954437787130766546232744253198050657826752298619276035297125975026918785782515566599398352966373072498795492291377546540411573973335212538679026985341")),
+ mp_complex(mp_float("84.886694188129635422866708592709395446410361151319046679107210565772486071256573014118217382505388741090440725482025481256094978033346756968140630458587798803057139051642378647648325574089471901544474179215930788187477419918372205606287941338086159925615106816264834313806005036957929160404146015254839863091971981355885449271707150643207503151209247638758862346194786750598935316410892065294007928064"), mp_float("0.291029333395985159723551785886769677674337966998731304034012705476806841085948088833752600508895032383130774345801351493502450644874459118224269210069011126740207642742462037392051454856944812711613099252764564582380834900395760437760484015426485852081060798809061964596156346579689977056568889586486446792134845816815710278773089152892377322818780533821173610328948730669373417190906987287046077532")),
+ mp_complex(mp_float("78.211523606168556494524722834538314503143385383525872299006460440355524983785173472458406346998141606200185189491575241661277183474860398014655187699637066324129780300812000809231829303564246210425498080553677414649030391756573338793410299174673973284444305238352631248664690801796510846594574548782701165172797927050074411542691090968262750818634804080703193488175516310514955428161353550638007532795"), mp_float("0.26317821520649460020480290825572996830095561641962171335185174049403944253321471861323491464714596623521620974156391239392564985490776885512172130066329526617946791306777958340872336829446912099164297895537711871409191184456402194146683091224814990618129809771325599308119826940138931649159319543875308943365861881081752680195309424214177238517736503406831720353478112390057787032566113477176909717")),
+ mp_complex(mp_float("72.27574472736837981612629642830022398094452138623690574896540517889301962221149726894212240412240470703927279595362278598917326796276270095020906702912235413614318453178430390370444708961767644062579073492731084370382726336524432034783121030834732096280915605145587671477364913643608180209681525758112215113083286067712464943771146057339226767945464966417013370743959665252077396958000432522777605991"), mp_float("0.238782655489563075485853037801239428181759176307132027915321761347329288346090909358347387516297972301888018691967939209022374687556115121877515677475543600183133717401131990220729130452696968206394047909240819558662406412367444301554977875112357665771844943598973101950177447362713244357560930294809320745723335195390470041433831467587091556641087869080216929004493315585282136692326884868297873118")),
+ mp_complex(mp_float("66.978598995306944225515865993469439830752401398438393352270032255500023681577408633273276259999960533044118141366593913556115558446432003735479206245547152608081126266950976923286026335958101175380977070373942573725569608524637840582586609981711540578021014291087087138771570645119314703013247000122192836740949490817325825874544986066564151899518018183874323985629707185652321373345959863471714388124"), mp_float("0.217330594481951193976641824636984713278502759657695282937120045051082312020767397189511775375135838405091657817449796857599095900266062853497511488816388902832336100446567077802122239908310001633456401074787594392877050237658513553509482759441271863211394498387452444915851435052903573057464852353174846238719117250350770221505284153323370104461651525168135654203660305368998319983939582509686049313")),
+ mp_complex(mp_float("62.235328919179444082773364062449770058333047833689332104862868917604719535869659809327886667453634962052611455666281311993352278197077663638825397509925166212162273640715520521954939766486855576824064708762857558205465666302139017271615569505365825665385974460068442073637890879027125498837052733891876954091443901463790972341989524243177456566153205464439888305847385438095631167315193748601043913531"), mp_float("0.198396915749221731680880331636417086509550101689061730356848451953815060876229388794254188850764233099914479956886810074515503365634651179014794793272530584823420745554277103385116562188663862413122614254753573621174352558477838184283428763160961343266613299548452061537908153542877847025737735103330228844574050970041468743191491954232179181929632537503058812703396021918840120609067731663054717544")),
+ mp_complex(mp_float("57.974308986797502381221231213965359351784120412269033498823441571055533345125687647324963132769169533765925426868171390475134387559342134167698588172184534816382962894577793295206519948285579633112788137776396090063951915155657757651257774467504240186829756533017043459343561099363974656083851577416198971404124301616528401300288966446968921818610928835516686508223970536883938025210616526321866872028"), mp_float("0.181626962480431947823356154736609126368178988200973827309233618396782791319836848212576587461452890529058275841090520085066173915394297746999311268315825322281957160956515791769558422148255746890962295371388179043464055386597076013598198084528954252821021509146588562040751078002359487398679753550513346293975442054138657814287537266492064476884468024640285311750653820242719085318152451173788273314")),
+ mp_complex(mp_float("54.134745369346705804802696134042920791429996022382155581300406024680975009315782629698021905223040827638787274970693803286113133206161231069763945470070435239457948081261369018045203452121617976120612617389243904645657573054372882466244620205560107279995073604891234829893949869691979349732487398383486866029791004075225082070244921047569277639231740223975570201365246025321891704529330539215561534248"), mp_float("0.166723481864029781379515757245561120648231626554514588824102240431556599448744349778956148398129419746221365277999172968730196634995410087871886548640135401322401422517560619140842999829847021427002121657306004614804541319025118246987024117264500335853351358724950480511447012355029000105230182542416111439439003244335092750945382650421092512300413667495135657980495996920574085298292161297666464242")),
+ mp_complex(mp_float("50.664821602404647469177868586332841103691061342091777466998165166391795370069576798171233419660025044439234232071807990709087431665431312057496765831898300103304005639301211895343025197852754487317529964207214448995087779151835839307341445426964564086270073982420377489275641451661057892459058143169022352054605280608394294408109971399823726313663627258623184260181360356096282482000393976594809917753"), mp_float("0.153436225657160328444183893716660835019100607195582276428865473078165120376643866664805537598486668000014836466039767862244480361449321763293821196099928255181870323554805164870153057968276839358848622175884308571179903261679349850748581583102750293018538516677456187029459182570208898362858728271960985043367750709150110964382444057048479719937972717990592803910574057069089427194999616833955781946")),
+ mp_complex(mp_float("47.520195985823636961219988419952565295858193847303503708833047800507881224574125928168407493232533367258826049141678043877929946786897004413401594807384656973228324527382881837076988391525433006063726550051129978144441340909461320285632970461481184142321822482710888158463976325321600934037269400366178252979085595629873846445297291721108913336271339989375413377769361426592811346674717873313711806525"), mp_float("0.141553621361831220725155763516391244007239216825659286397079164126060624606962401883189397445653657309787733417577973766976720024760373316184805756293948033891765806983707349563409741934869332814724277269037609465177110278891005652780037950413061143586035898921711674994438440893497096515240284577153534757551322709689022075500387787845845985350545732367645032408306666515688340550805964962091740449")),
+ mp_complex(mp_float("44.662777914867803680787508592842141925117374460351389372072775483184231959215225441344136036577911029002860364047977676130264406587974226214772045097955627824882882021130875773394199206055423228496258458747284073591348899619565801431340650409537483644374532475146629381700768307970157740181672820146728439605203071860216562091022135694909439261196386541256965230007894644785040765162142501245184817387"), mp_float("0.130896066904472739281192701298598300224537938419682176218229054880952296531527690208760988569236518990447456360022707285379607747501296478380921129790322128122368087428049404586989659713863375330452144949393953074837020252075761752768345923884885878352503773485644175909131612727827646550940263742612873681434371436328116319141006019291109069754575743813994368749599947734559175534332200563150290276")),
+ mp_complex(mp_float("42.059726601174878730699110889871776960259630831677957868244876984609482101680258160436450943571566633363617438870923246344349214360749518849630578378082330236322510182673276199271759171345799990155582007637807006903936165015553166406044865795089114976624503751871866346655396901202546858380226882667772881356379572544131282707146474913154511449304788328119083608766511526427145622826095272592734090062"), mp_float("0.121310505348894944266479457926634311468800826864044575541690480552307394260992768307792149628535795690774366133793770194696377449637576343835941770929108804127921417099997852726356531137322655560820819106899487920567163549754643162673199563235098722141195425798240641158731448431667096343061709571195619860833258037285877372472909981950793076189388783659566805933170308026160578062982113344477584855")),
+ mp_complex(mp_float("39.682628012502033194079504250937325841171389133746642504005982582277533230974132377714941156337614512170643248697199428172599873190193384895934310812436329101800836027831235403409196672276621076351468240252544820349533093496953900081368261340315994758495518393381638564796631768034683713644960506751530515249896393023949486249732207084989034767423203802539448653297065483778246208433770195019567165433"), mp_float("0.112666014228472107239900877186183520110019022711525706320823161999788459455665627217076901579969710215902195955600905552128338373513121474209733116925820758938588436298692507067842607114870398995581711689414576978279907096167383703562831565921784073908727856792928708975185742745837561023286023565612261547218204323830263036508434937002839126173099788352879745459111530689047835023769210037828473567")),
+ mp_complex(mp_float("37.506815335976529633298056993993078170698120138484750211479259195466060717298622436340716767419091333719234075701581328046967884771323485654011350801735334653646895896974585512249622547267307377044816835385679915211175631765330467821766677422848117336524903374285475022292583369961666814569466270254990700169227727508677540542740456546259865508275910564491609218575945288413151093358157586622018642192"), mp_float("0.104850203239469685077425586373205919137101598365200166751096900720753331482564591910956920062013324850173600602013919211221323989706265554296688257333805354304852669998887289932106903408046696874112642197941077104843756353816294748158740442172693438399571369095668091069787695747848559056672701803544617526431254347900397810787895168829729662158980057117364474690619558667135564213074625327934388268")),
+ mp_complex(mp_float("35.510805569860522976319480129179912476738759241878587740944416576471840590378647800358493521218215319760398629140492644568297920579375790295141809972191357815479943627639280635142544930927721335074842799823666410386597572366061600823646030522196546935555837336167761948777325785617202125713025467721043103688064638841794510446802196732849171102632212846729223422584606449828715458933291387975673939809"), mp_float("0.097766259137327018506567357699056340027116433299082285757648385765610631379837013709755067184795892395547096733778315312902144656166237203980206604338925347651271239097638610936563604164327758070464477608535878622428993299227762870388102801001276038538294290006905948912062169444396313470117261402198699286999720514425818332210744840184008921048178919253975716850763395474243261599921628257686649646")),
+ mp_complex(mp_float("33.675830504240855912186840849774387315806591719175944838927764789973798867434721421341384275153820058569235511213865594463617828993751048685379623060466391207538726455990396959127859528760743025750071884950360559322093021052777063182943205839483787878639745047219722629695638332879132758589543037242805812896618817520039487547111909612348688938283726222288231760061345807272216458591574667710201042035"), mp_float("0.091330511258349723879506653660382897066365423628495821427163326656992127307967863978760634776714693226138097292626397235607930741595593967854207901984223625631396866942705861233760408047084777779318656922038132567116345465549998998536166139869124765897590605997262673513185480239778102137988899140159645979881597482442469153192733076581258469084780269525825121840053917389232587633277761621567648691")),
+ mp_complex(mp_float("31.985444755509345592179638655055918333422820977469022956171327131025281569872130595912015065677790049318012119820161244727958305897176328717939120393080601206920380481446876704210587979782788005097151817318460828712504222221432092158397459183731275266338668058485627093735105259023787011628691984812354852229304517837642987471534417921551566011842247557463404829562399487211749782420558011712247693447"), mp_float("0.085470417750284695109050490871571410997325193400564345292094045038663502153340162515959102179613847064429059761942175560683662367766227566278842180284495265600988068526356397319854846326420239729027929779178655245027956751469956066100047767775201345777739033476134243056324747412816422908100089886571259154951919773414117586849830760355197544634204249503954370245514535226785557942234186788025341848")),
+ mp_complex(mp_float("30.425196967274358196245828868555680548638280594566380148758658296192066588709850437341769935638831784677858200107346207844254562547064409341344344455497311251553849332320429527566892327468625267131230987465499546827545296140040572592344701180928688738399615388568797762703391008449848260959904743414274302569460444597234164427339978966610502144080055389368365863114672375016256588199206553330472928258"), mp_float("0.080122893259363223190336558076132286987068694786484524112466161497717086064130703110231661196951043372954468118843945813244921631504284759461048694129113351056189538106299896361799709041373597374178017046436306842709027033797087319022564783837020669354597734570858263401203139028817317886307455336739588485914182317558035540424553144754997492443671280951733653788656062440052231661405092841522111963")),
+ mp_complex(mp_float("28.982353002542496427473532399406028567570671481587490002884271873277987060952610895518095398914627681681081597824542848254042785574313578695354483624472075419147215962726029315140153289383710843743268996990944473993151366152191309040642650990050388016979030107218909037252030309686877652944030646173931215629130735033909772063856130374221160308547734211604047136054754911015275092032797858911103029817"), mp_float("0.075232914919252009045530371307683067679598202290028864098181665693163604342606464835911515254585912641574292181911181278571168999054370442794244544580398449595913587631476315370041866529326494955491713503398565141300448314343420518191309531536745402994249276210047189967590513245449609635917984527019703821668886892014164446338792326790841645713150486620331576777802384110541179835063148420479363574")),
+ mp_complex(mp_float("27.64566209569612856091892611528884732076829908228768586302028544019034025041634286827349492051105676064660972129277229944375101623555868316048757262369833216506166328417846573904473165660992692543252129257037770206698179371024696285090021810628431592422925705505092473551739041826845604229447293565686887891154779174247233491504346723743089321155965093438127574657563722212847919141219712330102393902"), mp_float("0.070752356089652632933296671682713732398701963906917775269130520977119456610520927257863740556160489296811566831203247258742013716620830441754667953711007983349779371669593265146237176397361338322994870782697664031903006602932237988421470815429342227037577144287523301125157561261301168270354955490581474232125319236337741153715510415391347575856250214170836721506331888066424333694894814151803969517")),
+ mp_complex(mp_float("26.405158634891368425666112444242581892923325610360001989172193526275719839421424572009508232675726181717082085775459350958613611125783924093620122785186065457137188213586495653721710012152705176423182798030759915369787523765604225936181520763107678231263153168142853355815194100768630857933078897937880749033629244422175868695820058264582367864977476650941887850301928711248505144494786962835543557477"), mp_float("0.066639007204851627404507434692515485918082673150130044881368743250177774541496923835762808891178251277094611151446067937717258331973923931433046436697427433049966799762432108027575572919372816881805350609653692171802679014039867930013745705118058925771692133245838472480771802782098185296818901437887354820541874422368337239377861847109180802453381814438256425226046655343805259919470427399032895122")),
+ mp_complex(mp_float("25.25199360294361779405669966215936518913281266005247120862966842334130897239227093842512762520806940758825723111733344683222857069789510451174823258405295464732094261954719250247704174001237102093371491506044745012102757168712789553997033636708163292046787418697720785712865794058357748052158432355088448163411162660166143420037151477096694103755792477726993426811082356788090018153946517576053467982"), mp_float("0.062855750925082086146394232753159651090338926074784120443038095235184066397777671748450719976851277923873100842449544708749335346080836591239934749953775418257839774627340695472668545880220333629671521754109302069823293563602493245220356400754871886435725689675459748822790501598270940878873243414339423468864958457829190744091311944593775505293882534937538169007294576999614707762426744123349007675")),
+ mp_complex(mp_float("24.178290791955719011032467599162971033330817045142458548544156810356774659588066218503707422690475141722722652472439337862262833029412118395758129428501797448168014654881370847627187311144959144855658022355166266118377348750117094699929286330308099887095453144627479128959305424733912141930484898139750721836126143151163097552886230220960705428848888785779218936806336113574843926052146576682230774997"), mp_float("0.059369864999890946298018881897427478793833694379766311214639030906961365914845623781216568516154517520408968404077682953058620412203268390530173555637214963634378446235978285177092503640580821213730961660417162555037717516885566227279413158614885477365410433198637143762303595628671476742625569448253303416862275768867784822118542497551301555056253305785717783617156382381543945362102479257197275798")),
+ mp_complex(mp_float("23.177023781264840564719454756959998257110367118861636647157399980573471488326790092743868891599098255412655942342427828952494894088748886217515354684970983727332773012838219823104286309989762369290571342925793868700043577637318353415233711642727011837867785692204886572931239051036968184449306073454205439205555074679124827579946472793986558620632861065653377523546024500234076031631247805791049461988"), mp_float("0.056152431207348657673473978403504022205556498397042665196308602258316068584153839435928299628506704542118489883287183324561482898020549552516205678666153339526856379434209436110211656131747835233902212771749406638466033877471413675306569868884504081635738129114963961319121502233757134217841491357313043562232340473982507605881422343250307254008053559189092254981965041136945812406898334033493186216")),
+ mp_complex(mp_float("22.241910374211764400023073562991294246391059206423079907593430575533609716956311028582505258869006343751828808226388755663344223800536240588130345508142466728016927575863190716934638100270937986560495421057782625779637065446767039517061822852241053186510384548670736141355043631479662267384173922394136201640137700287736612256647090515755048234657667606441133150836495858625590623665129824848691015177"), mp_float("0.053177832698233474960064686484578597614523726176566414356843554416680798788876048615735366499659812703925063694735579236219599706471214983145103518864151016907982013914902503276009097529879962670973426674903998524331378127337891276685870206692529225164966800818314042957990586642770522269638897814608232619241412105833408900772668928264489037576864454597517679872015796748187424057249376674633725777")),
+ mp_complex(mp_float("21.367321761392694342640639414702521438837331391152179396076077520331927788133623258106235713215868148640566273203205173922136125440845864876783247297388261174903500844623626856862602014251150528176015356798647866561171863991905166172889181736305174771432757468587817461519408992164486482273423993520887050493521683072387455133750898912387567257540127646664994156574366668659847423508755716085816354311"), mp_float("0.050423325260461694636467332593879793539231367839767446239484559846907707062058233907309454105611736228402946195526536527464605412971622837524217388443554291691328350771357665699703279137953941777484036852437751566955000400257561678202974071785909904069295758700564609384850047754494122279428375841693817270985626831344932481701542516691357136470331223093500603849277305670836578937147769157636946794")),
+ mp_complex(mp_float("20.548204143511503756676120291616055347630285496732001126102265857951045899576897624218179779785765229287759262824314366480582198618639644641725525098386874955654501786850760088975868165599044653673831293220164419076033706900443687975848081196746904158791620270869063992332957836203847991489250007094154013633271918293761277253523663359121106991836217411957864809414336577968754852701671447616578824512"), mp_float("0.047868670588977671394679136616319753772684023064263056670964323608765714132556952936059514951190980293757181630084096917756730360763000601924372567566466842043233709859023314773162569508442480561126242841135586754065850347905591942915260766708206760734753829381137663779782858045935816149531900048681255398425090819874353304058808368886642548881574626069513471427975581248286198401854920397202028689")),
+ mp_complex(mp_float("19.78001092696870366654443574365205112983448188284388201314378530162332308356819128063370747621349427546617770344042562555774354966361404965304426766070304122738329040001850464970383023232551675218090312043405016810918333042162728157755216124255658661715001002047554336456857459972513498338407963990860246578462033939285294627489046499889094616523891728996290024226307804440540390732528795737229724008"), mp_float("0.045495821726961548649369811306337202932785285390213544756132971932571195732332495995363474097033281265875346297588081168562601749404251628529344997858787934628058443125185308524791736770054103575037275523016332711633303737765019394842183562223007235968388685054036478264141613177336355574595762245163055939461736325497668848662263257478730020100887479991641689560588413007906084287802957422418091019")),
+ mp_complex(mp_float("19.058643916665573456028272027402379898016321920334406948411301326243836771810659941811771375143385641523427528550332370063389592168541718986133693922060633438875210822822778969290934383592286959338062448524849846471444064043266329581636570167917440462708993453433569719022889860701677022813419868219266517052737372000291961405738406798442424979613400182238848178075755030702385114422300279645010371197"), mp_float("0.043288652534795978284511404010926486391490129638047858465606139997415179261671757462348339060922012248755835004734700148702471461347505011442306103053689586351295424341803765991832111207068174608089475199826939759547043209618703124914772493825582897943394504747247948678391146972026370782010296181077449572946497402100865389639467092003011837066395245298488444689947018865363448153719245110002818302")),
+ mp_complex(mp_float("18.380402186438824386302430048029093756176896159769818668623507835724790826734244314928848723720082222590002168786193952950453931182431000812007440313766340360003497851253526675014774621842284762716118890812297747851455290729444236127918628988713294014476144134441092623736467476215370826957124623543083159395318558620669282510027844337935549021379719259647158843532656212183386188360046819780494672463"), mp_float("0.041232724421682352789817232885055874754039733989741932191235366240516265818716761967020785094177967624569022371910183632556756515335655090653622333182287247550786366654394104553640055712861942091774338630433023877800803956941135888483558978007848200602175827639219227050361041325595452401286928712908155970763388789938733666789612766430445483673338678874543295054935189722581246648701287122341810878")),
+ mp_complex(mp_float("17.741937518619836909050838464173659537597291005355201056590358688341200845322231420657543074151857207389626617256081804871341222663423956558650975819245237153658594907796969078739925516608396619060607538268668671141378295681686771725922642278284862923772149171617149574414344980313990235710132151490017436924052043832242051976242020973583827493050099721412919469268496541456007974616891039342021104862"), mp_float("0.039315084702549047783621728286385679805609381516640145483232365856137400481963978552901915796228582308377148450616718623384500308781387369865010099752376167689420640139336650167534770471889758816947946367600167945310096091378145129056858926429418638883688359138976506137709114263063262816753340339030889431478948809386790614125057772633863833289510572139116276803378768186261214090618430297654219932")),
+ mp_complex(mp_float("17.140215478846531713398059749859833424362232432849744792496475278479367488891920225217602806145166628354978725333097155100812241929113866518246292849223404872867361508044089462743884551389260686075443891469724919277623135025296040779154718222888380518799019683555622856243226327376367906307039770611986957913309546948529328142166087572573931310300379684520645925067907707612980991131611202729859734482"), mp_float("0.037524091868572954969725834902543656683218006691345867753630709195731327240491167442170031742938071855535327863522610148722099490328990397662394795280966325373720712766274871379647237619257604771673552313374798056996322064059883869368841610481260195812531580087113295952410616555214122358231710646665956283719269550083477944640126631464313060273861287814250952804155995720354759355486908477454432902")),
+ mp_complex(mp_float("16.572481337181518967928430400221304055929741880857757290423014446556367319449748337160399421191376708157856161677404659586344936197820026001226474007463979065110358511934079130299253686827455448046576079512445834264455454148712894765912809007675488766106879842522529414777249557284976103064230871201536669517579265665159645810378268031090508403559616381905104005369132680289713813339055433151069052556"), mp_float("0.035849263821869287866196297886587132485757644787383113011117283950172480280921296435958263231362121927845270581116376084932489780848605487593187931091250013949688312089129513098082116174545861386991819309710857078682060365700879403755952509982009320185551088217899734794960738118690967446300839934090008903215935802842820789143522764822415210861253113041628915215226244194935639917035425953601475242")),
+ mp_complex(mp_float("16.03623016721963034129208687025075213162602636570605932474384742529929105003148464023541201261635665569000338308226917958631963499044015965114799362960849724443366448918598703260356921098883168109234483892790614521799018831856552788836065187766281839085670956405283355318133310341318298114299696583597399784085671064840090213612496581777808998198725975257929889781673183903888356922061443250532334877"), mp_float("0.034281145754492261370796097703417481407941334476754300299575794346848164439247915042388380150634826557233179464547499696978701544906127342485049102236475986983772377595512752733716516748134890277191557868624475619066338667760204441092264256193452409117911277926290625988858461342699977908396045701968097165109106371525576359937658853851831901476098654953777273606432787428808643467002449481797417636")),
+ mp_complex(mp_float("15.529180555564792538982969395479323642936398294675866399393462575388577651098671879123566416215199621872984249641626731805939631239167035999475903207934739028374188161066540739610667090906448335936497107286016326905225822050346891535307157714851355159080530092241199005392353061852122179681045914187934820936430689730721636622563423833953882397679470781571471313146913297880548452986201969724921668975"), mp_float("0.032811194873474386248893557897919538021380687030762707469892861525390036424347194500205145069293512149164873071291937293437562230963032115336276162749567379316881327494034633758460489690788091838307364056299106353713894954826047850145642724002226420734321254313162370070250107033498289814730551390528847934010009763838928221210964523411981622893204547669814942326984192564590286629096965168272173068")),
+ mp_complex(mp_float("15.049251438350129602687222720183295776134701663427888405577575299678908818399351692507748488627530669023052370384490617991454080707382990247189118079974307542325741810180588644687750273181230396437633984758197425673718951917878403762147408136495758870511496882116824025229134499711326700715746284250007894874686739431770036774100833462564788267825677938755267469475938528559344296356395363119417172511"), mp_float("0.031431679607000967686361954413667420003409156071084138341908015627041675164255490955834716731151257705655125198096296127278032530312642310102065941650770605539277059985574106823859267195355736362533382382363243009786191264434885096998977515080955729352277104583043961644250600657044067077072033403052562368817078075787586537136767575548843587462285684985177838577940772209300366570301705670760982303")),
+ mp_complex(mp_float("14.594541652230605973185581902752851930307304225387200176450620530642876688941835166435253265625764866823716409974227802908528699192714575147686243521615116899003405990883555481374792419084754477364293663904735171240479863972361428990986918892956933943471527370422835469103306267758354906887458552884190865721005088019474660557212516096109880598012379723855248955062289075596206478762203175379793286263"), mp_float("0.030135591287908192766214191022662447785358898119347210027581633412116962790181516304807737463761156230634676639802465660749918819243955547882106489571458789884700687677780106653646645236754135478730802187430099719731378603549113491141704174791296198362971505797380008461502238627626586923253600511876487023491026655173644695936844173292323418662895030212055132475412774354804190376400548374887587239")),
+ mp_complex(mp_float("14.163311846826300722560655423327858149068558281259081853254579359735625097101960500488168119385897566090741461973906415665366039217080934094980731711701762467654968493869131157288859275935156753067565099603573983282230343675935317212260177734754577065832609100409671258521873699485130810681799296982155780026325871048022828247949193745932615871153886042838307745543204580880796914843114954016569002127"), mp_float("0.028916566612389834738522058121555512168549355016358730220305999236175910984239755954688968929893795844960689907201661422731960836854223832986480135270758118439541753940838299873097112563974471928085814915013357994740776813882473373083789424851309097734983747893728196824408556981461214741702414587704064466696614510781555242802795326478947906722675291559999375289636835689314976774317892184356636802")),
+ mp_complex(mp_float("13.7539684558406467842505425885789582165165663244762900677580693232527481316478607458341005523483215214368285795847838239491662445712563776138279851745433256010248117263656898331647380461186820630275353598533166154857953074331622106020787859363275124052455031219806470363524782319888172555586787550721722857064874994094673268247610330711978117845109201918853841900964451174855543071890865635969900078904"), mp_float("0.0277688194245429243548640900023050706054724870314426284244651661937779021591360345154097588736018036565372246348571677524309722742440280051811197469389976953647548227765027943566656235547356449931175286829640210767174372323055814034948372416853612249114130372052194586100115911465578659539810794536103020681081613107570761422110616351974520857348600264608664184843129343382204010799901098469048060363")),
+ mp_complex(mp_float("13.3650494665811277485975069479396655869408934878132886886711997986989289877534124955249427428923227353534010958323498797587591582276479077675316574293055895807601845797045135156415601067904583701624691267979433130726621154918235212487172113859298882068063655538994800424581108394910938028161101358610465907530130690251332983920106551188357368243253384133665704641929655811319651215818861350324966878924"), mp_float("0.0266870805896699123872675127115035240139464944727982034434580389947405027786812678983213703066546176984123253030735066473534327463111914606402026862232170118096341970380326473453023798147516719850422579864814757007046086679561883409551891787561331001244328162296608224680609324754433274129928131204089326987806356051792101783790568461097053756475565426993855045977523689609250759319058787256730109433")),
+ mp_complex(mp_float("12.9952117636508672059516094233231983592163404076852619731457873047590958941342812150115402763689997908823822139284039804068818113958970420477925692935248862919807479806114370649541456787157609582318288651468960313342647623969702367261636530605426165566832728444723191913551846486745084334785937373096579593551802831661747252624655309388106614781348834755946620081452095250320934902510524302885884134979"), mp_float("0.0256665448980113312834737817318982431772519478572025189414175381181278490202261854605377139885694925703580451740253878239612789861167980346128879395307738134516753590295452188926278936122302488643788266100718128281225253554973202599521810395735932541629443795557980410275916823484629011007154626191946667637734939219560777242854573395281128599313563614988124533744520405331322163689987839045863495812")),
+ mp_complex(mp_float("12.6432198532132840292049170691611040794883071590033462939728437763531353955119321783073343679522187582187156240069895587986751697645392413912849995002075135294241550052216458528117916052445808493394875241475451539860596690446347622610929342461524828798339166322573684540383369196262891558786533100858670491787144183189415717572699314331273261268425526967650174570267380361402439836847077932955714734804"), mp_float("0.0247028240914755492017664018137611761612385917306499985833065042583368428196107397113304508588062857876314088277198008619205727898955490391720665987080746242038381773051628739978129610842965031137071864886783284079816596995482810515718792847466813414934233440321529859953916732511865520383953134294629638091550705488509369301061631031320506884769539925027365256397514484452355763203450773482386878626")),
+ mp_complex(mp_float("12.3079358003298826560752825388761733392535654233458629528800256093855480322415646839625791417490533295993203489371281075375906759626824220836156392651626862655065460587926932352718161234040660279307193873463306220532070471736066128438513360988753544323207280963329204165492737761356543030397318361401598497418503860510202816159007250612391264655088785668161277732005662244724444399804164902350360568012"), mp_float("0.0237919052336095423149291321186821799880732998381382999752863603836795366861604889610062029223021635658259926845513976164983011329351600635781553113471659625292777756615371199583499034380328806183032970499025018245238915433337304434774493178837677229921882974219301986114556680257311668428510227799246627069780784204906686672541316546976257855428296906317114206516217387965712987713584336270638556589")),
+ mp_complex(mp_float("11.9883102341548986573336317602645329863533035907553092978365372557764768276147129628670917469292981010532061187607901154321427284881016590833344106504954344089528046191373867862811044321285614378415082831188309447613967202568477211276964598355859603199863381158171078070544139591903850986434945956410652929549398286565434371418563228853115180173766103972001726042586439720286501502769878400332554558935"), mp_float("0.0229301137513406179970240891018914581106020362191429412733293368010197112392366346771657930600650986833298300133503396536697042903005916615360728813562835515069250186138302691193350532379903262122397165533033981634829463958375171977638336574881190811713174558236169581241311323473330201476858087767279192504673805828219687659488930129294143146862048074057018691476381322402363290172043321386485156166")),
+ mp_complex(mp_float("11.6833742948390542398901473986657789498165285733747921253023425775971130770669442441468394653699183762945262258236059958123105926605014134742253598184826530862153970859249018373382280746318760363947969622400673654057491727982167871621575422270368973041464857136758505962029389116054423176139363561023821222169889586232309579668846441931993553224115859508600791367859174940326222423103577544616231460766"), mp_float("0.0221140805690676584863731523792964741485395199061343532561353136172563902387170249598445293464590758545830995003038403655163562429869226975748992094329431495097086382915687646006691543877407245830618946228431430620305936861405227672231986782783056493039322887468578430177704372985093095603297882219305323332766028572122390155190955498775553630225850270606625248159470739575833289430470826682896574401")),
+ mp_complex(mp_float("11.3922324123467975100613287907296952925731129904471263442915697266899888014363558164357931348769518264246347903972259391880437082047722722682383565911009603040705895510012607073215293495910792557901380318421691569941549931707268676851073776985275371593848408773242087574626828624106094206430175632005318739877939686919266944244437739920992058246420458821982037752732221059365756346190708499172587920963"), mp_float("0.0213407128340998866699425794728494266489078506059422617607527241476029641064481946602232653728395584499172445257861298024802098595141751514120489554777695906895600126167471722283472933581960793157604141271318202884086905594717367058626677501066843782337461880972541749667376161568134896451095036908481394539405982995627085831678642842941818620370593797445138441907768250682177893940743994398006955183")),
+ mp_complex(mp_float("11.1140558214432364128523830198366316214807031980320209983121594509448102196736742823039130361069874067714608839153463260106786278303505306022255306925385648569573758897315387439553273733571383243592007413435821788237493780560246378602720683464883860844764610277138483521071939390237571616567115453326156731503183771125882969319951124790726011881801071703959021314418019262741640703369960289150045893667"), mp_float("0.0206071677993936983242843496954267287627808639728357193969964345643747016148989133103016206502654478843198131159388482478804478258700460039769690079643979047211612612093377021046076568234438699264091165327374427924499388892974556426853811826723401733650413911970527599088402255870009303964051327259668171468875321525209154777691140787851622320343309248994797190491535891605733883124855042813571953459")),
+ mp_complex(mp_float("10.848076729206603464329173180532857661782898739423893527410227248243253576977186448326952944877227194059441101941721712379309130541610681783414619265160972679666124745226729833167113692765260726358216743171092289365817707536009893415980381429389749708564612167400082595408013085719221780673409699208783497406304736108492187046043128235232578672941500719661800601938086977855443484182898925704083098936"), mp_float("0.0199108294868208914256882238217118189256607318177646259259624786734617193719985939488234292970675761670867429211165269513869531451187390365359916149948419887549479180858783785020306255345704233480830442150238161122610775209735100157293560371926303652805121266364180963448198003205484671535773778778672272339460815949240335726592534295995856063791926778975241128262670448712489051036164947380659422536")),
+ mp_complex(mp_float("10.5935830618613231900086895579566543013255770650699063162523189545188846947403154766765507905027335840727412973401642829264549928936713244107279945209274203321250389235147633802644631911988887095980726559214294684258833173011779934345233391908634492007209918795152909034664582925251650405872537755939159731182777780239584492144720011633118855693482883036776495443406641523739595949989243155308714630168"), mp_float("0.0192492878033118944719519869004980730183580010868469170770144087197695711334125432905615212129203978446615314383154974483375637323115901491890150184454360314495578938437760170491252311267897584772828863565923207516186394420740019121398933086404011096539667107468087283336165682001503187024333686466208207452423737984561180686127632661311628831181047024356535205820104184586933079086396888046969505093")),
+ mp_complex(mp_float("10.3499137267508246497554262351486511747179266103176459836890321592705675016873264500423222111087337679271681265719510389239736216261334011429151091567545876813368293835666716710382520377978211628894704862693855049991276039288149617001513802977101122385947738579782334436001354344852781543983008650376018016714807862848718636250497907525801725731150205402115699168381998917319864488386715703070238881424"), mp_float("0.0186203198244056928077354924739899833699074082680504906398779832606060799754441820162258802441600610054606709840278426903516574464778753689032109151574032125499214818356981654622228089868722719626335691891029829929439612548354667740391984122445821899294910640112249615709464855780330366619174738717756561860656065789165308331215973522014343212412981897886746224214650952556558713438270903314718297818")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02106_z_rootn(const bool b_write_output)
+ {
+ return TestCase_case_02106_z_rootn().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02111_z_asin.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02111_z_asin.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02111_z_asin : public TestCaseImag
+ {
+ public:
+ TestCase_case_02111_z_asin() { }
+ virtual ~TestCase_case_02111_z_asin() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02111_z_asin");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ const mp_float y = boost::multiprecision::catalan() + static_cast<boost::int32_t>(k * k);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::asin(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("0.41975131944629608207155440964736910356761006994628109246737098314638177749685514838924469468493742753187599900042318249007837928197207546382891185185297877392449618733351208466295138732012964154002664503115737155458882344080848781774008524380969606306212226996848777423616586755497532083598575338315577670084341612439913341477100821617099650564271347216307662023964056460896895194964131135180717094062"), mp_float("0.88352092590113826922174505266994835301242892254822451462697426481198906429269614534218947128085192289007127275580577843582163760525914592735432583039383395659780638508663338754133079099176216972806436106895858856916911814326403362755970549314241358683185728065006846141172548796166139972142216632600400970591267262018062907016156681823679786014182452263513872675016196010844907896291619818621946206153")),
+ mp_complex(mp_float("0.6499889678211748547771333038038250563165262277211791980602208495692017431732491384070147186362686890801274768234435167110779506443389874012335684108404238032922296059636787090843651756599221847146054583316675608172385029870293752792643174527965133214794459458969310411439589684433660655372673044472651058346534176812565712140110212698664011060220419801129785679964655600093121665637981607232577723559"), mp_float("1.6120188351214433861687445426692401978310423820192766877558441436465537733040649638719321675501249173420648652984001535325847307393944752116589174951985361167401507289246080615824022859868730945166652592474207861055513633025684389841578101874379229803835643590578344918376787951106032592995999028333889289674743951221763482946278843933818575661856851330021168611353459554970126767626272119618866234028")),
+ mp_complex(mp_float("0.4762802132002759550638900383271272572745098034224562679855868667261270205740473151665291658782836949635602673179041434837029507381219010533691892409115321701888606076175822670053559673701578415915253733461714120514823993018967974484574563025585459253349511217365576136857930429645007737840406039384399767707719060140627115482032125052703507273379898132371413390213803621220093049009090543211718283842"), mp_float("2.4116955836053260750523721053189742038337405672941060538837458524958004936663361205564702270702020809232655039516553926684882796558621750311673025673685575678996426544026365316913664398376125649690646664602634168632082532210683188670833406731888351484362263419055254224007581642579112002867781710390372648260347170705829627283453914234379285775452723173824138642356585381958535153282163831698331574017")),
+ mp_complex(mp_float("0.3447932807175108852387569333108025968885960284508116134272313714888106875163143199027356777644629353537506200367760740842777569340135590634442468222231743395091439063249249020598860528527240351958569091561865930637987878402818257874113825693513843077724098724667821877728238184010710583408291299511326201329485777398591148494045127350468915384568953914630667051396909970253206998310328071153995946702"), mp_float("3.0501955269052569761084637087111950434790658482848560917919526844266943298338120385699427356443900623215818019650066175421124165485102429780305997259046207481996634782670119683665016520397789757079241661395699405487515509214895126174041821882685040828166326674334126599351017226116515724565287190190140440236751684460710610217499130220554945251889242322071158276327644253563367185021060062471016532353")),
+ mp_complex(mp_float("0.2638478778147359205221278666252396359056379717487752176326937759235344244292284239551009747250514632955785076445304706880696308535141987357182627908522708623200092165877242411069683891408723770893298565980088577420096251011878852933821804483634045284850095523813248602167919350297622315614287023313507794956003135573476310816910621691323722505001200234706164444310428022268542517751416620368093528348"), mp_float("3.557437691819103470233064100136284018364316398260030015165248699355289100078236349808728554603135180204262899979671214051238892699946074112691782735066664587716263405568655142326486907653920426411123156392985706172273242622540073377954952706167859300727698087311184527016215510726207880070345265752663326872053724055114964293772644318634639533964489407412727620074884066110119854348660768567042255562")),
+ mp_complex(mp_float("0.2118248011104677526072923853968682698505713341438832678971989103598523423032188515101611235196826352151547780565230748090769488584778095263172635671936910864980045513257484509515377043781362034957762379507157310885950767188197041985731064056303167139934708132791089166883427766869534888957140767192250893328526221517183408083777009609622622021514103367911183330944737860838133140686478661652024769142"), mp_float("3.9709666561624879584104064431626114736280767493898197560187477435807016893069593232663755368030534673324900967838101410154133493139640649633569165214430343396489451228910426739104769117142933143910951008922260570765652333772454095992929227288423580681216813308350633580089085852039622101795950946801338125378120732812426187325887671956267108638681659712612741124070470960035520127336386738840177913439")),
+ mp_complex(mp_float("0.1762557521217915505056374629141634291918135830583171968292423995917053750392939096358935105044070789870099042908531522437979986528626922840048361325719747109136377481717511755173741931799642572460538396533153488591705422300644608947166372344415704616710286832089620935995426305062124237643559389209837429251220304577399606789724030820953407319737317619305604802909571234910738163682973361836561716068"), mp_float("4.3175832125800969181756252387468090023376746480165923932404977521745052416093750430329093227255041859178911299339885032197088498044277739020272570576059739223413729055379488292228401221126135278645058187681224649068126809603770016221999529808721561611470739510422470545603550875356578481127840172652312969696883112819383959100814828481009563807167987869293952560031772782293703027896019075288027885601")),
+ mp_complex(mp_float("0.150620228464000129487546643499482256825327808941953701296540895314825072142835860121398051393948642537975637136272727182604766909969312239206549458256712086340858202168203576348366625656631226341148157255662303734589173107775454728626303390773438803167756846694242002091865127602553265455627681870736401424049108427267035430648016243807259534811711781696810994783049425846173198704511259240999253534"), mp_float("4.6149725248415864072320185806500179739571064376005293421016821468178453326941153241231397688242305583567792390358287880562959622765252916643598002898895315233153742636975144012031611361472614487361645057749520341663943261833214862612956718936534987725534420484191064285827065405479103737253519458572647938920007227373009739519867882169902498973562814751333561196092555652074052860542900290962783836904")),
+ mp_complex(mp_float("0.1313519096040158778706646018701381231815987216259091407282651661775872475926396249754210031931740844313862951173617822175748524583506407990102608566185986059097766614538970874975705505122156978750451734650929286959419373362075440485779662280208155971919308480063630303800077298378825379355151599983568200184074959117276894193233894628000385404722981230052811164969534219690741960723107130991396001416"), mp_float("4.8749506623678544509422396534572199146790645533534109545380004189982063687626965324188811683739485340888067241784325680640531644560743837714366933403204247259750485737375818480053150494906959967173733260243087054421760933394108960182112445903053746523440400336442093479920159857180698865141305712859379642258417631089471234185857534324151556567263890263200512810637696677420301158222341430132572368021")),
+ mp_complex(mp_float("0.1163782680886568281104051808785164448424063636484445084522874031401660954322415955966419549287545038060978262111075397808336768059615429573474515631124225116801457911191123024794915059328829411867362101481340610261882263239111785986694046251301808470093149189247027225980744814485759130353789485798697421031351080301019159109308841678230434102045833473279757990640313443070066214275108382757822487624"), mp_float("5.1056651372597638706445116713449610155926309743876837765330019199964509381349552054756756817307240413259897567820306477183933664462006681186847447335213012157371959891505995815754371388028609367143825556795465186556794045853934825561223753886643943638942726469709230213498898608224297505981772120285927989994796021733963332006035963921013915576214783727071789024415994000723411656439418551091903380363")),
+ mp_complex(mp_float("0.1044257822937406466395896842662328732804402986522416537048895951935093557841933898175055401649281644234916789941664687271160557826326473974782048909168782420505561302332605655592950314256936158098157215750207177235727308537313513693087775097156094173095853860554773543142792626264379097003026808073889106534667697475673708683233262101911942367744033178578232434397986490391205771969945563932121467617"), mp_float("5.3129219182550612974717177975249025271865198920077143834162223920257313148870457121638590435162390591348655981322086953984450826648943403576816439118122375673666301740390875719843978834617096795563083776934626776818161792917577162603186372026963335336368116226572890234566907484119595378839913424361703312075519110966010819604645221770749248109694402011506261171421246685030907350589153070210557289139")),
+ mp_complex(mp_float("0.094673580513803665981434793766003762632654344442976207139575749254326228799007590451585132534729667231278479438330727660207697069021338883553873159571726595801734299564510199752938551011261291951012734970326913722279566388818948051921364179975668087673499524161810749517906829433729234177216028870852051482988119557987386615533543421075307805143667500153867408909227819353631843033029113533800478475"), mp_float("5.5009841045640639021592528350419669019223125841878550562956569075367738772161882216967502701209225193513428669645751476233530634662847800342592078690136252854795968486291750742674493059589919335577603424388761665902465840540658395802362397688057455101340171815778416989692563595919183364946921267126967458521841651331011630461555974785948019448453034317104983591974831863851109272506907958759765663594")),
+ mp_complex(mp_float("0.0865707480182475089642002533851984147476242741121412480177084475882872245208237516947002474509111085242269310152712856897610400287416199327246216742494924778662573767349031027746640600985457442644723290716212384636040416957193820078852083885296920461609162958459065979662171563517745673348410954634608477818163124448781252925412131704868287800410449088080683481535574339714824476044266387324554968845"), mp_float("5.6730649597505299428564015479035022893306350290862200700187928612574880481211192483516653698250225245676140672669386021790579849398245135184995280493022278374446766125849479397153125795554744899043091255610685110553543767820972993169049643398255513295782128787091679389843437207863382299284094326153765522234451993622212761764817309973629081572954470812860394860468607483566385844545601583775777064861")),
+ mp_complex(mp_float("0.0797346932283293262945056111021691757610044594986728468879347519799225224502482479413131951263033293972586396426543774994803964158219012287519429835286942400437091573288635956578836515905438648104726710291604953537969287363955315141585281001573001724026636156852689592104394279125608264359015194902646886875971568138889482982296739307442939875010142627772989723946608526400270454156230665918724471427"), mp_float("5.8316419640442112160448130709350765386381329122886933489322459356929206109670523086895759134768496605619357858269122694166487387629814853689004897916735867965718396454438735992390604927064797071439777673015485498252159605855147620388117385929419304346897804121795133729053200877201171595591114592575225650498736148011831413034813848641945118255682818346955893987955838336790446277946208942049803325492")),
+ mp_complex(mp_float("0.073891869491231905954311425654386418079667219713722311276731808146383672448195747851044364802042091564291329178793437165552912548503191587070792660461270863647177643582795526858077716748352366405606884954696879228149575405282301111265185636754166537418905658909335825878627662728114303642078287059645181643066841494060570595237000636215091944208031499630079269267699869941284087580159731484518190012"), mp_float("5.9786631519261654641746281385327891665907624629492383217604240708067533816267000539274102628245941497719413677035056960005166944300108982457192781031665801306863071249352199246635004808608659471892968350948871465641189513390816398532790699393874961497921859199455885862926855929900564398331274310488989136957896969721251277390324843733865660364579177306421947182118616799697731000895171933230215265662")),
+ mp_complex(mp_float("0.0688417413760809884521793003394096111259085208579420197171689682135762461087827570088261579216255754348293044187550285455658774093471500647612334854772057682258602355169357336052083062618735052386087759141699918299459572714538070959385111291162170113401790560774305279429999814295000690012863699166990675752502447025235254562498462345675534809841088363740020812051411025782047206088354139504985765512"), mp_float("6.1156866188297921789103119198328258642177444249038714635036841441669848822715370870635428344920184400700313057944861689584117762393040689331932802693561436911665969695023119286193378006448889059393495758764340437510930596233496825223412204151834733522837007461325714298253355804151493320023219015630467984833821887872096088739250211528502276975745397011246747302702468897120464587958552361902557484178")),
+ mp_complex(mp_float("0.0644340763696561655820011968542265183807606968186422510305796500184761232592499609176161007517921415784936672172316430810007396633788385150531615241366886110989171040546616617444730010274687691839614318360004714094788196756814565799279800928280906875271070684663393249680699168466047716234185381556048750090848969710548616031203810996419409414383419981591770077482746979314634358943884010509814234582"), mp_float("6.2439773147919359750694225152062244860268688710303751085407500208750068616225106275820452938495089480719197229635537273781268165397258275342916344792915776453295693457460529795906105034701539380347600551899461508017089896007043184693977393163518565143841736512674904730770409816776698083393725444887178350092954538027944989316915893885707365841021086495578176849219126557482740168821414049820931031113")),
+ mp_complex(mp_float("0.0605541755221957622692251064064282979160765989706152859612874216042200927590451881263462366266653506650869456463615739004536308255185646256578221312349770031550820855594747175083363149741090833250640919098120241724552844601905315321086300733996538251788683791922045007753449265311784879998245375758531190636344681227704353029578391766539087264548884609909804882116645126729533311065809205792796846172"), mp_float("6.3645757768438302700816586074014252378373644770595073859553623894371993385057832465868179097131162100330263926992564673532998670469577569542688331318530246183228682040610436882673269185115195276708787936809060353195884164296772936844658937706746286381819884178304449939612058507238973446960982367591319826275642739233303706111051817060697225434199112042397772438481048753422435656663940731555443771796")),
+ mp_complex(mp_float("0.0571129973945342146783923801244844843136957522471435464062654930198324727074923406112675870748598306468672913989952822036896149365655042126016192085558182774314510430534872804687305481869719007209391737683189823510261128854005899584347728042816788598226523931090438168835165187615194455991551444151440861835453709187774177163208575317040263880408561106451514010613370655382683524627447481719752672787"), mp_float("6.4783479570874625954474792971109038009099898503484558162459204968886251011042826869086207705648136650988906954143708904822347232775554695314646524328873425609759345522682034112619481725449496438081825866220135253573999374215808131621672923214267294963650003163330123893883186833751072121881307982002112179852782287407551614634106679026692248254340076878743289246239052396020839383887264773846468173083")),
+ mp_complex(mp_float("0.0540403901502523018980320827722660111166392340125401641785763448057158425527019298099912689325969447159850571666731387238150245725059374716104218939807998606140124025688365320932600726169798280904930402539897424412260905400621140047371055305676208945609345947509903654740471754236840723723636515063421025123431995320569422324943070698677925983964045916576211663007303609161983952958740290183925658824"), mp_float("6.5860220224110415776879788364217360454452591075079998539112423217515302611316847468832464139198217092653757539420086349770159456846823364253190611118942188804627721050557804011510637689469239843051660337969543766810510162736623184825394004011946261002700235924618036024459485377757602706669606756289934174251751833863699402987230093476744022991013042857803241970431536034723703467089554733224150769516")),
+ mp_complex(mp_float("0.0512803513814914551216784287844413943686831276639908006522205708384003941240981673250356793599801942912151838088904380732750990391742053553192404806703514829694807120349638051272241235270754650039148761307518522594410532000012609306190087306100054855665969198008378238185965086432080463604447891258712772011139650316031657102379752573397570380386878838918410955680791004063392057903737536825047947633"), mp_float("6.6882159889633781283392200110223442740000219469856727101877828930312875873162453548099868207992340755502380705074450696268216551394783516370414818377929937515341204200956217388348707584460072267409178631427841997683174314028523017452514961278482109240498569699985735962424318213479720499546242004799380765818536286136816591032365280650237072312910008039935153906091744041484372561183108924443793156102")),
+ mp_complex(mp_float("0.0487876427859999686451681632563494427993692075343406392094777993384729269930134426242250457412248147223893706052856706209004734046432468138713217693161223351820921011368741391370879994814414602666476996539124936692761188818953744701585477552242108099420102058760511108320642399145129784955635548855336876332597853325554306608005613470356705108571802542880523810250412440726456496626303113821339843119"), mp_float("6.7854587880444694754559686914909953552073643788468650464968448465420221616632947445291438353132002516640731784917353815433231520216609804444625439840206655522233976859639801311227325683712336438948762021937673635294939254445187235308132233273240169520859678381496841450480758699201734426194306853550327761115027502454977901175579670804174023405877900005702792542653919439228519164113705950039741993768")),
+ mp_complex(mp_float("0.0465253297158269038108598350129997732654469236423844049434550735606263605199487104888345093300811037512309648829060127259037747907552923649065227064964587956959322782212168748324526083697977329178933678201868707746544099865544739589312238596122543827916572749926761896325976295855880424439206632189758222654553628203486500922896496192807127194709642137686759012928273617586018293438065800538812944361"), mp_float("6.878206544386225606081081679787134789410066310747285713638421786076081629199862921520188647108623195962096467372134595304745946280498812390594069037218617600858829542588254483406805466589125945422470919003902352850173879871634837138664502871059000961670951552555108945781827479739471213560173329394855516069112216770944027010965605365479948415780717746478731763375176581412461930739136708759006810313")),
+ mp_complex(mp_float("0.0444629644011126988892148729612622530469874068283199276351463224722208299178578939881021504527626758991985029424347895335854927547304896807354849316854007796043893801343484187775250383765392565343201935100391956533362407270191819140957133845969612118468051206072376358018370893129284551622981755930840989329013879023457031906421736103522938333285300711015761902974687722302113076253780209113824258062"), mp_float("6.9668553110403110085905970804619130104783004266227238162848133532587902177153822835796577111618374619509201166772906388860278300592582149160550268238881909501595820540684844685204892868646012005039284857188019731760165601117049990639378947719935183813712375252788620223371000936259030796022830260196220660714174260003991029103801400424195690115924003674120054646418902889928608786706967260088721570525")),
+ mp_complex(mp_float("0.0425752250608431180924671109021569405518661981589960335990730553303818420738632664149357591597846214192260019196174187905100610067092083630834936240199392984438501662556144061238618882294126962183706709595488935383399821352148737671337177694320971911319734467514500096854391044890762084270702442697810312191669504370130527420762253789809208354751487470438414054406744837697615932089207078851837071865"), mp_float("7.0517511448466739516281369526564553825538395715605339543840256670993803775540376628021923815642625234742416692484715773289925983573680067517666803566228312783091265000794399059537613518162154601257500093858516290973446057384968884831855500809372388144919738032314233548123491555004885855074662971728622819504490520590217852460997243576960901994190449418285517808034065591031136832720790248749053826428")),
+ mp_complex(mp_float("0.040840883083279140134585398241602524304218309165931859843150078664634601756475359847742358112658385577691579511362372027907082697365774093955544547138557991659819837116347797926198161915432499764012747109610135461854367488404024732204112347437137036791705990805311428328857164922736875274024022400728717531027196857369056767184700296720900180859987327795497172854199477854804895833085880507248543317"), mp_float("7.1331981602624340672280042251251945589432161753885463302745527119709111654405171744261212905416547541249786143454413213768444487294346688591718847973916782316480335750849934038316471713010699030903417653479455489190217960809960586013061519425106438355802291198191792666657466662117182946811362775990980067753450305627995852456900731685708266264594459579533701836842226134764330016342618066907264735763")),
+ mp_complex(mp_float("0.0392420097549032490579783595659139444188672110306551260173846633154432939767047267785756251872159416259670903547661905691460106197561683124299459094340060652127896237144276757051264663439321166116785402323309651495108341179286207976034729228636221338826553385793721760450196273364483074970633022472532428928354605253234309853589524748323452431984025187634791091540638527160378744208644141601837037987"), mp_float("7.2114650282549582680725248682481747581338288936190609171869479974518891198059853238990920909942107287605791515753897393020172484261787856548668160928739453217234754056804356109618490054406275177775011175618050824872602258006239740837852492748949616217713330599613404549707598477756077200998488172960133718117464673637791058169798985979692581235895709347573423612218391071676141976082449403220111794137")),
+ mp_complex(mp_float("0.0377633602501296023590591997026891655577276579006422917440526597674782948255721908129008733441650158774502071691967782395456298816870651602236332924568974191601166386343334334629884069010015056858656762461910103423429123894450994788924526904051299213204336644090665519882039219829847529024736841272938678366747465318833278506810924173543354173356111904031034533214904041297840311984815136285855506824"), mp_float("7.2867902662481363230526749340961426552546898900643249962588750180838065891426652905194446243376610311688695045481647639096714917406420019087768252551106484183915336052533092614440552089657752291550387618349859526974214534615429419735740819883308799045929903383127930427258490464508800753833932471204112021574947035489799093717808541099792494818773760973072359627823519823241258581078593482182700465859")),
+ mp_complex(mp_float("0.0363918904090121994794324051622747739509233288246914767228022958468972353196478198147661398073069349335973916708891369697055533159564655689081314881874080940164492903990409346440913199056081336822584048279616065422156128031981452268193808688233446537394949491648760135829984601984896319503013300745096130393165089582033925133778681291029057114825698135078601408132609551074881961747166962594943566407"), mp_float("7.359386578717334993873173093685358642726205790782409144793444136125734535891875844502056431221917343435935588614569246562483141740369248805314825620805947721491431670357599425401895869551426851546514830575540704550163748381077456307822855885732978184285786713799400550050117364669940007292522145747799888751002421885864315068643379967982894567052014946167646158938918450439753700234398580236873414957")),
+ mp_complex(mp_float("0.0351163741201361003360210313622695059448444336550863624296848525441157950383274689457713876730287676916670190994475906710617237704196555268055918665759070620578851108392718383404470008034313716431800828023222883958827456090455759067248553333098827675140591105561313134534314622949329655817230568563599880106226317418204066019825846951726795820452910024705308189633827851407684731895920996631177927081"), mp_float("7.4294444453828654916195208818637554747111292747572033455558838307149106386349343015823200899041731191148630875881829483006050040905719843610114768779386206967687417011444148984437950433811609481404623875979543076523364044845302310859881319883038923905724673044612733236703225419970189853957949139988732503033228958021443163929839174240833915261235050729319380297943841688550056389817774424326985236064")),
+ mp_complex(mp_float("0.0339270977283447643709243187623206351693986733548100258825125702128791383373241485278880505570524218233245773647232573498420398219383917521253638576728470105560772639680660493713072542161265539214660620491344937161638940526929821020369447439023957327431899203436530064690283707809367872346983096556994576381397819259943634180909185624483365944633808659408599538418700930300921007322848661208874797447"), mp_float("7.4971351079710413122312753533713730908868473475687697953931831835990701034398054105896410063466363624888785013150859697091368677849416976425696548859223075348137769934232805130160714719085998546630156516671175020091979010587928667888151723761223514564617013615225314579525502675286812376170727547017471702597091077270062744956538613513486396390624309924532173967056017905608826163361575062939918287509")),
+ mp_complex(mp_float("0.0328156139898512239254440738753611375116853933641275627882016134661803924605500513209216299417628471516599315837824856503219333523166763413111210309881667022531904257353539372957764992793487694981885780810003015875066220124685259847598841579911505346402554627692053064133854656322759251440662032909284783920253254076951805782823453061631955718742408295736679331914484382054671360672345493959358676742"), mp_float("7.5626130723796774929471296517993538614841377095838735200180408143643713852391385019676520932102961643915435031959888219130620491709770917425764493379487966398490930894964544733563295286745909574225953802188669324229918280434983667415044277716931451751642057954777439660454616677098950532529537163330972220303520493074826585527390993487466431251350166504433710815462398225489102686168261979355527830725")),
+ mp_complex(mp_float("0.0317745424812711963579977660547902634016099291559481677143870210087984301051386437387680927034755425895503078403724749468483126045800361794518006428001913168769667370729456092995001725799364918071011467264636038401665137259859729866184771385262306232716554699315116093815046565014999993475981597327509178002897595217074429245353374760744322303989532391641902686047301633758572362877623545163112770616"), mp_float("7.62601821748014701518209837594549960935627465052139679994647882681332561713278192040229478634311859024614573892379831242311512620541025098114590288189649466501437541424998252440415657398917684879172995456280058492756274393132616365772897775034140066786276290402599037464307217260310664507713886430572187207178935784916535092503192630912348137380119307841786672938322987720836305711424975156738053041")),
+ mp_complex(mp_float("0.0307974065551334186453335515126458462991971026041716670827112050696333115832395821321995074670291264082042173363232237029811870485134836601744244781182311013588130428475304748877587755032937879467152356748144424022249567428930882347947428633886616657717971535599091552740167252946894304445713247678876130125378650712322251309958773409738250353129333241631256560916248535018550730395895556185551535261"), mp_float("7.6874775823909040770943956619341911007988302760584287129312905896303474744022524568714864455448761305196558560412907019063545980429554259508376352006939155926158471589497397439047189960567217680961582523382827607922812788728368813025195880789711500541427763206328934486539133230629357944765594231265839761861119826717668370914126514696947068695592355151424342485480649578912195580911988574140582212666")),
+ mp_complex(mp_float("0.0298784992750517709528410502199538374548868096104414381056866409745268300650250293591943883650674651436254237937406635399486726500345764711894067864643665917291093361871695244052358511551674993295426062514570393081941176264616947729554177414221230387644407030492149556675810128491518618106372765122220353161960222637348446381404877386680344021507135948015170489580483887768300319852106173869480808275"), mp_float("7.7471068892272298960494801674977803675802969773817098753456190925153953305257408678678254873587200276568907107949909574604686805264611843183832733130889583127888659397316646665361176144034651612346243883806338241750336515861062676793415832361543825118493565029031467318338724332132870138296329330725564711570844679122201402303086410433752404523696414054415402152861166217639303684894996216601751310991")),
+ mp_complex(mp_float("0.0290127725008124019544028067059498471626219750590735289557014014752404066844241354851426810690372199362873832029514015588684121719397245073679851833817948958817474945519905788604884983698145337375250831618188101616258225802968588776322230321300062387934910881874916692265636149263288885126675473053411885659571128886564072631686632075244601455866322854734288499569483912413298185239605521030092436086"), mp_float("7.8050118468955588721568318569379310800366284526641258189807784821175608844612459481549320380649393270727844923856694101591015824539789193481730555880123752380753596184461125585970615540254814653920938042778768674148632234471429770811150862302606437609735183078619785938290839656167066520039646254351149930814761299442913066639644387854850416000926635526889803431105223252766329431368912246612438831566")),
+ mp_complex(mp_float("0.0281957445950674416909869928792252115201701061819280100810414228801205754577086150195956427476760802131097088932455447816662602769692554678500152022809427985041047770471710183304016611554622164376706175410545865987363927186589959505499001418941181160848095399598298670156716940688093898892498921218188468582552372271357995967037209987480474876278727629526401830078617812318425342778895656861166924696"), mp_float("7.8612892726099242956787943829433937438233734619806383094761485964121143878554726779338662387962758699851550787017684860225058607784356286426763144738392590283743229482014492005654530916518448648234402559489276740226408957041061819394889902895924029065512102376446239013696362367561612958635970870815066424142962884782969386138171872351150868314254046164667942228303855349516832436401760956418555417215")),
+ mp_complex(mp_float("0.0274234232071118451050026952536940233045920024821202671545514792676910761234285037698279084234673604161470996878576087919530491179432442814636699587246522872498782090657207060591847630780592120690685867342179304442187127684915617671038197965068527005029983087380916867555930744534004903819183086821440548306848701420506229017484483935625439328900928888189740895957842235271388994811976023225471139597"), mp_float("7.9160280608434853657825965631414018740939192479109258818305378604163149619185775577104963719316596287638661189578389112190597186484552117783643721010006713673246554977175041747930022567732704490218716920570489038053659186352578384775267233468900294170536200842231048442307153373600948144252327032703219556329327717178170215443044697276575267329710539765145593506938505038808522193518052071495686294983")),
+ mp_complex(mp_float("0.0266922403391428498592000811886271566970022159239797077804588772912715143074645821431245414640137405940566966699078255358272045572942915233564463490040425436384481896071487667472216785664726736027262455303114218149101276292185962964162455494697919235884494516645413712369739106607054327744775996681917603120841665582057730753774262954716595523658964352548085286534721203233151966847881432151949193005"), mp_float("7.9693100239332252364843922352559538199552660054387157887496206229791780202269138319468709459822275420292724172243069684707548910665413844088285027128207112372744353830793462449103766991276548548397968922807781492650288794751937634882520478928965834171461619519030152058851899305892637710623652858513623348896255339038857894814240848725812335311474804068633366870901973706555073629042807472099449501648")),
+ mp_complex(mp_float("0.0259989974765875320978475573981776688757281774972515864377340462236704036827015347427758892992730140088008813959176025183435547047081974259084562891772613452274371001877096077259524432080229329167193570939579406176623710402144880414006247481936756287062448231007500049515457031168977000132814627705334051995467367706623114634563397711940513374280544452097648484600484700485435729626356183375431086001"), mp_float("8.0212106241912013259006211658177106428293796452007760126413206322120412113635957282444312904181249856473320159262158710231423226975429518373565346013272146613998362161925234938092363467752399321738579146847093992349684088432028019320430547017921125074027366193765904559112831913333517184133978246767796811569029512931632967468361427908427846281684336969735905493745410294659480492859673550360002169326")),
+ mp_complex(mp_float("0.0253408190100950339900764152758446079408364201217504524879157789327783014398960725390943290689866548874325240616034085478046651053635418597279668987783513307266234198625635246705840701620728572139706514968936462432015913398638125011003402429479335899352377322179298349316820068157099807313011400587481855630619690286820949521703993910486652949347672816201529498011730225099227036904166572907158748995"), mp_float("8.0717996138865206748082622125221515886228549059058793750259860405720746342301028884603121685628486680338930838728149135788061047277478736179781473883987149565376712872462789558047406073989415046606777931027090291167208686778993940025469243820846118877321609317072899839365844250586964655197432990649930363793352435411560444867167256539956034615632527896136686418838510736959726675428165170764550199755")),
+ mp_complex(mp_float("0.0247151125244770672092593005564316208717276198728634953803866622645544904400861503262273235999974523932261031344608536049879831379944554443978347349317658333204220245535894597897855293954488700245475654618086249195555895923111291529261261679953221235283257603721065730610894536683528120336962979808772015323512762223569241008055233984300480550504076693594174139482136186496054218383871037001268751862"), mp_float("8.1211415966559754665977962469661624306374277607361558299244276951237379044273012428129822173251140571538258023307681080033727162809052570232176652285882626840828641217602060192873509794086857831174620693542277985497366539383308197279390778422381163940338024377766290803334895358007773934450215005661497690954042485020404543026889493481558268219724838585800767084921959733030486541285094590399562036291")),
+ mp_complex(mp_float("0.0241195348027329805275755149932538398382008462007266528612335196550460167484932000623488653542723050938134553896405504290985917604625746498207498221955375274567825237855605894002186637193042564487953468745652402193328897069146111814974885497745650010226227264730534090488283016740606564110549257338373877090798864093234160754861036783673939158049044819290505064377236385987540641591926303877385834375"), mp_float("8.1692965216313509644724197192649945481939016478062834718827952240950944945935551058452244930553445835102778685577346822509175851900266335843298933335302638683846691224579791248205877958323043990679223604545730193732484955305686513051982968793242126204688869093238145589807435254751857603162855569399486824967447509130493919070451667736242743541521421958392862753331958824168265644321435173043868194808")),
+ mp_complex(mp_float("0.0235519626087794248504454857716923003301102898849826095164141976763923796183475245876276233061462028186605313970045194832056579254175314583672408001691943495607525488726904074361462253752163059908549484964884068041568352274915138755541209018383296158150726746984450422124968977390593480718241988772582066833707668992016353856880580254829543940394265175539037317944762796690685608078663646238201458842"), mp_float("8.2163201197252961579752078923523127663850390719258189719338709438178204114573701013327465678194097144800360235365037729756994063286782405968684936546286641313645940451490709669228021755342090290640719857259047269228683406062533012411749924705455962594678694956162629472660993226191980380246754739075734907776366005224035242227423014058843925910648645572984144084805109813207628118603048738712088321251")),
+ mp_complex(mp_float("0.023010467483706451339394467369022843254623112391657773267540572045921196924577018683069391013734274538232317390248424612216050483273210839555468288110898557064752734386559164589086804271581876707522686816906220280862464994900787043400476238177852606628190895047897597490136475448634977009589652053258784355978689303893003002567014671278349582331664677901606618495585042153835690203533037344038056451"), mp_float("8.2622642900084183814812895118888154165136713493741352405592442296427421522513256594204243074931863974397919919486739390101217146787002255318974382498343577801768098597335897982221317357405561950489902167760997500577289339242602043863861444964503313087494323340588811136671972604946310531447497161368896700331976356396698559306815666609899589800498934286578157637550104406519628704626568231404437871859")),
+ mp_complex(mp_float("0.0224932939271802446830733617656716923391841654738436764391097042451192600896502775678129839492758196178896349284373796762375500875022364343034609683789845871066137894483827029800069372979540517684934031247254559416589484751994396097486717701501084551892704177436915177513447353300631299575307370145823052506316523997491604421230235576328915432567353685058859734486077108873977315465832044913790544584"), mp_float("8.3071774428703632737870553403891308164105896864042377704098614630792896453789257768034664594032967020647985769854011347660024874346026445863468822446195325816990385940191691905061797372888096651201856248266928080676169743297245953044568984577749658876054607432453408234179499249787234919713915778871913344258420372813993540046638973609860992089894384613877205130737284534196245682780851398612903300192")),
+ mp_complex(mp_float("0.0219988404455165029511150795724075670740608457679050920446349602537169850662256777987339307261426160464422717450393215180446127007998528748879936384699847346423081950622840024764003512822408297796898222695626344681024531440831237834124899486285776556189522268013145914229400997644540093864753553793537530696166639388303491781629854512906791479875820732811614211941711929911170839102305067544211941386"), mp_float("8.3511048056342219437237383243401831060690009677861270001975017284588840190130541838475865843915194752949565452600433752740488813752790404253906098950843027502215632918399839955766472868779726283563820445750408466846570117763963119675679074700349883349447418944064954070360434793157115312188039823772519471357965933580758233250941622982415464853247408064832561991763731993194156085276150898916384435951")),
+ mp_complex(mp_float("0.0215256430367034557100179948230748420925835563865991126929575401489359883123994415790024505910391270651240027167352363601027428855402602045516743105252613664756020389654090527325905696521116077340998588137746455593440343302057219974507074274831856643113978216899768865325013600500276527215487268844857883339488526406892697844585709918565390977853590592855509039156472669840688967972730420323900406197"), mp_float("8.3940886954450870136736434686000165522349577880955537298857879881917451890766002636510423507255547888154063133740614059224777506462802952226481379938660718971331108959890348364019819080647408288994680645154587942683082483743356297014455396914082635881448960453087907115541511764957508016518521692503725140781615734098855084510737778002202168958570476959181113599221987554557576199107953820044804620897")),
+ mp_complex(mp_float("0.0210723607546841731406292267852436631074045567139286562096520763597625951724467548357132157279745467699650457573180217331325666617496618272850479115754426841327168029868492232695496754673450539007860291578497175533024565862820897930633736976747027123117872166858998848208950803516717946541458920352497300096393666761025560335270078545743450417267619699379647094987202445245827093433378742371441093111"), mp_float("8.4361687635470595286468194333332000406076031725434136188325096322998040424762262987421238324066780845473500682955241694127641380257609768700612538338287660931168695889092704504167867936527830006777671471679325015242416818466246036148494525598928618051382152136310678712412393927552939637484134758296477869438952428889636360119632300060922445764490331637869700740231229907170155441686337863272264183521")),
+ mp_complex(mp_float("0.0206377630539419081384343784605739699639897285131857638929155180030024663263458299090887729136504652754246274188008261623783365695450506754337868397501164432716855979196225524405172445628752294207953599889247445514572281319647118566609994890527923552144098610663131933540615581836006444179270113210510728876085525726785404545346573959925875237207698292553377838891634471655890259588351236624867496276"), mp_float("8.4773822144723210683219471906115364071159886629245313258627433313403570380159958068771846877080019083469818363300894184363576711919571535993949426639793555265654810782596481929555279079494971134222095114228035846521630072935232474792412912761121478305859303735555301070071902578510572381811700292457960150494026842292075614620269485966489593244421428678606789189215224847967621477159835971575712067666")),
+ mp_complex(mp_float("0.0202207186635406319110241736004001710884727265749442525176450452481316264161719064081947170655825256031871951751637935553232462640788949864346379030682482772575919087453688607538721567628172677367267627318831439922942243874140290462976613367099722321656317635787889628945337432681855792202017469599198817204587529995959878700407372840908460521617716025700470779287106548456004894808939798407411319858"), mp_float("8.5177640031701084880202713878111386347727488140942245648802531779433717813983441204879785199222443358380652750875290620507903065528959253494597687472322532225238248323594005607594090662426962212225190453118982906784690216356332456364098560399596386214995666749882022090534555235242761045407584693055505294072712009758714384746425138568508392657012565344404055444340630326720624943320419933385811074939")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02111_z_asin(const bool b_write_output)
+ {
+ return TestCase_case_02111_z_asin().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02112_z_acos.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02112_z_acos.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02112_z_acos : public TestCaseImag
+ {
+ public:
+ TestCase_case_02112_z_acos() { }
+ virtual ~TestCase_case_02112_z_acos() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02112_z_acos");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ const mp_float y = boost::multiprecision::catalan() + static_cast<boost::int32_t>(k * k);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::acos(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("1.1510450073486005371597672819923823385309746297412718180201013130075264256462493509247727179861211064591980442562179708334685430228032156520337678522112617848006458640174571758898284349913448359251643371832481162783778996234293362991533063388259048915107020134932424000690612957691313759676443711874810855926598870333949540259894522652436305402149687117832185597660247006654412813110507621241635848641"), mp_float("-0.8835209259011382692217450526699483530124289225482245146269742648119890642926961453421894712808519228900712727558057784358216376052591459273543258303938339565978063850866333875413307909917621697280643610689585885691691181432640336275597054931424135868318572806500684614117254879616613997214221663260040097059126726201806290701615668182367978601418245226351387267501619601084490789629161981862194620615")),
+ mp_complex(mp_float("0.9208073589737217644541883878359263857820584719663737124272514465847064599698553609070026940347898449109465664331976366124689716604363037146291112932238167554329124453872905514684146466515522927505855238827379270157282200772084488376290741298390876330933783375647991331612681948807406312663628201233717564588498854765375162267494392115482259398356402038333166120091997052650980666968939127527129834489"), mp_float("-1.6120188351214433861687445426692401978310423820192766877558441436465537733040649638719321675501249173420648652984001535325847307393944752116589174951985361167401507289246080615824022859868730945166652592474207861055513633025684389841578101874379229803835643590578344918376787951106032592995999028333889289674743951221763482946278843933818575661856851330021168611353459554970126767626272119618866234028")),
+ mp_complex(mp_float("1.0945161135946206641674316533126241848240748962650966425018854294277811825690571841474882467927748390275137759387370098398439715666533900624934904631527083885362814437333869935474238549413166358736656088682340757814843237623410266684359352800770550292378731617251725606194341203596059230195895206321968855227313971437313758925572479761442763185196923707091538409842849031524009283597830191547989274205"), mp_float("-2.4116955836053260750523721053189742038337405672941060538837458524958004936663361205564702270702020809232655039516553926684882796558621750311673025673685575678996426544026365316913664398376125649690646664602634168632082532210683188670833406731888351484362263419055254224007581642579112002867781710390372648260347170705829627283453914234379285775452723173824138642356585381958535153282163831698331574017")),
+ mp_complex(mp_float("1.2260030460773857339925647583289488452099886712367412970602409246650975156267901794112817349065955986373234232198650792392691653707617320524184328818410662192159981450260443584928937694587504422693340730582188947691679352239559983294820090132842166468004144109949479865324033449230356384628009946195042421605547254179349725913559477463677355074007867924832284748659742682490895334296592663605711611346"), mp_float("-3.0501955269052569761084637087111950434790658482848560917919526844266943298338120385699427356443900623215818019650066175421124165485102429780305997259046207481996634782670119683665016520397789757079241661395699405487515509214895126174041821882685040828166326674334126599351017226116515724565287190190140440236751684460710610217499130220554945251889242322071158276327644253563367185021060062471016532353")),
+ mp_complex(mp_float("1.3069484489801606987091938250145118061929467279387776928547785202303737787138760753589164379460070706954955356121106826354772914512610923801444169132119696964051328347632450194458114331706021003758611256163966300909570979630499388235112111342721964260878147310804053140884352282943444652422014222392860827979029896004464563590693983122822547953575621604756787355746224630475559814855504114391614029699"), mp_float("-3.557437691819103470233064100136284018364316398260030015165248699355289100078236349808728554603135180204262899979671214051238892699946074112691782735066664587716263405568655142326486907653920426411123156392985706172273242622540073377954952706167859300727698087311184527016215510726207880070345265752663326872053724055114964293772644318634639533964489407412727620074884066110119854348660768567042255562")),
+ mp_complex(mp_float("1.3589715256844288666240293062428831722480133655436696425902733857940558608398856478038562891513758987759192652001180785144699734462974815895454161368705494722271375000252208096012421179333382739694147442636897567443716463454181199183202851770052842405793534701826212576168843866371532079079160478514117729606506810060757466323827595204523648437062718471551768469111914791905969191920442073107682788905"), mp_float("-3.9709666561624879584104064431626114736280767493898197560187477435807016893069593232663755368030534673324900967838101410154133493139640649633569165214430343396489451228910426739104769117142933143910951008922260570765652333772454095992929227288423580681216813308350633580089085852039622101795950946801338125378120732812426187325887671956267108638681659712612741124070470960035520127336386738840177913439")),
+ mp_complex(mp_float("1.3945405746731050687256842287255880129067711166292357136582298965622028281038105896781239021666514550040641389657880010797489236519125988318578435714922658478115043031792180850354056291315102202191371425610901389737961808341733632221767543481940304929017956002527680807056845328178942730392741856496531193683812727000541267617880573993192863138839504220157346997147081417833364168923947372923145841979"), mp_float("-4.3175832125800969181756252387468090023376746480165923932404977521745052416093750430329093227255041859178911299339885032197088498044277739020272570576059739223413729055379488292228401221126135278645058187681224649068126809603770016221999529808721561611470739510422470545603550875356578481127840172652312969696883112819383959100814828481009563807167987869293952560031772782293703027896019075288027885601")),
+ mp_complex(mp_float("1.4201760983308964897437750481402691852732568907455992091909314008390831310002686391926193612771098914530984061203684261409421553948059788766561302458075284723842838491827656842044131966548432511240428249587431840983775499564623693882670881918621621514050674367674881722133620357215534313480024426999004608694541947305270520101124442376073675110459704022494841852226158394282370345561808142349715022707"), mp_float("-4.6149725248415864072320185806500179739571064376005293421016821468178453326941153241231397688242305583567792390358287880562959622765252916643598002898895315233153742636975144012031611361472614487361645057749520341663943261833214862612956718936534987725534420484191064285827065405479103737253519458572647938920007227373009739519867882169902498973562814751333561196092555652074052860542900290962783836904")),
+ mp_complex(mp_float("1.4394444171908807413606570897696133189169859780616437697592071299763209555504648743385964094778844495596877481392793711059720698464246503168524188474456419528153653898970721730552092717992587795901458087493125591370247857280302800683154253546147853573808934354553671439252194334862241588681149645722800422750958072460663980214370710186145885053853840609410140635087118433053360371883813603768311556631"), mp_float("-4.8749506623678544509422396534572199146790645533534109545380004189982063687626965324188811683739485340888067241784325680640531644560743837714366933403204247259750485737375818480053150494906959967173733260243087054421760933394108960182112445903053746523440400336442093479920159857180698865141305712859379642258417631089471234185857534324151556567263890263200512810637696677420301158222341430132572368021")),
+ mp_complex(mp_float("1.4544180587062397911209165107612349972561783360391084020351848930137421077108629037173754577423040301849762170455336135427132454988137481585152281409518180470449962602318569580732883163785915362784547720662714268067784967403266455182239869575054201075635093645370274517071526818755307837682511759907671201903681951276921715298295763135915836356530988366183193809416339209674036118331812352001885070423"), mp_float("-5.1056651372597638706445116713449610155926309743876837765330019199964509381349552054756756817307240413259897567820306477183933664462006681186847447335213012157371959891505995815754371388028609367143825556795465186556794045853934825561223753886643943638942726469709230213498898608224297505981772120285927989994796021733963332006035963921013915576214783727071789024415994000723411656439418551091903380363")),
+ mp_complex(mp_float("1.466370544501155972591732007373518568818144401035311256782582700960398847358911109496511872506130369567582364262474684596430866522142643718384474813147362316674585921117708694993484790885780861655375260639384770109393992210506472747584614072919991537263238897406252819990947900697668787103327443763247951640036533410226716572437134271223432809083278866088471936565866616235289656063697517082758609043"), mp_float("-5.3129219182550612974717177975249025271865198920077143834162223920257313148870457121638590435162390591348655981322086953984450826648943403576816439118122375673666301740390875719843978834617096795563083776934626776818161792917577162603186372026963335336368116226572890234566907484119595378839913424361703312075519110966010819604645221770749248109694402011506261171421246685030907350589153070210557289139")),
+ mp_complex(mp_float("1.4761227462810929532498868978737476794659303552445767033478965468995819743440969088624322801363288667597955638183104256633392252357539522323088065444925139629234077517864590607998412713002131855141782472440785741106871566754188760649720274026599328668993247592999194247873203338903774626264140956997848108105151835998067008252269170603393192407140146837924277710964374459207783902276629599421702773297"), mp_float("-5.5009841045640639021592528350419669019223125841878550562956569075367738772161882216967502701209225193513428669645751476233530634662847800342592078690136252854795968486291750742674493059589919335577603424388761665902465840540658395802362397688057455101340171815778416989692563595919183364946921267126967458521841651331011630461555974785948019448453034317104983591974831863851109272506907958759765663594")),
+ mp_complex(mp_float("1.4842255787766491102671214382545530273509604255754116624697638485656209786222807476193171652201474254668471122413698676337858822760336711831380580298147480808588846746160661577781157622129287332007186531427842493693626813685184421090081831941059089084119079876158235763390100069723321294687890291071760145116869907129159621482192473109277982658166372751382268318521078313029277856562654347435152589202"), mp_float("-5.6730649597505299428564015479035022893306350290862200700187928612574880481211192483516653698250225245676140672669386021790579849398245135184995280493022278374446766125849479397153125795554744899043091255610685110553543767820972993169049643398255513295782128787091679389843437207863382299284094326153765522234451993622212761764817309973629081572954470812860394860468607483566385844545601583775777064861")),
+ mp_complex(mp_float("1.491061633566567292936816080537582266337580240188880063599537544173985680692856251372704217544755204593815403613986775824066525888953389887110736720535546318681432894022105664894896170720930612654718311185244992479169794327842292602734863482478300782170160667776461215094787735411545870367728605080372173605906146343905139142530786550670333058356667921168996207611004412634383187845069006884098308662"), mp_float("-5.8316419640442112160448130709350765386381329122886933489322459356929206109670523086895759134768496605619357858269122694166487387629814853689004897916735867965718396454438735992390604927064797071439777673015485498252159605855147620388117385929419304346897804121795133729053200877201171595591114592575225650498736148011831413034813848641945118255682818346955893987955838336790446277946208942049803325492")),
+ mp_complex(mp_float("1.4969044573036647132770102659853650240189174799738305992107404880075245306949087514629730478690164424267827140778477161579940097562720995287918870436029696950779644077681737336947021055631221110595840972597086086048171476589555230056282059458814344171539186245523943484265995005959923931615518375109916806504364616637335168455234598451995351016496506843162159107379653953331261456805323419914525657927"), mp_float("-5.9786631519261654641746281385327891665907624629492383217604240708067533816267000539274102628245941497719413677035056960005166944300108982457192781031665801306863071249352199246635004808608659471892968350948871465641189513390816398532790699393874961497921859199455885862926855929900564398331274310488989136957896969721251277390324843733865660364579177306421947182118616799697731000895171933230215265662")),
+ mp_complex(mp_float("1.5019545854188156307791423913003418309726761788296108907703033279403319570343217423051912547494329585562447388378861247779810448954281410511014462185870347904992818158340335269475715160496009722265822063002354960030207657927840170209548804535193839432326452273842996463622271818946066278023437546539377947182530584552705619845106142468470735648735733475722930988005241626962055126518566595254721792535"), mp_float("-6.1156866188297921789103119198328258642177444249038714635036841441669848822715370870635428344920184400700313057944861689584117762393040689331932802693561436911665969695023119286193378006448889059393495758764340437510930596233496825223412204151834733522837007461325714298253355804151493320023219015630467984833821887872096088739250211528502276975745397011246747302702468897120464587958552361902557484178")),
+ mp_complex(mp_float("1.5063622504252404536493204947855249237178240028689106594568926461354320798838545383964013119192663924125803760394095102425461826413964526008095181799275519476262249472963075988083068212840057082812295503784050164234879033885563675369654114898075102670457172149953908493371572464775019251802115864150319872844184061867392258376400793817726861044193401857871181722573905673429467973663036724249893323465"), mp_float("-6.2439773147919359750694225152062244860268688710303751085407500208750068616225106275820452938495089480719197229635537273781268165397258275342916344792915776453295693457460529795906105034701539380347600551899461508017089896007043184693977393163518565143841736512674904730770409816776698083393725444887178350092954538027944989316915893885707365841021086495578176849219126557482740168821414049820931031113")),
+ mp_complex(mp_float("1.5102421512727008569620965852333231441825081007169376245261848745496881103840593111876711760443931833259870976102795794230932914792567264902048575728292635555700599657914945430444435073373653941401268903045934636605114386040472925847847615092359471293939559042695256735298822367929282088038055869947837432298688350350236521378026213047607183194027937229553146917940007526014569021541111528966910711875"), mp_float("-6.3645757768438302700816586074014252378373644770595073859553623894371993385057832465868179097131162100330263926992564673532998670469577569542688331318530246183228682040610436882673269185115195276708787936809060353195884164296772936844658937706746286381819884178304449939612058507238973446960982367591319826275642739233303706111051817060697225434199112042397772438481048753422435656663940731555443771796")),
+ mp_complex(mp_float("1.513683329400362404552929311515266957784888947440409364081206803134075730435612158702749825596198703344206751857645871119857307368209786903261060495508422281293691008297481980084049274124502576744251808446086505481940610178837234158458618778353922094750171890352686357421710644562587251204474980155492776109957932239016669724439602949710600657816826073301143778944328199736141880797947325303995488526"), mp_float("-6.4783479570874625954474792971109038009099898503484558162459204968886251011042826869086207705648136650988906954143708904822347232775554695314646524328873425609759345522682034112619481725449496438081825866220135253573999374215808131621672923214267294963650003163330123893883186833751072121881307982002112179852782287407551614634106679026692248254340076878743289246239052396020839383887264773846468173083")),
+ mp_complex(mp_float("1.5167559366446443173332896088674854309819454656750127463088959513481923605904025695040261437384615892750889860899680145997318977322693536442522578100834406981111296487821327284595197496944946493746979419604157453917406325241757101121562860520679800600118896887107398088311799879004226244312664730642947597811601036257371452082661534115468344474612775922886740137049349043582118379648180444575781899223"), mp_float("-6.5860220224110415776879788364217360454452591075079998539112423217515302611316847468832464139198217092653757539420086349770159456846823364253190611118942188804627721050557804011510637689469239843051660337969543766810510162736623184825394004011946261002700235924618036024459485377757602706669606756289934174251751833863699402987230093476744022991013042857803241970431536034723703467089554733224150769516")),
+ mp_complex(mp_float("1.5195159754134051641096432628553100477299015720235621098352517253155078090190063319889817333110783396998588594477507152502718232656010857605434392233938890757556613393160054554255556987843990124612761060836536355735256698642365631862743828520255954690062273636608923504866306546808986504431853354447655850923893381261909217305224852240748700078189943000544540844375861648680710274703183197934659610414"), mp_float("-6.6882159889633781283392200110223442740000219469856727101877828930312875873162453548099868207992340755502380705074450696268216551394783516370414818377929937515341204200956217388348707584460072267409178631427841997683174314028523017452514961278482109240498569699985735962424318213479720499546242004799380765818536286136816591032365280650237072312910008039935153906091744041484372561183108924443793156102")),
+ mp_complex(mp_float("1.5220086840088966505861535283834019992992154921532122712779944968154352761500910566897923669298337192686846726513554827026464489001320443019913579347481182235430499502140951214156918228300330171985432825604929941636906041823424496467348438274113901446308140775856790634731629234095937183080665696851031746602435178252386567799598991343789565350005019296582427989806240212017645835980617620938367714928"), mp_float("-6.7854587880444694754559686914909953552073643788468650464968448465420221616632947445291438353132002516640731784917353815433231520216609804444625439840206655522233976859639801311227325683712336438948762021937673635294939254445187235308132233273240169520859678381496841450480758699201734426194306853550327761115027502454977901175579670804174023405877900005702792542653919439228519164113705950039741993768")),
+ mp_complex(mp_float("1.5242709970790697154204618566267516688331377760451685055440172225932818426231557888251829033409774302398430783737351405976431475140199987509561569975677817630292097731297523857203272139416767445472976143942186170583123130776833501579621677230233465717811670084690539846726295337385186543597094613516610400280479403374454373484708108621339143263867179701776192787128379035158084039168854934220894613686"), mp_float("-6.878206544386225606081081679787134789410066310747285713638421786076081629199862921520188647108623195962096467372134595304745946280498812390594069037218617600858829542588254483406805466589125945422470919003902352850173879871634837138664502871059000961670951552555108945781827479739471213560173329394855516069112216770944027010965605365479948415780717746478731763375176581412461930739136708759006810313")),
+ mp_complex(mp_float("1.5263333623937839203421068186784891890515972928592329828523259736816873732252466053259152622182958580918755403142063637899614295500448014351271947723788397791207526712166208417752547839349352209308707887043662921796304823372186422027976781980386397427260191628544925385033900740111782416413319489775527633606019152554483842501182868710623332125291521128447189897081964930441989256353140525645883299985"), mp_float("-6.9668553110403110085905970804619130104783004266227238162848133532587902177153822835796577111618374619509201166772906388860278300592582149160550268238881909501595820540684844685204892868646012005039284857188019731760165601117049990639378947719935183813712375252788620223371000936259030796022830260196220660714174260003991029103801400424195690115924003674120054646418902889928608786706967260088721570525")),
+ mp_complex(mp_float("1.5282211017340535011388545807375945015467185015285568768883992408235263610692412328990816535112739125718480413370237345330368612980660827527791860800443012602812918850953548544289179340820617812468203112548565942946267409290229503497596738132035037634408508367102801646197880588350304883765598803008558310743363527207810346986842351024337062103825334369024537745649907815046486400517713655907870486182"), mp_float("-7.0517511448466739516281369526564553825538395715605339543840256670993803775540376628021923815642625234742416692484715773289925983573680067517666803566228312783091265000794399059537613518162154601257500093858516290973446057384968884831855500809372388144919738032314233548123491555004885855074662971728622819504490520590217852460997243576960901994190449418285517808034065591031136832720790248749053826428")),
+ mp_complex(mp_float("1.5299554437116174790967362933981489177943663905216210506443222174892736013866291394662750545584001484133824637452787812956398396074095170219071351569256825670653222142346214626265816603960419777011782351047953523711123555758337993846892792351984639177811182926564187459763699984013698215296061021699081447624761063004250306735757601846937268649976948561507980071514657874196053374276061929687222124877"), mp_float("-7.1331981602624340672280042251251945589432161753885463302745527119709111654405171744261212905416547541249786143454413213768444487294346688591718847973916782316480335750849934038316471713010699030903417653479455489190217960809960586013061519425106438355802291198191792666657466662117182946811362775990980067753450305627995852456900731685708266264594459579533701836842226134764330016342618066907264735763")),
+ mp_complex(mp_float("1.5315543170399933701733433320738374976797174886568977844700876328384649091663997725354417874838425923651069529018749627544009116850191228034327337946302344935123524276365415848476533559675423608535124419820745226834558889463092033192899186597719788206901689448823579982602075359876583893065668223233836194006678426324706564554015080065822818026592796651828160708516014125583723588398276593157870520061"), mp_float("-7.2114650282549582680725248682481747581338288936190609171869479974518891198059853238990920909942107287605791515753897393020172484261787856548668160928739453217234754056804356109618490054406275177775011175618050824872602258006239740837852492748949616217713330599613404549707598477756077200998488172960133718117464673637791058169798985979692581235895709347573423612218391071676141976082449403220111794137")),
+ mp_complex(mp_float("1.5330329665447670168722624919370622765408570417869106187434196363864299083175323085011165393268935181136238360874443750840012924230882259556390464116073431395650254127166358270897914154104729717793253059682144774906238106747927246380009388922304710332523906190526636223170232413411219439011564404433429944568285566259107595900793680640602916285220709935431917266841748611446262020622105598473852051223"), mp_float("-7.2867902662481363230526749340961426552546898900643249962588750180838065891426652905194446243376610311688695045481647639096714917406420019087768252551106484183915336052533092614440552089657752291550387618349859526974214534615429419735740819883308799045929903383127930427258490464508800753833932471204112021574947035489799093717808541099792494818773760973072359627823519823241258581078593482182700465859")),
+ mp_complex(mp_float("1.5344044363858844197518892864774766681476613708628614337646700003070109678234566794992512728637515990574766515857520163538413689888188255469545482158768324647086927609519283259086885024058663437829325773864438812907511102610396788900740107138122563008333293342968541607222287031256170648533287944961272492541867941995906949273825923523117213343751123704384350391924043101669220370859753772164763991641"), mp_float("-7.359386578717334993873173093685358642726205790782409144793444136125734535891875844502056431221917343435935588614569246562483141740369248805314825620805947721491431670357599425401895869551426851546514830575540704550163748381077456307822855885732978184285786713799400550050117364669940007292522145747799888751002421885864315068643379967982894567052014946167646158938918450439753700234398580236873414957")),
+ mp_complex(mp_float("1.5356799526747605188953006602774819361537402660324665480577874436097924081047770303682460249980297662994070241571935626524851985343556355890570878374883334966672569405116974222123328215080431058220108994120831994370839774551922482101685362493257181870587651729055988608517957010291737312219070677142768742828806714159736808387778757862419474638123911814757643610422824801336417600710999738128529630966"), mp_float("-7.4294444453828654916195208818637554747111292747572033455558838307149106386349343015823200899041731191148630875881829483006050040905719843610114768779386206967687417011444148984437950433811609481404623875979543076523364044845302310859881319883038923905724673044612733236703225419970189853957949139988732503033228958021443163929839174240833915261235050729319380297943841688550056389817774424326985236064")),
+ mp_complex(mp_float("1.5368692290665518548603973728774308069291860263327428846049597259410290648057803507861293621140061121677494658919178959737048824828368993637373158463913935481690647873829032111814725680953479235437249201652709941168028290115448420148564468387332052218296343631180771678361987925431699095689318149149374046553635212317997240226695419189662904513943013180054352261637951722443181325284072073550832760601"), mp_float("-7.4971351079710413122312753533713730908868473475687697953931831835990701034398054105896410063466363624888785013150859697091368677849416976425696548859223075348137769934232805130160714719085998546630156516671175020091979010587928667888151723761223514564617013615225314579525502675286812376170727547017471702597091077270062744956538613513486396390624309924532173967056017905608826163361575062939918287509")),
+ mp_complex(mp_float("1.5379807128050453953058776177643903045868993063234253476992706826877278106825544479930957827292956868394141116728586676732249889524586147745515586730760738564719516256156153232570033230321257079670024041334051862454601010517692981321335074246444504199325688206925248678918416976918307716595639212797083839014779777500989068624781151752514314739834413543726272468142168270689430971934575240800348881306"), mp_float("-7.5626130723796774929471296517993538614841377095838735200180408143643713852391385019676520932102961643915435031959888219130620491709770917425764493379487966398490930894964544733563295286745909574225953802188669324229918280434983667415044277716931451751642057954777439660454616677098950532529537163330972220303520493074826585527390993487466431251350166504433710815462398225489102686168261979355527830725")),
+ mp_complex(mp_float("1.5390217843136254228733239255849611786969747705316047427730852751451097730379658555752493199675829914015237354162686783766986097001952549364108790612640492418481753142780236512532796497315379856580898354879418839928002093382518511302749144441093703313011688135302185649237225068226066974560319648378859444932135436360866445162251230053401948154587289447821049114009351018985529969729297189596594787432"), mp_float("-7.62601821748014701518209837594549960935627465052139679994647882681332561713278192040229478634311859024614573892379831242311512620541025098114590288189649466501437541424998252440415657398917684879172995456280058492756274393132616365772897775034140066786276290402599037464307217260310664507713886430572187207178935784916535092503192630912348137380119307841786672938322987720836305711424975156738053041")),
+ mp_complex(mp_float("1.5399989202397632005859881401271055957993875970833812434047610910842748915598649171818179052040294075828698259203179296205657352562618074556882552259460094573663290085034387856650210468081806895184757465395910454307417663213447358820986487192469392888010271299018210190312104380294172663590587998027492492809654380865618623097645831404408020105447488597831695239140404117725551602211025178574156022786"), mp_float("-7.6874775823909040770943956619341911007988302760584287129312905896303474744022524568714864455448761305196558560412907019063545980429554259508376352006939155926158471589497397439047189960567217680961582523382827607922812788728368813025195880789711500541427763206328934486539133230629357944765594231265839761861119826717668370914126514696947068695592355151424342485480649578912195580911988574140582212666")),
+ mp_complex(mp_float("1.5409178275198448482784806414197976046436978900771114723817856551793813730780794699548230243059910688474486194629004897835982496547407146446732729175998739669960327151637997361475439711563069781356483759629484485247726054377761293439379738412134779158083835804125152186376461504749548349929928480584148269773072808940592428026199727427465926437069685891447781310476168764975802012754814560890226749773"), mp_float("-7.7471068892272298960494801674977803675802969773817098753456190925153953305257408678678254873587200276568907107949909574604686805264611843183832733130889583127888659397316646665361176144034651612346243883806338241750336515861062676793415832361543825118493565029031467318338724332132870138296329330725564711570844679122201402303086410433752404523696414054415402152861166217639303684894996216601751310991")),
+ mp_complex(mp_float("1.5417835542940842172769188849338015949359627246284793815317708946786677964586803638288747316020213140547866600536897517646785101328355666084946945206824456628433945567989786816922913239416599437276658990525866776713409004839409652392611685505055947157793331952742385050786635483977778082909625772652956737275461902691376801775917972738901669002710498984728663300487168740330804147367315213729615121961"), mp_float("-7.8050118468955588721568318569379310800366284526641258189807784821175608844612459481549320380649393270727844923856694101591015824539789193481730555880123752380753596184461125585970615540254814653920938042778768674148632234471429770811150862302606437609735183078619785938290839656167066520039646254351149930814761299442913066639644387854850416000926635526889803431105223252766329431368912246612438831566")),
+ mp_complex(mp_float("1.5426005821998291775403346987605262305784145935056249004064308732737876276853958842944217699233824537779643343633956085418806620278060356480126645017832977602210372743037982422223781611560122610275203646733509012342303303455788281663434914407414828384880147435019003072895554692552973069143802324488180154352480659306582878440567394826665795582298094209936549969978034840425676989828025077898540633351"), mp_float("-7.8612892726099242956787943829433937438233734619806383094761485964121143878554726779338662387962758699851550787017684860225058607784356286426763144738392590283743229482014492005654530916518448648234402559489276740226408957041061819394889902895924029065512102376446239013696362367561612958635970870815066424142962884782969386138171872351150868314254046164667942228303855349516832436401760956418555417215")),
+ mp_complex(mp_float("1.5433729035877847741263189963860574187939926972054326433329208168862171270196759955441895042475911735749269435687835445315938731868320468343990097453395882714752638422852485544935950592334152653961223954801875573887480102957462623497895717861287482540698259747236384875496340888707062064217118158884928074628184330157434645390120120878520831129675892951273210904098810417472713337794944711534236418451"), mp_float("-7.9160280608434853657825965631414018740939192479109258818305378604163149619185775577104963719316596287638661189578389112190597186484552117783643721010006713673246554977175041747930022567732704490218716920570489038053659186352578384775267233468900294170536200842231048442307153373600948144252327032703219556329327717178170215443044697276575267329710539765145593506938505038808522193518052071495686294983")),
+ mp_complex(mp_float("1.5441040864557537693721216104511242854015824837635732027070134188626366888356399171708928712070447933970173465867333277877197177474809995925062333550601980150866938617438204938055581437450018038624647366840940660180565954350192278204771460331658090309843748317971888030682532526634012640291525249024451019814191365995883143653830341859429674934917857486914866513521931449510950365759039302607758365042"), mp_float("-7.9693100239332252364843922352559538199552660054387157887496206229791780202269138319468709459822275420292724172243069684707548910665413844088285027128207112372744353830793462449103766991276548548397968922807781492650288794751937634882520478928965834171461619519030152058851899305892637710623652858513623348896255339038857894814240848725812335311474804068633366870901973706555073629042807472099449501648")),
+ mp_complex(mp_float("1.5447973293183090871334741342415737732228565221903013240497382499302377994604029645712415233717855199822731618607235508052033676000670936899542234148869792134977049511632596528268273791034515445484716251204475472153043520240233360754927668344419253258665794603609801693536814602072089967903486618001034570939565663871317759773041207102205757084296277387365303315456167952258666602980564551384276472046"), mp_float("-8.0212106241912013259006211658177106428293796452007760126413206322120412113635957282444312904181249856473320159262158710231423226975429518373565346013272146613998362161925234938092363467752399321738579146847093992349684088432028019320430547017921125074027366193765904559112831913333517184133978246767796811569029512931632967468361427908427846281684336969735905493745410294659480492859673550360002169326")),
+ mp_complex(mp_float("1.5454555077848015852412452763639068341577482795658024579995565172211299017032084267749230836020718791036415191950377447757422571994117492561347128052858892279985186314884057358821957521494016202512203307175118415897651317243740116157930513396876673646375865512438003393735451565083967160723289845118886767304413341291119924885900610903659617509229149023261422302044922427644875295702754161852548809052"), mp_float("-8.0717996138865206748082622125221515886228549059058793750259860405720746342301028884603121685628486680338930838728149135788061047277478736179781473883987149565376712872462789558047406073989415046606777931027090291167208686778993940025469243820846118877321609317072899839365844250586964655197432990649930363793352435411560444867167256539956034615632527896136686418838510736959726675428165170764550199755")),
+ mp_complex(mp_float("1.5460812142704195520220623910833198212268570798146894151070856338893537127030183489877900890710610815978479401221802997185589391667808356714648449691324747254047200267973798007629942929160256074406434167525968629134111334719266949639672654146402788310444985230896236012441377096557538847699338265897596607611520269354371633399549370829845789908072745145868777660574516466248048114223049697758438806185"), mp_float("-8.1211415966559754665977962469661624306374277607361558299244276951237379044273012428129822173251140571538258023307681080033727162809052570232176652285882626840828641217602060192873509794086857831174620693542277985497366539383308197279390778422381163940338024377766290803334895358007773934450215005661497690954042485020404543026889493481558268219724838585800767084921959733030486541285094590399562036291")),
+ mp_complex(mp_float("1.5466767919921636387037461766464976022603838534868262576262387764988621863946112992516685473167862288972605878670006028944483305443127164660419298818687030312683595275654086711525611585921702210163956353398402476136338333573232129353959030328610359535502015569886767652563988616500460403925751988367994745844234167484706713652743568030472331300527777020172446735679416266756561691014994430882321723672"), mp_float("-8.1692965216313509644724197192649945481939016478062834718827952240950944945935551058452244930553445835102778685577346822509175851900266335843298933335302638683846691224579791248205877958323043990679223604545730193732484955305686513051982968793242126204688869093238145589807435254751857603162855569399486824967447509130493919070451667736242743541521421958392862753331958824168265644321435173043868194808")),
+ mp_complex(mp_float("1.5472443641861171943808762058680591417684744098025703009710580984775158235247569747263897893649123311724135118596366338403412643793577596574954389038950462091643895024782788531166335969362581714743360337179170810288098878367463102413392706807972713387577516087632851320927302655850473487318059256933786556101325362585924520550724024559316726518182556663923914482111889856053416724528257088521506099205"), mp_float("-8.2163201197252961579752078923523127663850390719258189719338709438178204114573701013327465678194097144800360235365037729756994063286782405968684936546286641313645940451490709669228021755342090290640719857259047269228683406062533012411749924705455962594678694956162629472660993226191980380246754739075734907776366005224035242227423014058843925910648645572984144084805109813207628118603048738712088321251")),
+ mp_complex(mp_float("1.5477858593111901678919272242707285988439615872958951372199317241079870062185274806309480216573242594528417258663927287113308718215020802763072114159533420016603893169644100959636930180398926007576682953974992675521042580693370370734929153444577483479446333884138325768150906878754717197940404725173780779375246138539010844381934458101362774635260175060446885615100802231205745430571590361319326993537"), mp_float("-8.2622642900084183814812895118888154165136713493741352405592442296427421522513256594204243074931863974397919919486739390101217146787002255318974382498343577801768098597335897982221317357405561950489902167760997500577289339242602043863861444964503313087494323340588811136671972604946310531447497161368896700331976356396698559306815666609899589800498934286578157637550104406519628704626568231404437871859")),
+ mp_complex(mp_float("1.5483030328677163745482483298740797497594005342137092340483625919087889430534542217462044287217827143731844083282037736473093722172730546815592187356852559716185282619025865575727728850135204256966975790896800318913077745890383845071447198124854924993835538657180386565538824279940435668460993875560545570428716507580449269986374369237817355026009468154404092065570575543870125017141088689845917013463"), mp_float("-8.3071774428703632737870553403891308164105896864042377704098614630792896453789257768034664594032967020647985769854011347660024874346026445863468822446195325816990385940191691905061797372888096651201856248266928080676169743297245953044568984577749658876054607432453408234179499249787234919713915778871913344258420372813993540046638973609860992089894384613877205130737284534196245682780851398612903300192")),
+ mp_complex(mp_float("1.5487974863493801162802066120673438750245238539196478184428373359001912180768788215152834819449159179446317715116018318055023096039754382409746860655942558240828338562886852580763794710292336476855011599448428533648642699201547003334809016340070232989538720566604155828822870635596526874171547691912831092238866392189637382625974750301239478978701001106651337588114940722832931493504615667215495616662"), mp_float("-8.3511048056342219437237383243401831060690009677861270001975017284588840190130541838475865843915194752949565452600433752740488813752790404253906098950843027502215632918399839955766472868779726283563820445750408466846570117763963119675679074700349883349447418944064954070360434793157115312188039823772519471357965933580758233250941622982415464853247408064832561991763731993194156085276150898916384435951")),
+ mp_complex(mp_float("1.549270683758193163521303696816676600006001143300953797794514756004972214830705057735014962080019406925950040539905916963444179419235030911311005393538979192249540012385560207820189252659362869731091123400630842273622688734032102119442684155152415290261426461771753287772725803274079044082081397686151073959554450517104817656301889489558087948072323124660744276090017998290341336463419031443580715185"), mp_float("-8.3940886954450870136736434686000165522349577880955537298857879881917451890766002636510423507255547888154063133740614059224777506462802952226481379938660718971331108959890348364019819080647408288994680645154587942683082483743356297014455396914082635881448960453087907115541511764957508016518521692503725140781615734098855084510737778002202168958570476959181113599221987554557576199107953820044804620897")),
+ mp_complex(mp_float("1.5497239660402124460906924648545077789911801429736242542778202197941456079706577444783041969430839872211089974993231315904143556430256292885776317924887978745924252483641200372832301468441294235644049530565557702796642664779557343238300178849608982422610370667758302894843320829724349021494842325353871322838639364816915314072334526268402820041309202140083304705069450207498275239173541992388266464936"), mp_float("-8.4361687635470595286468194333332000406076031725434136188325096322998040424762262987421238324066780845473500682955241694127641380257609768700612538338287660931168695889092704504167867936527830006777671471679325015242416818466246036148494525598928618051382152136310678712412393927552939637484134758296477869438952428889636360119632300060922445764490331637869700740231229907170155441686337863272264183521")),
+ mp_complex(mp_float("1.5501585637409547110928873131791774721345949711743671465945567781509057368167586694049286397574080687156494158378403271611685857352302404404288928643141241154534564534313467081122625777485992480443956222254807432815094949322731122602323920935828085993584144223954169809511656051405060523857031132495857894058947505851155469862258030854220395221369123546909573961165018181088212073018569498134840061771"), mp_float("-8.4773822144723210683219471906115364071159886629245313258627433313403570380159958068771846877080019083469818363300894184363576711919571535993949426639793555265654810782596481929555279079494971134222095114228035846521630072935232474792412912761121478305859303735555301070071902578510572381811700292457960150494026842292075614620269485966489593244421428678606789189215224847967621477159835971575712067666")),
+ mp_complex(mp_float("1.5505756081313559873202975180393512710101119731126086579698272509057765767269325929058226956054760083878868480814773597682236760406963961294280418009959922814675501426056003997989076655486572097284642194825223438406724986768237950705957302459256287224071925198829412114106934200559211175834283776107169805730445501581980995707197231973237809936959105813762481020769546104288097437797980936352296238189"), mp_float("-8.5177640031701084880202713878111386347727488140942245648802531779433717813983441204879785199222443358380652750875290620507903065528959253494597687472322532225238248323594005607594090662426962212225190453118982906784690216356332456364098560399596386214995666749882022090534555235242761045407584693055505294072712009758714384746425138568508392657012565344404055444340630326720624943320419933385811074939")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02112_z_acos(const bool b_write_output)
+ {
+ return TestCase_case_02112_z_acos().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02113_z_atan.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02113_z_atan.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02113_z_atan : public TestCaseImag
+ {
+ public:
+ TestCase_case_02113_z_atan() { }
+ virtual ~TestCase_case_02113_z_atan() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02113_z_atan");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ const mp_float y = boost::multiprecision::catalan() + static_cast<boost::int32_t>(k * k);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::atan(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("0.85942212476935455544963853775708153436578353098889929645270064627363841983123362183784497818067637976575867924602583194745827086721061438862610276895949669710681785611450449534278034099202910387602324378073383263100843345671247831619356403485513917921090250501928957568940482866165554544831432615649927574770162963208610972825419363633738600069857643013387145386047580888647348526608774965943641139695"), mp_float("0.61635606266900938322275576818114966791959548688813491873447556025371464974946639995316677123188790278277520788143066561315741457294189496840118728239305111701424381418637751842737414851327596854721432299260305679800394469592191932448530108417099657292414020354200516839287251278678230591485272980459466230801928261847297172595112288820258308533538800000845825147680301362753180988953582351645324876386")),
+ mp_complex(mp_float("1.29638091311657169295978148834231199735209217155035092572317691384606729024974465590795952298340303684313671322781490075745458323989914543527854859736444909701598521562637154261719023866329362027014479824356565819776804799802006176264844610026269732194547359439792174277254475944017935832840729198242782839466144986962282878917547403303110880830252315526214912441790270411314709813104388492741850280191"), mp_float("0.29876915314955680194968694102933183360746428308731896174032178395584444863600131005819570217283443363513223628285289555099413505197401925730302807721611609642656854903168349468367421608894015993414744175357693207879651541214865597725497551619031238009723363372393925028827170686197503917693583163103734043020651220589660715583629932324833777698077827420217851819544331022578682645096637903701281469154")),
+ mp_complex(mp_float("1.4851845600661426775671312677904992831571440897335670868947656158533435785740420150616085016768118055260415042142995346188175848409574613732523172549512838203661163530676748488127425456724116943492489045435657209480498228152540187106643405944603177491670646523811735739049382699933015869752377912679285694137577398620921000675130955394285906962537142667267702352186173764727931882473659652145270515317"), mp_float("0.1597723041649029642680302581987690491047722490302197662219272521445009166678961737823779089917677412385107222440238836216724631741827757135993779736520414976729346335435275713271053609301793977225959378638976314460627376058457204579764309619300359539133197919253716118154051654954663928449238127658197517650494541116270732996908101039387628140440620897313321155045348242476577713107558252435978783771")),
+ mp_complex(mp_float("1.5383580489559639892779881348906123440166492604290507113220356058095841788968752057187776750793611731418206537262750761693257889923939719960593861923228494493768784648283227695562916868906200589822395520787539184318373853285956241766603767980626227199328499654930809227427227191864618115076423009046837756259443321833703134955265680580297985376369060833726252096079760615214464565378033485308812220231"), mp_float("0.0893783906537451881964611223607059619471996461423395738857349374074480386421693027669989728609075808705564658899180680478181527435275307361169642566501500956176781104574179178640298136997056166424713312819353691361200381777912638442406570828859726885512780154966935141392034160193075088186910609821352911103887782141606168701578812929936149854812898564417934085367564824576507864177537286943260479079")),
+ mp_complex(mp_float("1.5558474869318554189348389735102623405629275518216769344614107140559671677655429676347049766858477243647164447296333844052236865403875845372038390279201264926762874949392775401686046472354314085675010201650913233960460732862938659094641729209487329274444292781449612612134148746198915566381174697517078068744143782011897709797812653196424840655341734817285672511034982402786415832322705443847359481828"), mp_float("0.0551262826097403004073188420034139197478846426696462241517016855922268051402427112395866220957522934539174400488238618840804962825494547610879902602765648192806871142839103985644764897509423979154486354672989830209896474540268950810946949505798969288537501923608288255546708571990299181756776417345570363646817819640606955992798578322462424732210255474053369958682183909703128470711384380361042203589")),
+ mp_complex(mp_float("1.5628493303285815184391925384758407069618703991181440450305746303367069174092384530869239280554041593335794251244111510272815778305515319854695922123825136161160838326009731652469832888291223099847419761965930839638894018837352882665727522021678227359796158858296415940407513443042231217896042939801160235431021907226917322246414847272864782993655094509211874058801892221617682070570130268897882326898"), mp_float("0.036892721319979676293734140578217396515652916493602491481675493965570424741451727209520305611653058168393979122305645057819045202304973177683620239660054381793736842838271520321987373695312347671760126813259102084822426412260002519717189660273728412379063130764621764416507394439710647551386675155048401790075731249862137077432993193648645620785098275877560050138766676349799610690084166104404965224")),
+ mp_complex(mp_float("1.566115332132818612748217725348068212295036737793740045645901896232390852484765170175461971326366678218563237796338836183186857284899775295015920389075109229388750332346375591330304748467055479883969208203515751513678410205309818159827255857608718422294750913499467619685647041030809844050916735032312612129265193324029542479909352626694234952215038693227126803967286134122150290962154559603557351401"), mp_float("0.0262605794861014199923577921079627978090062279452391480727715268595482536583687964601586294475476014436869179347483618111285189337688616054268957581830314269954673233406886266592793340124482302927411352586713023284761874121131239339813224368500819621006050899460136474166650957414232498463652432180614689701629924149054178008230432223522541059872423238091440465517531054802097588529312460679367488629")),
+ mp_complex(mp_float("1.5678225931465175903070194202027332741387390758444728829520033664769786972471536702336099401519969255741859682097156695493433223293213554041965298548784896909321744610447508226118787118610666369281235661404524166087088704238737454131922367997688511049540642700418580180856972966433546467071285502982984493415357524648870705393571586491420911328253551513922363580975864475429683940060976245286471554829"), mp_float("0.0195847615278622207601048241078465570703730394330398616917879740654535695999924126759395374933695273726309130055649771368204862500769600685531942690091189949297529914050832194259710999358881893417684591403542067395000313711119467343596908399023109174420791883295436096911794474932941496474511962500410983572427023635425788678326084499030906079900367948023880232269028115133355948037648860407997422117")),
+ mp_complex(mp_float("1.5687954245887100187270686726856485299627133456521843979357641362796887231265778988466319656755434058749520241219248969589223037047274320495713669698524679811869056386315327054003928838935499104854185585538878562264389328607753982828984497903340208750599736723651831154529865773421558403638257758507300889831281856137312039664243074885292571259760428274516470582857020107378357458080470689521167222653"), mp_float("0.0151413123944838798123555206603683842394778906632085111437215025240894599302763056093986011219463625469704810949118081229831173325251116013582900098338103312160145435444409411695824216297958479692432968166328011339940595222771787390238572605689066953331023792834903838153949283816036075475178153611351682677316378229806997525873956452430787931935107498426498889165826882665566966138042614925660131196")),
+ mp_complex(mp_float("1.5693881128713112550033538014100271854684796253012430663909154094528101066592141258480998430339256897550832575208460676598295004129899133691450254877998726706257383036312254049458495057790878928652764553405609394891850929876686121893604219248493915985175244955899084098807806785237124959522325242029245897138872763287176055367791295904822128964238437923056157848466478701857540675711901916747692647827"), mp_float("0.0120435730954486456908073857388813994222349814931371109628680151286683071469571576270307922019240735431229349924932376761525612079395088549402647890090082913181544525543832200389541479269335453989771173815630540917430915050852990375846250606367255572161932132315272741043457584930282886537443119209278190812975516394644960312654538908355499087212443200611577400610175212654474782055705351147230428445")),
+ mp_complex(mp_float("1.5697689063331559609750961886083707863032190182421579879547665599195999007062900189965665411929374634057836160969065697322617698606751530767813437018564750651171023836277808300020218385975439753853113567987271713021184177720682310218290622575048878266351885606755018294969408169629612508037783196403852902374955411040069886872627790643069881574036718306104244398827562133111536847624661764479576120974"), mp_float("0.0098018625677410182020788488166049043738832044422213236422324922996362316245838221669608457817307135246578439856873407095846993387956678997451992124860104838184734531107653936467741997480371493596760391380267811005433995835357996340224530922613274751294628334356861846801767848373131899552059857908546333334451367595620329078566009158357238506595052981672195919602621736093792590108383075178892772076")),
+ mp_complex(mp_float("1.5700243346792275470147431630546517617524581107045492936459036591760067124905908857134598151986284188828900293263617212124242510117173990722300731137688957385343526128509340334844750772459560184426110717165504786793021106333283933477667738715982616931431684022856157397875219260038505533310005238583237687782882908856159959652819601995874998730999516114204803877782005968327041452147751478164857488667"), mp_float("0.0081292413622316059612239461907927491041891367993444345688865686410222405256006015082308796290032715454655124870791992283950154533526445364303516379501891533811414995167652263209523555943722610425292396512031732266424194562920648762781106097124841751969000599015626605054861999790315125666491630860274659546390306727715224986444580035882813422065779969884331616858264623541235734738029990736792473273")),
+ mp_complex(mp_float("1.5702018795552770674167340680281786319336643847508611570086346302356309262200622681238171352626998475493382398182297541860961377043935210210048823958152727954957779736985725970164609268062629712166143543073826893622135949265320297475676382100088007861961953946592195599134109897330189747434847069091576301051652406921538078374156394714157933521098616304404193440694504236630411941039940607494400331107"), mp_float("0.0068490661020633406869929365432790010495749042613698927192442673980457289994926609239208962133639193803659280790488661260618559904931876155505604637498487727229456261978983063771490561053230999625607073053967621829813724964397794937112387766763853794557567862616459835103356988792339938217877950755566373866579059194850440854381636482112865783331091273735491915929852568694760377008945176686924972698")),
+ mp_complex(mp_float("1.5703290297266904017332449938459522738938939895094843654083799825707818203808023685658545568244064500744833880527348175254314138054236129516998807339823906399886710196291717794969730231118967163618899045124351470404333376523166833956089977758239733149621944633767505063374239743622596368187218328737758211599156803322728675120644984254416866307400363731772197334402630616087597971009925650229899314405"), mp_float("0.0058479892121736504135073589761288644117437882901915233516957530971184404389754977073194632699224264723094888383481724982829599339028994002549799125611392908099181831106191816790213660493606058883190275799033121227576476962507052624911741398515004919539241870421253108208443051042929647477320663915312584296578848843170640142287511039539509369622583268663093155344429476824588844384985186198746862423")),
+ mp_complex(mp_float("1.5704224312371317712973933614418713664722721594347863970510846866735621782275335018275307549360016539863682624521996887037185065416204217739928094494429823048292190983590942903356781265781286049080290178036089323845524046424120165667826682102251520832037140629823835842202286459933907501548330024837421723498843643279369274254392306549642008472347098586823875016282664332572665713232511043494484533237"), mp_float("0.0050506727440937879107676545889660667139098467502725169480605620283085147260136065747521079449692613301975410858852108722087084838508327270333879517020318985041627123888978511995470822333232883519404772303519350962662988822721320723025899671506351883046654931113879074818516868356307394226813654540929354610945101894758140901830122651917596383774641414374281330755588461318791334812460673593733244445")),
+ mp_complex(mp_float("1.5704925570399627281391538925106345364924050360349510447911405078712096789943480606755752856913774837349028653528961798234544636953170278293495289769655639451551680374280873178691886944810268968701875141098833586972208416127844393806032268386753852242013245869872589057553949985466289096060436121434059679207818232049789786461868290517129852447281166510082236624483426705431392630925033290107887027949"), mp_float("0.0044055078140677121936072334942252809336733630558896464600296088454965052248196074528920879847851415792448718884439063557388348870743374321456248482109857143031488688803982644894559727829924074723782731497927498136532744957750168697350705304702013301997499037947148005959526431909213389336237480644716258674131899151617784480673999556231870404129732184397343252974205804215362690128933331383778319496")),
+ mp_complex(mp_float("1.57054621650581483209804137882342144090566071531743137443385064028068557393900680067556975501972925162262022798423288472737548149583378258727910045109628868224981000951218675681125324750869155420948831906837157108315832330111449072999633017191704380861306245499131019412328025244101172506493446528655280980398835017871567617266457293047552273214847114272332373365523000057758889980903782467662970897"), mp_float("0.0038762046296301378691963185579113508837714191870509032564568459784854245521102374349191440614861476849256136522057636309579986923910020215487196398013395856098833266946331661988113003799154530229725690377690809477003878525472356089546005735994634636001532840246315243565900893496693043292889386345674214253291108276639997360063627863412238345071251271201916188609611893043619405744017518090795272321")),
+ mp_complex(mp_float("1.5705879652965675263804520985803887344208000655933079392131540211279374960615571402019912129212076138844161470683902479338114213394271887589357094844609192502109219653459057530596352733673766767984291681912180941599260086255596659303916269615836145709110252522473803906533237091661440477087913644173693052858208423174024879037507456097147506654988549790395719763332646569277665245490292582303501894211"), mp_float("0.0034366562233292476286502755125720804106635443977190445906043762927781473284428477989377109371425280797987293249541706716239344789740461272879343929981633233608579055790389031723119858093882304960750065710035398370929457979211492042826478244128310196237701717332009146831003344097868111038004864365319110798152025853636729499910784667807328851914988776535742361808868159863898382626819018085391690445")),
+ mp_complex(mp_float("1.5706209285697542588914572883627261648475577282069241824635862528169706457853318811618229876744326305085473275302425131078445630718938837489823957551475222496281212664208631651521731715856812078285879064473053036619110508890573506052777658572316895765317495320474921020875839816852629827872431716136655927880887208771509538743014531305812388191764230267738418936461792707278505959030339296241433712991"), mp_float("0.0030677000257361088432655491288588866168240505469517949826962175641790643008260696296990299445864721382212075042689684864158578650996680512000162489178396635641719265000133185553527111347443067004049035535340522562266393204878914907322481390905228749984869450783096550391476489753603638387849663702748047371102799509547989147029020858949747737903526038592718390772856240239492145580967412184503909974")),
+ mp_complex(mp_float("1.5706472981306596308465983409324169573693173144051926111677662349752260551259669776241852084004672966169747526336006176950025902153185970301931158933000710193376770287900075443035893424327938335017199402005558332586308317392084437291000296110952114496803416717618468487368399739106718554582940029755539228875745163104054042851733760149804094393576582818093513588980857919999436803996883718929259990043"), mp_float("0.002755017880185932450969687467545545516759311745387720145505909165271466809021868295125234609532615680356708120731396569599162941562188002846129389511743124683268959753308393978908773364642002568045257015477556913924070723158568141624625805151823673127506090424096334484842370887991348883524406436307840088344882794849644167940969507460984018628217965288673742124674165831939336627307474238022088546")),
+ mp_complex(mp_float("1.5706686417507831398302301417024529197869749168474640828853617929116396826469227445930003943798855197461881045401008442067402042552331404528385994799349689878972155403781513600220297625767787954105975930244457811946492547648148862160760110172932896500470102913452745409205184934645805017886480552486758444978957595361423360697941321886561847388782099889232552030732144848053275058844428295901260052501"), mp_float("0.002487739926611775184771274498590332923164995529002610356150578439668152093454644866854201228917728117788657607676574249502996239141784250919636564890526764461659828230282369179055793964017156513176822616248997781845253409070403418778828247896309601160937427318382395378101133397956123724889418339912092574902271677390147737188111223031898356921271521262203489814149861987392995530837416404202021788")),
+ mp_complex(mp_float("1.5706861007837237129414639522115749447192739938380066857254468722132883698561871759094476527948677201331464316579834934983522402324699999879047575960228242003155213486733546846705374363716120167507004195353519489604175287804324471121521588268802990533264478089909469701021763763335518876056478382582569160968630484826596387723823564211188497989661770072471621691984385066594483176801673703002456983872"), mp_float("0.0022574955465916288801860548005154011733025656659709897395501036189120445085824886705273605851721883400856037641747462490592409785730414585560809886904686476286529604965996897713357862268562007169857539649395874739408753907438393120737255451977268986750540827828576910027402997572070480117570412656445019268264501994558240733469033058740819015705890043543264797272070184414315176738137192831788358918")),
+ mp_complex(mp_float("1.5707005194438293809163205572991711301169401240483043126737654602691978046833035736566178174903568406708011496924061170916361410123983391234521556976883608521617947042756694036386458643790595400960032275078248731134511780917236246895908493855481238130576211045947581454407811853654886974899904747791413172460758909155119069342979551611959199272445864730545825319748079007699558282203314342884804184343"), mp_float("0.0020577551905144348767787951478642457319438917319131330404433589466388050772361091179587981142451604671852145765133719947880954583670241905559430327491944332265034243388754523107963891429612342246420032544447676785198825366621970107347716404226827284736102586219229019072953939953183491417963002776542627717757456936672270945856544853096255140130906587901583210631859606487755591128058308342026870109")),
+ mp_complex(mp_float("1.5707125312016532239092227937587878833932072843092439939830062876578632743885527885662600840940051706279634206833653591714406286560091612164451431101821364155810661743221532511029254869841752544847738004195560454773347007235176345353536182389940452684164785501961040759263916630063960653804401405916168927180977381566638950524562270115670435310043045754990673174899373573787172596333847256680159579547"), mp_float("0.0018833656240603992673150111691313446478473594482963715390143445802030628842315704912814435347326339891952864757404801729834716460719028926963607171255494760108650448704965770085091793648187601274473389621749465116797149332712182057728901292101574352145799429665709651310433074541654283994783017282108779936593461377468834887092471873602062463119955719172132747427611051168301003973781515001405775029")),
+ mp_complex(mp_float("1.5707226176454017544144821271190298722536411653354239320077969789108930273228759684489283512798615155427565254650460267682315811992683510259099386845594808800153371011714048689924770190914970438786570312534129214375776367616539727698641905320598746541528563602112065011041980934258149496351867951290963281682698272488014940099549823222756801270207126176178912522511434370364924781497597420149415826035"), mp_float("0.0017302163398788663126810137309012346623943709697357714867139233906743980326101470062008650229205638161625589350802597444485072050097133768869895263185518843736813300368869502532878055716321068764346257761380602985605287819531135445056553329625523807621352566085149603926996427295562213603635948144458839526958711132617503517163442325780842824024160967631664544784134912655865979079564913520764802256")),
+ mp_complex(mp_float("1.5707311492925642769477116099600549645032562503527457815155139626382492537765378620481909924767933494951747795818717156932515564176315168144855367508450697290610226762729725964703188245962836131906087386637719470555096708242547832585512790512957997485406008831482867017593674641100519248061636124443421758693096515777460797582899820669357171097539712592751960141701294143173072342443010162967284415453"), mp_float("0.0015949965209899885944340847044478287684530886801446799105714061852262550072150641150971181023654680885835469710839691034488256873700066949168740915412292504222063099243527393277863317281509231016257362796421482040460181184826721261035667494397153075442932309768662418434173292607408927015470063640309673573887097058917976361462363024869958787102987001807437193703621747489453666488899563624984831557")),
+ mp_complex(mp_float("1.5707384143431189304340654861878942829482318533153552244748046229043449530236877676459695495047899041979053392264925128006192673011005404941557503243877504984924530796463844852788421230763061907006428855461968789597246029463096381313409843035072640294707560978911567615321859951256591736592518327239946009640813714033014660841819695048516984125544979184002680834118538761703082627824624644294492468133"), mp_float("0.0014750155457015489842449869986335320857805890435531699967750945014286855024310632703753272331291219038130403490735892173389904152906813933395411505817949670053753123499418170951220181479267286099604679856314451743829032944441575832019023442325982067967198821761032075473564059078266035535231552221302208170137335617703714408201622113701864095245140049410095969362670476106643030416261215960137046017")),
+ mp_complex(mp_float("1.5707446392364173419296164195911472898542136216336213062891278873190602246103912806876303644918565807805994806922180904850755102308574711954935581851774696465200508077195513351378734244987690745879330596276769018493353914833485033583212099689534261237282457016494753873598627290697232305846669029649219790406709314500742254065959691373678518264015675035999397075801443794180259069023035058745545552378"), mp_float("0.0013680687518868573129271201765201675538287769087855498047325032710084548046648921073045290514651988752162465017649277415860056025898841954576740575610804455466258154476734610698211793814161923702526465327244506669710312132334000563573062318082444900595486952579489983065612171235296752492631761189853262877741594455321381460112040203140307543719996487705324013467121722895486069846334427171169418606")),
+ mp_complex(mp_float("1.5707500035477458600665712348079369288677741028924027722998869691874917648945980578190192431457011083160318935619073028980864096388123633600805362871946888417111777183344728162552254323971552049104564428497804925265107902810861996630945024400358236919576565987435824680717525441733292333351508877737504850524467042197630083993414972088562503959851603030615075423494997816195131298670029851661802773148"), mp_float("0.0012723358846668511540468665559715617198496766634870789602407802659958782216785860127579002979886696181513686669311852393195117116211586689914280394253922611299336070212405473673089420033680986568793909684615089305753174902258371208447781022074814298943506934453764456801594733411136472619322336228246885770831555842258366522511841346800583334965041494972622743882295594869610003052435183334224051473")),
+ mp_complex(mp_float("1.5707546509183336557956131485140117997019766345212165188132488987157784611558630201748933695672702598096441587679554198973065517331278376085997715236266906814831246967755943759953546347662599229581502581218727797960709098457355926208917689217784720510117632451530833627813212802906939616453648843799601645650624387722866764471750725459037906097582874124013477433439551127215335190207943274168987664293"), mp_float("0.0011863034470813072211818585083759321063445274964251730513091543069758434148202244130803331629102644159056905283932607071796314914824154250054870199312463728476612197851520971109185360131573240599916205251456731237935452667813129516169067644800619641721863640610483116335250180277935215068440535515281955443406322731420889470869181680997793278532547050330482111144046993162182990077163477284621496405")),
+ mp_complex(mp_float("1.570758697167932358481140043948113958702337797746876778727737053869770160478194403019266372094978507658646449475641738000563566399287956407452695609097953300411269689629837271495494882143861619251763665378129965692699861323249940565259662334130028811190217225873756881488585502000325159128881836820896618187457417770926126890612252629788698133267456669193223266771691133511201903184322251029827762956"), mp_float("0.0011087047385070959591338401605390879156488305731539118524387266443262227031238350114936059438854634299799156247699931916730567279917627876423387089123752058508563231266815471736863865867611842300218117137388709650801066278071468010057448724575756819203076314257194858120302235999804117997576683030416590458424433773323220196968406438143731886040003126311037872070815563207913237561281896221757379583")),
+ mp_complex(mp_float("1.5707622363809694619492432308802104594720991597290590970836928390831188559542458367155684391763888828347467981632436947356459852923089373263699639514609971041354380343868879881597620415616417654394634464948480751205303839368202579313777918682872607947131792452078072131966565450946323000487255327627946669901082567986358248699500915783054739563123092375347597439420595513327810949794578010887772541143"), mp_float("0.0010384731249557182319556866938974745461037649899916412982860029547376276967990689092032951965623770931193855221620536784600357956738547503390413745941249850391493584213002718195713991425370337615895783565491100822597872528374112575418633385702238897702578308036280923040994939118440085967521436668187597785343794839861523186741527809380594571178880335603049327614727920149015758702317827506488656966")),
+ mp_complex(mp_float("1.5707653455181395984514561317059463862329030007738802091277048216068885674025565619181278594841222806291561933813164849001484140701686261145634161998059856522780964305547230395416095287361285332693961682475989576166334694550133931021101101412719789005428928266240264305128847953679651261216944065136049099374801374991138796993209617828824845879681061294340692540323622614844177879149705580290882115838"), mp_float("0.0009747053086931649095156786378160390225211149256969175769438888376973393223259648429441034519664789709923345635536812172009010117597097096614238036127432385117800823871578296267304068050848013572775086234189343715435601601632693461691729330178175420250111904142384121135229381255960475137341647239013135272866699552774970908045683411681908642043543669340032092232913415462562611824486858455797065857")),
+ mp_complex(mp_float("1.5707680879433072347583894880319027788596016305319004870573308075812674863304534017894924092094371210373719312361105117892656742652055570211341834172957518934294380347192821421376170026266186825227069941320935127989729463531663876031930218689066062951503218594004525388797038063582322725097932513589641080258382921307392885413402303444926298371866762976383918799356491362726476277262776019876272194444"), mp_float("0.0009166322260919735784913459167314078673656949095442588390902746573336636840203372050781234552499676227446746463606049322390852808331576910605572019648377311580853218476100267477554669002000554189324171048941733084551286308356086777175388168442224426206269149325800875413818824017987773687574303346309532085149209833479553504034771431044187339027405574569415669090813396435173511861636735890869033685")),
+ mp_complex(mp_float("1.5707705161443887105736226084194545855659811502356393016214458214638099552786862181620975933066653430192623751259782250446693641952818216992680137289070411209595662170329358555629835733949664734764268488377120462394368553725170598122129400285467612233246417986915762539052291372875290195744656683037273358003845323833185041892727196189790126145108402006268471399005835237884543979763040687109099605287"), mp_float("0.0008635958165163508042681126148592577140252896773040350910360818628545150200070514478287655859794776709318499006098508819444090122975430408367523890351009792480745740456693554845665541959562099432070001524564271407546914527561707157767850237086175846505883661583719939759769398483563440824751579845523295192196529332714239368325544140530247955256014808627060666457256804374770346577459624106489889134")),
+ mp_complex(mp_float("1.5707726738495822348564610577989841735973327622702349830271865265223095813146947151138646930551121536818957876887959773274893808332148197296213861528434805394265251769790434928095517104040526708875638634100390114021962574921440884348756181616745265741718821690463675158030189150304615289766120252398989597584499932060631902297784054171008640446242207871256532646140184546569897687716260833208297403231"), mp_float("0.0008150303473839602986418971448962129605773504632882265373765481939562306541538964220776122364899293155945467255108449492379939398836389323690928173488769141886261797182700777327544277600434735018747433240278878253106356744693543556745630263306445153455542817452662598670377023503214093392350103779659704338269371182114104959492246665143784080998918210710085787837117521804834539400543495886183650995")),
+ mp_complex(mp_float("1.5707745976859533215158345428773003340475694726224413344363770109501280745877258238395576212684226648684044383800428938831106507979693022913148548207797523365935036546985474191665194506712526264056649610336331068057021783073588240976100753430559365511044131511168759518696985933694517651611155721630625226427879241509387157782275536647523165701628125601962414645514414119301721035027329583156695237801"), mp_float("0.0007704473026082422162472022028300663033621188588036953286717554631736983082508171701815686763920439951851068545327415662839923381176127519336543075720628736657415336788583094972879925847460708014537115614116606789449401492575468859613562503409018807200399030937776505610143557049656938519078756130967690235352590987515776391507748254075486043459081249039578431537633091238843178163622596029284364563")),
+ mp_complex(mp_float("1.5707763184887330584097360683852399380897414320721923169130150365078589808790008864651830355145662524337285799397896392241026177609665459870269495404269507824599327689210717346313672243068797191712700353729998764486351802797975664458828927224310825910263873600705254602789461608289351552152115531332077681632404256017373044331975892680521339851048542253811696390362925787975700668065671564865988734373"), mp_float("0.0007294230784076024136428801603307930063240281562214122685230955339811460782444583034609023264210815648781338628317293635437881941321064848531168036341499541057514658110363594431757273502925910728070893774140709365409883972373607962999297391652369205799127053027386744565295217815208904589286324986253662823676440206881949974806164685651853312628956919824166672511678534378675754110990897925505023203")),
+ mp_complex(mp_float("1.5707778623419230548425996302145587585746443509192392107872262257415389108267660247742491055296870016499578012613075186497463777744738265495010681719111464824167727259592357451911139824530428490450196255655357978119618496613235635363999635820083677333276844094734584878591880368192384175243151208540893589537460431333086295341566346526000336685522378213239908796678528551343586575392846038846145004615"), mp_float("0.0006915889061566746347408951629465749123174356498601537818547008394753121389151251182854747345211124718164074576456618264819697456837699232496373025350734279220356320205377829508973842715450382769322233184494988694536439268814677721683670640233738955318113340613402194019870426724910837233456677001320004116638191151208470013804707528801616240150969316589028543713759184227696156175768557358652197435")),
+ mp_complex(mp_float("1.5707792514106636395836392972647705182319841664039145634555341399132233512251067391850731252185292815969746188021127076245684920309273296353599272443765258505260720382173422370289759448444711446844008189089921639218294588255725374610064784222684663257984917716697722546488452825854024634777368591090042950308447111303583763659128860447458038947291864661804075961375073853328910811213290085100064547692"), mp_float("0.0006566225534443567935925843154556723446404006034620144806263971029077284617485002084297874665093217883562278799433042871713255131387971662518403063188742133569210328260058387436961178184868821991238082956322999457615628949444906922938258536011863756959673055255801257414983737859508393073612839094838753462719103891992988534160723878005632683895274654818106072144653187861227552306228502939291759421")),
+ mp_complex(mp_float("1.5707805046110821854083645121613846097851528653409580210435852561651869805183761641505538259321163366210339577412103987001856823826051954717886801812873126582736558784420949051548680624029270618635776715725821577510500172429490428261486224255235314149059019088035212403371985782599672081737423859583109464350732136454249992739909595826639356864241675420997221268390002436024870765455970295215302048971"), mp_float("0.0006242414537187625619316420025724976498244577786738577674808398058663215693782460175699499234931464275157027514803286706755662398905641455174503666936667749234496895624432414230411017049405014386938599410730558717250383502442333653722371939242168715320232156095380029371926733585181349221890768886854667234599240905153669832161982161038433301452586122416685980188930995742299723045381949282260030497")),
+ mp_complex(mp_float("1.5707816381524561681913537588955954824901174399231699049610014558174515783232758519818679304594140773259117278553691925180546666292205858904595015406489778812010784545676818727221679165552585133166130489622100093855854093227058458088074376994163633992134390154891164337042865872818409493775210571551370979838355436916982541256974166226085143641722931021846299759715993156013466618214668949783917736617"), mp_float("0.0005941969903415894132732813114293488684538357431655205679022972510648767693007396483117016395329417983752629588138641996881487711196215503400947793725985333253937167098962396919115735699724313148770865342774942051809076749354577936938229162894684461981355162646988529280882613351768925629735133867781084812963581635036772475885403346484383825413877961494209801211568600842593750584839630767835606773")),
+ mp_complex(mp_float("1.5707826659784254405885162260941077220171117994604569980591135939403679325363912655334640641223733606742363012254537331147652074486933092409050178139960477541972674697685188678722867239907390322674630720113549800827462066588846829866469098009288422404699678651883457411661923927344903414287043267469852729684546026566648596933932278141489540972502580463554695964815584000938553260095950490577827010814"), mp_float("0.0005662697186601780210593568398281325265982125666617126220525981031766554975919849123129078469043856887342087040566120853401733594402899935475816634989873426855123317764513301709111515342411573771797726134978190004147592539941684891826668071825966722244300348550467626171590057037456539867906652533930816256911643662139351590676044111391619002818379821944564208067306285063812587790932780215948631873")),
+ mp_complex(mp_float("1.5707836001279121645229298930328523440862408651867879978075921598655493963106475932797710352457632112129753398791586926311415770320919346068604866987168300437321467425548452196836161716055458713050147261247153260688758393041231875291703611293224876257471371344513065638030219186462622837284775594898336968972731916410079115204635159122496710839259820541834458437944975694982615157336722731502361746081"), mp_float("0.0005402653542744410237746424871944208033467746070633886933844414239010730117024788431044592352540164451051747322565443059987385970905122341125911963070406664310151282816730829731935879478609690109273885952631295057967755795044046880961833647185061705092275829999294036501388046481455074939141783539543425608340052169306440621091958383230391635850666787498311119290775587997238092677756424829119582946")),
+ mp_complex(mp_float("1.5707844510318155708786317047852048536780301914924696091904473649874377663350654597138794952053468325040989298078444579822067443837110317527131806245626641374897583759933973966869605987404827270522224506243422438156135186483990748896057655407125339828640918233023174661304534491827822423648400820911337757127961180344846890654405787004838820616631771763538516889404130523800998239262204082048819061409"), mp_float("0.0005160113902774579576636833930074694362996321970820088730739410228436567150419207777020990539090980155406728149144757565648836472438345185028547889857613506061942709944431284545017255054428015783284880048085724272385822294310424548223383334656111132074247751345469049187393554102273372106610597627202895136810938736037929500698845118118604813209067755829744153028173151134776122917313278688201542929")),
+ mp_complex(mp_float("1.5707852277580551203083130492572039777000706888605909647898721776206776328240924951758792732435138086041455894751468178007407485960138345247727251727500434799026366068981073604149987840565029980069795569800898870706403234476949017029793210917258989723208770353481083869616383636670337785306365412185340753825992866271706412246655026873698602126257651006117881350658031041736967553858531767071890433055"), mp_float("0.0004933542332802526269338349086105649606162819018229562948306282833445589031738685860038337592588081425694719737054428625192879530074020225375589760589108947052249723153940974387347367324607743785974121469560055841162811827235294080679884706367784811382033418000163918626033268305409974469308420633078449347420883971573535925359211767543397345832784363967808041201411549682004240734690154122857018928")),
+ mp_complex(mp_float("1.5707859382148596109631884602349888768868842468308438785427964295300611275381812668498512214401847526277739552464811969007960476851812464365845912061916749545978200026621060411966521945931683269596172878901500130114293887792335313627946510128100647819712965331808741883216867055520193472860306088199196837822336960891930064244002836138431920258013063392905790882418179091071215821394496813832740292153"), mp_float("0.0004721567692751165350154923413209235649870840210892728287147690536820778132130193194806644357335866967846045786763626540142828721461989238431059811578172767657003133906520014373949331681835075604418111262145565201961169634036255655471443269212195094802432760059860649795584490771400461197194093789822237887364828843533343803265402908640329504214173015878374503619260724380196188405664335975378868129")),
+ mp_complex(mp_float("1.5707865893201370062456317319385667501390121456970376008372036881543582557430891077291207589830901648669385576595820037301615878023712835956319544089148690746824047633985115030345719018482669775740490641899485194430810847785652716298549935896453628810113928349879103826489684772022735767798740689473023715336540408286538641464216899395125620562303744315505934411888992600502718752634574195604863713337"), mp_float("0.0004522962871819530665136044297228878249664068443052562265165871994537642984857032954599983368477029318616269045595984167461063397346805135604665286477974214413309730426376179739289656425637499289476039928934649309645822813951734762090175995893531270013569048580190960349057379448349890029529251565948649277016938395463910164654700889252832870074396785245347419685388986976711397771181249191140222297")),
+ mp_complex(mp_float("1.5707871871431600960604931636219745743852540492216182662625394751185241227836546738492389201047532213072016615807070595835214137358621513193990446275127319970319474535040981886094858802431694384644755700621670525904376773980594126280184347781814545085629888906883378854921933580371936551037246734688652619318713429255484536564676163695021061841908553157717501706911237158548392134146281951054996327016"), mp_float("0.0004336627012641454884426470236277998668601790557250234008732692413686726990480145940334855056330784624537064568173005654432899758400211718875689869465989258904525819202904443424378152155751072585579996511719172590506874063065480035831519211072087220996527129286319398827545626283425929888294953043829941127253673855704157366949748309194839284928778737105226583013870410431605053223170517933157448644")),
+ mp_complex(mp_float("1.5707877370235554317214904577798841995279585842143925837604038405798339797019558758658154568773046715299676722444997686699158553182658016436824933524506861448846163813709589224241199879767904171459315797211428188486293254803991121459064843745566358551979246930039038728935981064621840557716184058758232510199904849751715500853281213755527822479349807987058033615510106964759959744892487989791285382956"), mp_float("0.0004161570242573948490305960321290719177581761926403963487432898468477430835454240626311728367918819596737494281255701319742923815124114880137952039797374181224107571803610324826323983242014773050093791983613381687201924262217077495109523462171424771380819422916478791090855174570073444906297450419905587654301510188595043452847897487528278082749169807553335788592150642768844499802366235821627452696")),
+ mp_complex(mp_float("1.570788243671604474831965204560882747288368588789570679551769541663683253342153856721062881716565956709313461480764894727875109537012230139509804865524242860835592337311368828971603581945802016998852352972766744512751318279152909703488577153277311286667823093802349081742652001686619216947131342956791981907393315732934746425877114303072236314050212290818007991481963373566774627037685516263305193334"), mp_float("0.0003996900516093324334754717634365935566198087111370308540057906221988028431839060730700192424666832168369249269402594829621127013620214383183985217159118654544019839342818626857435037487426143100086320584921733314133011353424145493613736155420193159692299745420725494216839203313556279478117567985323828318135394726200607903081255696791555782485864353917845004871108895589709040521742364584783076276")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02113_z_atan(const bool b_write_output)
+ {
+ return TestCase_case_02113_z_atan().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02114_z_various_trig.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02114_z_various_trig.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,61 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02114_z_various_trig : public TestCaseImag
+ {
+ public:
+ TestCase_case_02114_z_various_trig() { }
+ virtual ~TestCase_case_02114_z_various_trig() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02114_z_various_trig");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.clear();
+ data.push_back(boost::multiprecision::tan(mp_complex(boost::multiprecision::euler_gamma() * boost::multiprecision::three(), boost::multiprecision::golden_ratio() * boost::multiprecision::seven())));
+ data.push_back(boost::multiprecision::cot(mp_complex(boost::multiprecision::euler_gamma() * boost::multiprecision::three(), boost::multiprecision::golden_ratio() * boost::multiprecision::seven())));
+ data.push_back(boost::multiprecision::sec(mp_complex(boost::multiprecision::euler_gamma() * boost::multiprecision::three(), boost::multiprecision::golden_ratio() * boost::multiprecision::seven())));
+ data.push_back(boost::multiprecision::csc(mp_complex(boost::multiprecision::euler_gamma() * boost::multiprecision::three(), boost::multiprecision::golden_ratio() * boost::multiprecision::seven())));
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 4u> a =
+ {{
+ mp_complex(mp_float("-9.185876550411305625315065383130942823496349736917366134565031365023601190537557633847406227310047814481718702053803978509883244453911230007460541903301551482690775553782016451457135795301215963376371740888355192301907547106413475392741266454524732197142665753042582811511990779212872208946837627912549921643840477446034442787146374925481412752151470907463294259421297413116452613057379177113e-11"), mp_float("1.00000000027562151472435723132782281500837417348264371689635254533561214211034004895895861932422090603200434253295398435512894799484286357438870550418361583233326789268618979697864660663884849918102106318036135334099537673900563690673580911980446910890004491701857215423888029315155664650967656499183543185492518666340679882625774435573489582113845652642342846437990869909433270368776216281217413104681")),
+ mp_complex(mp_float("-9.185876545347655209540396183015285821493842418070555944672684439807784192438428685463511994184160090639075829558901240327902037189703849079244476579680529716650462649712451572877223167277759707075828942333247179946119461546704950002673972340294098081066282322825922532492673614959382526419205103461372521570588515016709040764784637979962640862815514833713257852536208511973498274932746553882e-11"), mp_float("-0.99999999972437848534317195523722553434966702699395588238784901091133173661212885730735365822122101053760421298448287597189087710688219136365191806441232831043857979939416140095371245184674832407153338292659173340926198985253427271300609237566587624511112494092053601385817714463685337347237982817713416648428649922929495882908458001281141753147304760586715213351588232698062823136522490387483303898718")),
+ mp_complex(mp_float("-3.860609464918929059065958981680562238169572869613842484022392390285219045388263671809220168918056497593533180508037309543172647958667986599367561336971866802909410838236399888493630220208631911946597122917726750271603463486501490503357511876284563994162648576448371331114009462213211790116039591073506548957389053574323085429619811592058206810950865625936881980492810566039329762325667314031117485273e-6"), mp_float("0.000023793850780335352623736517167183601070874401143261780058913702367185966954149353130845520222821205400287495873619595315544666257061600092228091870911591802474626108713875286389218183223891132196547402812707244547971453188440863041332921554680503792970400130642377554275748927824576407211738366652361130560920565197698873327791184199079563028668628954404408661714327765505596701931396699167737442008485")),
+ mp_complex(mp_float("0.000023793850774131886251487396881507314122403006371603903619316071994879173895106297557989945303488110660425513466078942860524820387196502490871915504377494871425788730562765694404827849270582061744460127214852619792054371632176061228269569484273060131647994872793438105606586694008054284656723522077163167497287204879908432306779977608007693802098498422707138551648113009665532457706284469885094851442841"), mp_float("3.860609461669188272780672109931887188113229657941080861925709800047187009719058483631123113433705743600909002160401830798056862427677087815890736344146790608378076079570255248579352136314376649934672454572622699850141575286487596340309442543752683437273999944052434739379746874557533862464213353431658384305820011976609336619821499708470446150249796430068298291938509980974984081423712906642187801229e-6")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02114_z_various_trig(const bool b_write_output)
+ {
+ return TestCase_case_02114_z_various_trig().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02115_z_various_elem_trans_log.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02115_z_various_elem_trans_log.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,57 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02115_z_various_elem_trans_log : public TestCaseImag
+ {
+ public:
+ TestCase_case_02115_z_various_elem_trans_log() { }
+ virtual ~TestCase_case_02115_z_various_elem_trans_log() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02115_z_various_elem_trans_log");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.clear();
+ data.push_back(boost::multiprecision::log10(mp_complex(boost::multiprecision::euler_gamma() * boost::multiprecision::thousand(), boost::multiprecision::golden_ratio() * boost::multiprecision::hundred())));
+ data.push_back(boost::multiprecision::loga (mp_complex(boost::multiprecision::third(), boost::multiprecision::catalan()), mp_complex(boost::multiprecision::euler_gamma() * boost::multiprecision::thousand(), boost::multiprecision::golden_ratio() * boost::multiprecision::hundred())));
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 2u> a =
+ {{
+ mp_complex(mp_float("2.7777638181068445125215622989826132241825343670322476620967690612086041831575860265883304255870852729464431034889963628180559218041882509751876119253680022807165174683369224716099521572755267649806869902602443171749308616330603703094964445517485476822272538224243994961983467823172043665926206725784592880775007722845264705345837706718695747256245731728041533797136322128615667890849838198485795043753"), mp_float("0.1186938500047589760133099355202950179174515493530137722972013228091808664814949203390521077245126436151868864181077048487971618591058234860434265179830490371616928909064900092918733183436052404189625739397248342361153453242429014438073561239232501370586633960458360265550149839879936813754899149719775222998620431101913267519448098081424016950028351133686451901483400857358986369704287804974461084761")),
+ mp_complex(mp_float("0.1139875760921956110095442254766507883484153247446259323527620960143342887191395307123080912587035634101190634167239946464153961517524967858183947836476934982500568344803973918954346789919528898872049523505727844706272295712373397843078340237763440721249051879241616979700149655854321934675908660006261496514688771026599682904118354773948353781855437237597134777077453022667901823314854971212828171471"), mp_float("-5.2374054228785873675424933946726490208297570478077766544558323980538272610142631466154533847901983625595279004885702368429396356537679477008894989627938084244044749438916951096383248235728882816905302834209608735997234673100912397813874921996324282347461251917360029426471614913684695769255306656663055156718313649575198395185390424375042330663662523536789973202205694024245960561314046643707780063748")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02115_z_various_elem_trans_log(const bool b_write_output)
+ {
+ return TestCase_case_02115_z_various_elem_trans_log().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02116_z_various_elem.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02116_z_various_elem.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,61 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02116_z_various_elem : public TestCaseImag
+ {
+ public:
+ TestCase_case_02116_z_various_elem() { }
+ virtual ~TestCase_case_02116_z_various_elem() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02116_z_various_elem");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.clear();
+ data.push_back(mp_complex(boost::multiprecision::euler_gamma(), boost::multiprecision::golden_ratio()) + static_cast<boost::int32_t>(123));
+ data.push_back(mp_complex(boost::multiprecision::euler_gamma(), boost::multiprecision::golden_ratio()) - static_cast<boost::int32_t>(123));
+ data.push_back(static_cast<boost::int32_t>(123) + mp_complex(boost::multiprecision::euler_gamma(), boost::multiprecision::golden_ratio()));
+ data.push_back(static_cast<boost::int32_t>(123) - mp_complex(boost::multiprecision::euler_gamma(), boost::multiprecision::golden_ratio()));
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 4u> a =
+ {{
+ mp_complex(mp_float("123.57721566490153286060651209008240243104215933593992359880576723488486772677766467093694706329174674951463144724980708248096050401448654283622417399764492353625350033374293733773767394279259525824709491600873520394816567085323315177661152862119950150798479374508570574002992135478614669402960432542151905877553526733139925401296742051375413954911168510280798423487758720503843109399736137255306088933"), mp_float("1.6180339887498948482045868343656381177203091798057628621354486227052604628189024497072072041893911374847540880753868917521266338622235369317931800607667263544333890865959395829056383226613199282902678806752087668925017116962070322210432162695486262963136144381497587012203408058879544547492461856953648644492410443207713449470495658467885098743394422125448770664780915884607499887124007652170575179788")),
+ mp_complex(mp_float("-122.422784335098467139393487909917597568957840664060076401194232765115132273222335329063052936708253250485368552750192917519039495985513457163775826002355076463746499666257062662262326057207404741752905083991264796051834329146766848223388471378800498492015206254914294259970078645213853305970395674578480941224464732668600745987032579486245860450888314897192015765122412794961568906002638627446939110669"), mp_float("1.618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204189391137484754088075386891752126633862223536931793180060766726354433389086595939582905638322661319928290267880675208766892501711696207032221043216269548626296313614438149758701220340805887954454749246185695364864449241044320771344947049565846788509874339442212544877066478091588460749988712400765217057517979")),
+ mp_complex(mp_float("123.57721566490153286060651209008240243104215933593992359880576723488486772677766467093694706329174674951463144724980708248096050401448654283622417399764492353625350033374293733773767394279259525824709491600873520394816567085323315177661152862119950150798479374508570574002992135478614669402960432542151905877553526733139925401296742051375413954911168510280798423487758720503843109399736137255306088933"), mp_float("1.618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204189391137484754088075386891752126633862223536931793180060766726354433389086595939582905638322661319928290267880675208766892501711696207032221043216269548626296313614438149758701220340805887954454749246185695364864449241044320771344947049565846788509874339442212544877066478091588460749988712400765217057517979")),
+ mp_complex(mp_float("122.422784335098467139393487909917597568957840664060076401194232765115132273222335329063052936708253250485368552750192917519039495985513457163775826002355076463746499666257062662262326057207404741752905083991264796051834329146766848223388471378800498492015206254914294259970078645213853305970395674578480941224464732668600745987032579486245860450888314897192015765122412794961568906002638627446939110669"), mp_float("-1.618033988749894848204586834365638117720309179805762862135448622705260462818902449707207204189391137484754088075386891752126633862223536931793180060766726354433389086595939582905638322661319928290267880675208766892501711696207032221043216269548626296313614438149758701220340805887954454749246185695364864449241044320771344947049565846788509874339442212544877066478091588460749988712400765217057517979")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02116_z_various_elem(const bool b_write_output)
+ {
+ return TestCase_case_02116_z_various_elem().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02121_z_sinh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02121_z_sinh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02121_z_sinh : public TestCaseImag
+ {
+ public:
+ TestCase_case_02121_z_sinh() { }
+ virtual ~TestCase_case_02121_z_sinh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02121_z_sinh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ const mp_float y = boost::multiprecision::catalan() + static_cast<boost::int32_t>(2 * k);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::sinh(mp_complex(x * x, y * y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("0.22677553223090453337644811321282911824885949025003408565110610443424519618297583490592634354745683623914311528490554367194394931864582041675903303170727653078304378831614924207099449696472167643521417596339415352910594378555867479766528217404016137733829144062634137543969182387179113302843791893511851908242677019160301264343570888255159303574445925632279625095730690074413063280813227158382560451794"), mp_float("0.78564715943647433808988860973818531882387090525739206854324560762226951266513592852814987513556869495880076104843063780862296368209200506540922365351544186877181921584409803268075679212566980200253607241456542618560605547169926524570493743442980629821701848888829794161581672755898703131864411208505863876217567724229672422763927562776039264511409817940643228975569602988661791169410248289776959582049")),
+ mp_complex(mp_float("-3.6104378303315156835890293997941096627813337641418518302472037468543949857139072092935629568497344523117372790659489033615002742378448082692801705512341997610591807656265889417084939382781576236660546681171677048932404384919224639261267628186807142020087083512618677316473282158040499304146636767598008119416509409850391900152323530139545513456452400193655920711995396356155857020904889635109460164335"), mp_float("4.8266358947248917017158168923981801998689061601377305077256903141505511927472274659749847722385111495540701597149309507944237513461612600402663370175931834403513125476220543892698601213455181906291715136593729785950627738062007556932962493529872474891037207931192426704773531984646984150558570470663366644153962980989976378925566233106469864726817730058488486263652719839673080291032259705279920058978")),
+ mp_complex(mp_float("217.95094540713026660164231811028803493877156307105774163105826379227044022223871028811043305258797524689062491509250982693729160811466921101378824399004997816489877559100749101671520098078413571302702308839209143819796166769921457541494297366063920095244530332578763723228267223190397223232153827730223166987683934265017857769611844196616166126977761273201274967292791025572585728873070370790680224292"), mp_float("-315.33889406768547034414802006229981863415908788723470253193527730495090384725931169662683190559887562780512335664296109210400257063028208934396094628980104580818860824013564934012495863164218636316158249350414234832120640774185973861816848410352926871637291698044680785337961650750911115891822628553860157029937999571596925474397972611722499938134136213392417640772299570721887738702330869936637179114")),
+ mp_complex(mp_float("-137250.83104725307693453314081432721508993031964917734339677792402723693750472537723066767932881276170915792457917144637024699674379358155045425312995978159858642903947498663914363819165664792906956814387415579727816865432085885473551721497611498697449480961239002051975804981524853710632653534937084966414729667651556255365006324150435850698155168390636448604617414775489467344312591320939249448724282"), mp_float("-117183.39947925875228176011102960906202564386789988841345288495660366620011034355721747699479773893724853490033948894513592994906980585544854203248518585609912079485733470640961214806986189808747860954972406913386068512956737810173915874742086441600776280014469804180022084576727093456954925017572634445191582789229165434355923597420875182234833176664733190288167252399714674705866463021537252875926689")),
+ mp_complex(mp_float("-3.6282300779413504848941290393483063304215743631360893493622840367214137609333428412291525897808875372477675517291950104316445332785892371808847536689329316465458768811186635242969382033680331590098981409061916558849088413994304741921104585572647026328794511433325841478815363587359338640880555715750154148991819601411932592988702556890804417855859391331865318495471143725309354912601506343834105087542e8"), mp_float("-5.1235838389979256954900659142988056287624165289078226908840790882031913242784976615261332287870724143720900557803341122309441014788821287382933566046276855180785078252822342460760457359164300935457701039178413074725413206830448853886177862806485286178565058011346868162542524169403239391654150928860864787204703979453384441797182883723138230412324058240595891112418907766815014030075415386803771983219e8")),
+ mp_complex(mp_float("1.5741025448048176154268192266158459390903579721665451912213666214033759532282002043943159389440873387509258526882257313881510003273570032895094096091383360483921296523382286620113254279667434132751884180513593368643556911550323883618505652106551431356311928284090078552779899062579308800648855069962067191529737605856585829144421839330193824309017690306621568469142535791090652767641172992631829564526e13"), mp_float("-3.55664335988244780014840286663141938669707419088390062563568836273024524172111468510095788513616481339362290801499771835178780821269317666445532610396889244437101692183506940093324191265132132327766413069459411563652830701164011443570801275177506242462139482847033471142844743680122539707389125922226871999404267046302312890317990847468319853983039377635426114630516179022352647112399724823091653755e12")),
+ mp_complex(mp_float("-2.9116771566553267439669777308588279504925564648707271745137984700416971241290714912556018510513043757177708252904454831880147137250059612550795839561915412538261822040203076195789544588300206454106393323031225807230621223295884878328263380185474042334495252178301293782148210347050248387700636880334138261170873615671186316220389160872107562081429991260346319588661182700642555782987400754438859854929e18"), mp_float("-9.576549012440550742382608546401823126684193044877331158075622998133687892834211730093037577487948919559221085816545728052700302812602762779497089006197695009459238315716827860845148281548474661941081642534318136075832615598255500263300552257001518932685254164689930104651725179894343969967547546395724868194847067461891312497762614030322992368134218272016819993846335958527959767644989098102345231297e17")),
+ mp_complex(mp_float("-3.6284313975960059246920762395862284618540978839412916297220313888870476166533151559017142050956399207700054643806881389613322089035710488121072504349189574249647366972886338176720846044390114264130882464091327180446796028658439472583404929289375433683311947962961895510031506834123746671178515611627425492884246842160774957051386243842462549420791708979184481123197478925331790844679876858080894800262e24"), mp_float("2.3106312870487930891709074629988515403633082299936226566903989394102206835133482273697500149821914360726247849672121972839942584207545280023493654573342593184139168064765160853402368436875165164489151444802115596676679467789073483384876480424097862633559116253866057457802336451592006506007319077629595936602348463579621476575809410117956087697052385632783693074500560403754428476423855021580602277337e24")),
+ mp_complex(mp_float("-4.305196964828017092161702713250902796014085419246543337414225499085687159967596791684525921414254613755362200515323743980925082364272539025995404175210108765476258517973197736256464474361384002456351395197203384576937753082197448380419749940965657699875200436547324894808630140411783567395850960515889127750256831697349229114429957951008869223078767266393723853007593689921422063186813882089774657699e31"), mp_float("-1.1681728030412053626213725796394082606981293595430093040021337812428392488518370405627252102471497137378042477785540530662810205844596280926714505165895900270283063025632833965470097159040442062768194656996661737593311713073549779702474519933976142036090587800556323340521469846619699914925534923193415194532975821105618098587514137774520689743975222813109422042159147444639540558897450211944492123515e31")),
+ mp_complex(mp_float("3.2361171971567102334678646636483234457533584382122037150648659977641403248801646906470005816696394201113238402631238779824254824651576948948260573411822861779454594483246347272364982605229447622660784972096363905781235464209557073781047216620347607319333737578111926127791336142722376181989889298252446687316039119084235916222070441909842428025012059352196099919873253885310990146395648802044111299106e39"), mp_float("-1.1005312766933813274328504148481609162062374085120882509246142472128808172694655029181115503093907633525112363792792455365489524779453733904169524517727263341558575983212256401905839421848345649586785321168422220526943756261542814638059291683073658143638261011508300597844973266063410613897954194799695872279617013788640911105201480768364229139859651497856328602887739402070490525526089661255735726622e39")),
+ mp_complex(mp_float("-1.3535461209542691090184488205458044108334911668976694422367285942844560654431564179202157119414814618029235218068354542790618953044269239243968544096544906339306177239276667333312556893968509856285042907283585729877857221298784046063022257546769685563391858849935691520460429466634356332217980457260598164655493113512883035966852125108740460976405196705572363575615593377012521924364180286412919933705e48"), mp_float("-1.3832129975788872199276197105195130802643897891219796458425569147951932493586604304179033084830525311079768860187254311460973766855230997510364520365817466211643587670242422594130218691659436125216938370729739983855931381579595912868954537576857029043278804000372104063561904064411797320119439164386729265648951911715619021269260100326199678789330171710923778748777397582185778610724692241722806319349e48")),
+ mp_complex(mp_float("-7.1226713342649731029277141519032971715749256094246818681298222129239977841913596722910812967203609479278551685219509156633507296614825738846666050419913071179796909167244088079341199671638861323985279824535143368572417472704967067440365302784402505930034097815293777220570119958863474215602361970107367371690977749789813740894603175279513992732642879933653958437726905914612021750551954029856455015251e57"), mp_float("-3.8496719226025009408131493037718349872478727963904698852238527444287365520565273057548560872617387952958581815160320904220530719157862107898568684503276174144222047295366287585615363963299424677811743803231567090346796306090839246165197390124633332675834299735032403358573905445981263585365787730319414712519203258342798470839474319192152847957629038359380971631938015816757816199780103762095267211205e57")),
+ mp_complex(mp_float("8.365295283044161449873346682117397689799132028714938309147413749195318040276620013162784505821972226366507147770544148631115287090585218496953047826641759769931307533754400928473515744580784665234419216531683739497800354422468071425940225328435399668540158633025960447792152892222309852821674452376558523292791823675238026006619043401827499655595304955394853510652694046536842190749718865684488134304e67"), mp_float("-2.3588884838457740411026422085921624813092993474077576603985056355616529268658059114634589400955332817215114771801304793541703625677768072468974103996723934463490743116224918364079439137813743013147631795094892052510491585405283659600068686137658996212672189729814217110874528682475618293252653026201970685728783853413540723057437059803508556251029014177178219950683160016213239839311549262992904267537e68")),
+ mp_complex(mp_float("-1.8638396106761196029682513593593684732884104791848368842982910605052523237737987576250085393318704480843540517745791426791418564752124321825055925642802203317878729337247598465386185639823455166656950282904871153321683875375722633628852547088519882510971220087365978620984736795530854499305296567677537624595486845273763818662505805459433857316416937950422979666497862920137779109344600000212707044071e79"), mp_float("5.4044729099781079108793237928230050599141717006901249666083152403693298273087396128648988644509969668549408838570377914886483527137345564813861791121204588898259747990700428486209720368979682591491701251370655030094078322002451980780278077134492989293595818337828588318617654610515427348356622490840360094447139759810249506674795163330565471868667733002167389778745316958721038534334292937395422364164e79")),
+ mp_complex(mp_float("8.6050295533749666236157192710611107233084977965115811339602337355125335054357106595583173469690401996531002017823125075903700752275325495539474947634295235832663489435236843041239541439213105009929027479889283571077288829773522710506706040520104305392156324170044404431887821295034889331959557040390126088394021215926870032509827789304526672302190414282392381918960683888100866763925785330721089374964e91"), mp_float("4.3647888913193229515617890139421109684998488653384224447212925734249252017357738668906581731586275883735068047993745612696443317237058401227289566910643040873292478251307730831303552409054879864551308214034654267076120246435896629935880048302263143816446369568332183216151424774879146993232730370005796119546326386912587157789567448076305356672435306029976490750737997341159199098701170646742519843887e91")),
+ mp_complex(mp_float("8.7817085214236743837670978349620967675578904099350455969213901909175969763959186387175463259517343833138279575803291895426185981123695841671415272915242626865585042211834522559531483625288922957669546059511516461807388678483633491517933033943343245128198196906288955546432296257026135459104163352527805923190119305923058559099897717017369436904644229231307074426038315903278740339720999631375733668714e104"), mp_float("8.2264297733923574368808588912132833541802959180211839842526020870975599296122722333636500041909203491961422487372681500183965394520742318719697806155128635403637791298991261189820339640456668741947012627701045126537024178483203208342838111591417469216148777242928016809854909740182444905690154378700182601444594270308517848902287605194413582011332136155148226709218348707835596642021514073262933707395e104")),
+ mp_complex(mp_float("-1.0261253616238474318840296762592102886982039174394690701920561069620992567055669018018334398225353892743935899845702766430293731799650921273602186062960118805942797081914613327841607693215408065759374373923861720843700737550076841711594625664256421201749064267175859096552546389082442245284370602814486183230687141849332242322661398418995346540801300377179757954221473308925892312486831391063141469774e119"), mp_float("4.2020478311587451454658519689807226179055654188779013643574711927325153305171471141395131901119238207762672616088390713251109337672903177988432098595307098193530100043542678875045881965940699634849827906257309316790965882031570606929734184336469280318993428087159487579643868779375934644771056319835108457773959064653364271925211104995603431733576319072494934091330231837558985808677210017407529761633e118")),
+ mp_complex(mp_float("7.4187799840449939387324917370406211533826962503945679756913595442097369421831628221868074411218669589117765010547243549703775530493632026685886934451967602989337366529039314432888763930453929844077623864851843511162669985554053765528561020181248353416430920465037984575593888705630919096929501810766728564503776407541586243419442659695395788580639784611704368900388101612688170456392223855884397799095e133"), mp_float("1.4014361354807257966710691624089560287539093780870099730942325503556255644476317841524537377870862610219212306182039912447348925273783528058552574194966474081635487347901200834657828657285624519458666183829560234836359412747808336989039391904826266847180973758882588903116794425459615236076256452944541697872408567645046414718619373774553789992303220513633531586864854904188046720666298023378838893444e133")),
+ mp_complex(mp_float("2.9945246919254280396016832519830856586590428156894868587547580059651512439924471044734417547715750173465599276903627590874103499907355854933009664145536873035749220106220575407003338316712090713487117091496234607185945385084972869790393538545181273735528849296893355456340097408673153310691318220483767147099421727384347949797608357286011600472965074295268434631011052799681491053706125693062578239115e149"), mp_float("-2.3370280983652007639153616581116807345616200888595366010237712891551289555753117805990734946227057487546617146309501137467016644889339688267101244175675963761878438481422004563787985792624534014886659250678870081218818783193687251268207725868532713687500239446287485548587842170128831892126746192426506779054206627136624137521329481932548952707899917225201393761383941841822975050740290080953232862947e149")),
+ mp_complex(mp_float("1.38264397661925330284992157739896839985170944307587788725543486268310018556578396606770814667639334768288245876523390767703058765598784685885472956806686524851820990085498734297843740473739011757920912843819460724697086004727909320922191255647312251441284816342301749501061449839201221337210155716559791076668236489804085877490563640202567545687731938819266187882581402248883002053339456258805203826949e166"), mp_float("2.870753096057139640029947630246548364240520806790571320710327531264663089201648058720134275272595269115688797225774244387049089313620284041486416259318386791725502385116758340109525053097713357973262689379094393509050335125016334717807906322561183303017627203080312531935568762610378859807804004215613526506352962331441506003235784300340244501137251967009216217786657263365006522605206412659562575897e165")),
+ mp_complex(mp_float("-3.6403263014076246281022400254523316620364362592135005370712247108613864096760284489110427484919607092585696925605261514056194031303758174212236327915672017580131300456692302536348986809625710610888552264766349418654429734202198987638426196534585069755123657559133199393279870055799713646167253201512923762937200112970584193112480500074948529160424989946243918003950666748546186502112231976224442998946e183"), mp_float("1.3397403290941228833833403731499275831591901529840353716590762952206148907546257604349664617557298458181560089641350874484155337730110575845059810928095501404333371067232749570376959918247601111811171566495510811759298894244371285976093245479648234469411970846851074544754649270837446403172449524376822570979357375917908419621397781570639061499532784093629942993069238466117214268022213568315425235231e183")),
+ mp_complex(mp_float("5.4468453814747859717787911497395452945761901090884834745202622618767137526170949513113444336579172121449738243401659103913587213340257202086377264753861204387035989712346458927711141345619000666598019436048407944160839071492354839579057436136526577433220587145529778307346982185426231477867049152378929012367997216319790465165572175575740292664497067677626912787439421171829358260186132288697383987189e201"), mp_float("5.6852160505943758316056341265697395366984255665899495416486039282062217455993054167916487407812796436052608187805280385196386619815064439765453330938212650153823078225420025683577356790118688787290722802084472219068927028799513901892516909718771870054160857197254872120855895014179224770152275727640238853735142498703287795161147720098619607861607115763859814913934721642232248042764208309721495621145e201")),
+ mp_complex(mp_float("1.0119043377078488392567112268897334801599239936221099977778975245904146936883032694190537304268819204630760116731743755025709500842066845668971430992719475577729665616875291413346849982020018314351981645105327582596164129955280966046784796970740257276691368466988233582086782015503404025411280197528496313906064992305919384497507038986600580136176569200081832509696633052422176121219328255921289090394e221"), mp_float("6.0860525870886998209108259540776833768930752425705644489274056849488306590798080436606046769185320676261591407117323502149904221109988467134930495386158278197857996763615179815867239414541890571565177299019805315463079376717264711379783692633296323292831937819961614250468130024620055151991739972325212652274277615544017073545566951902888298333443411236053789145774083751089532086420577540002731911381e220")),
+ mp_complex(mp_float("-5.3618398601169415947201997569446292511165072610447941740125453833110330005584781488924845029458478411154474993262895389790422523657614527370231741768502621106466526406838875496917785419171616042553860197065651195296519766277132189798876230000029449839303248576041752335815154888896332016818432586570084399594611249542387468551322264399414342720601589432432297042499905623313460230206333455980225410449e240"), mp_float("1.19368879092269777667356451342343844437343822699351140039381689886805096573950223545968660628216707537317939017607749510263869591248006106456447490975752823171832245682863600865663900024883283978550141720107804713190799017148519657710518990262966103446594804066709835720300212113342762162967064995004599314357826039781256627745462347812170175561424631977167225664207892690526212486649951242739742576338e241")),
+ mp_complex(mp_float("4.6500219459348045899412153323819461894045722987359390469091481235401324454717102283795749665383456803229820846014875879600004662432108501763114159116080760814067057274368135714087768348883985370162211898647993306657433748015048369673818957151444368965400683092220158593343293167694265782647683865567067351231603156305434246593347182287524281076571946029588795137939468471164288023150006688303283644011e261"), mp_float("-9.6537621997368329859293736340275730719200127268032007029866746682967693206617460034762811929404954720206391818448771377693316973229940592514024972133039325453037088938551469901657948147630233947201002119935742632922137747096058709319651107406271270938352976258646648755725305364348785690315824990252492946323788323771438327293964509717400866282849369048229187605285837872432358474640109145005447012009e261")),
+ mp_complex(mp_float("-5.2705504358370908554350172318697216863205313689602541078095424470313844139622109896415730525027737852782297094466287439085230881156202476280087285764977942239748085665887703963660810801589062686720750447955322806427401850676587963729400022029524076315153001825821333691713791857521077495146830492737351176033686391706154574968812509935854236858507916191942410283124293286881699682885364200831222801475e283"), mp_float("-3.7755439078922160603413704610071954181648015720685801066598836247898232200296138428251806146578842381706348444518965122452055304263229301209471258687499251547783234400709919778244085886372156465104617363239681999349496029121626067837554655843359799966231096034475676096752676834926763750624810307880704811273069836873447120765908448192465394920859630882432775309322657180446605886395197834177788008017e283")),
+ mp_complex(mp_float("-1.7086799193516830844127925329641464255574810375026063728907624783613793583596511986312785200743000273321032693592129433877912474868457658551535863894213132741521977809663469524837770899789659943545560765599471697912448547302515428935416882432857529983965036601745022947983444793832243117260536425875397334464891988944583946262538137877281987292777155500714481384399658336023545856790026303509047665699e306"), mp_float("-2.3413547411656698849070050307633774669766973017279596557777296925266639427562755442117677950970445405799055121550641124081870624154502022665696923084692550581303711539617073235919443435705837871935905592616307870104330052986360652949754212192628032088447371244556660884726267116068412181711724494607037756075215834654176089827323809221371097650091587808532276695306205635496179245355004604239672270694e306")),
+ mp_complex(mp_float("9.4441404215062877633661142426419447711417367407139925136003311342981207978694895253502224703420479194690939101177112530792221757071020799919628123570657001138709338528616361588569503676405421667401368630138212631707262940266544350093788004337136420114287786566313834391542492273198385340112487877262753233649791342615872778731215092737811136596445675424278198238205147159831021201949785724743632977257e329"), mp_float("-1.579087014118544858061608326114484973624804958464600207025576730717122129326176856015329125389734860866601637104008263193968768381534402352932216967285242066344746637237149229061608705972273839937300620463992400602171915745827836254893697175229933958557172971585363969310453049457605805117327288340537918085614423493450814076264283106856386450964742114301029459798612295153676524892265413792177469639e329")),
+ mp_complex(mp_float("-2.1095335709917411710689571329152187103252066018344571311523406151884999470015389560076801985744772408288341297473071674197824743174765270917758336776695186326505391660516700182455631984237359722227502075867695318653798340757525762993356700876505597587981845626517828944443571336866763711815813883063773350177202755640993458028552926268200700762032407136735367563192276439727761752353765151702900257557e354"), mp_float("-1.0063375648883879098307908214523141095659396400631700459172390298567632848608134976644622880874469195210310673746767860302407827635421577005982441694649055736808915978151740129617744577548400181885951444903146907543680520210962514986036839254361959770451288532974785595528644402772021197019518295167969763744424273051467623657411336999869822400391890078387395935632375683424562667838877339912331790504e354")),
+ mp_complex(mp_float("-3.9320122854793900741587661145186649399843684105172487060055176017048560876922331060781506495586832326544401757832546696309826701063837018365157838481053975241672754678251549523734766068269088621044283616635705524353230459417920488505287876901955476858858872128538977484248728401508528773074058597824734467562855206229046861945573917414333893794834885901846493998576924586757673790460103772559090112357e379"), mp_float("1.5200200118710733112735546927828442863479293319012540317354811088866877115946742367782567848472147884642709077915857072915673201248304120151605426923735372780695624870757997131688249011719152043915494769149912344007783625090902933400727216801523508748849733616674074351900382945509347009400336956439917776001975411214468107288641662468891215103586431565624254191201377782215328340807350019003954395892e379")),
+ mp_complex(mp_float("-4.8361774423087682404253838118046013423723119871553040021266323121959020356445629377413995075548998359754747570054832186906720448103683816930730666363954621583269070107501557338865729282797782609269232693045500463399441693284454896670970422998805127842136425136400018820286184292648710982022185799224221266734402159690242322627172576825319445583301218132846541177737192850963291278865704475326660848522e405"), mp_float("-2.8592564257359270278810717148693571348602947941023696553720097701977056619332286066793821965469072382849695665191817614381193831170472497762136292098223181574091641256257135371365612379518129251868791049653479447009162600912100150107148842447615564046888348556584835784886455110702805790250736624268281355560686589276667174827520397237497787894651807689858305401362872601295510675669139962189316467892e405")),
+ mp_complex(mp_float("5.532113852813902943234075277642352705609930846785429834202618316655056323172897014158766924646478994173402308594990978354269298743687147322855847028081713823504293157794205286848995910612717311806470456282774930327186662994840621316210306973750579979618160346883433862657172770328792050956739607748363649824062946567095126616526992750233643734145580504211078177211379075864667809584188074849390417363e432"), mp_float("6.62951825900330329111066258724975404885880678686757153969464191993852240844193413149113513946125314189164948372439696186153685036795993310302911403576070803701247187718711885291830849452140285391351805821385906147696241402467105611057065648938440803745604461111051894258067776034144527152706545183645888122120491014159619083983072965322365961285665065639870395721460663780488594787668736281678552778e430")),
+ mp_complex(mp_float("-1.4330312705186836643504718328945078301295854022306354165344574737547444709357234446030524620544518798764456318634679866058782048901457735666297221621784473599841444786489587303876085786431997723973832666879219244677409981782820231489896643606180230671639852254301723212439900825629850330058834566786309937688521084421212266229933672891550395080088605160776040042352387260487293705026097586882516315802e460"), mp_float("-3.761969324576549134206300711445278921107388874705442997458572119945399117110300181963403148209885058545137318074029012313658274705313912013902126347295056341319803592724945627067666211598721672769596815562694562765029057593224797716805539538506838454476522547659972459527537043981969133905887159603685377085894330689043876166580580278623629691139447717383578670662181098174274528782234872355125705343e460")),
+ mp_complex(mp_float("-1.211163478220948833634129372031962927368678318043594281619985681099352954757499568475251684326162928395649976110321160571304632534223424278126689214360830634852663105587245010806987686640612016661178846583962589997428719390138928959592011838352956639597617870890000284532632094868795618395502563104540423640384996903201838482896174599862635536542943966568613282304712570715174758504419958199669426393e489"), mp_float("-1.7938263941136071199255565945591078765609211534678445593461721137840071706058410764178056398714002831842204572033920027425620903733469193205817001395257643030224643027156741526914437990387409323826055464104229071729939951078784227420219248211317140189851200019101710074467793235816518168419350099063479126792583455855250815087999880556489640499872525909084006893255083779533777311478313384604012609351e489")),
+ mp_complex(mp_float("6.6981547670062215106154722855653294804841887620584091586215731200901243017536309597498861689848508325556250361163989169677060976913250664917295391734917663100685664278684665650674167312181394536723894297840580593254803393701958352462598561029629425553879809901409369239101300500194742250146277221346144305143671005263067229786073531038320846824550493289692229206060181572340151442200163943237398947626e518"), mp_float("-5.3919721389496443570049656220264509642435682637618193955029029380888395042743260562761498586148942007162368495676471214043965108951964286761503408127795372610611135097556001286182677824977869344577618142741913534108382153644115612622047469926093156240957360839858051988389244363591208664624812747127181738903519612438763691275971738172161676952286315545683841811794487735952749724437611505082940637252e518")),
+ mp_complex(mp_float("-2.0607079370079310742582755232513228928021625291467388850034585246390614359769422517513912787275712521431482679423397439481018829623606424089119917941944462369850128938237874379554356041266008401474631262208170668651598427959740653140620422889950408872313852333187215576426485094934390321588320081930405276767314403457720256380194039165909477117259068409625497673346145478417604404799219675606664547593e549"), mp_float("1.4577048532278847881334014274464883013510043844172755090088215732026676192785954196607320506646661905736630723593235054782826498249457452384015808314420719200381400671679710263446442663663049365146283482439415874858822029917081207008973444465690466457415007207943558184750841110006627415122642343636148569329794535009277348257691884794153899611275761493102047970136313608047637536616928974092600766228e549")),
+ mp_complex(mp_float("2.169992173541827565180852188253933198438600890291049753630954998084682230541965586300297561637354041513327868134472415765096028278035376892318291905799892204065798408227786980298885683484948683150184381632255215519398619288950134186343684448793433561746497029470678706484527075746719708895354740326868766893460379158846479562265776686551795337530740745654258157518721445168682527531013715427819553218e580"), mp_float("5.0266790832362996163734172487377946405865993071361682893268387250726873792217457412587874284662386233717630504814801597790015843699834758298895032873834815724078437081473311551986127834685927392595093881112056941806545510696319305170534030844274214394095562354699608412431331370305654951164917940700644617558241480655804828493589393913555926699943015723237989196508811729089670478901503871328839206587e580")),
+ mp_complex(mp_float("4.681438382236954627739770813650935500310870332350008416922297239682787604080595673177828281526945192726730965002703410858960140313129856570093645987462581809360791933475557549918768750161780504994115639929359702173439670331433231706591635398237813976939963558254771170068315104701527853619191238525633003752293785546006933387866667822451297682819710457483208642236094514402511384215380554111614424396e611"), mp_float("8.7625584765876157608518719982374837756036310093065669869879558723752961942199112821361357672577140944666353568863074979407712278416868039256744596622408226974711957803261905352937479911175692821630237685818953634139733058658748843233718218015401165976249177576259576254416957364212585197870717893397843238524268993846460969200666089105845487681478786732276647548262930723265260525615151774252094433347e612")),
+ mp_complex(mp_float("-9.3718783920656422273023345254604889533280804282668566517546510954770155758182641919326073152750398795737447456517649099030234390368955700451164846983563763976132030305128156039759883021893476770690562526568568511282079844784589163643004729674366761029314652270192423594975777706081506909279042263729310861852105980859638247352894376480166285114682222831289125040037798148393395017649362264212825153522e645"), mp_float("-4.4901628807010350128639121663836982174463133267495104641917614390752616308025390637760028235562547399202812634178101748468644641986922372071093429298637114209876016375492745806583826110076636266902991775817897346348195482821278023083343166382591333436569387340736824856786105243615106886147659009669027417206763106952945513403515580637889432506267616727584499769463098977699701829427115459115059736755e645")),
+ mp_complex(mp_float("4.1815762397159392864085295248783856410903438048480569222207678730124566548390647634807709366635915346117159491399004276256153429215087124052729158091007339481088427504401141773329216746623517672987350152135252585432678506740228079157707919668374900410305594589756204828789800820328916506720645770235285313465267765683537457490056545132606315798818334815300652139976176397622720566141173405664667541301e679"), mp_float("8.0751826843660307013836296256429628792829524373699264571687931656660822469055176388271592787214800793240947367068203140745829411008107993927471826325937680655216063137436047595449887577022224029030485413864314535225369441897852763544651380650193312334147451627940448866034652490478746119442043734371193053783869046599678921081807719264545586007033916135844262359097486210822467744792676159852672712297e679")),
+ mp_complex(mp_float("5.5916150357915938904793464378876482807801012747528086938374659102006549744198039782237429450137246961188035815989824472328851404604084199994574062792357420983409817188036627756823235047425666376667219485965591298050817692910622869861554819969594925741911196554450487790002583151147638834483805758586330693423717833349907203865065037518916917276089732711402076622678126734884631016689634257393532168508e714"), mp_float("1.8183015498171211643957148649014784760558423911782461520037982707536459639432931690872527645582234813114254169956492209270425960582039013709261487907388792567406703286633745465778975337664043718504099559663330569417698990219219400659717501228847805648364785687467906970550565902394765632311261759982349934838108351807681047305192673549591867380488400826627563986949978033641610883886585154487376438555e714")),
+ mp_complex(mp_float("8.788005749706022872771921751415725147464133564353584163371991754751913116008639308438635398092044858827369554167218344708119824400254201791806736310189684598895852189980521191268966879014835050225687459996424499639355993744511100257054837613205371845566083361546181060369493587700380925100779469592014676178631253660117897693231662988269264914227623721801274679082347306868566849815169928140742026066e749"), mp_float("2.6681918025474536158958864079065134673268023038165923745044949935178321519255499389746822445884664228320235592488098842001001834421370876131423051243009238132998862503647315004472372260522553100702760306009400489239041481767489449508762698769440722991254308937041274421309564510700640523436683025904802524151105341036241061571399009964953631316112602618189822901189229608924711592493241215457387406403e750")),
+ mp_complex(mp_float("-7.1466700625131816506517692988528890820010254842742263986192272152516221791117621719306423055140086081293607223351777838041447504967608717374568446606208777276924168167420853315637002730244817388580280093625425400662613357494246403983844938228009301840712088223211759961477359716567442625491601613654596656599372715322428125925740047614031769930613563516625885002951484306615576411001255504503345638531e786"), mp_float("-6.8756499336729843825608494454889528250435462931821960588436082943381411802466893359066258537869729288507682344575531552248527708115037338070627309934197288964778968829877865191154968686233254264863599539212529779351698025091937302691433750874002274919862288667551258699223631548001286201173662297383347758998622766401907643013775477545376465021008517202113269471284947883608556315537611192464077262603e786")),
+ mp_complex(mp_float("-1.0679053344678401443527217749357116094377358510393520816498416536445432434401057026918666827688353035017260367077995140968221122636023550656237805527543353541956811389231477974753746185602082696037279488072078205199793194251536909137705873170801736551243956732297691539288767241818758963952631706184014138380545157852966288279563332376618520978543512163893941425910345085337350661369498282924744613618e824"), mp_float("2.3561926620071720878517361792843405904303217981649808887962899666940079480180804377552923931501736155950443814069754120248572014883386684867062341429177646334278864245714689836463492201986190999050104647402238322890980847453155303248576495003157104765174159876949051769647063473336783862326581133205609952346464486225672605560005484506287965174812529708089384844229529136651752337030244979950741400829e824")),
+ mp_complex(mp_float("-1.1416990309137097287393149150088451472723197251982803501068912458190355296491777529902501327734153532355646150153520404151324993568065063260705257965305320776581722036850429184750835704192574678572272467653724162874718342418120192233815992345628351230850698742931909081520209044430383114514352579251819121971369806794512418243889627943762738196369131994373240920070099774022952189143659387317516483667e862"), mp_float("4.853655093255361778950732149861277628499859595921408179552613943482329302542148084139415271229329716519865519078261075377620277910932574111578645907596484429535116469843173203254044011199786894380176452370677922073432018090926044562949741280348916965724518799685209973752667329563123492260872061206355188343929153875322849602854111649214833625590209929419690027420523749589030630772746492539938175831e862")),
+ mp_complex(mp_float("-6.9832901358894160796669966605687869960531612484659478065842641950842148133466017914839915543795615408104773803885182375790530053684882963718101951372493140231730264042300054423171897662340071132828065887762643659784848773954807685472033604375776875399398076274483849194379881375606658856845313863852175712681920076214286348779288170622368792682123048421354004236827654540282607147129174336827270896119e901"), mp_float("-1.2889951350382483749656184932206455190037440224980773516679748248152736571957458361291945664962317569950425627923422908668182342013934098528757365663085958243863268561996862154322882360425975448719578257834588245971035969997060243981257370343758521789070513094990349561840581126225686219956196322726972646875959269167761125795314657000720029557114298272336051010793353215401605476948358211511068745112e901")),
+ mp_complex(mp_float("7.1818842358084001444657818662138577830817667085438169442023032203502403468650840891737051146444306855407166580420665001256836643559181089016521210748324069108257297578640874859848930100341411396929371458312659294339791436169887770429472137167794284199439223035013396015087539513120721797938890341619783260230130716375036493235410008646543581898826990285344272734833309351054446927924018102455567005148e941"), mp_float("2.0655724876396686252918572290066782649711237082763884192482896136814083341886417340700637929454576617994832035718522916052746929710753232870180137773351733967224201418362490891593087149963709323080086463661398342164240502764393088005904862326444016437320561825941960132347346658861111892947585152231390505469110256886316903642502497934773928720231073576859577161160654639322941353322979125468807005342e941")),
+ mp_complex(mp_float("2.9054271535403832063542907541400346266903859317439753669764587012277922043865122947642553106706998941355767465919668678199184457802470154660849719784171466722870042576515046411204990443107220054104972353060555395394711880789385037140824963072027938443572210962772274930794949363065676001919425361717907452534628170564825904327177767862103481522059689111052772359741272340497364942752255977473168385103e982"), mp_float("-5.032443552356623845993602575355762902359235660076476009907087153942727932759095792503703732144994504025024502792368439038623805252107543461198368039405829430553924880024149552183993973382326037570335570498885760771494355151531762922668849890098774003103232296325981040546500685047406401601992732597068034502484891685518597548158840154857750232048262718981216708069406942557564537389936330178244515929e982")),
+ mp_complex(mp_float("2.6424031439367317698066495964099156317798960548376468801282108458378709842893898263247332073894871276336700524788059400827932032784016089050256804024604036608757308502459663974752886333667639695210645667863450212472440240800941717974507932268290740810040316737142586496325558055891754130937246988435065195965886371732570604479645821137095697829834129467967089666591384958490533368880248382652293276866e1024"), mp_float("-2.0408383092491575085051945797641679916304876211789313590001335120698523522760008982275833512721770624838296882854924578809145252201071026207866638787775458211571427886016410800893534683187576009920513275359728115124723080290058706886397545581128295958842790005697955745439030461056221582860200887697683945281611926583503126022948015769804087602467318007542627840710391377091622783279682794720950045288e1024")),
+ mp_complex(mp_float("1.726010778119196269388355436967696440005858454546977968134071410145937183664639286714327101077401225753030125714952814171036669916719246652201770268031561097627111721833225925806320837982754275088917873910216099112036115199826364513684932187991557448047637321539076677144565218937479333862712039154306720397778132174876748277060448579375596970489915763662203719793219656764814379655590549284967758963e1066"), mp_float("1.406919464600290559603459339266548495361909160564541299110569851509649490180496930211802346674258115157867880907985348935987210377433048096904320949104698166307045107179394801248371421876529948796696039602694044973198249201032906853768310667908885986685522484240737987882648808255424155638875924615811072038136812172779161329449804389899275579391867573807005330095750667035128649507028706788121137378e1067")),
+ mp_complex(mp_float("2.3601935273260723848272417586005194996895987794278395776068126675024456838044991111253098638357198934590747619560477319643264467064278005340532215811320634917647126737993526686707580001179676396134162894234932686174867945816532567238943310225691860642635162389171146644069114441966435572610880227332576828947278331891079531431772082285133356693978052793002701845684837723094469297579406983320344773913e1110"), mp_float("-3.7685416503387672374061390127323897767663405123873886077645048620076985197130646539871863173581309561509053308301859546885533125223650069432800564917294027877443362837655940726361481944021901432957290144236239677265038183962925593641042567424849331746968489117070580728503099216190466495208847480038697867387389391106594437055061505537480837924061249067823931016159629927602818506925730561318596123198e1110")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02121_z_sinh(const bool b_write_output)
+ {
+ return TestCase_case_02121_z_sinh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02122_z_cosh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02122_z_cosh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02122_z_cosh : public TestCaseImag
+ {
+ public:
+ TestCase_case_02122_z_cosh() { }
+ virtual ~TestCase_case_02122_z_cosh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02122_z_cosh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ const mp_float y = boost::multiprecision::catalan() + static_cast<boost::int32_t>(2 * k);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::cosh(mp_complex(x * x, y * y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("0.70564502928470724256172567179226588307754848413645067086014508755882997558051608710751800551546296792548172221795800913316958388119713567835546996386699146652565313112062115365176066350136330340627099076030495325488710060922257310542444618551372384335822894918926433387228579349703657810309493196079408082180206807389986483699438229978540094196806271691486606863545262514592026134620691301281648325222"), mp_float("0.25248608766862036686658549749190714501135368919230963817994966023291595963105865375657096779755802365016921068469216088220724985663110106736731567227250109379391273388383628143497456845049961062035128410342644016508120138306378557217391762422947805744051311664953007396317011656953239047519009320801807934758968660941012835519158726955323493966961108748958555955158962562470392453774649614862373826173")),
+ mp_complex(mp_float("-3.6606593680695993122474670135539096056998059988486013532868788702640448250287017319833267338967541264402002925993166155186266182735532024447174332704921134352682774468151273518377299368778338026732436859478505962315074813529365295191707005289728437441498708653491067656761685723081537115446722745119218057522701801663030321435060623499995197950629959475619041266200989752403993350969931996111938424426"), mp_float("4.7604180218331175030740794791144641400834980542645504040951718337526738166046235070199616310282363462939453120813456481929811617631876065024303831226650036980560199617550065083615789504373074613995868512318191237001365797413983455678602731206232913496181115739967564178557228292154974133551853048958621336053072666325994635408818830141078605959297715342431581081997276508336698124352522198693845998416")),
+ mp_complex(mp_float("217.95168703551570455858650582430403173747076045198641210003756893782855938910737819993179626673280719372086076971019326213979580753871347733519601650557852596083317452774118757602083151945746519722910644126928003560758747113969041160391380770501451279293709684368037254429898794057647339035844986095222604503141982792221065433087285828118957460544255017196051053034285345184768547347598696401357011977"), mp_float("-315.33782105798293429624440853571805541678198545335921315327989606032354804200562917980062794745267686830892971276653416683832450543970868951403751898921296163540196387601337477676718807007985035740294818359055527546544591306144858241774844620743568219846517729951271067947260352842592491037968432382614948263951971417154215808190602045831431946068179730995671213506254203415953521442970974216070907645")),
+ mp_complex(mp_float("-137250.83104936010683648560527663975049275928994316280908329583088474608947369268948487978384294542147502852951509999609467348429070706528561986215638770830354451312819481820821020435374681456642807769283834208249711391643412386654184092796723087154259714949553977731569941694750676000828384577828291444653761158033745592192392105002114374108836764068882632186674850043711598980944395324593114491914048"), mp_float("-117183.39947745979103083375325469573599524321342628427766759001759184715327905830048766426939041543190578738952652510946391528625847630744951176347775814665793139210008576866147631076394318081402417762244340407590466694844178902702069924613380557931545379768397024960684233300648213148139378078322581856004101079983802885390007654390147270124160234831139727442113966792510799620315551625836973267943471")),
+ mp_complex(mp_float("-3.6282300779413504894967104206602363358464584631480315451377136444186092340235360406115478331072119911042578410468802319857627314726667980507484679505057672641818603976250769129699552822901361117526835486825252379226460792186230155418900384177342746827453363721192943321498220234397329558932804988500349106986809199415923666484170565721264320397408496254191974481523211545947072049606585226332112801529e8"), mp_float("-5.1235838389979256889905575930561892667880143744896800207025754303845344092462698764392417983488406810880615429718121727900691310549789172875973390599120802390323648544069029410710128349761708276654741221208575567465699597096683115122147245529192322940612187085174537545251036839320391713977359008388036262403722502703039971369593530149459094523990811274574238253557556235797861734349583825577686183017e8")),
+ mp_complex(mp_float("1.5741025448048176154268192296379728021484052752360272108823831800283223158437999536333309296011155699000331344638195225513952079340955823976824363337941610374187032421275897014515000973790352767343087124690662697096392715444439783432742251107456476515641670211962824916010243141319964081153049231507960014353501959448584662900470982181702310809614207557568704955820241642924346798491629427523866861468e13"), mp_float("-3.5566433598824478001484028598030031086771678409788822274170710764376303144190311675692164402429853660891776646689668536789181470335371065924902626349492866447077813286694670643963088995428784861113603408363389397455850478358965685985519319835180544914881358415537597977251987692880087077603737787256117653821813769898376731600267988248497077839152833828904624073558907923631388503450113731440168308e12")),
+ mp_complex(mp_float("-2.9116771566553267439669777308588279506475158823201342022023669841918545140649582428008006610148357676713228298263585459590693258872620152937317891793250733256159718654704739195723333106587093137086366285761224108832497638405775767706332265844190020450058474520387157975861701466718791748255470902487013030106084052218552299387873023259947799143506725651351344165132376985687935406855877581252587442311e18"), mp_float("-9.576549012440550742382608546401823126174529240718445351954312679288724274072993527292263695129635455481038612992944292070645708525458151690565656041592073121590481535210140127157706991305378685855696858167669743109787338741100318527487630136276288266830228315460948797138116462094992386049936595358540511326472972059768293976125537698622030344602423791529025858147359493874931290420778407333823656254e17")),
+ mp_complex(mp_float("-3.6284313975960059246920762395862284618540978839413896714213488105014755951714626223601954331154020751743569894059748410722744182168309345900066910413410397607552450970782209851777587521853242911218557998012725575963079183095818095204382079711929107006309395021859103549386878494938940438357054761937409008621857722658020184512504017325927932099901867839045994725377801649724370893968270553814313869933e24"), mp_float("2.3106312870487930891709074629988515403633082299935602224886586622935236981785963804516651497706722210684186379380745991205287856305313279887527171554532037554589507026803665189994902247470702512776750623023324478195620207944208970206019926170175216542046821851584343508198916505007306435406935912203376969506292114379862236859744222781739620104205181718796892512355481205946084655734635478636167790308e24")),
+ mp_complex(mp_float("-4.3051969648280170921617027132509027960140854192465433374142255001674303492951964597627598912582236184564797395899598479635454649888860287675643914756345753343634113568249817059938996072060257184856206878958247632863666686505550578413945653331047881302452819670787589070499791329735011788747489941006280583358580837544907015181545273955653693479559638958438686751808328796653168584373912394649277893454e31"), mp_float("-1.1681728030412053626213725796394082606981293595430093040021337809493188863756835493254981683278051570331896574179602396837438067594852315558178027287533524342110264092294333226347604735333134418531794087619122391328096684371771453548535049749206854180522468275832652205460549158040005692547995566538290576290788270037436832508373618699305802296358180457224206134761205380813679169332690149107243423946e31")),
+ mp_complex(mp_float("3.23611719715671023346786466364832344575335843821220371506486599776414032488016482913644985882268432428740803737921054764475652165654132454004873392314681052348427020327739417378605782301160150298464650338743966184005797029781634555705151126102796823419397741472975049726505600109888089753877137853525564714029345444500391903021248880862787652149525221314252530584320220477383357239535044729321435862e39"), mp_float("-1.1005312766933813274328504148481609162062374085120882509246142472128808172694654558209388782382354226213881099500335114283526427892404197758209057582386973522307281371815160971303191291954768277920049269844959632599340096410803847936616397043916566953735174825671852768831643853068321040136270185641567541022381384959933671120043389212751335318271147833366424295435080348062586910121754399161676229264e39")),
+ mp_complex(mp_float("-1.3535461209542691090184488205458044108334911668976694422367285942844560654431564179202157119414816424990657107941442339928818141153747951821886164917975688740626188797590228381197400785074087076712971403196720620259157472015574237645163703073150500533251762930258197885115552306964069717596744310598975541618704063345589998759123987890650508284340659949861755907830978732843724209765070058988228744351e48"), mp_float("-1.3832129975788872199276197105195130802643897891219796458425569147951932493586604304179033084830523464513563107568685356690464059947758318051928201935056030325235935202543542454389495125058976917404922651518846087428494939847221845539398912867748223179867566497158269668528622814838488972197325772665415084439247345132660910454559054652294197859981444983895593638405122142660844336188406105929533299754e48")),
+ mp_complex(mp_float("-7.1226713342649731029277141519032971715749256094246818681298222129239977841913596722910812967203609479278551685219509699914078949374204994626156899154977553871064514577019642044854133879364385814271104180231744970419573519371591397762657094481512933141407141853271298632011654488305502080290048143837353971363249973966488683026794438777821578286935526774182778481134666093986437554637834493436942950111e57"), mp_float("-3.8496719226025009408131493037718349872478727963904698852238527444287365520565273057548560872617387952958581815160320610587444951780925067356024708243582194456070407060726127963667228405327412568087391941653283207521245017165371803325032315283417121171312133916058000534788254115065549965457448888579173581259579993666272308208251098649144467698284257958662187685558985037793136721578293014674048145598e57")),
+ mp_complex(mp_float("8.365295283044161449873346682117397689799132028714938309147413749195318040276620013162784505821972226366507147770544148631115287090585218563724383682100976430560728010117812899323965531851032865143534192554179357394026451034469303153302879349709447937103141433220065486338036855934583096956964784471783189349460896199939153412787132431131905283728740842687348657017270067031089909210490554295592396784e67"), mp_float("-2.358888483845774041102642208592162481309299347407757660398505635561652926865805911463458940095533281721511477180130479354170362567776807228068889723337809281830140957205809587132524180312530045219367375764760685966718211569631165565624354055323062031402872656228430764156055104516356339150161890376988832393864769181067303793566656283590688694880709037948060936820199748813147183476347040569147938797e68")),
+ mp_complex(mp_float("-1.8638396106761196029682513593593684732884104791848368842982910605052523237737987576250085393318704480843540517745791426791418564752124321825055925642802203317881580794852622270541817606596433376240080880670104404750579317336812181539829348276821348783655457169082563923280489793851930610362237401381808341769821707515406875673762327853006065155812618572264186846009168062490917369215873959952585757539e79"), mp_float("5.4044729099781079108793237928230050599141717006901249666083152403693298273087396128648988644509969668549408838570377914886483527137345564813861791121204588898251479776369093447829588703448507556445548651856229070682032516376804232547722730754407413637506264122174567168601324251045273836998567120756707359440432778987967073009422740785121841430573398006980832933869870265105414719594232304271489807596e79")),
+ mp_complex(mp_float("8.6050295533749666236157192710611107233084977965115811339602337355125335054357106595583173469690401996531002017823125075903700752275325495539474947634295235832663489435236843041239541443834599213370832127581498615205120145363333322256251102520272915065147203094329684460689870469318533495766992485531769186422367487186732261803236102086580446877989374822580279890098759018164766820086755476787728511825e91"), mp_float("4.3647888913193229515617890139421109684998488653384224447212925734249252017357738668906581731586275883735068047993745612696443317237058401227289566910643040873292478251307730831303552406710687269353554326857317253699385840889730377423793999359514803971363725003403980866383739918471994926051343879953236686425305469800236299411198982912888619089445257554099976088528384824430305622425869149987371334761e91")),
+ mp_complex(mp_float("8.781708521423674383767097834962096767557890409935045596921390190917596976395918638717546325951734383313827957580329189542618598112369584167141527291524262686558504221183452255953148362528892295766954605951151649213252777653645871363466304744012368732396693782680302485902376204999878634787199355685500729981683286924804273730389070071401654899177812514029683529638182000630153670181597743756224346639e104"), mp_float("8.2264297733923574368808588912132833541802959180211839842526020870975599296122722333636500041909203491961422487372681500183965394520742318719697806155128635403637791298991261189820339640456668741947012627701045098129382709868028752353655412332809333603639811314106184207717652656138928133417912831529142278161784862319652136920011689168848156531281667249034111833986404863932270046119761973517782178057e104")),
+ mp_complex(mp_float("-1.02612536162384743188402967625921028869820391743946907019205610696209925670556690180183343982253538927439358998457027664302937317996509212736021860629601188059427970819146133278416076932154080657593743739238617208437007375500768417115946260815483787886718240641034743274798541669344198684459879051441608269603463964821007166691138779624067658569230032242258115525074933286918304675264664437231154235596e119"), mp_float("4.2020478311587451454658519689807226179055654188779013643574711927325153305171471141395131901119238207762672616088390713251109337672903177988432098595307098193530100043542678875045881965940699634849827906257309316790965882031570606929734182627632493980114109996110297813588944461432636864040353724987703877812989925651238390607167207678920158806070867386435106119494290225773315210867178411763984977169e118")),
+ mp_complex(mp_float("7.4187799840449939387324917370406211533826962503945679756913595442097369421831628221868074411218669589117765010547243549703775530493632026685886934451967602989337366529039314432888763930453929844077623864851843511162669985554053765528561020181248353416430920465037984582101325616914415633393091770176841697493868957793798215101234218658953316340695580617123501577721974406446600103849060865640672063876e133"), mp_float("1.401436135480725796671069162408956028753909378087009973094232550355625564447631784152453737787086261021921230618203991244734892527378352805855257419496647408163548734790120083465782865728562451945866618382956023483635941274780833698903939190482626684718097375888258890188751450929456618728135047682332894074896925184680011701116896820922810573639730057408150945086065889349603376416263759653204959709e133")),
+ mp_complex(mp_float("2.9945246919254280396016832519830856586590428156894868587547580059651512439924471044734417547715750173465599276903627590874103499907355854933009664145536873035749220106220575407003338316712090713487117091496234607185945385084972869790393538545181273735528849296893355456340097408673153310691318220483870915548909455546671082672016062603494783033238750251456102779687907199944228846500426831219847925111e149"), mp_float("-2.337028098365200763915361658111680734561620088859536601023771289155128955575311780599073494622705748754661714630950113746701664488933968826710124417567596376187843848142200456378798579262453401488665925067887008121881878319368725126820772586853271368750023944628748554858784217012883189212674619242642579465530334706176870723760409106923544234846438441583707574992088263788084395054061000315042200219e149")),
+ mp_complex(mp_float("1.38264397661925330284992157739896839985170944307587788725543486268310018556578396606770814667639334768288245876523390767703058765598784685885472956806686524851820990085498734297843740473739011757920912843819460724697086004727909320922191255647312251441284816342301749501061449839201221337210155716559791076668236489804085877490563640549248370918565991946218351823231172449386659410749412086147364252897e166"), mp_float("2.8707530960571396400299476302465483642405208067905713207103275312646630892016480587201342752725952691156887972257742443870490893136202840414864162593183867917255023851167583401095250530977133579732626893790943935090503351250163347178079063225611833030176272030803125319355687626103788598078040042156135265063529623314415060032357842931421872340124074107963779021038783806675588907525497493228859904481e165")),
+ mp_complex(mp_float("-3.6403263014076246281022400254523316620364362592135005370712247108613864096760284489110427484919607092585696925605261514056194031303758174212236327915672017580131300456692302536348986809625710610888552264766349418654429734202198987638426196534585069755123657559133199393279870055799713646167253201512923762937200112970584193112480500074948529160424989946243918003950667958207713243865304402353352799587e183"), mp_float("1.3397403290941228833833403731499275831591901529840353716590762952206148907546257604349664617557298458181560089641350874484155337730110575845059810928095501404333371067232749570376959918247601111811171566495510811759298894244371285976093245479648234469411970846851074544754649270837446403172449524376822570979357375917908419621397781570639061499532784093629942993069238020928459814105064663208844252905e183")),
+ mp_complex(mp_float("5.4468453814747859717787911497395452945761901090884834745202622618767137526170949513113444336579172121449738243401659103913587213340257202086377264753861204387035989712346458927711141345619000666598019436048407944160839071492354839579057436136526577433220587145529778307346982185426231477867049152378929012367997216319790465165572175575740292664497067677626912787439421171829358260186132288697383987189e201"), mp_float("5.6852160505943758316056341265697395366984255665899495416486039282062217455993054167916487407812796436052608187805280385196386619815064439765453330938212650153823078225420025683577356790118688787290722802084472219068927028799513901892516909718771870054160857197254872120855895014179224770152275727640238853735142498703287795161147720098619607861607115763859814913934721642232248042764208309721495621145e201")),
+ mp_complex(mp_float("1.0119043377078488392567112268897334801599239936221099977778975245904146936883032694190537304268819204630760116731743755025709500842066845668971430992719475577729665616875291413346849982020018314351981645105327582596164129955280966046784796970740257276691368466988233582086782015503404025411280197528496313906064992305919384497507038986600580136176569200081832509696633052422176121219328255921289090394e221"), mp_float("6.0860525870886998209108259540776833768930752425705644489274056849488306590798080436606046769185320676261591407117323502149904221109988467134930495386158278197857996763615179815867239414541890571565177299019805315463079376717264711379783692633296323292831937819961614250468130024620055151991739972325212652274277615544017073545566951902888298333443411236053789145774083751089532086420577540002731911381e220")),
+ mp_complex(mp_float("-5.3618398601169415947201997569446292511165072610447941740125453833110330005584781488924845029458478411154474993262895389790422523657614527370231741768502621106466526406838875496917785419171616042553860197065651195296519766277132189798876230000029449839303248576041752335815154888896332016818432586570084399594611249542387468551322264399414342720601589432432297042499905623313460230206333455980225410449e240"), mp_float("1.19368879092269777667356451342343844437343822699351140039381689886805096573950223545968660628216707537317939017607749510263869591248006106456447490975752823171832245682863600865663900024883283978550141720107804713190799017148519657710518990262966103446594804066709835720300212113342762162967064995004599314357826039781256627745462347812170175561424631977167225664207892690526212486649951242739742576338e241")),
+ mp_complex(mp_float("4.6500219459348045899412153323819461894045722987359390469091481235401324454717102283795749665383456803229820846014875879600004662432108501763114159116080760814067057274368135714087768348883985370162211898647993306657433748015048369673818957151444368965400683092220158593343293167694265782647683865567067351231603156305434246593347182287524281076571946029588795137939468471164288023150006688303283644011e261"), mp_float("-9.6537621997368329859293736340275730719200127268032007029866746682967693206617460034762811929404954720206391818448771377693316973229940592514024972133039325453037088938551469901657948147630233947201002119935742632922137747096058709319651107406271270938352976258646648755725305364348785690315824990252492946323788323771438327293964509717400866282849369048229187605285837872432358474640109145005447012009e261")),
+ mp_complex(mp_float("-5.2705504358370908554350172318697216863205313689602541078095424470313844139622109896415730525027737852782297094466287439085230881156202476280087285764977942239748085665887703963660810801589062686720750447955322806427401850676587963729400022029524076315153001825821333691713791857521077495146830492737351176033686391706154574968812509935854236858507916191942410283124293286881699682885364200831222801475e283"), mp_float("-3.7755439078922160603413704610071954181648015720685801066598836247898232200296138428251806146578842381706348444518965122452055304263229301209471258687499251547783234400709919778244085886372156465104617363239681999349496029121626067837554655843359799966231096034475676096752676834926763750624810307880704811273069836873447120765908448192465394920859630882432775309322657180446605886395197834177788008017e283")),
+ mp_complex(mp_float("-1.7086799193516830844127925329641464255574810375026063728907624783613793583596511986312785200743000273321032693592129433877912474868457658551535863894213132741521977809663469524837770899789659943545560765599471697912448547302515428935416882432857529983965036601745022947983444793832243117260536425875397334464891988944583946262538137877281987292777155500714481384399658336023545856790026303509047665699e306"), mp_float("-2.3413547411656698849070050307633774669766973017279596557777296925266639427562755442117677950970445405799055121550641124081870624154502022665696923084692550581303711539617073235919443435705837871935905592616307870104330052986360652949754212192628032088447371244556660884726267116068412181711724494607037756075215834654176089827323809221371097650091587808532276695306205635496179245355004604239672270694e306")),
+ mp_complex(mp_float("9.4441404215062877633661142426419447711417367407139925136003311342981207978694895253502224703420479194690939101177112530792221757071020799919628123570657001138709338528616361588569503676405421667401368630138212631707262940266544350093788004337136420114287786566313834391542492273198385340112487877262753233649791342615872778731215092737811136596445675424278198238205147159831021201949785724743632977257e329"), mp_float("-1.579087014118544858061608326114484973624804958464600207025576730717122129326176856015329125389734860866601637104008263193968768381534402352932216967285242066344746637237149229061608705972273839937300620463992400602171915745827836254893697175229933958557172971585363969310453049457605805117327288340537918085614423493450814076264283106856386450964742114301029459798612295153676524892265413792177469639e329")),
+ mp_complex(mp_float("-2.1095335709917411710689571329152187103252066018344571311523406151884999470015389560076801985744772408288341297473071674197824743174765270917758336776695186326505391660516700182455631984237359722227502075867695318653798340757525762993356700876505597587981845626517828944443571336866763711815813883063773350177202755640993458028552926268200700762032407136735367563192276439727761752353765151702900257557e354"), mp_float("-1.0063375648883879098307908214523141095659396400631700459172390298567632848608134976644622880874469195210310673746767860302407827635421577005982441694649055736808915978151740129617744577548400181885951444903146907543680520210962514986036839254361959770451288532974785595528644402772021197019518295167969763744424273051467623657411336999869822400391890078387395935632375683424562667838877339912331790504e354")),
+ mp_complex(mp_float("-3.9320122854793900741587661145186649399843684105172487060055176017048560876922331060781506495586832326544401757832546696309826701063837018365157838481053975241672754678251549523734766068269088621044283616635705524353230459417920488505287876901955476858858872128538977484248728401508528773074058597824734467562855206229046861945573917414333893794834885901846493998576924586757673790460103772559090112357e379"), mp_float("1.5200200118710733112735546927828442863479293319012540317354811088866877115946742367782567848472147884642709077915857072915673201248304120151605426923735372780695624870757997131688249011719152043915494769149912344007783625090902933400727216801523508748849733616674074351900382945509347009400336956439917776001975411214468107288641662468891215103586431565624254191201377782215328340807350019003954395892e379")),
+ mp_complex(mp_float("-4.8361774423087682404253838118046013423723119871553040021266323121959020356445629377413995075548998359754747570054832186906720448103683816930730666363954621583269070107501557338865729282797782609269232693045500463399441693284454896670970422998805127842136425136400018820286184292648710982022185799224221266734402159690242322627172576825319445583301218132846541177737192850963291278865704475326660848522e405"), mp_float("-2.8592564257359270278810717148693571348602947941023696553720097701977056619332286066793821965469072382849695665191817614381193831170472497762136292098223181574091641256257135371365612379518129251868791049653479447009162600912100150107148842447615564046888348556584835784886455110702805790250736624268281355560686589276667174827520397237497787894651807689858305401362872601295510675669139962189316467892e405")),
+ mp_complex(mp_float("5.532113852813902943234075277642352705609930846785429834202618316655056323172897014158766924646478994173402308594990978354269298743687147322855847028081713823504293157794205286848995910612717311806470456282774930327186662994840621316210306973750579979618160346883433862657172770328792050956739607748363649824062946567095126616526992750233643734145580504211078177211379075864667809584188074849390417363e432"), mp_float("6.62951825900330329111066258724975404885880678686757153969464191993852240844193413149113513946125314189164948372439696186153685036795993310302911403576070803701247187718711885291830849452140285391351805821385906147696241402467105611057065648938440803745604461111051894258067776034144527152706545183645888122120491014159619083983072965322365961285665065639870395721460663780488594787668736281678552778e430")),
+ mp_complex(mp_float("-1.4330312705186836643504718328945078301295854022306354165344574737547444709357234446030524620544518798764456318634679866058782048901457735666297221621784473599841444786489587303876085786431997723973832666879219244677409981782820231489896643606180230671639852254301723212439900825629850330058834566786309937688521084421212266229933672891550395080088605160776040042352387260487293705026097586882516315802e460"), mp_float("-3.761969324576549134206300711445278921107388874705442997458572119945399117110300181963403148209885058545137318074029012313658274705313912013902126347295056341319803592724945627067666211598721672769596815562694562765029057593224797716805539538506838454476522547659972459527537043981969133905887159603685377085894330689043876166580580278623629691139447717383578670662181098174274528782234872355125705343e460")),
+ mp_complex(mp_float("-1.211163478220948833634129372031962927368678318043594281619985681099352954757499568475251684326162928395649976110321160571304632534223424278126689214360830634852663105587245010806987686640612016661178846583962589997428719390138928959592011838352956639597617870890000284532632094868795618395502563104540423640384996903201838482896174599862635536542943966568613282304712570715174758504419958199669426393e489"), mp_float("-1.7938263941136071199255565945591078765609211534678445593461721137840071706058410764178056398714002831842204572033920027425620903733469193205817001395257643030224643027156741526914437990387409323826055464104229071729939951078784227420219248211317140189851200019101710074467793235816518168419350099063479126792583455855250815087999880556489640499872525909084006893255083779533777311478313384604012609351e489")),
+ mp_complex(mp_float("6.6981547670062215106154722855653294804841887620584091586215731200901243017536309597498861689848508325556250361163989169677060976913250664917295391734917663100685664278684665650674167312181394536723894297840580593254803393701958352462598561029629425553879809901409369239101300500194742250146277221346144305143671005263067229786073531038320846824550493289692229206060181572340151442200163943237398947626e518"), mp_float("-5.3919721389496443570049656220264509642435682637618193955029029380888395042743260562761498586148942007162368495676471214043965108951964286761503408127795372610611135097556001286182677824977869344577618142741913534108382153644115612622047469926093156240957360839858051988389244363591208664624812747127181738903519612438763691275971738172161676952286315545683841811794487735952749724437611505082940637252e518")),
+ mp_complex(mp_float("-2.0607079370079310742582755232513228928021625291467388850034585246390614359769422517513912787275712521431482679423397439481018829623606424089119917941944462369850128938237874379554356041266008401474631262208170668651598427959740653140620422889950408872313852333187215576426485094934390321588320081930405276767314403457720256380194039165909477117259068409625497673346145478417604404799219675606664547593e549"), mp_float("1.4577048532278847881334014274464883013510043844172755090088215732026676192785954196607320506646661905736630723593235054782826498249457452384015808314420719200381400671679710263446442663663049365146283482439415874858822029917081207008973444465690466457415007207943558184750841110006627415122642343636148569329794535009277348257691884794153899611275761493102047970136313608047637536616928974092600766228e549")),
+ mp_complex(mp_float("2.169992173541827565180852188253933198438600890291049753630954998084682230541965586300297561637354041513327868134472415765096028278035376892318291905799892204065798408227786980298885683484948683150184381632255215519398619288950134186343684448793433561746497029470678706484527075746719708895354740326868766893460379158846479562265776686551795337530740745654258157518721445168682527531013715427819553218e580"), mp_float("5.0266790832362996163734172487377946405865993071361682893268387250726873792217457412587874284662386233717630504814801597790015843699834758298895032873834815724078437081473311551986127834685927392595093881112056941806545510696319305170534030844274214394095562354699608412431331370305654951164917940700644617558241480655804828493589393913555926699943015723237989196508811729089670478901503871328839206587e580")),
+ mp_complex(mp_float("4.681438382236954627739770813650935500310870332350008416922297239682787604080595673177828281526945192726730965002703410858960140313129856570093645987462581809360791933475557549918768750161780504994115639929359702173439670331433231706591635398237813976939963558254771170068315104701527853619191238525633003752293785546006933387866667822451297682819710457483208642236094514402511384215380554111614424396e611"), mp_float("8.7625584765876157608518719982374837756036310093065669869879558723752961942199112821361357672577140944666353568863074979407712278416868039256744596622408226974711957803261905352937479911175692821630237685818953634139733058658748843233718218015401165976249177576259576254416957364212585197870717893397843238524268993846460969200666089105845487681478786732276647548262930723265260525615151774252094433347e612")),
+ mp_complex(mp_float("-9.3718783920656422273023345254604889533280804282668566517546510954770155758182641919326073152750398795737447456517649099030234390368955700451164846983563763976132030305128156039759883021893476770690562526568568511282079844784589163643004729674366761029314652270192423594975777706081506909279042263729310861852105980859638247352894376480166285114682222831289125040037798148393395017649362264212825153522e645"), mp_float("-4.4901628807010350128639121663836982174463133267495104641917614390752616308025390637760028235562547399202812634178101748468644641986922372071093429298637114209876016375492745806583826110076636266902991775817897346348195482821278023083343166382591333436569387340736824856786105243615106886147659009669027417206763106952945513403515580637889432506267616727584499769463098977699701829427115459115059736755e645")),
+ mp_complex(mp_float("4.1815762397159392864085295248783856410903438048480569222207678730124566548390647634807709366635915346117159491399004276256153429215087124052729158091007339481088427504401141773329216746623517672987350152135252585432678506740228079157707919668374900410305594589756204828789800820328916506720645770235285313465267765683537457490056545132606315798818334815300652139976176397622720566141173405664667541301e679"), mp_float("8.0751826843660307013836296256429628792829524373699264571687931656660822469055176388271592787214800793240947367068203140745829411008107993927471826325937680655216063137436047595449887577022224029030485413864314535225369441897852763544651380650193312334147451627940448866034652490478746119442043734371193053783869046599678921081807719264545586007033916135844262359097486210822467744792676159852672712297e679")),
+ mp_complex(mp_float("5.5916150357915938904793464378876482807801012747528086938374659102006549744198039782237429450137246961188035815989824472328851404604084199994574062792357420983409817188036627756823235047425666376667219485965591298050817692910622869861554819969594925741911196554450487790002583151147638834483805758586330693423717833349907203865065037518916917276089732711402076622678126734884631016689634257393532168508e714"), mp_float("1.8183015498171211643957148649014784760558423911782461520037982707536459639432931690872527645582234813114254169956492209270425960582039013709261487907388792567406703286633745465778975337664043718504099559663330569417698990219219400659717501228847805648364785687467906970550565902394765632311261759982349934838108351807681047305192673549591867380488400826627563986949978033641610883886585154487376438555e714")),
+ mp_complex(mp_float("8.788005749706022872771921751415725147464133564353584163371991754751913116008639308438635398092044858827369554167218344708119824400254201791806736310189684598895852189980521191268966879014835050225687459996424499639355993744511100257054837613205371845566083361546181060369493587700380925100779469592014676178631253660117897693231662988269264914227623721801274679082347306868566849815169928140742026066e749"), mp_float("2.6681918025474536158958864079065134673268023038165923745044949935178321519255499389746822445884664228320235592488098842001001834421370876131423051243009238132998862503647315004472372260522553100702760306009400489239041481767489449508762698769440722991254308937041274421309564510700640523436683025904802524151105341036241061571399009964953631316112602618189822901189229608924711592493241215457387406403e750")),
+ mp_complex(mp_float("-7.1466700625131816506517692988528890820010254842742263986192272152516221791117621719306423055140086081293607223351777838041447504967608717374568446606208777276924168167420853315637002730244817388580280093625425400662613357494246403983844938228009301840712088223211759961477359716567442625491601613654596656599372715322428125925740047614031769930613563516625885002951484306615576411001255504503345638531e786"), mp_float("-6.8756499336729843825608494454889528250435462931821960588436082943381411802466893359066258537869729288507682344575531552248527708115037338070627309934197288964778968829877865191154968686233254264863599539212529779351698025091937302691433750874002274919862288667551258699223631548001286201173662297383347758998622766401907643013775477545376465021008517202113269471284947883608556315537611192464077262603e786")),
+ mp_complex(mp_float("-1.0679053344678401443527217749357116094377358510393520816498416536445432434401057026918666827688353035017260367077995140968221122636023550656237805527543353541956811389231477974753746185602082696037279488072078205199793194251536909137705873170801736551243956732297691539288767241818758963952631706184014138380545157852966288279563332376618520978543512163893941425910345085337350661369498282924744613618e824"), mp_float("2.3561926620071720878517361792843405904303217981649808887962899666940079480180804377552923931501736155950443814069754120248572014883386684867062341429177646334278864245714689836463492201986190999050104647402238322890980847453155303248576495003157104765174159876949051769647063473336783862326581133205609952346464486225672605560005484506287965174812529708089384844229529136651752337030244979950741400829e824")),
+ mp_complex(mp_float("-1.1416990309137097287393149150088451472723197251982803501068912458190355296491777529902501327734153532355646150153520404151324993568065063260705257965305320776581722036850429184750835704192574678572272467653724162874718342418120192233815992345628351230850698742931909081520209044430383114514352579251819121971369806794512418243889627943762738196369131994373240920070099774022952189143659387317516483667e862"), mp_float("4.853655093255361778950732149861277628499859595921408179552613943482329302542148084139415271229329716519865519078261075377620277910932574111578645907596484429535116469843173203254044011199786894380176452370677922073432018090926044562949741280348916965724518799685209973752667329563123492260872061206355188343929153875322849602854111649214833625590209929419690027420523749589030630772746492539938175831e862")),
+ mp_complex(mp_float("-6.9832901358894160796669966605687869960531612484659478065842641950842148133466017914839915543795615408104773803885182375790530053684882963718101951372493140231730264042300054423171897662340071132828065887762643659784848773954807685472033604375776875399398076274483849194379881375606658856845313863852175712681920076214286348779288170622368792682123048421354004236827654540282607147129174336827270896119e901"), mp_float("-1.2889951350382483749656184932206455190037440224980773516679748248152736571957458361291945664962317569950425627923422908668182342013934098528757365663085958243863268561996862154322882360425975448719578257834588245971035969997060243981257370343758521789070513094990349561840581126225686219956196322726972646875959269167761125795314657000720029557114298272336051010793353215401605476948358211511068745112e901")),
+ mp_complex(mp_float("7.1818842358084001444657818662138577830817667085438169442023032203502403468650840891737051146444306855407166580420665001256836643559181089016521210748324069108257297578640874859848930100341411396929371458312659294339791436169887770429472137167794284199439223035013396015087539513120721797938890341619783260230130716375036493235410008646543581898826990285344272734833309351054446927924018102455567005148e941"), mp_float("2.0655724876396686252918572290066782649711237082763884192482896136814083341886417340700637929454576617994832035718522916052746929710753232870180137773351733967224201418362490891593087149963709323080086463661398342164240502764393088005904862326444016437320561825941960132347346658861111892947585152231390505469110256886316903642502497934773928720231073576859577161160654639322941353322979125468807005342e941")),
+ mp_complex(mp_float("2.9054271535403832063542907541400346266903859317439753669764587012277922043865122947642553106706998941355767465919668678199184457802470154660849719784171466722870042576515046411204990443107220054104972353060555395394711880789385037140824963072027938443572210962772274930794949363065676001919425361717907452534628170564825904327177767862103481522059689111052772359741272340497364942752255977473168385103e982"), mp_float("-5.032443552356623845993602575355762902359235660076476009907087153942727932759095792503703732144994504025024502792368439038623805252107543461198368039405829430553924880024149552183993973382326037570335570498885760771494355151531762922668849890098774003103232296325981040546500685047406401601992732597068034502484891685518597548158840154857750232048262718981216708069406942557564537389936330178244515929e982")),
+ mp_complex(mp_float("2.6424031439367317698066495964099156317798960548376468801282108458378709842893898263247332073894871276336700524788059400827932032784016089050256804024604036608757308502459663974752886333667639695210645667863450212472440240800941717974507932268290740810040316737142586496325558055891754130937246988435065195965886371732570604479645821137095697829834129467967089666591384958490533368880248382652293276866e1024"), mp_float("-2.0408383092491575085051945797641679916304876211789313590001335120698523522760008982275833512721770624838296882854924578809145252201071026207866638787775458211571427886016410800893534683187576009920513275359728115124723080290058706886397545581128295958842790005697955745439030461056221582860200887697683945281611926583503126022948015769804087602467318007542627840710391377091622783279682794720950045288e1024")),
+ mp_complex(mp_float("1.726010778119196269388355436967696440005858454546977968134071410145937183664639286714327101077401225753030125714952814171036669916719246652201770268031561097627111721833225925806320837982754275088917873910216099112036115199826364513684932187991557448047637321539076677144565218937479333862712039154306720397778132174876748277060448579375596970489915763662203719793219656764814379655590549284967758963e1066"), mp_float("1.406919464600290559603459339266548495361909160564541299110569851509649490180496930211802346674258115157867880907985348935987210377433048096904320949104698166307045107179394801248371421876529948796696039602694044973198249201032906853768310667908885986685522484240737987882648808255424155638875924615811072038136812172779161329449804389899275579391867573807005330095750667035128649507028706788121137378e1067")),
+ mp_complex(mp_float("2.3601935273260723848272417586005194996895987794278395776068126675024456838044991111253098638357198934590747619560477319643264467064278005340532215811320634917647126737993526686707580001179676396134162894234932686174867945816532567238943310225691860642635162389171146644069114441966435572610880227332576828947278331891079531431772082285133356693978052793002701845684837723094469297579406983320344773913e1110"), mp_float("-3.7685416503387672374061390127323897767663405123873886077645048620076985197130646539871863173581309561509053308301859546885533125223650069432800564917294027877443362837655940726361481944021901432957290144236239677265038183962925593641042567424849331746968489117070580728503099216190466495208847480038697867387389391106594437055061505537480837924061249067823931016159629927602818506925730561318596123198e1110")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02122_z_cosh(const bool b_write_output)
+ {
+ return TestCase_case_02122_z_cosh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02123_z_tanh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02123_z_tanh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02123_z_tanh : public TestCaseImag
+ {
+ public:
+ TestCase_case_02123_z_tanh() { }
+ virtual ~TestCase_case_02123_z_tanh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02123_z_tanh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = (boost::multiprecision::euler_gamma() + k) / static_cast<boost::int32_t>(10);
+ const mp_float y = (boost::multiprecision::catalan() + static_cast<boost::int32_t>(2 * k)) / static_cast<boost::int32_t>(10);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::tanh(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("0.058142377244072242428117985812375778101355939679496968378840280171349668377979923625574072781899292802213532776974182940914534403981479875175816895217329551548825839529098659044653110684289076348266503382410484276537479618586416545076669913079942908425880629407192178862864601399724040711505045317768860934691538979286744700739832667970785834741197769939999896240605178129947561244317426208769132895137"), mp_float("0.091545659846557717921580418302848367032685442387743414664382583765711774868104995042123158017042986738982215752236762022375120925484478858536881452902890268257289045940494174183342167098757822539272083529378953817239828130634831000797175695097706376623744457814180334026539158436431383208873850613427147677646044080077295308343962842237603423136202112052981531319664608332710663513572492803473225073178")),
+ mp_complex(mp_float("0.17014423801223794105219470068712357164199185474227129306516123944199594140505338086403088097158182765577966599953375913273270470683800656265203765147832607802769502749823091562659572724552368826929730657944665894388733380919105902070079634814505930635706507438008863303548999831364845628182544420658252170772045772968561005525950082367115148790081718853416690942000282714476384804525302688080977687223"), mp_float("0.29216376903400911254933905721001365533525924871517668559226327356185468763393682080908092839566257330399395340803942328487351675497464199009656743905391390010618630457221945621378716582259850907978592428766165299697844339533437447136601602342467926315894976994486893844547104785325416590620949833827129153039470551533715949230639872455088455024205498923387684328924565635933493577076026219304599087329")),
+ mp_complex(mp_float("0.31864861225875469090645054530886348428709371777320985943229726457563092832910172858780457663340640237190136400618097153370983546959487511306334116616580918364250341039813140953935461945425302617381029554160546204020336990109647324862034809934986735451455440452932594062256610005946430508517884788026192365025027841088490908454063100825540883803818861729119558315088331359357083556075815733937383194815"), mp_float("0.4924172435069304713190957747703173871598509350352821192585065122886428145776924353515653957574078208182384528731167833852603894234273866755965348750598170184656246482314285580108953932973530442270841663929385252841659280679321028838884337935720008272069298266028909549331558955021276042819565572319325260330239343752771516550388501116970119095797950199860096763283553726781236555156472753335031194902")),
+ mp_complex(mp_float("0.53528581397373305608446111520851424673047855821786245213663130899207029103193561847136587147416645649724368557338338129060636270635403000230941036912690716919346006492807903158391395838964745014737246750662097899409231183001752041852436389692065308620123827450356467356089602303660951672905958770183164768077114453382912996911311433260985770108752817541565324678130728175505746982918201537021213083289"), mp_float("0.67590497256130587439199597046313502719734160282320896697066008257709862072972997708892249938397165892076636364440032751982964834395362086856455222474958915573784211803028545577140374808599386705295906693547939448562214278815636992562134398114062799459199997162759200298092445351704840149838449071062462116211412820865794360654768592644169558705393399499011572564125238832544377778490513877458700163729")),
+ mp_complex(mp_float("0.84693962688545644279745801873920129999202515439321905677409372193483592892191352365394520960004425800556105937638420086114521746500713975932265722466588421871730599383817280262201437875893919148858130833325443065783769909248443357009186315873747561798605072151973950416547560324327946641780386203627370975771231845199080839518455806731393029637440788533231520166597223587921697839694343079152163055543"), mp_float("0.78940713975650310043694258135485426556463813172324532160403730248256191230969248142985899087379555876632019528958219288171107933012428652013083835761230551706346574994132843098687443305462453299629452941048682822064045964229329023824809185759207868578604795486912176129617692724012549782227804965993158955110336788032885359902499510150852986770070754802579021986855281703905774665687411033379291321759")),
+ mp_complex(mp_float("1.2216752847326960327756800086779976620675551566842307637989227145661857685280186746216411603937397103185742633699440466484013471744722247259801351336384524690076974011211543717019371211363480558167993732972393625807886526504602239646997809316035985532883262398179517219362365703549814053249493070338919373714917571887397077125102185103628400482251533334299845382865930880378449014578875439325910275255"), mp_float("0.7341964232227217355633529666214029865585772241370430188315376173598662142824837792684244765912579183018933623973620798771988117883402589264461341075774886560098047190781093672880935919376898764664677631988230425936280629694271750245793027959713613331666520401714407101922398435592590512861225982255211078086803659901610783315226379725907166774233095558550952625705548558293235215410593191322301936021")),
+ mp_complex(mp_float("1.5044476350257182698998484132553608906316819738946567556506092863755187280365463971382825135644191549598217255961041729451637906159279960432719184587891120616334402378364927240670092889106067375698656769949968733738790684799792538594626335105753124905012150105131242387659577743048185150633159520907856345383373288837409530759162676208155291476645987109052522917085360355954079664838453602489049947516"), mp_float("0.4610121667530139735477661284192303836045834220411199454223471068096622904406361417079045751672116202351636257147387626586200816125897350795763260534083212292669414666999133291284831346921038491793989320034173025494052792093757368348735823469460940679848970623932993771489390947747365461179597974261550720327418752820006483691791999036900218073584195438457802522374766544704886278197776088000730439229")),
+ mp_complex(mp_float("1.5491552410037133170164693788639083632479538258573742711467801539829116986794807352069613632751000299381200259567488363340897840052026012260364455902112351053340906165038102177574250197320780776551980561953888850908911866776924894304366739377637466174552605976164346884510432308804065616349943161610047568544336068504046158035211640503572519608142845951286462575932678300377110629254332083437294695844"), mp_float("0.1128236529415363406887308982725678920019889928454583070303086274455870754911324825310297559743690386517492260878885242592785625548424369662105230206913761829537286571702373031513535459185080846537341643996609372209134036538063484269898338274925680087618018166083327553679667985585398561765257331050900431890070109088955792008776783337415449320438317806152138538397023386194720603949694694820746463189")),
+ mp_complex(mp_float("1.4166707558356149509669654626374378968291318709857244179997519667417242194936670325316897785844233322404507402255154817465594379515510585962269132178402714975622105947811894434212052415812457878380763392214169397298672061329666533345016015335550078977581512290449259487121636919189061459113213380923956317054041211280178949609813061833496886414605700519167438444800700515792599620456077232403664561666"), mp_float("-0.1260205400697666853624530354597477093371240796328101197156145120731131093281700941905287408757824012490530432427099798084383059407698239249246531466494414357482649713797667942847099570911770577991372090460448590460325658995328931339549608208321361284115013989627230316055974266602639982267937665883169473455060774575848042414326803335221452173412323242734819775684239423557490061203065009056714403934")),
+ mp_complex(mp_float("1.24512429098564898238022649603531211226549618786849953552248493965703561494857357486240194289847743668647266975363753860419717497979288108661530244850702787414460956978041827220655846282087547072445114925459701453892823501364716474298273910113191790763572250519388680520908023059028505227574240863478137056404538370196612679528463035609639618319299830716629488944446333019517990204916421848650356910895"), mp_float("-0.22436157410446805416488087300048112316654250600003679880929951439238873812612917237029504086287705113654483587461677622693614289931771067914562236563629017576380283755213458285846553070266930270847092038645713978434609806583041177052023245280773935936434391713908237735403735292946626552430692847981896117302886275409197209813896073381166785692376358493317987308706779430588002987071845126377953638931")),
+ mp_complex(mp_float("1.10379555819235596771828012456552803251591578005600684892907985596185439488459068676820493682394833555589185806757581530529059854621397117955523636008492702960845015428694080644647318332178478047599545046474087980415893896855476626954976622415999339117538119263662050891921286690715788260540320708505608562382310559257466849488334476332162113584901220607004533862395632293060945354968801069962875757773"), mp_float("-0.23316978107830565189312990747426607293255032367942560134007029297059642215025708342089046966409300154790948185133507573103420004862354387734524893539054390243238938700788795255195790183477979232363868246053682471023499563002159346464007171179404212855066349620513196315499265230004468321501723972146093373915634043345616881221842543322060583278251495931470011527437063790823950255955652832104127683087")),
+ mp_complex(mp_float("1.00604070865672042371736143764921310289161616093830914335783594717287517518048275125919845345577019173508993430483477656431177132438414293761910562241799418394127847086345717907083476137035518222557582096819264260950944587139034080290331956930600874749030982005616075802377434910286558920408402761345652413611973552719587455822352812947641550728073802199359038853492603002055589060183851304071473923068"), mp_float("-0.19892078469151835307877893633795955446358298800065666125233273433399326629549515169552935515132700988540173313367249765745937309303547292851392377850824349509051210548027702980439164281730516027039011200508279608004771524474207231163697590034891842524853586581892889309866341296429362198882989517506368508020278338750174316405780438707668203861878679658869581444577129193886553905620536445636949941685")),
+ mp_complex(mp_float("0.94636043666597229198100828747451792318696724969272693264425194502736395124078632734118291769023110173324956265902569578142384205309130684689007657696833087662890624063252634941155310243974460778465753283152073850704859513468839442823175371393214380931566415205712616158954712782798482384042864036835220122148662873921063049250397826097959634465003133262721774156566391920964859737531567887086168841391"), mp_float("-0.14837716362056166590568079325958689086434998472678233119079104819116279274550352271961410649765580736548527395022648342301909693040123750920926881493088976919097035119428063302903904184432334456272500866004927929123299561296923750821471409187859036573662887242871732302974620552339203407293856070115779406866527556073343151844670466913658570049988909936336474440918107484589528297041605449300042635896")),
+ mp_complex(mp_float("0.91622876281955608472586811155849682747930469946740153323318747636006613133290509952051226295189618718765348357340112172481547939677774921876352308781140082552611074385402642091263945349074787433288895820415794334611068409359317235786248530767016707180271213950130128323542916589608426764381285308683952554003437320938140032985051071198884032162443798739661067511637233928198016855777347648530155199527"), mp_float("-0.09540658410972088381815425403714825751081345341544171041537058469803901709294546689802865779583456794781878982341748030549724798664002357128857923326441314709690534092809286962543551756681798300726106166614092699857080775181933849346239832014630869047767175197721294545366716454717049886914067927697288202077258490164289674273286903764680421280375782768128596703895749128709603626003617941768819042964")),
+ mp_complex(mp_float("0.90804790345410960831786306587520857973287307253100634492357348604799553619986810956825649241547784668663750578455651116435844032346868744977796775380875669627541653208309552905879624589651019495185036936594448189344231454456231991486182486023488016507843917550455803350740209287451515339230799903968894343556751413040999923936219817043696796299809773177923555960807006500856171721648826251327819975618"), mp_float("-0.04731181190205179325023340304897523603732789971007259092001760040038702659504813592765672364271105664005641296389409210520471660773568985082668442875438844783965605140338030813692820396034818299445746058104936138139351295635773805326721719291911134785526270139163587582036381554769136337847105811521140315187665622147820678362225986867639430661960271879332356772832521765630071579260839873782437658169")),
+ mp_complex(mp_float("0.91542250670568665777346104401061077491293128713826321959338817622129520204821167190028953514032538149627837874759442533071101520589365475521926015315936371969004566946868289779493097911384669999117434286374430641201249504829785066452538578782177138587417190247268214039463075413949714794808374364926830215598842412870148332625392608497281226184309310904770999679239137915547827750055443653571287832788"), mp_float("-0.0081232411692459207075483091123492640641417463645246964870479799893970530442036472922045998117371735361594976505383829060283009388048554948017411651890206230511126050375289308257142763677717434063306736414724254143652264953856118221627487673768920633342365720897000767520860869255963090187889873705997593337929901951426973197741552609741249758901234639405672099659919488195217930058324083776831080471")),
+ mp_complex(mp_float("0.93272733938533834153581915246288127002055652991387711886232933356448023925063952700571642477379278875665672674119341483945107023498424047365971427999403680231776325414928313319160482308788062284315505874855474853265335098669774364924075219989368095942531627409580076747797878249559611705314942622808378263294475782079975129700818147219884403274393970497581274732673939192839753302251531134848271496039"), mp_float("0.0200482931126770406531768041573127243651540759947470262316154271789421061680756892224766408617444319532942266725878604169561281366177285859632775677600734004585548792031781979147318825741880949054710089032711017660263196220722801555279578211873080259643906792695886041832865911904646800206869494744360499450494935630565419985519983682505613580875871097296877844485476361121319642566284486456717771325")),
+ mp_complex(mp_float("0.95484135044994593702890072006616431884638373455781383175792304287522188824936591601276707030472000042695566334788980997381943363725035880672964365672789466844107615422380602230185313169271535877600626098668505150705732205711404382817733658873358714106281912432060349775338644453222664893306526923878532683307592531363038681777885918495309429440616069706495727216574238312389543743517007085391475667817"), mp_float("0.03661377281074277632455254998939087305502272304688691480105654764053179643954245288380462398455831558454327216386335857398853411886834965380172892742454364032893007596365049682434453646297590877946860164788938901389754005731575901405359686537029011719136220666486154059561975928019482812799289846134332277297674847986786319759086985168277037243142909342109767035116918772259121057464161956048226721246")),
+ mp_complex(mp_float("0.9772457484019186255345173466736304528006803812625155459417460728370655776238812394386642140660392995275353013120998249715609294700834647470658616192917380423408826373389232981848850757757676986735889763993593205402005427962453324564810966248309101379794945206463881329104636286760059861401205203598298826223989513020075562658666681627426370485009560965899625054880149462504657398344588782255793693174"), mp_float("0.04243022083899317131254374315325445417971581748964870075809906376634521504279844868536887021054245118128606016740111368464413234953873360716356634814351798074993569756526975283319475885964686892947982597359530111790818493300097774985226325454377124870240313633388714014262628699667346479032405155356802526259526002759994573396806404309704829308739418834627036917221302877275628641508926762416036049176")),
+ mp_complex(mp_float("0.99639752516906725170745935816663043639581500414453076776786056857445122987395800550411667214416478297513371471708334677273790702163679210799380963528132605510749940865188947132701576300114646686766917963704878167136191766464308248061545667340493988324423166427840116874788849202735557885355553267436396421959960187602956013351813888164624144179010504779160969680289629858949123435790926897939806840485"), mp_float("0.03963609119873208246151920530479598149975754677842090317567830427178956670989968625788806515713631949404834296713119101736124493844427294807834023377982351729049352956732734506980421548100888317593792741044444332349153478226937008466183534754858608889935381383168066713060382471337381813026373572816680172053300027787966742988373454978307083524813231630549636196168449822103471895778631980198511222545")),
+ mp_complex(mp_float("1.01012309539962068212229096845344983411788735178574314522980059628400504732715689421431821747624587519355698506802707745362615135655939449133814715619737245253076710928623595636743887324494694083118692389638621499259033960198612196022031965154120071072593033798640502960037155211035457913791484254463380098361912194206064135829399210266873829303504240367586177126000737742771707525689510873040641685545"), mp_float("0.03120566505854685570754106019520578666715090618271626315670504723700421769201277273422454643090036529175527936916182246561944931881223536254943052873716323544858310991206662171369961562150533721216328857320141699446131358101730041891314280907500616680463139138145675614698579231478319218886024028288127180470062763516382411013303635491797762114571253713654657473789307071441274108820159540319568827184")),
+ mp_complex(mp_float("1.01775989955995787147828810061789164516637679775109793711258915709736140462902119420945702019332223550464148131914066976619935473918582354214946302737761415821215855374597158495339106874168799555049793715713877386114177375158024267079658427513739874874684326568342677593819925962744820099613010148675692107549971893283979912054530600943849062078902774957398663131403234710098673793746516278688572461741"), mp_float("0.02028354547580809947022065033905512022730323837722843066839708867789397383890611060919671414110768586821481419393343540567164940783524190248564088492257370939124309061437380838588460357835312585006179899137214647957788582682385928733017606379900038920461169934168864643603987373126886176680955424961129032230152710632568321917470871697847708539564275831341590960996777938113690868616773182534095842164")),
+ mp_complex(mp_float("1.01993144836141580791131564392114944850019958483601674162856503678755851915783878908796872426885778060558081635034310003434951053813089496562424456733220999460984206789033029259654691868611465115021830256082964611751456876068295742800740848014654389605756732519710436003685228070247122644778109714829515860423810399121828119266454923388492697093054295316135625238134111573796897998480129122136484429156"), mp_float("0.0095373519243060499806569803845820618731856273990032737952885383066178427558712680738109133024504140785683044782664539904972183479077172020934852400914951056131885918574320623753336259381114454718186831145683911800058665894710771953725806857935206198987067028603768917113067692340454932994350874986956804472236531264080589204929035423623728511664196295235386979991175328630156539949101373308434489094")),
+ mp_complex(mp_float("1.01805760785483946453624723625114060246893142108097966740669884737802867130945496648395113113245835617643107610071751592250918415918891549566971707444185922379740376941257052965752193344762027802640615036761047702701331013535294113087383270286253667325695082266278125851854410224096680530359931987166301376992554351484512270729360193367789623903893736081429592000746811412221407603307572870575691289022"), mp_float("0.00075815172823458468838859091652096405686826970617908528752091895806711346532993228831597577349093872211578157029419308736638894156642074545344433288512931506797995392179511873757853403039776417492806762432477520118317591419260445251782734427569836225730847686697749627526512238242729405955608061442113079882142598579468852429117496996859463672410395546115186863169641247907601223565150358582803569892")),
+ mp_complex(mp_float("1.01381447888171935635253193071518861082075277468638847618901541904230041104152670279550277073267924938329898930044738793629694972423942837495101402014870908255003124501167849720934936621066754218898051335828451848435781820086027449190461200583123049387613405683785923745275701959702128282388927662990816623617506192440344518575636940558804472079691928255417541815114145801568945286038986294301737607697"), mp_float("-0.00521566733341257545441137406865667947989370152835146566223544918398993283875646525842548064665940665196384735701043233124822815364588213085382601617776386032458450361258540746092516205337939422953178287493158059964658067073483287836809512540794421684412951931805798074376753122449804037487886799339831641410014950484699742659849660882929746887947614772976271118229506603227446558855282011022216186931")),
+ mp_complex(mp_float("1.00871954407874837944993664126695847888790099209337246903922770534580769591271458272176656584086010486106813620231541039429883278962449300471375804071691850170448960266426830623985488638797682597338637625571699935515707130813695989358850618258391114159562754959564112033126905096978246211206935823318219038055064260149140357733458326087433084404777608026785292201259432515071538055437673294269146468255"), mp_float("-0.0083301292876266162325659619997320648429317338929010921999563551619488251709424323948378312468924409691921883813868067576706839770347145667062555808459940215466565893279200619755153799597791969019278351681345773169336481723202939141113490890190159464699932133934002553733527845777258710322232367930695888062024819204202758660844690679142940667520339126078079574997846161207371828222379281415709202753")),
+ mp_complex(mp_float("1.0039068475049571404179177479152656977356846628497007899918217186172820445566419506302901255581205326242767528680027082937495431829356445969793178674937848326733941879655955044420964627644029934603980248390760242704187390199084208176923654921274350490560985165354482175599204183083998652127431635058074349742405331292454258967399470039342524851759615057388559601893077110321017461827743602997910316928"), mp_float("-0.00904152957589874903825979544649786727095975588652811272732804217198404758419315898416166506696372339175763667566498526211868077901564894770372022791354817091050285915251432745607147646679148503349669988489277631176890625715233483580928617978916952682051351421634421226935711802772832129827369567172900950707837141607516670159565889596142066634798127246448263259174758943286093209679365127794210287772")),
+ mp_complex(mp_float("1.00006726280663693165746677103736725934222982137960949564010584794165865159036175840535344512864038891863818034588509384456295076105277456993033652909825562521919616461629388130753588715724647405701053613336112584454866258978786743038374342998136619817077854947878000362892457450636849494980587303438309241468272944361361706484073759494328329960324456565315409017566901918720868354987232526145113589212"), mp_float("-0.00804834220006513092293199696166530118395386838836430597448270144743910240015584073976212579948478206949473290242499673647464350062957892192582848986435569401962654056133102527736079479461362037058601703189819315680337560661005175678930304023120649850799155430575207565596981195987360806256644675409117757966105921191272987168772169193327235318435525235941689207387793776376281968344643843818006395928")),
+ mp_complex(mp_float("0.99749387242165060497625153851001744495065004679742215497135897947877395466594070072936912088911097873909948359835464950217567800693668644052830374376877031105710570704342780764438356533126096923801492287430933148998403458114525231170531350646910628433334951648877541771429594701617429997321836556132672786726985691684474303810047960481892003650971427708841302291745035468372443390137316146244313516057"), mp_float("-0.00608530304840063370177943285944947211401220366176403969292790769940295512412714227225465885376589750415669789919380013756510705513640019303308975629407588250781352299429097991836406491851499066396807355681727439206963353838700076326676556694645388837764385856348585959216343812826638691866870084248683294302992479427428246736890387016739221864532362240583580933049505435151708828018548958903691950495")),
+ mp_complex(mp_float("0.99617683967599536124243361988729491960583831265784795475487596168635945554788254625490459334528653229082046885127350790444718153184526103099228133272693335255893381521995677827003039641321710905267747145677680112070302621259080181382218405946920206010211797997925181029613728459217869338806807129781576788682744194593091747727550322509384391396530459319231336406937229219504071915946685445859057926358"), mp_float("-0.0037917851300950244418548684299441149444592983847660448675083732244045541670662978857183779908645639398500840269373570652885140727366054214510453106992470038112836755691057713520796386825494086785094679632689464651219092106418177122779417455029514691946922559422564120676605440701404368481443621021627446086205479184384427663674809305592472687741731730584997301357778101893279072844086039452737422728")),
+ mp_complex(mp_float("0.995910339688510660219417474366131632605124494394474871524885183712928591203328469849653499603834221048344836244109693737376257665381376085172988844225165156510472162764658321020574879735521569825486007345242115930273884491501643596178680991010871318139042049690822066559351561951966329623075066477140982025122901720850241038012483411365112694628828643637918214783042278017452486997302197869120283823"), mp_float("-0.00164463334764873192700735918372336251235181853734586665814256617515191079931936666606548051330201838407300166364254419474120043628361469334872105784004589122350546376566545347658868166608928242125219643927326787837597226095557165020621825091437289427850773287603044631589676467227654753639551676388857060136157042091421138746114057897508357066038649860579026457273878425945682211704379296815798502424")),
+ mp_complex(mp_float("0.99639070646953275089977970550990839348153475699582584450820993269897012074432419828658380000845700065470803896854264098745917170350733971596520679291839924760199232171272624927324851135813351331545426534956341732644181613829410227807580874786581552736979880715338773835579237552663340387966153510136026435403369434469812467147835055940532588360333179379412684393074749664745436041784913339963457252754"), mp_float("0.00006061347019946855891065961529712752881379444825663773645280396863163980830571597625989940298852941538950266969130304170940949038622771708324299322992922300458822525900606518033694512698191576768889870203471238130302594329201113001348143727751902546505501071273827401934101389857384055947243426718383438666795733951633562556869399100196209431052135738448363673982125831597829650007158557017773304008")),
+ mp_complex(mp_float("0.99729564845324464973697810977901735416143122326850018679321818222925164065605605993788735013186547445554643769132809407458463346450020177968542172754340672455547500202297136667259633435248447229353813083915820031600855382482849688512616106167432246247489233694061375554843251980331128876816113615570970785904215095533611812198401290216475130171103166318328611500202760821395391670486913235463413874282"), mp_float("0.00119546149523698579923031081559449134014998982008984959277228557993752867202604943264206764554423144036676894769565575351602004857510416272800442415475606306861087317841647741607624642661354776336048517808302374331064277212509858885972916437747755455548100182619791816727352109024939717592213845103088097671971717839533338735258865499190108879328252940903530031875488217885391307960937335713558747146")),
+ mp_complex(mp_float("0.99834042408479629611913726655208548674552257092539196789145760809833107496393462034130044537708609185817556615401115340609153580373354629708510284195454339653752930983189203749731169278335475281971111511800245552846718311180859641461227792676223244481697817031168920337758482434325863801490470394452276688909570890475962289161765324218538605366179772459517413739925054419229216577232979355385292417149"), mp_float("0.00176417500141759425041680580659680059523715548574238785369132933219248836765619427381994792733496447689153900699520061778695564901449697279643429132812648492807991502698344584908463672710764657552249013854183229762459259809841260327435963855638225788989572515216716502464410903694556215083403560274482238437657803338638189619962174484586696713981675302588324708616706777450637617794993279153974171097")),
+ mp_complex(mp_float("0.99931055872941668326937583351044817623279993610718190552490322611906162149144321618370018500791907482196706473248353281002442684397447041458575061243487821113900410635104046519303114935879685337246983542642370084142922100628442409608365518517898739620990276731888579476476506961086208991479450554789466179983399407284059136590821676522041051309391084422984735833119450246835116237187465207906510305166"), mp_float("0.00186035655253380884360711978386370325287160070308503594376162624935248773420198849691062561008575530192640885630062666338528334875743140530530318950259222655366372751499896519061066746372783913466698863149988585703844133046249313421261345487217018397849287173987617583962643139331576051928743346272681500743593058399730198268345396839375469180993018880032293362506995990673848873540177943784797611571")),
+ mp_complex(mp_float("1.00007344776759328954740582531641355019505179487619786317399594168680303414955326172172688148179534990235747010350407243967296343329839540396162052370290792267356132375256317303400370143491131639113361504948039918060005207991503744103468530582051491460559734976711671818733769450461409317511512302737182680774549398157695066855707887000680199875717467896874418744201954683800493602049136491841191603466"), mp_float("0.00162332067884917592309261793467487781105186152388802619124805807689470133678476633330277736274084681016095761446123302776275402395572313959414852289284910461641857745993976918220900704403712391930761202630952783137134844710918980109383139940503934197590370776708572881064816113089696370276964700143996952000396443688295671523373534079295649998073967360681573331878123985496045259022439379904839655489")),
+ mp_complex(mp_float("1.00057334531124507523007631024662197035876690844287373727943778843976822088221888511218327664502474859457101822112258314580312495529536022366866093131335650081138706391375521401646060118744148494692718314814438041499215176143381006688949467507048725372876032440930396435204597388991673591891047791402626257114222182793379918649693622639016393746083945073638543411589438016220793220696650530395314710848"), mp_float("0.00120090920510774762487551440680948276557698431336011845653245561229858469410513167079479052620895866358437187495347583777462467491955904764110714206505537161102163962425825604722192544179358352904093833351832721571121440135372863697462688660303702724839346325354197749523952326507778595027541721981202724014421430761378736241140080127323503164144345703022324320827249234808268393131779439886567105776")),
+ mp_complex(mp_float("1.00081551605668536236319097301144047781037329909587919945738427737927207046997896216187486479555357571446869280411248189966667296440999194539945346425228733414755330909575557125421744161542690433189172546635344633912286394140790441861914152450004131213767937873298801751095225400336833393473106119666274927534448936482141396296086006051015253077902588810340470936724597382402725249979348017791760067601"), mp_float("0.00072270026472798008065064961958205374849248451563109229519624306952948655740918850450367603531916777751673968291693930672902831897873540996713255237506047615981206097625404281095771944112640235470271011157891581411181290654478220236656612391891298475859872291412253667238220960176532828385413874866213206548125764355727308966953122627098295422245498227342498465928807875168079297087669258785986800332")),
+ mp_complex(mp_float("1.00084547404444305088782396368527296453814778311879125123669621013791523748299394013467950263068598011670303945839926483302748610754061872676477520817948224792144492323308566900759332795146224253621267045072139890565656726929733415569965384056365398808830355288111092408947109455788018939237303944882540032665004847001523149842066449211125185049291198702628170483363337383372048701960713564945643729694"), mp_float("0.0002847981952129662482141638079741813393933147043139383323345306667365068042855757464936636051184631619234649469379980801012674918702011244102059720831892227122035744982751334117933178771782607031440816110557662403621713265162330951488587241310847796806640647949412870794157972488710021655968171914611277315975963951833340870670396723758777778737606269195603759442979873351145862441045560251204269388")),
+ mp_complex(mp_float("1.00072832268116083320872473501981797407326069964308894510458578962459550653997525863948891545741475363478750493093920268241846062532916511516457018669561514368021833344504491969990052980781758280383810106047337381685902557659553417501828421922381769836353105175840875702244240572979712502249849764325245991496377298193951919903920714321930370978424008961403210007129432859325265968336588737896795298411"), mp_float("-0.00005491531052079984804553004357176204984927016584242776940025792887391041985740076256754549418517017726514206109956777720512206147024189128781466507278315098866274965988734919972636772374133842864851450547382855556196926355297607007935693297051641157221114023776818792140273051575286600916860303170045695261050005320583667153960627607196715763900751251681102029597079686933354114825530124452212804283")),
+ mp_complex(mp_float("1.00053163806736725024935902617066991098432528394382179433892254505468087097291976464176810681993709523685956536168188020523809100602147458478563845861240940533118917292744422033067292160343027987650344999300489201864450338583839205373927374708957483520620790160695168212718692517798930591488014669499195831992883347095073509102542111554689716132371937206122313499595451003510002951419977404570916488235"), mp_float("-0.00027365315092788024605967171544105689670538962419622962963520171100709140829559415339515353545495835324303736445963679232756000061932350002795083172129975906611308106730323342905877035112060795204998933868396600323894533885463153597081654488308213128293129488187668796708354678378413639199868295861877388569798029967162542175889314439152376623660199010130872982804275722478130277632418541961294989025")),
+ mp_complex(mp_float("1.00031360689240236037597928897970328211191453156269752962129378960688311519957320309613322729150585144375483882918204774243748100872585289573329621857192589099303650578901814136588066976613273987296952844032050853341076229357805538893579546738717631754801038701392905366099005618136080001252119980437573063135502939362194904569694614031595035684266441561596194575656187256949844928165068547896439934244"), mp_float("-0.00037583868139350168823908364118386179302323240227444099993752129577098850602595606463311135762811289636559342051908420691254218926968513626779168673688120016350092069467661005045135216762555740777362296808387835310273587405577042496561670023516807065045749646237373126801894303727459666608626462198426703620826635506880536880634765827393225920024757586115319730016051701730642880591191320935933114627")),
+ mp_complex(mp_float("1.0001166501359734034366122727173743642060540431350444544470639683594966508744925101126709732488609477808602085459426534577954292756253817554272163839484803426306490670610597799150090359341195065146998269111309846434663784707420323092768018585494260670555254137818644441268077793940348645639932431934826939386516527750620705071517446915809889172683679624636804419467720093834413785831374134675359442228"), mp_float("-0.0003833699017854231793162995512199528397720543551561205130949617126381131988290065624693787070553115836007527866873676062315167252756875487301021507674219625714008750170367192208883289558268902316504937660327036100016765102310250887001954713254001652876429132292089417212571103366740248759686422333531821251689306920875557154768920853214567621494085525037821119341165174636673750276192893591345208951")),
+ mp_complex(mp_float("0.99996574852039885256022352563879509153387745633485373653193784477187930647609199142895895060447771710278439023424593819737316122329837321406033160279150551339325143616410914962926345400544380734948827280771678417802549164652233653569079182681540148149123164766267169915228659499970693532026383008727020304187925323492667443360147158980677792208692056698322048657873783746008921803854803572278344646283"), mp_float("-0.00032626738957324856737645513241975931394081053588824075889617724639255782724554781270913280577701167828256243327123346328483575861321968568351122595931959435760021762205052475350569577734475820950093612693751007136298270417065583000990952030932495440531569282943123551779568464171657066765607271080594106385813080966207353946214452712867249077782575671251285555654826899525693029300817651449119464486")),
+ mp_complex(mp_float("0.99987016441631366592245077939564631386056633268285665134607048354874427091355076569713426126156968172607788782996765960710107103497743327147708725599081294921925781996622168245404704318211035046754958656061176207366528222044720934664362927769810191321433899549969745148339139766679428301751088360802552510084396663740679366351585250311459799500141481853203808441813206446060880047338196208247977202023"), mp_float("-0.00023511287358744586745557725826542744631729617155319832394545153149495357953490003014981540058194663228856319397738063340036856833681304456672572644384426799825392908221680892917960631112804659425817763029807688865838214182574029987044507076372508992746084965628099371040021016037423190720362768743121512167995474240764120583015215840504118782368616893691086678120286843267605071495821253744547072161")),
+ mp_complex(mp_float("0.99982714057378786936174168425988847283006021160132206580866725716120523500577304354543597925091603432794096960287229444670750421517405705940728980456663715669029778311724175933477553188443048376056106445838185470112580056360343846822558700661064699557931912512637060665960690543209124091550025987649440162559936978854692538645205490222720325706930947095740001509610573179353434977012808761550985588914"), mp_float("-0.00013590917443757367483800863766246783937595401405154823196162541708458068189662993794614311256545035330939838082788782157198381249150612615451224868040090287213542420306567086795923620611837629026730757692932386865644012144823551629161885765757287294087245711494405506740693447184034295341906948279680379997879799071708054634348308079081662947581518951908044027675510300578194284204225190180207490167")),
+ mp_complex(mp_float("0.99982631695449295238744865119453920803929173412042445071671742157094228463827993790420476185253372029958257471249685872481898710825385203141806459094555247841986217703446080017827752112571933317591160570074919945684017426809459587086236149182745107725953264790980061646369424981186154659991941322057035673289611572007033920082824660611512582043303166654990572237678339980427964611953563275009220185512"), mp_float("-0.00004738434911598551511055259075302860406873466841639550110459219488979619409385797110822653515899134261542464150980894972846423097783694495032298076453937418416782673169033175017980904973491534564128315941132560695071849429800143508249730705072943815755158563803046193178762813759618874649007852451292763687707492737543439442273447125795780273775237250422791291929842745308908678187136944740588906597")),
+ mp_complex(mp_float("0.99985391528038058450855992518145382580115338883015029688005205908359730582531382954519900556102808818100958763656651652472601631032438135044896401290712414742621220809508205130881426393096145734283911195850974355098514863147205165642958307429533596510457467488724260207670584225079439440853283067682848275640572155019735323617515982739252069029208662085069001580614933915745169488882463803254571771356"), mp_float("0.00001963794422356528577887207149423749957142233604056726711454577351752455408360286630332441767572999893244109847304992872212810395703034486814888723583640481336633044258404451372423021333367535900900584002309809527690106832132888215938807447838087224280311931310226771820236436596179623819441544877551905902057450820078297436357883060797937765395492276997062590918802873028944180746834192786409341142")),
+ mp_complex(mp_float("0.99989609504133825932986118330570343809381001190777118940064946557187648979589769517132270988769844824561975430014646386562303891106149956799781473382450236937169553298682056799938562778349843034760835893728187209754482094349985597649151513015860252730444588236477304133287969243989964825157336047734345214201388954390209277296024570283029155252105305341099840401364524647848319353475733553398788313857"), mp_float("0.0000613841303040003240704357497821891708123082136384009556129331342807791459218953668780671847668840835396102356262377335029480082449069096174206296826145140707112648388033867538195074702848794718750031241097932947253698554955583097748427297434893826049472301752156743422338824480219400696532521249323419332737179853672375586843159196479781950237186194732397290031492483791786031835304126906725394793")),
+ mp_complex(mp_float("0.99994121415537272277442697874499149433789764457473310087903376011757907593650418970093334385985444735815175024354673324251470948847214093900472775460176787190232824317458628124634198945027005095406349004583183011043929483842722616195732486566503744664010328633123807563010288361098164138965078742579097886504099968630213992092199499082281939390402351741170732988654173474085415690700502047849932052197"), mp_float("0.00007941898378950549842306016061689764116516093698887530582930891700345289123743781343164091849240608698407515608159534965756607655212854982764142097246401061395323852087533430660515210068424428571074307990576503014973213303363762894372354264320607501528147273794450364646743103206795554565095048092570743129133463429004319828741040517567714685724951615078710284476718640764722362880850323379259887758")),
+ mp_complex(mp_float("0.999980990248036315075763851471495581662631217062423325809125579802668851401305215776549712051459578719668176220249303196664206894539396752450170049894938712953755452116127390895887990821257078226649371738005712589734532912328943456666073661549803341283519742587763040356283963517630402000668174356604738588446392127110101465663829533062111892827434430983116324359727015931730124156114333003543360197"), mp_float("0.00007863412207722350326121192656406898286074146062710812386793425011994370875180484548902551668481536707660280850791617280646194151354391992668144855812765733891307763960013155163345883400028709890688307309911562999724293380396927849416032568354435410963360070939634187522390396554920195655617001892610629246850176213060264976988795362815429940313504828806045416927049068129221447485055156189352079279")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02123_z_tanh(const bool b_write_output)
+ {
+ return TestCase_case_02123_z_tanh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02124_z_asinh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02124_z_asinh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,112 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02124_z_asinh : public TestCaseImag
+ {
+ public:
+ TestCase_case_02124_z_asinh() { }
+ virtual ~TestCase_case_02124_z_asinh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02124_z_asinh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ mp_float ten_pow_k = boost::multiprecision::one();
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() * ten_pow_k;
+ const mp_float y = boost::multiprecision::catalan() * (ten_pow_k * static_cast<boost::int32_t>(3));
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::asinh(mp_complex(x, y));
+ ten_pow_k *= static_cast<boost::int32_t>(10);
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("1.6954898969027803072751582919050704957956149780864170765444154648735493734322401813679102605323000994540289849908423993183573853146819791446381776695441438114407091804941691145225981426224447322040283506303688861375917662542975343069660554316123813473385535725162000184578870804092720666548601621987090376448729184576008186275709119927715364902343189086611426713381777067040243660818058859011625768607"), mp_float("1.3497694187400061293908071215842733375332725698989841764521807892686906155170650071151890894968937013442532847948680254167559198510963932066366086063637099336123812671938074780817801577595537668051245083371834542854810149814903805418161792133269191859732717631617051699248918875686992064162560517343280484244996302197515685275989653810378246728932908112468400021195167579933880729096952919246804107781")),
+ mp_complex(mp_float("4.0278668442941025171601803044048030648004379711230400263055366289346380041734121348830386502391809617509758651402504930262554199612014980617390190087513630434226859650692271492014142447243207670193291641408827324548591601206330966792966783759863691978944210780775986249358666678640188684859715967491831059130013487116080922536412583316208911031852655731817175122744014764397832545478387635612795320677"), mp_float("1.3636215960024606441509188864044359416291135839215547522839313323526035090003447225067629071788512062361252170335077828684817974784408924815226058674971035303165475655847417762384168322579332389523397368720663074414295112977421899243661942783803118115021443661837939254098352055580073083023739828899860583659786816527029162651986130928221988727504303906171141559641524741330921246029861502750390907682")),
+ mp_complex(mp_float("6.3307394293354829334374544672298578397875267330593584993686458035170541486105110334522385073219668677190051041078253566186333378358289604483749266009646574850632507214112741757161081062547758889958310010042780797127004499505581938373878122721103162576088762460548748516723808233263359531022050067825548333438363810728326898041513369730955312582666474377674918490644387964557383688015462713854463032438"), mp_float("1.3637480172404743304352848334604093568712144979845697107779678094306510187267061345724774425960255157609010375865483680271357380234405198999150597907010183925702180107165496660913320271291913126229012672722317307803053642442048538203769529012608930723968561414892564989706975840077182461882973083748616393376259369180869462555822475011874568750475781024270835115871626538771563648457141276022729750949")),
+ mp_complex(mp_float("8.6333273962400812575684444807319397509089687235771405743566105850067935195455902919179405851017711280887784697817792983730901327806693253332323392377827119427363282419325693381190325937242093650489998153869208239378555165963786947363113168678459042831557859034949024887264311220035370932742602463695812485482917644432676168231672683795912386746138043264819729540756836351003022375273015956688914730328"), mp_float("1.3637492803519502985781382543890290643335508681462778865680607017331650378745458634354983577202159525532082551506992207785813150123700543299249535139517497945298418348897582466879904881447471674305796055984800459521752085462990188282088943662060517269889686270575445871809836287236299831758820152138760279266199569364021575792222303416477069817621136080735344905704438019271969061139258581032399442372")),
+ mp_complex(mp_float("10.9359125179731315098518714935457208579707116701520188774937897949401667056966895376801073320171774638211339725789592796076781521293431725782484986093584439065166421963429468623430349892723837122984611582301574289132357206604380665960846198677793312364585064809996042286141395386878296964760641783146789386214041106183697346650866269090591559503852557942945344845372380139698697142824967085589103578147"), mp_float("1.3637492929829550675086613037122712230891903853342923907277844611257572127086057820328540297495941427046164257626892814781400125292561904478680575201140699332547352122334041285235991958922561296916676495630218912971369254371296108160036512605365086226931665707362460889146183811881974647868014530686532998349136646161402168195744522397805683209222383656906557906516091093075222727305850933306132793991")),
+ mp_complex(mp_float("13.2384976112545672294567376769188902102114432972827958703337984485218828361650121201247126880329797397577279159326072774311644262919504512972753719199273014668519436580595773251303348558825704395582455155303162845110434550167922701489483849988189160708420549798441733274472321403914487344368374828409951560985003346791750239118443199971748515576261765489950715328766073982386376030491515656658271473012"), mp_float("1.3637492931092651041989910223046013527772274953461011194021151975412965865365770045716498438393116107971392070240451430886023322084084373059064970425457530615093032557950810674804048074224279710594850607315882396940879217292053908371832302449504204304877613958391349606829181383194705401022451423717950262487238736598149436552998013831307297554517852863967132296774540192221095347433688138611209023677")),
+ mp_complex(mp_float("15.54108270425148681382958830096139584546681767729913326278727916577551799460586723090113694578560399184822246879480134099284817656299255122190542651626037883842568785235204102002117054057474207116103205008977971047808734213454159763386801790471280322908850802335018683965588521754004858755748411234816742003526273949095499345149134451841717110654898409015096839068818859411884340793357903838229372485"), mp_float("1.363749293110528204564794422038912338944358347803373270314441637344765245082404857891450590891867106336625459692603234906764314295267066563989534422210365983161263347245114648315891665327078558655182916323229904668096618347152460860195556514714126466374420987623072506047692688645532143661968137009508240372310125507714578954068088765187819283777056872695633758647506698771634877514414418954636772129")),
+ mp_complex(mp_float("17.843667797245561236851128246381548626624708541309156502317752596239195406571306295920816743098872806248816142806681628018596923077866213316490841721746772186494352802315216977255925565708863026951102325441891710550767726534594913914087742819539261910418669278510029997349756873662233310701553021056137659176115329082532331050282771598643079853963860500170655906598764012823052256884272496357929230136"), mp_float("1.363749293110540835568452346046510387152283056017987558030312410820059021429373149680612933079965856873128805263186327851222905945293381581350675268689805304387710971371714153127998423188923618248230862183112809553761363976068974838887169332086211449552239016309984428195335067765479280172931991383048722911699657464605420790959420213941290036565514995041523851444127668514838215576107269305469345958")),
+ mp_complex(mp_float("20.146252890239607208259155185963174940677339890982255011781385809630341784495716043582738343621685199524578189807239600776633087742172330166071799089268756011955135558968767782256238938753236088611650100003341048313303889312111539360426321081643500242030662395470505171053049011599458583754481771358474179875317392934613925671907934824300809722872535431799627259000586667201595892274061699432872775193"), mp_float("1.363749293110540961878488925275587393128296506206390098991687525209785455344480339834683189230887854039473258751201564984323414910497627734329331493486853198468648263339277160655028567078621176514074833157625382948827596707274023301966704701624198513317720345563387080635103475509197561976023707994048225716929287985312350768535328655979480271896972674563675496042294921685312995794070250295188246765")),
+ mp_complex(mp_float("22.448837983233652895151046995496510759765028274452142920318464480098399227762947395727120048455355944184574447889687391339843818127388674492211153622020389291095668762088005116749434512161222032148382741201134620803007980721804950512240425782720842215324856353871885321655875231320482474834173867143251163041183263188515153887959776501711505489680964039462333263775424743863236284991441746811146770046"), mp_float("1.363749293110540963141589291067877063290606034228162516327631145808231364264440384259666867914291264485739382836304791453261044559287786336410667280450353477815782185131901333460214175300748371931761637333552883300398619262563332475044404311910462300834798674350771670552836536697455562350807545375946603809861773126250048347954036766333035069558440938949385664181857728222763759587647011102095705701")),
+ mp_complex(mp_float("24.751423076227698579197777453729364683380037839188950146787172699901545797121720785663880551686758885346044557192980620540060794343479473075171324886277562239574727560605204413446143635884208942271173476574897240847815114927315040513875795209784795063011012136958905797676931689563755616529749688116287292264132929731588211462121662920828534207734204329417561644957084062086519231680678809030264028512"), mp_float("1.363749293110540963154220294725799959882239384447732328917949501513884294282827921246593509403999716580923690661376469012501810797765871508377400859478153001085221385445070103174978322627080485879102244329524221972906056709786522397154949963170361135793577933560789774649938615730500207391359634846381776991050200046773322782131232279894746134747738208106468411545237842536556400108856889397247247336")),
+ mp_complex(mp_float("27.054008169221744263216056298449213788141268312799519427634999380964454572245993422137327325438472182725492906508363362748432847702528479380480865751510140281776010609339445126656508788998120927562454575779735311333009363401610602235047145174863131722196693008613355793377703939321306293138468067340193833168663215167036509291435293265474145234097876464508078931626189658363998495731061050624104561757"), mp_float("1.36374929311054096315434660476237918884814471897542196225279395872917730306587280195580595271972232599835880883261551498919988734754419103933302888485817811657919348220717057993424493218577362298491032227882632972356046992094693240333552281911234017033698555091070059592239417785893243394101119728121247651515790160451507686839690715424863078623449514909795984017486975945068186727182076979469266273")),
+ mp_complex(mp_float("29.356593262215789947234050627033932844713971090268532438312703284264613867486769053576657588721663212761091359685812532275055507674732611766160111491062830969860562355538016445256221413043889935651831541901737625567353313479441484083996346994556913866705343435321841788556916277205169724017038404000328421201775906988447286992372776200596256594252614390617354970254981723887971584551101730138995296522"), mp_float("1.363749293110540963154347867862744981137803771220801407979663297528273823088164171759038775317812194887182380436614226986605542567833290205758706331889805572566953323974998292341889072226518680915839529563723507285957482003789676663211325039126175976496443495696202616851779638795011317983545338425143616476270389911295954742983161855926161668960507402109135315073650160303605474822538595648844052863")),
+ mp_complex(mp_float("31.659178355209835631252042110457300600804788591785606856899634568356965541294772527088591267242462348678035511938726730641488911390133679800883529393878191099319165201889117567590214759126010459798423300793434121537611767741979977428321611851608933922161327009336864322767431865384509512083669484097765400834474929033782964877049394787134765057970515860398737958587412534352322974768014717848693977059"), mp_float("1.363749293110540963154347880493748639060700361743145212691871343005687582225146818061805604495575615666243792296287091170051465826155724062500586976152753102963722731530914850219851475197216133454712169327274518996562418913067140665624734107928427438496834353159846918086947534246180693060548972441304310841374313627000215898416428816176340799524372539443876330424348803787479970367124595314254460993")),
+ mp_complex(mp_float("33.961763448203881315270033565429054843890787240543262837262719219118096086933192961559390596319704582385950960502584394880610501725836441894461689531984906459335284855188488158109710704851347766150582574207620492292920765836575256312709688485260821412157191643488925259176934039368731701928515317044633366550120952710551150086146081076601951629941944566973952565735061904365915468515071925319352132601"), mp_float("1.363749293110540963154347880620058675639929327648368639740018917395670662096009898264380258872335222844294065459544102329705978061321778343908253956807746903898861219176807007942009708722299136532275639113295682571605719655538748891917541232336141209705611587185283082504978580253146873467210443708524418142865228829727973764387226639606808265893049706046119349723064616096230181134794115779508670714")),
+ mp_complex(mp_float("36.264348541197926999288025020116292951846737700773324643338335109655200506984688097516108652791473592321277815001857107132669217451004117225428349002154675362498604915923722586487108485115962829686810537188068477652341487400035972435450150443466650980530460584290868449456146811473909842790637257736159466496475378177971992198585219584130814073782262993952320547932034182307943434275280452210912976685"), mp_float("1.363749293110540963154347880621321776005721617307420874009400495688964013788946478491357726401223952000165439727941023848820512399260231855513936114087212737435402625586945987484402134156840104935550732178777149725111719144102970435310410230160451421400889745338458349798727193967421079263876184165370384644254847559721546778399446888598668922809388203894674927436947136850344071570019345616011391676")),
+ mp_complex(mp_float("38.566933634191972683306016474800685898451387679118110507672085789560675594388883457506930937620533693575342206708669167659914139364607890259809722024865345786917646157727451546727876954821772693095023174671912669172273770290312087095427723294266715766499301640299435106343103946666251654947409851619029618944073832412409779705008526362496549033640381066954184611724810235008693092016407922299814847652"), mp_float("1.363749293110540963154347880621334407009379540204011396352094201482151886657965267088570095826377637917667449351615515561219372141238156392461543008872100408359985731091929114421492324795918570545127305431416345168807989964934585292702373317652470449037873027616915949864326604920735856440248468179549804693380073160006933276459604602292208161007974391469272483084255671459325556783330387728002385703")),
+ mp_complex(mp_float("40.86951872718601836732400792948505039344252465264404361258841791830753144955946667668579615529468311658187694206834367058176545134627280122726759207697708582714448086535636971175962348993682317279429264554798727295994817991038935822631676952308244231488839122994388676437775432778319966721048117958268624254722545822105024159924458107972619662674377251590363321299446063321487020371447463035552678065"), mp_float("1.36374929311054096315434788062133453331941611943297730157552113852908479088059066391682171378020373902299157641232715336735189559887622850351023513451731404908989753626652468097146202081401990512810938471073378867965788681957138328170152874035060956198060780411596215960551374767900907427570410424257782761732107319434182141941603850272403961238729305662824549341696955553447941248439226299874653891")),
+ mp_complex(mp_float("43.172103820180064051341999384169414603917526496121788189910575861552895882113823060542236572486305641855096566088696815104676919797519149947768768744078358550225065189995376891126407214463294439326479615527959883447087187145715405345617414694346928452715591149677427797006660393581394242934134688101889791555745485006971548910647621753331802763231186351938566573715671837516619353480990178429819905533"), mp_float("1.363749293110540963154347880621334534582516485225266960627755407899553020025366311405998457909167957590047198880143352121495958444880240050498635003389441282910390327855081008229965964025610783453796277756067622417293823201825100408092022515487647424839602378698310777610768403520261718655078897218054709475638367532325345189322316195011935167149456781947779821096705191331242741391457015085546329302")),
+ mp_complex(mp_float("45.474688913174109735359990838853778811547366988299050881956792062943246409918987786974061311150121800337945363090436088367255173445550469639425305875372668103453679162773794813521086227590512233270134467275201338752564577461397341262137112591825633300108739852407474290408265779465072012811898211792395602151289897368909145010683311756363769102334047346898880010460394947445119249316107690322612850139"), mp_float("1.363749293110540963154347880621334534595147488883189857218277750593257702206824322820242314773252542371473454920707521529909894140938180861935305566301283602534734220932488864641136543513182699618854963714314332121494484598726469684831734107386879394367360437385842409193601980353370087306935662652316415950292912909707041791083561771398723580948620651295584711518852059341569966545706815540225331213")),
+ mp_complex(mp_float("47.777274006168155419377982293538143019148755866963308755150248846915046798777608293892732753885607597043109114111806777108389782502385070787970774199393457487218678951973724861317014179979113408493140000559981437062511409422384708898305066482139436465593862670130563178235686836468632454660589375871628475537436749900900728168649741831854174699677365370438743228525358608902110642108515596074177844291"), mp_float("1.363749293110540963154347880621334534595273798919769086184182974020194749028627903959878688550835667713547293051194329591022633382292313896877201747537619082028520747867791979635810216056350652156190439977772421667124473842957239188365221691425258383185266382071112360720423614006476360176212025590155654424793779235067520517991339702227809650687594226784917422302246867497826976937959162386309312256")),
+ mp_complex(mp_float("50.079859099162201103395973748222507226749860229492436580155178036712661686246773453385978772947895784900685036539568819167805328009385326766482681083630456546866426868589659266117033242952806727720910993625073476906985463701361953554212955110475681945593077742209155628247610413014521873862975157417308028894460758485205792150780313752597720978386154304918570884401144949349336022942719203331652649616"), mp_float("1.363749293110540963154347880621334534595275062020134878473842026254464119496845938671377601682132393194917457390056205887848229921206929469383140220230339236844050718593766548805955110553627350845855193156623288476308167892640328344081016644126586476845857864407332344615417450855922260176212539045560505208588122928881634410615331453848996993233046288733756983242291282629193985372950492294656526149")),
+ mp_complex(mp_float("52.382444192156246787413965202906871434350961746860213104678221950568534718702044060414447508384380605239262099583581394230377440494433774377434264331225957053047593414927584534468137163448322963123828857127891633908243467493145424321198936677231283887548427488027696309686956427751848816235969094610794129191830355444123714537576604330611355969463852289662869668167076686565289581097285556439880472832"), mp_float("1.363749293110540963154347880621334534595275074651138536396738616776806813201528119018382601068384712539153953976040580351638206911277012245167302050745112406868277667676104687806013466906187880775548360122123444408532844541004901168425024880566172596260468847620575926071542688190863982575488603000703458774311723037764755092483747502763811227465287427182586889173447592208275687021975355866035989972")),
+ mp_complex(mp_float("54.685029285150292471431956657591235641952063235776376116196447011664990332607175721918369418681668484763506121735646693284928082082432134815145980282125041039139526145015092304043660507005087481464042450763785724671519992648772409536518979489563908814693053395976882907284558049450392785669224444704954738179079846330227929378952135783957722729946094443457796628673946651304730989235421012505929302495"), mp_float("1.363749293110540963154347880621334534595275074777448572975967582682030240138574940821852640063272729667805261221394683671846188853379758932873662214181632759923300340401368493589891874050039547028808045030720623682746078584755092351998429037560142710998432958266352936567655794303359440748895423598412442551493787622030281961355152397142100937938688490616989496335054813571220397579310269116371624742")),
+ mp_complex(mp_float("56.987614378144338155449948112275599849553164724408022992584623884233851772326805993967045870822334100988892899173562708601264703657769368732292598060973066332099942590594371987449574328573077303251962159431147257704718580697707328941521192176564830309001980625518170821170514916647601615622423925578945517707905849574164764642134980521510499921855791831894174279381397989861859832692430560202014149037"), mp_float("1.363749293110540963154347880621334534595275074778711673341759872341082474407945409039887340452121712388485295188076174131005825681018006703914486954183145987509822803101740645192214120668982319229715319494504403761152078917857494217966043040406466656636903898679915940950897205558554622004919003866135533860877704470873930369803276746700268458975119630195487722068431513714250482577335351473225492306")),
+ mp_complex(mp_float("59.290199471138383839467939566959964057154266213036824707621500274917437270304581252121169868382442971551902032772906708099121371652449622287726089664407599950614723033765445272133451578847729222647579637765190055155146127277741543999720522138842717178593209719997710803117501483612043207083600242006142892267874597803898429614631905868290552038225459998852357543064235442586773792479536289395175009422"), mp_float("1.363749293110540963154347880621334534595275074778724304345417795237672996750639113722067687456010092225947034879832411830540017804995210903655411155463284347222980418789099611455661293516776464705084495455956087425682043891225036150223611541608657038973864064577938290966907760636923731002831975328015584293475293578345609257058838272229091551384419204433952495594984231775320299675956368633254192302")),
+ mp_complex(mp_float("61.592784564132429523485931021644328264755367701665597971044863660782170008864937960136348341396746375605984451026725844386495130329985253002632765315976705611203617623300703011928776960138801220283303308295039124952224465977619148066782715339821678527069809889256475852387045060674898000863191939185313118503287289349201347473306221824658494673107730720121233957188345685004990707516750984077982277811"), mp_float("1.36374929311054096315434788062133453459527507477872443065545437446663890197406605076888949092604897601332267777068518314981485398581055302782502344917105150942936835907187307340070330370979460189433287284799136939700016813882700536717255250190750331627277017062726032534542274965926253771869978299938646048669756789845168198446295001920452071661351778633092217917427867032110775245563986116226567862")),
+ mp_complex(mp_float("63.895369657126475207503922476328692472356469190294370949952091916598714219831120482650137359165591725005072371833199018127458830103371303683830481839524203270985392138672179895149958200044241131000471764318074612400688828427025433248062855118339690432912375949745852539687219115135911406035360636846756047755017182151521390930260553542103994659387024754853013742612416393450074946397811549025674291507"), mp_float("1.363749293110540963154347880621334534595275074778724431918554740258928561026300320139357708960749364851195334302143104383901830297044664006074936792413298777207059450623748284801218722498367306787834067937344804550643913727316490160339019468879326049833419573689619095283163748096977227093197664912465935027369339407887435845520182317915722255815238078284944774429949514864662314315611434078754753991")),
+ mp_complex(mp_float("66.19795475012052089152191393101305667995757067892314392601415882111477654552136126330891248238198249385761135714216934317156699876473476075131057840269463452144438074343738354947375769550506559575046152581087014741846095195604006133227390424195900593875686760792185165399359150445280377273781027271391266222661345452732219661139398584590691128090383305407400681120474970810726320587402418661778876248"), mp_float("1.363749293110540963154347880621334534595275074778724431931185743916851457616822662833062391141096368739574060757467938535594789482951947711613136747567751766844551502026768454297788777022879630885190742794631720355456183240066519679495764456790392860259888630693148871542366650092379771695803688727601009947329995190164959044437881150586335951128814916613559314735660090436843052601052983943382215327")),
+ mp_complex(mp_float("68.500539843114566575539905385697420887558672167551916902047774112117834052358842626549137466652848716904684853197112336789799472971925693772872160713224385422777176075033614264893872147963363661638724231821078007452830097575645144093968958301057538837774131284013877331895472869342943738717930969979740202882308861455186254201380897378622171560983865683652947588644012260132820744284300856115366806077"), mp_float("1.363749293110540963154347880621334534595275074778724431931312053953430686582727886259999437962899838778457848022010187902605654283753300042928094317201468499792622394154425172421005368944952253543801947778997264113487691312860522752022476840049038181541070654885232871908272910265993559069195060388388152927905268053750824883509699031296201500787294233724635877606874422286745673663746649671567007317")),
+ mp_complex(mp_float("70.803124936108612259557896840381785095159773656180689878081104886985761511007796395615176949534259694493703694359525151863479299520660596324163579747422425829650206177322806367980545206191019127736760972204137039163061018890310278435736334850836534798663848163525387423952382479521292050012110743108320927492270057329330982288281573091799073125024495863483425958768386100897581515673420174950100674879"), mp_float("1.363749293110540963154347880621334534595275074778724431931313317053796478872386938494268808431117873478846685894655609296378312325282207794190669850454813884342408272672863201831646646465945549314166581525460568320563266570183151414059899679744365039600618812537849118353149022235584078556888970163559067175575119853640087431912425075955297056456936980134299144467239139571667295654756824666840328755")),
+ mp_complex(mp_float("73.10571002910265794357588829506614930276087514480946285411443281669233766917486488873947457740177611962814198897301266616119057020373954714022931605104376860120954177698927051611299748627891542804178751489292780482567008078418843356458613940653038096097414142496004780323787563701418363030679678515572311172606578553263421462475243514680282369901268769031401975018123421315800389038854071329302384406"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329684800136795283529016611502135800053825850574273382063510206049160636848961126090548383103039009628161975007298272075577918602172163711399551852796123580473884035875226456661360316689285093921385875765298382301834212382048864039852198803433349421153969418991116658769360843759426717520515681265392243415716431781594681809605517907531955")),
+ mp_complex(mp_float("75.408295122096703627593879749750513510361976633438235830147760717947300314337114529104354786719153599238034478121010927451243103025223031299799743229249563058362703521944474418938990527357070648342226383283194919660481016813094186858338004495244297795038136970906608644895608470907553079611268427985863481894393559949650764519417113850798132240331848621910977655146044909531310781885100450195617422914"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329811110173374512494921834929072846875629320613157169328052344315530015889308004387034856645506126382533071080435208094499584574249347708666736079447919019536671832565676171263529036618690247081889238449093923330563705748472893375611883984935607891066792404221448853668832360918479061215588919339697589877470875738884297204331095313819121")),
+ mp_complex(mp_float("77.710880215090749311611871204434877717963078122067008806181088618917746824369315980941640821851029689392681509214354296211219058562860266902091303010971391054237998224661597216015343284308063031570041636495183112113028749847153916633776308317014308951935894684460819490252104885836502295890627347040152204977178005698912327460161538412341876699275976246440339302230126028314543783851655717076317770679"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812373273740304784580887163342217343847355313546007200697765698192609782260866690893949330356755107084999261471747051850264469214248410476102456997503762426121578067899024830452235922573031029135714379129447713334601877534576671535203680197652230412510269174910916738020970861095677089796594052157151515574216938048543275396044603014432")),
+ mp_complex(mp_float("80.013465308084794995629862659119241925564179610695781782214416519885348173050216950893650915241050765652776085727151116045894248328668516989421002727297856404402700876425970105183869980848610045941911472038472307911638675160602021074858433509642657741946275952235638326148490864775695687244265200905018615565312658454579140507673433245903536491916395117834422621645673069299544155887633095060895090764"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812385904743962707477477685684911048529535660549895579424219912019235611200650253284629680000203990086219365004142958383487414487421929958146076739162803327702715642470854703798819904879230909957164303536246314634928645534794557084121746927821675033133006849300664907459921066078193548559794884596085747252083564278811628611413781944396")),
+ mp_complex(mp_float("82.316050401078840679647854113803606133165281099324554758247744420852921070117604916026808249213653291773925137694142470391316430436758578169298144935831225075812187826342762458363633383819295689251139388894999079050288149351497774456541610388631184400960872406071731832943164701954858040550329527060244162452194406619347500930804566396110068077831059435660976471084208728645996345687448063965473018224"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386031053999286706443590908337985576357464019934463211484454157501869479049114402471692438917973175807136121639120500515615554786017604312485698462522690952589518986460758735555515163057702882681808630597842923113085062624653196210892418982199538234351840906382435780520364673280720668506945985613227881454134262465196167867474650527")),
+ mp_complex(mp_float("84.61863549407288636366584556848797034076638258795332773428107232182049368266885775111177705559208163239368473441567577008184608246827145747019553127539594886612889280826294520087981818535098614315800347828426462647512560424580194192698170270036135495135649332476401191163509962833736517130069414927713070443118599328075449233416005930682701905771411979709888691141093730455647470931818889926468165522"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032317099652498733249960572254946825682054634852049357099578884532061832003116199506084199340956128971389822299341991067162621121716019284484909474483993146550795530565993339267744977309129405627150233719460640605167331151083118266111699596633202233119718478332995655441508654599682161361653622529888436102321657941667711691422137")),
+ mp_complex(mp_float("86.921220587066932047683837023172334548367484076582100710314400222788066292374949234896263976694568231158430436584754489225826809199018564952304129533241597136243239447522064033908836831771436315513274755658029488360286293962588978870541522088420984275654146828051157513950444247762300347879512366075875692836982407190422256894989567100540589449619208619546327303693269363020560042719310064700557442934"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329730656156656146551094597640530364234981855937735826033098358687659831893347039160004244056727132338259831952127852195659188903459876986243728975149779439577812449277345879706513915360966450256690115569474236629308932708427522328709501510013561388626001477727475718379182126081089097757976019181107467906814126721982672089238")),
+ mp_complex(mp_float("89.223805680060977731701828477856698755968585565210873686347728123755638902052589105167746078944295412504625999808308662564342046676758014716224840011217751712248423360302274118061645763603864400020064347994265260582686019571178646314687700435258939902378850256371488116871913929744128425213031853708984820621105095979599819631630157065430808720362783676954219040114053936714032584554588972173938392119"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329856966193235375516999821067467411056785325976619613297640496953918110181107515516256228296675393442003782848311392249041265546948915263708418498658246157483994322115500925461505649233801003108084862447465026112446409708140901490066138401189677545625366569487906248865588871785944324715237711566311069857784077781838780574681")),
+ mp_complex(mp_float("91.526390773055023415719819932541062963569687053839646662381056024723211511729944459304098133005494999676636061642407590444802629261967387902963671611405306121018624931903389884914714464485108572679865826904434004500177399085098105920277255209791952518130803441432846246675696855548609996669701347376338159750627309975370444443176631692004761607243497413920837069152424975578957238743893764743970991136"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858229293601167806658873301736781525003360677008451170285918336580692963985119179921297532595770280990648314830235866795391482980967109718310528591190614279724263261917894210855862142106470033096104772593537420701969139661620626200362695762225928570400941138547795759130267974870618417438052182112179857884552013336596329388")),
+ mp_complex(mp_float("93.828975866049069099737811387225427171170788542468419638414383925690784121407296968279098886584809310906904268462611965870682665298251460323930684422814975537593447291021323278071804665243460375852100574350684508960878867064425470681474963756813048369617852253497818252092943780705641912046032154976643333873092937101250677054133126378353201338679648902714241828945341886927959620321039017419677585556"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858241924604825729555463824079475229685541024012339549012372550407318791813895216447958479894326138803311912091180003794654772858247344324732973403989844826742807251910380075065338137504415210555368960592295451039035259775871781326748067421372701138180913245822532649013263770638988898064083354717510663419641395266323907534")),
+ mp_complex(mp_float("96.131560959043114783755802841909791378771890031097192614447711826658356731084649448802486127159304769377755056732677395772016895869046279737239979046336866104347263555075517708348882782890801917276422744797262865270095061845599549954918210621636103094050774976368601527080890586896132478246557940615918860560830273902264663178111592062969860801398971276482631319146022160092061851153882760066912185809"), mp_float("1.36374929311054096315434788062133453459527507477872443193131332981238603232985824205091486230878442972930290216673236282748237843279963709254558505009218297681321409039280563259038082755804902073472957796007184264241183020456918411081089891584592405183773938163886290931357858715079304047218828519770153016599365595465045366377589681956904263510459218407774347401782288804447604133282982349176254767")),
+ mp_complex(mp_float("98.434146052037160467773794296594155586372991519725965590481039727625929340762001929041357232603752039321011670817241436218105668385186206620472696487979878882602879852948780858283246474477222377949460485782875996801220712157383815637029981781372593191274142612581368715109136302951838577511779179972595973111215138074426013225702860248779895557103740249873271343438074178848484352233199307646766016548"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052177962674576719388355136436102831045517078821637509737966967712674965854416866645397892976921772410940667136861687334228310392795185780235810222638349439623107782631283562937363512226962616977910915369402694631745255064485447801618695402759974727575376011923016680668788445510383254969152218191179017976436443390256")),
+ mp_complex(mp_float("100.736731145031206151791785751278519793974093008354738566514367628593501950439354409277383176696898827378992343159950462769641986320779584578404648157804102882973514152169711666025111630372510646717172001943510379234235799455300442355154792790949357241211897053472301073320042298807756850979256260931844903230378430574602323281962638235821116207236224127352672668341275694328527024290343385284407123045"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190593678234642284945658778796535727697425825525888464421181539300793683192903170947833860620025678863916112965552667491814500327230479452268956548138294816159463467491566749161599685509967344205898842496805347954197990265493556577205328698596743909117471833884888231648269896233044256570006359574427229590567326562")),
+ mp_complex(mp_float("103.039316238025251835809777205962884001575194496983511542547695529561074560116706889513380669176532610618120256085240939182232779710567497047083592169910138995565298631404220098042112893771744541267720474517841937266584748157321475309556926834485213144602751418721826485087818595413578912645173838149067806309501044471617786562992810604089896370259476540832397366314985164376202012977738297569653011954"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190719988271221513911564002223472774519229295564772251685723677567051961480663536203333258458033705478357545006085580400019623574753978140405158519588634715068578182078688241414970930704612820660924173385523005183597028100394612416247947797232960578191155615420452619560927614854914832722130634048325137549295090722")),
+ mp_complex(mp_float("105.341901331019297519827768660647248209176295985612284518581023430528647169794059369749377877140031263809059641416357230093434117854897354860870006105438993229279294612438864316396635224355303977770867505678176661751236066970086976634584425827624206035439529344877977084788276421335167425191231916653431597185416682836834915530206431333865311205843837907165116283446411365718191731566467876343269466998"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721251371587306201223054457742144987447330265161089558369098949714544263541139855888252435313888293895480220718858955059231815446433432456117700766373359192367189015181960483017759959906705257640428080783892206967251474863171091380487847536139349762969013804021876972844547593790006246949779787150662084090510533")),
+ mp_complex(mp_float("107.644486424013343203845760115331612416777397474241057494614351331496219779471411849985375082258368565699517141471531779149621561446772632128107494740202075644204512708491509892615542242581317598302109999443273604519880040387109592985749004729431156650757657645899326297701877030759866367459614047290753783831060212504863585003615533694973608590099031400370511656289940548788501836305674875079643575524"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264002590964124119644980084838692129510612164977937095553163541170091369915892413802375086580132305798924954614535552223653554179707407144252294297069158118548870525959924112779663717745133103442114668975206178857401409503894781544372593210152030780485946848040870517499700266962278875832713949951482393417407")),
+ mp_complex(mp_float("109.94707151700738888786375157001597662437849896286983047064767923246379238914876433022137228734825425407696982267394691078725886609312336358987949412195750034094184302569433548241309320863145282176649430478212005969002588731326509545420919751295070403595606013978325310994979985769267433662367924293694907358762097403526789783857204615536357985750789377442543692984694583751006255528254952853777959546"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264128901000703348610885308265629176332415635016820882817705679436349648203652779057874484307039690927605932181033636647831510827252328857569505547920890128513816057997824748771315897080919727308352791406077420629183840316889572481749013149432062246701607322704490276546712865406008396745628606931681449947289")),
+ mp_complex(mp_float("112.249656610001434571881743024700340831979600451498603446681007133431364998826116810457369492437855426319292455687834448250710669350018849593596838611182848460497294465108662872346430614169924030966319314322398780173208619169208235815339049859595639980572528921664717090752386091936938780105888437154154071558716684410367855101654685362796582951827335580110853059785938068876628442362837351607946795989"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264130164101069140900544360499898546800633669717209720690351100819012230986530382710429478284308763678995291350219511720022716351284786291922982830026568911848710648016063545753736564388400231911705068921379023965703994874350556568850720303818632930349906912960997175149064702656196394441853309986601320892496")),
+ mp_complex(mp_float("114.552241702995480255899734479384705039580701940127376422714335034398937608503469290693366697527453753400263788219836709772420617593019783142733636551482895814280927115745105280281125884103279609500469341833300392786540622061068722186298748472214260637042350292780763334379775092272797483277760247001183197181898918362021906774771278617968721907842944657662903063881964716049499722078480756963679811433"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264130176732072798823440951022241240505315850064213609069077555032838856814359158746955028224081454406399195196850722560167423349120866567088239633364585415828383118429715719702623021476026449221674638452447651923047870489708032309409012204919836071136456630495004836435692342849786961863625035684700311078907")),
+ mp_complex(mp_float("116.854826795989525939917725934069069247181803428756149398747662935366510218180821770929363902617052052029621607747020118534713147285881771167324629026293690160406841578493768838395834732680584031828910316585001095178121819553507043964319835862459652383713331106981790861324526045882773976982080739198331902806597483889681820560315563636137994097130380032334947715662887066312133202202568946201275639127"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264130176858382835402669916927464667442362671867683647952864819574977123072637446507320283723479181313673223236342528603777812698593486945409974373601017276839794475486303588420709792271944166536000727852011696050326342000062422111337359920915839098125774047510615390199393910166838626368699608363069189677032")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02124_z_asinh(const bool b_write_output)
+ {
+ return TestCase_case_02124_z_asinh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02125_z_acosh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02125_z_acosh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,112 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02125_z_acosh : public TestCaseImag
+ {
+ public:
+ TestCase_case_02125_z_acosh() { }
+ virtual ~TestCase_case_02125_z_acosh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02125_z_acosh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ mp_float ten_pow_k = boost::multiprecision::one();
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() * ten_pow_k;
+ const mp_float y = boost::multiprecision::catalan() * (ten_pow_k * static_cast<boost::int32_t>(3));
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::acosh(mp_complex(x, y));
+ ten_pow_k *= static_cast<boost::int32_t>(10);
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("1.753616278176989136712842367963624250971834108725531523106224862430641905378124697966483218263743684163438308497726478758715085317687102161090856345193785088253783342572530840173994772918592873514199109235312082448689630689166056735258530702868079879561072008427489765560697141485909490295640848956063556787405863588977849289574827398338481037023392062728702855546913350512342832122477815866074374979"), mp_float("1.3754892072538227025627069848357284781666569432603118712503488491949037262808350445734265207674166461692297958967448070724444820292625754754100166353684443988034875688997795371329435561553383443971257181732328857373469429935604317720856591724318947309952227631652845159216114575316139562013413784550865900252708207551424332594418442502529350573936541917495193835353226639167200814377869104046565948229")),
+ mp_complex(mp_float("4.0284474302929528469659547504354251155713166297614145509809067811367673108561197496725147546194655029502448787185295961762049892610595486340074691720877423006533007401259778851596218159219382307604234908998021635546224925528679556594958584540917484278596495758239371766395587033364594568704219460144480008023347140305968421434667802700868430206788804541347123708706228474148404686821862291322835023408"), mp_float("1.3638767679947174599340613007614902378027025959420303582809964501072854226619863067764721846306627961217354727708220620930474902906273198340988909761014154439549862156241059012526219659633900920409751223647326367318866931576108183412488038316733051314546835704992982232668387551954356979338757348732164685481615763547789469174985766233566174126388781233261658790540077263181559277094754426460971043336")),
+ mp_complex(mp_float("6.330745235194785727210496284337273784617870444834240127428769589788559507172008215412275305184259623097614963050382056590566281719382957281552027460657043203353930232858407797621987579585715213967597633707694356820213723069333390627462314544809263077788409564006743116734612648241587784398260598933311934439693597470837605766623231512412224388264942432090646301952442305423273234258225135431071069085"), mp_float("1.3637505689583852231170700983037260868247019103375250124793955994675515685935443840599523047919113961107014464247400741534271366018451179984930336479964075217842953806307204613345953556362904534135074858815637281339571145932932381345978345178244449686348961125058156700182786644134791156691772730549963168735459308965783307952119498871304251314898852278802098537702000673334819595647162481074463383999")),
+ mp_complex(mp_float("8.6333274542986742848204645998081314531105984953121735088515503632550868312099997676452864783150172865076448815083362936220766528045466212343690155241763330890430108446299128268897886825214202506905649828176410226403661456578439187638162067403379939144200156815508073935426860683703115878704887307558990242348491404358517471771869966339157513806534950260690815089079725370475317921176318087857096563489"), mp_float("1.3637493058691294054932820490294119685563078671687317765727194195701588053367064372882322506332353336371070950012187432286746978079956284220102678071553976558851640100313187816428350233965521991685045801413645228091627853256878504263112197191508181712759436956915380777545051832993525349608718320924917098607664388721176223568554518815844530187828858317422551117483080025931288700582289082244891843771")),
+ mp_complex(mp_float("10.9359125185537174401243910090261836027025285920204273959862011985282001226383825723857708588322882569472750570522997890024671685717707293107908457630883370412237662811401334289817089924314774368236121677481571723273607519610842930726242019884448091541605880260996069062593327805332313084838427967699882802356903513690468044301154434496576659585017569288393460195193717739084365011188086296752952755209"), mp_float("1.3637492932381268585778107299846171858849277700965578338625986069906747269258356447539867329908751946054505483572851420921391388266735333908714683160368591996328898416958526445839310463070736029180478439805843769607533045211448420533440110256500089089913768080879740578722748727773563508641142885962332627416208159603010303206602890133555738507034115141328432987202531294689444445731510352158755712216")),
+ mp_complex(mp_float("13.238497611260373088759462872073009127359589168561329895193195211502010666109000530641479305069671037034669909361849207180358269321188417555799884759552600612136775581752720211547563556453022781689022525422867519857767040348938039621869041075051562694500735533386696372423431906106379860461963885994463002808004554426297473727241108447104553611283356622178213231383924499742643200117035390457959040711"), mp_float("1.3637492931118168221096825165653131383473186368839158346492365293131411537606989784529066361438926200828467140572394394343713025919099412825911041308867911494107063813006121332556624249518859548215855355329531620304054874799365387798794704213415246805253176465541023026434904206069293611697789104430397075649386134357195016814657559078511242519455255530316645005694275498086150320277175024266414732014")),
+ mp_complex(mp_float("15.541082704251544872422615552912937033952588836839620662111735386739611905412468558335832441963342973568021216788708317373445558664169614937918076099401245393016251526047549602525198583770892192683041748241979023642448943821264520964399469465153275681015668580853152778759808266836346126794049395118356949080182251499807062632371818628554259502470199271736463515342480618205287274019430464601980422586"), mp_float("1.363749293110553721743901336981519454788385201352519109077011395313157098278151008961597570279203473992444939888342937939305526564386411097644116765998689820296383710715226234391977751392754225814618125572349947301501961798414576695877621575879793937919218592293798762476305230836321796600934566455994768325408343987023206892387859390109624065576042153353227494835179322828433063847155034779524484563")),
+ mp_complex(mp_float("17.843667797245561817437058518901064038509565567194262204013056234233681937858169185335954708879280866519297914134716773140553298825386644560136059509705015851409793510966226998802194470036601239061149486081928704016759847374185002601942620865811506872893472165198396358361218482325497208419103550361447423373935482084943092200054819976203996661371252305531596563317444075053418182602083469411500520395"), mp_float("1.363749293110541090740243415195936458310721312879421150185629718640091363522486444091044754638203915692306382946851471239855566490696120066384106089516650448967584298639198548492529538207233664490735383312804759080938459402243103113109224326292392026163102727943091198199012557692200331176735500812912118998004667896184857844398904745862027071155928176183444348299521270426451348020209181711056755292")),
+ mp_complex(mp_float("20.146252890239607214065014488688370094796188461240420358499166548069362434646436077062382300968436400698177677071394359428400945732973802849455010788516276571914351559437100402839518603861678076341324016472438204455896674455557087998579067343754513035036975513258830199651025659903867815782187725863168057402147686354020612217495342798087449227533423644394823979205373249065039504591901259622391923873"), mp_float("1.363749293110540964430206835967081653839880888772992760855374465979596019128015411223395238116301520912710418105777414802537909116919340775774888013966483269575250559661840301023569026399990013672295069894460078206467248648929219333191706084852452444981090580070930946703646535319600438677483769487178095716172762365709700970001350073424854215143183795345548522847736902686009040872411941304058388331")),
+ mp_complex(mp_float("22.448837983233652895209105588523762711306216760154724573099931988310491493340239433912546996100262788833224643866359022868977342856590982777479030190491083506315786940446385241619123150747756033455423198142004939446927045341211989214801201294258959348275420466300321856741556261211400336559748572361795185686857895542327201648344965165951755036595373010005862211360446968499490128785906129482886498704"), mp_float("1.363749293110540963167106470174792005897721878053828540934593957349697161512516097578910470739753554079705991663467925335655936998523664771092441316928021244513802701114386044319768355607374873202005412958244932226309620731454100952985547291526635217077549488007574059431299320073276123542046830361498006796961820504614219190326609531196721085814158414196651254406870353156172315974081395860040677964")),
+ mp_complex(mp_float("24.751423076227698579198358039659637202895449724045975963314986689273367547479552781830572671793638617489749860435927803906372278894552925008314473636888067405339146696296707960862288124919315135713375758057919686482826316202171924891972870265643316144876089977505941667436822600858271112626617655090767881553607634797989960289896512725520178245945989550333435804123835206366330321363319281962180787584"), mp_float("1.363749293110540963154475466516869109308310542885988989164017117955241086023000288620148550788878479857904030293280129187524485687142655568600942359612672128322297889526882156374509352864935560975159449521257842639889854979772141569216445990531480471517244516397101440624621663282480099402134214235540637141291795530659265293857917811325100729671370006230092735830778435705521918871327121653983938155")),
+ mp_complex(mp_float("27.054008169221744263216062104308516513336422431648089685800277520857487079450399444158070031477391610477585915985382734199460949870282138351568486629235880383375289735246124779302452345584636521266667788816215457478391696730637721740049086536392048767416089235825805380179987167714440551620639958362902024555953582593106409593778611002168400830616750183086537902755461713462988299670753347860158331227"), mp_float("1.363749293110540963154349156480289880342405430559804528855254634891579196925408293321151743496176470255283173646896870053918429817046258039204110341922698176973728866063074481031869737809392151292411840963351058653616608377697035211308372963552435963998236121776313973498782572250164311092692805697726112580083489693834157397496009745225014192398337503486869812602566337064409486792692034750927608098")),
+ mp_complex(mp_float("29.356593262215789947234050685092525871965922631457018140894356065663544191873102814624567074857837244889242720436538396502044267705087264229004801523062227838598011600436049476546957016214370183164465315436353495030026148932777997309366113230944226476602179380807143863054136243661908312935610997122526328335645406740916095778744042936202744213731355884988492846794705741446044531710508962191150922048"), mp_float("1.36374929311054096315434789337992408805274637833664523364568790428989784001508546880645992483581709893510824823931987653730006844393797943624480983279084605165325848864764899718983506100739923635507321732321342145280639525716032668656480856621447626474247707206832844838706688428459685035668391780287695611367501723227045339300935856764870615277762571984155404043387852950613821127425042415497128697")),
+ mp_complex(mp_float("31.659178355209835631252042111037886531077308107197491713925451096170954844538635178988771189805883164784154876176664645239429234061174121166996828791032944496849282340756573302484755944839376431250140526658078196209599852011638192379449739501789932286893839252924186604187697905796318655924492399596298463427189436330328591487176810395101156126245955737472871341798431297750761574133120919345746444189"), mp_float("1.3637492931105409631543478807489204301298497878143036509485315890733038223944140193582219497584472749470856563309383022283945529360301101127834032937732731798982995870301889957187313721433433742678819403212777701834340743659775391804206451595991156529739168601662075129444290127893009390869961906241826671018592644899594619211212851094278321082634305915904765780387529870208148331341954310248238126")),
+ mp_complex(mp_float("33.961763448203881315270033565434860703193512435697381685832977384396235979965631588077706685246166492606087938982814404457245860622981909304243452627245848764372108489990136626430264408714995164025787134769952786081052240717043401457536339833711071942434818713480652467038106839667184754162524335118495912056815027772928292731813168087648228446619050486685689493837793720322547384738832509805273636324"), mp_float("1.363749293110540963154347880622610393550620821909080224122585519856346824497702570275332748267097707128712724462495971064443971768562387498127528872770174195699761465620447134093910258405425845140850501250041608211330720528998667533562383414503870863890078491839953931942372164951219652116218993588751215167192132048725175692227505439866475808813726408244523483239786350234335321081245324129092666717")),
+ mp_complex(mp_float("36.264348541197926999288025020116351010439764952724865831824037691307981905915012483781291812995027912251181243862444245079066001695931242334589161979659964936587434007424411846211257743012511681231907260572531535137908382412709150625758014921032451624961499700651440852747718214710786937175871219046061843505078792529513409076220175027538514239048740444712602575524433671875897819334046580027991929748"), mp_float("1.363749293110540963154347880621347293184828532250027989853226161713570775412963405211467249283497518976777317928210905141524516490895474088921423997731318674058596607558048510810790189780349415714594292580688557853685153991561549770729721684532604981503804521517149438297395255322271950036772331256604643535582609889641871088667932675797835145772537966155696346824106659089724056182044087562006226398")),
+ mp_complex(mp_float("38.566933634191972683306016474800686479037317951637625919556942815377203408378186701369582769222568551064342068699334114824215957837487817466571765217635745157930943373267682571360914424551162314447813745355695883677123545008099242158719765944342994669491490424046029999430114103487206964013735514307919194759322035219501819868240206176508703216680488142414453753697626644193864096679956373046338877473"), mp_float("1.363749293110540963154347880621334662181170609353437467510532458142397954274205436355771191055198361913375701901309824614509017538778663377631759753003676094011654263844929041116097093562952225652454166995999362915516040483537328967073786449251111306252983065913147645560537991061420591592921588147087725781566671496194367660862298467595976598099168764811560235691760700259238729050033245243426494548")),
+ mp_complex(mp_float("40.86951872718601836732400792948505039924838395536923876670726648856569672769935970912442267361070346515608123038907802211248425436885223092999116817933985281620108910217992243584652279836639631305262371608692475875410668816223276438973094624889170956690196507715022300889626034654527949094896500952487745908315835237247960931356646612901767551340959860861118676674189283865639064402408190276091567134"), mp_float("1.363749293110540963154347880621334535871134030124471562287105521095687251556753065609493724732491946260936984879957864149495032415456990197516500138100495101081040521211024902302140469322100334811919496394954852721303845058840802600915328954724908057940192926354772454722376542143156889017911380830277526409853505403745807603261550636826837610072243383172442995019418566099398622172536013760645263642")),
+ mp_complex(mp_float("43.172103820180064051341999384169414603975585089149040141451764347255477534895221990866622837669465845340838608286193859447686166903529782095426435161057656655178626618838877085743612626978167592801937180398581123153932041709296952123842161276208559424364330340804203994368488467702640585876855516280266576174496096391184756633707995566116996107784857533009800541229890615308797810945373719385059803626"), mp_float("1.363749293110540963154347880621334534608033664332181903234871251725219044632127935422925178018690839662426650953145601363085081423286410272795321807988109235295596892330825628831532541120575502108679699843170385986159074293123049915852761361922243153426616466480842466424717547494203073302313017232515553811491815187486934780753318680610416814163330087108526848650971039272586115017885930856408526837")),
+ mp_complex(mp_float("45.474688913174109735359990838853778811547947574229323401472203947800272226446801776277305173801953402372802783512410373100386093618669651745739733169973117040173649840057576290731925657974672653268475484777524737317704578185227599830137337453354663416851631386399604650900521988233182125493191339110321034384126533662923967132526666400507744691073667074751163270383640099968712814279018457447032158241"), mp_float("1.363749293110540963154347880621334534595402660674259006644348909031514362452891939060411581974347771192197249441435532348267919138413852804520877790971424844894728151872380937146770597685728729577066465375301548841077813993752450818167408187569741479888438909705224686151398300679998138832264002117260949045428066210127374891327698228556712312349435731342276971464228252296382113236081153012785741963")),
+ mp_complex(mp_float("47.777274006168155419377982293538143019148761672822611480345402965763617056942886433785765192512125913063457688316026519955035381404943964668109703310190092407241834329181625671435597838950331271697071100110062961563285279594795860005920665152442648557685658532223438597862093061533790939100087723063088852875230847908660983626657981098247713824502124420447455893948395754874391091838124589530628711975"), mp_float("1.363749293110540963154347880621334534595276350637679777678443685604577315631088580122280381222846620001754530996401609697194539574400838307913297832389677118606683523319056195495492856216464514066335703945824564889988912913918557956232365963594053934868372585740883715326648604732328758778671597632431975576655818833587586061535156688495254572561786869535291104343608560821177983541792264487370619973")),
+ mp_complex(mp_float("50.079859099162201103395973748222507226749860287551029607407129577901147388828426234784909097334160968060888522281611016596271783312700616532986129450523260746697089078317408709281214426017783573729209308567489589789145361215349860447499700065524385374806839233248087127432871700280063062060207978906694933832122820918050211886701150764071204539817615021953948926692539260523888846416758113109055466065"), mp_float("1.363749293110540963154347880621334534595275087537313985388784633370307945162870545433001618608852502717799529769508278688909946971453956847261192791319222422566456500911115332829847071581528107853358256360870799079685351045903670731052062104989020726659647275570625723112836146434375776084109676593474626336634662644265261318489507040582252763832546995723603183088871106331051150822729575127283173374")),
+ mp_complex(mp_float("52.382444192156246787413965202906871434350961747440799034950741465980419575727860588228436811628243257070864134441001816204662105047466241564800126516953960879883750667455517984570214038274319206848579216536319741952285295878330280022906549358306945970786798357818723303486659628825217363360667591632185883242610684168554501349429507827982678042777945840375808040046687536722531915558816608519233823132"), mp_float("1.363749293110540963154347880621334534595275074906310327465888042847965251458188365085998841237651913634382774699835101079648824081777470844888216344147611479088107082123432738482394251811601514645241779155776484081697591293964045455418729846372156827940222531423560738575299498340476649831976205170035364726385389450596225493232843888597290011512510902987801623361631723050749373230177536234200713362")),
+ mp_complex(mp_float("54.685029285150292471431956657591235641952063235782181975499172206819109181177433887196509311714107111281822142084220897504670928727962459486333928604810023136483672555391002069200636946188410439247765219025246264755907326152845927364301304828017833262794106721235540554063944415392225231773955484436649743815872448918240550700066644945186704315882173707725482943269665232856161070439510167859389197451"), mp_float("1.363749293110540963154347880621334534595275074780000290886659076942741824521141543282528802464965401678757549428632628879126295025084763516859197299249425442255738997151198398251218518040958978502131278839445555690042293183273785598668004042152193272557453851563704625317872356399790528433330643118978226355530236159221013941907194435728399641709435712948183191902116665215581365242981985185879901129")),
+ mp_complex(mp_float("56.987614378144338155449948112275599849553164724408081051177651136185392960812508575619827269752658487254076059377048450643462132124224671979004476858489616980775443130482968935731574748920580967892794733589026530481821457979663284341467512117777442840340612057649736025418434871316724923790282925452352110448893100044684186751477041443757943109006009863234049621020309055954202878849531736190514087576"), mp_float("1.363749293110540963154347880621334534595275074778737190520866787283689590251771075064494102076138639108594818070148553583078626742735056749754340293359766048100838799909601549595451541671727655409743686458891271469626651628409812139535960627819219579337161302024479334644593211285842955337955544650058515180406980561132804058785763050259749460293386916909498708557225325522636322794459561539209380456")),
+ mp_complex(mp_float("59.290199471138383839467939566959964057154266213036825288207430547436952682189438277937697682371746215414553864374941565519543345937114175320193208452382079746802305741223407026454122213481860214964423026502115323147584532309565050468940207006751453724237769056308904697159544669988100374832299644077371539884130643048281191291005222121363984503130832078530771862034238990991730178721933466990023207342"), mp_float("1.363749293110540963154347880621334534595275074778724559517208864387099067909077370382313755072250261493148130108653135625060745815612381404113809688853038873771024346448788460862299024350958480903026644420734582402385178019941123896570299820704763738806171471587973131712544868636472042152917799680166520495831450289062219589832541642868526204369657801506030277685385223721872517908419551092958030567")),
+ mp_complex(mp_float("61.592784564132429523485931021644328264755367701665597976850722963507365162983786530394513619536639408044610969342746192960699350072831898532957436503856450408479783151202984688547768504335772960862427412617471372978624114695313642135421827408722434389136668073018398397642605428404739022576941092723041188000112049207738263579672722548683272800008331748387111476203358016215639402380875970079090843283"), mp_float("1.363749293110540963154347880621334534595275074778724433207172285158133162685650433335491951602211377705994688722973390387760061265916724732829607434504949052683174740482237653505010043623493046210875130479504449481393499098502567855200586515687567605250278030379482425173025408961288297280471990147640214435639830393606536147902524607681173600047008431170326244170517358494204504100582491243319984715")),
+ mp_complex(mp_float("63.895369657126475207503922476328692472356469190294370950010150509625966171372308968352719011946990655329458637016359221613200872300799770139133728551403000718958153108240903539618207191271048699036693661316969369943948171389467045565008250185943918213201541141996061389872959895596835475963157526711325594715388821464914217240404743033315335162859673011812331414271199854596951423847352705761499022961"), mp_float("1.363749293110540963154347880621334534595275074778724431944071919365843503633416163965023733567510988868122054411665986456281282369845725723124982632266637752639595502763794064369953400137866896587623645076496077216782981663212864173620910373584257681826416631471928416440920072319379654671280070672781730514030678979061143611561012000247067721997284981677977212440673758854016512238693942407478607612")),
+ mp_complex(mp_float("66.197954750120520891521913931013056679957570678923143926014739407045049065036773148165938298909796483160855219794000945206424419186709045415863610869813422495924108353132385075619267887476409456268674375211515050664328608381010952720110734451638995131779980928340964155085073568034847683227116931634977623095186711248809876787213381926942712145151634863101830664093169154089595710051871940471127681654"), mp_float("1.363749293110540963154347880621334534595275074778724431931440915707920607042893821271319051387163984979743327958563167356318584003679958328783637205966285156598876862546157238035609891490884867145793995190177795918259439214560109719246971767448006743710807704492951149541044514618674313102063890045106680077202991079286375347009636971515423234830475150068404093084802646506341132368544205124606857176")),
+ mp_complex(mp_float("68.500539843114566575539905385697420887558672167551916902047779917977136777553996745397707724818126856797717291823630652810148047176145436619517691037895573302521973351130564279469616950710779159319691198165714887141244444574957848354322591270530597733651277637439736953516800279603419947516719615214077772846562086612611786849387207767912796203873723263630587597685171026375548954463571327471112476532"), mp_float("1.363749293110540963154347880621334534595275074778724431931314605671341378076988597844382004565360514940859540694021140190812892228960580149099799321785453833690165647759619058246709522223399997516648342908309349023678560014470753787046288531544015930940146976612334116667444476011557802734152081655771409011238055353199375988363914801128228791165323614145038987975711567815818079352734093159898227974")),
+ mp_complex(mp_float("70.803124936108612259557896840381785095159773656180689878081104945044354538259747936803662652115912475892634018745790335023682785262702793752630035050669137708447654150083775868126301968508194110415629717652421258590375818315973840541335217655795932763881623573974866241837092364036486436755868322682165527180476634942028037187484515193058028222772636737718756281101771732062740420675227368583027207843"), mp_float("1.363749293110540963154347880621334534595275074778724431931313342570975585787329545610112634097142480240470702821375718819260384704734280595252386900500653737681383705208915140689901676324672160521586655717116294526289329820035395589705272422958933205496220140322251119903962717077826821294836792688689882822090923708644101733715393415366756282124656046127999635250199120539767163182377969942932391782")),
+ mp_complex(mp_float("73.105710029102657943575888295066149302760875144809462854114432817272923599447384404151359434427592647442131292216875317992792605061159969114513980604076235719997516256716880211114455053901401467569403904406486431857793859209101024856077191229926450205293695438068489506636944404355945986763859016721154679146764097758970915275907058226901113890963982455403932294064089515931819335292997669243354963902"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329939971927864432955087769940392460299893466814442649264605434869884431369689136707718883561437543017916300367817660658128215177764217919367985379593748243091140688960504354980382883461266371265800764173885528799074382783661078519631722307054104673170578193322664000808622005804167434643203282726709765376832895533008582938205211269931747")),
+ mp_complex(mp_float("75.408295122096703627593879749750513510361976633438235830147760717953106173639839724258473635289411764516174371153449553969559123373797235519542589874779887729550583266741750515889005103033295508051792248006032565006587092447973743427208585448541253833956597178413952065876514378802639199786251639926173567261721966880419807524275199142129076321572672870867729331854640202591055318846812909506286346514"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329813661891285203989182546513455413478089996775558862000063296603737253834515284493206561650090111716430614334040401980325087540003256576688554182407505506525449755720683513082861127581544686154951775734790359362667096555710994705196779521270067756185759530912277393324488461638576732710119773000525589684908483660236244876933186306575471")),
+ mp_complex(mp_float("77.710880215090749311611871204434877717963078122067008806181088618917804882962343232893182010336732271045462908144678682476402218766346008944288731477426694300949877022109569976984843430064825280167136609432112316268548886388340562829895670082217713575320425761800560300720917891830673378760873789572144930486620982889643826395112040190655890359843194019603275157599012871382933869278711346372195414612"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812398790919411699523494279186043009871962075170024127417875221074682161712939491955666380402594960423974694007798990708519498871787497144646580160867318906249719904805722403208392974066870554492639370374813684220202916596060906810237422661298127316012539242859567685372644614879701407194459310227430943400510871226577766649100653645079")),
+ mp_complex(mp_float("80.013465308084794995629862659119241925564179610695781782214416519885348753636147223413166327125907791469303899716454359908546079930703374409842977011962409436869819664400449832793564982306177668427882421767155889654021578585089672374670257557950647458615184258355510998920555253839584313293189333826948955410031743996179576920831443165530194287112451419354945674503907242806043156571648969597464169178"), mp_float("1.36374929311054096315434788062133453459527507477872443193131332981238615991575377662690375684334930518978172816613574869142100724805633499517098129524685050066238861960911932950347777206996478399732082482950629673857266019560730120252703615053603823031117050586817974831836274539522049254038854009406353724523430346628186257895245729913040250166812309077078495233334527821157702117894079108198715768")),
+ mp_complex(mp_float("82.316050401078840679647854113803606133165281099324554758247744420852921075923464218752003403332501862032090415834035502829942948752778926743502364678677870606136859014222507255639730333833871365475999098392285914182001679213444710045324566479744694954083231924195925906146150013221755930757733988611131962461054187099419274988057570303811236499292937814848921927404421677019987081836880548659867478699"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386033605717197397937851619922368142959924696096864904156465109790076716994321682577864143922557161141033664892725694401441057751771512979319992026606326411286127184017844664429300651131341630034142527344863022606152422766678641759718807055619918037985889291477910079952823730128532425436836817362958928401496429805812025904724115517")),
+ mp_complex(mp_float("84.618635494072886363665845568487970340766382587953327734281072321820493682726916344139029007133270118096266387197074700406232347651431660955937573472824415321432139520141742648852579154851131899920252075379237494826442053834122238984928608046110340687318372875615688915362475956714701526461772140807859804099771201498144834730502282467327839246830582090807808461293226869360614885814791433736700798473"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032342616831605648192567688098772491706661396476066283819688407414134211455189000567801249386795982310365254835393929925417650779255105952827845113308673675650645197747092990610956482200079715292354496324287935154229334181902140885364683552816185056560503627540051248567139588770412798090219800732869254590581601621160719153372281")),
+ mp_complex(mp_float("86.921220587066932047683837023172334548367484076582100710314400222788066292375529820826536496209980116015456253112568478529070671850850166987161549955215881800796271914640852008388564441466437773080897241628979217043799458457786471541948693200954258970864396054215629954422781006392548976098499404995129899053889927769206572908577645101838719075318878144326926436234110170013922929253524588174423466145"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329985827947725295977165756078787024481049472177905093234193587508383626414075049777174744515125665728014157312647240778209485478850743669673085363394573056518442888779952633501234320894624109744874606912881808419547351418228313088370330175065368807820953271096283962234292508154088078111067600875394210886737596582404904477578")),
+ mp_complex(mp_float("89.2238056800609777317018284778566987559685855652108736863477281237556389020525949110270488041394495313531962579735868024573744853032763307365734142154374945588939536849734619978064430397008144145957405728539747578695211512161306205556914729740863317251157905992635634972323077323934262579704863914744363666301893914070561594021786274700995597097412041807069268749493793868018698179672045030940731178"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329859517911146067011260532651849977659246002139021305969651449242125348126314795622427933301259378775901326101916586134866768512702823930542712062540694091641726568644294684609693215894494203857529543502764396964975093513627311008227313818829298841796500874521895629556452574407714680211381694813053615946518698579307007870244")),
+ mp_complex(mp_float("91.526390773055023415719819932541062963569687053839646662381056024723211511729944517362691160257446540865121764224060371843732953648232571063167157353447503549485080235150101763712162437246078072825622589153031099473045750401547625662686607224881054138417248629699617630909956749245538037992622368018660051469722099844865229509378726808641073772906974740382172652402621739996877628981623693249136885432"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858254810780274721601480417580607191027967438632468097006027859462765343437191980983014582641610134329623747366287805653646512638506196386653464230015093621299574053147965570029348049076007397214706145982672994522390604016103109783585014505753130635334263373674789867337157313687123012765184627647035118450558574735106343832")),
+ mp_complex(mp_float("93.828975866049069099737811387225427171170788542468419638414383925690784121407296968859684816857328826318789125488428493684671968542114112155532719280235397511878111844053790396859779144971070070853558141973170479910607550577589965878899057276278229086648418764456270803785916810298566862894324360529541817457660144003892540125016815826129977049960939445671976608586348756415648741265434220308502363056"), mp_float("1.36374929311054096315434788062133453459527507477872443193131332981238603232985824217977661679870488989523791348634578709162857971827957364563613951560841594445857565039478453733670166641654052318323732315482273519141640276037808962015856035781100673079084068818435094680191159848074964291910476955404290578096869221937254028981934969015298737719563396227946654281839504486547228345510113954066257331")),
+ mp_complex(mp_float("96.131560959043114783755802841909791378771890031097192614447711826658356731084649448808291986462029964531873905302935561050156788901484906255555999394911070324090110200605842379536762527688078014226437320473487724979592348680731194906892451556830754215510781469180245128382658167822492383710711297734443191871940613347550085755735649179116125168924373806567978360063856037291840585873243754113704037357"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242053466580219475923990014486549298965288158540834492309103497873257330128184093320262097810216575714725101302625928615403463037596551078664498133066558745056446904928306720936540913353876916406618886301736953825122160778376036835480591032062619859412173115569161571202986295446502777964805986321350146251850734184594681")),
+ mp_complex(mp_float("98.434146052037160467773794296594155586372991519725965590481039727625929340762001929041415291196779291272552859302944017870887067315510592885655856691465620924800308319404084104995125271925195138918960631539638245398315685025735132086549724190724539702488056967210312853181229763598952806997076669214216279419672716733546243710483047735161579869275604687763749469616945639044290644482236427504275952967"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052203479853683634330962252279928497070123840445654436458076490594747345306489667707114943022761625749916099672913626192483340050334272448578745861462828781198418372673830383234898390904330255498590875812991665562951027698239290846164677607251146127296042466291503325961597722841969108700930437684632844809776297410405")),
+ mp_complex(mp_float("100.736731145031206151791785751278519793974093008354738566514367628593501950439354409277383757282829099898507755044807488586169800310082828441056479759838960303395488436834264698492230418346990374326867003401078001720206749183983955519649990215042876706324036196332880215528465292490012831124739666480216776728526001707668790254186699114631848270579611268341990039227720178623606511021338658326492139451"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190848850025711434371729937234792387943493441766057731622276768121517477713631181565004361078424212253670438326072056074364796902621346135698312936383088231912569367917034950125274414417411421022938809538051681420818552744897282157291450361896859516888703508558857906555547456649204092140101153310005863616578934193")),
+ mp_complex(mp_float("103.039316238025251835809777205962884001575194496983511542547695529561074560116706889513380674982391913343315410204089509440398057850460529485710110485930487569769518374250865628366784081651489338543817424532417613491444457654608310441201878808726148339253872810150431590799603653052460548231466522834982181000152955245943797707979718589137007637808130633910787150436439233874922500966472058804975705628"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190722539989132205405824713807855341121689971727173944357734629855259199425870816309504963462617690812255088259690774285845126540507886807239452083471082649226109241082942923424605666319629395196786183296298073874887388288024791537343943640165580122670478496734323305413222369643863531379129834298279724929920899411")),
+ mp_complex(mp_float("105.341901331019297519827768660647248209176295985612284518581023430528647169794059369749377877198089856836311592957545715796015770636296285185256271288599196715021336809867330771699881936234101425743628475178322418513484664065059844985900875347366615387386040558792263135844708561612383943606170628338141371362979157615013238637002775678383158577523271363316121849784236319002803592216048335379431198837"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721276888766413116165661573585970653471937026785106485089208472596616642993212656949969485359728147234455653254910893917486845103972519124460636405197838533942499605224507303114107314045196945132815871501883256485511700894035718733313101100091844826150644227725150962356598363658678020620073087902520556697808986")),
+ mp_complex(mp_float("107.644486424013343203845760115331612416777397474241057494614351331496219779471411849985375082258949151629789660986943664006647377974586621431351357392033677679061933130465794557168574709700105572781837609138275062087502526358059321669262169224628580744277122758038469158212441351476928233471465493483385719423466267908601038669746492484894051731192084738878936932174987294931760544536826449363126616651"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264257762755193269071051243276948789756679781218106362754258769990815164436620424419545587038530839188679279975054940806203850755098273827681650685313951534301976426385392313743137259128038304308126343846726914402609026436695617908766994144811607711920639486684174979751197068870975797322747258768319432089192")),
+ mp_complex(mp_float("109.947071517007388887863751570015976624378498962869830470647679232463792389148764330221372287348260059936272547869101029635829124258401503482911932748475816361290417229914078329058623533302640701511291580879070074265702112172974592741044329157902678276891254790904644538554905500899844269573498585100934468728382885219735928330903790806258130764183491684069525129521016526639991752777450668936384118992"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264131452718614040105146019850011742934876311179222575489716631724556886148860059164046189311623676261503475434638830533657013793006237524403799111803338062671347117002079430780950632494748777305338850288560319594876279091574204999955793300643953150642253867479324931733794964414198587939713727120151118586319")),
+ mp_complex(mp_float("112.249656610001434571881743024700340831979600451498603446681007133431364998826116810457369492437855484377885482939785989439196371931671630992527162997448031620700780207150860300812885917416635909763767287083368280318965381417805330788207401176045159722981880868175931005038437148369010479434700920276621627569200088360063165837233958479740591456240566823874670200786625690988149402834396775601557496994"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264130189618248247815486967615742372466658276478833737617071210341894303365982455511491195334354603532334266782755563658880971380942325378591325765665393391190285958606106092573832911742538522411672917836145986723052529502460008250656942668166893704684448004708363910102546088213409285457016140373273117880185")),
+ mp_complex(mp_float("114.552241702995480255899734479384705039580701940127376422714335034398937608503469290693366697527453753980849718492356225184305474618836310956722939795345547645882961973165527254565790437135746728288443821560910087787998189683554693136027431985378755834466443812245875473522635602837118200271048371146697573569705811477303697732757502005093832427950072316575805902668230596217530151904864847814028508068"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264130176987244589892590377093399678761976096131829849238344756128067677538153679474965645394581912804932584951176083079556005899417441957954923062720973660621798871535616145170823984949567832126674316939583647492755123527599367188832431052717881515021667336547104803403615558315923657904765767210546213835884")),
+ mp_complex(mp_float("116.854826795989525939917725934069069247181803428756149398747662935366510218180821770929363902617052052035427467049745313688831995856139936445464522058732316678722861927067973058138681378210908703016790061382277192128136395229731903673817122697591297335687572042176441982715954650988417184152013620439786360860176380522893714254733276500439901158001886371919423219315417101372817453416053008778275736506"), mp_float("1.363749293110540963154347880621334534595275074778724431931313329812386032329858242052190721264130176860934553313361411188176251824929274328359810354557491585929411279875391714600389895184185897658557133885782208971698524096452699318641207894581159287728633017362592675391801906679580365050724636883053994349356664209027070371956714750443707127462296436431524495372760709901603893678146667430870683786")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02125_z_acosh(const bool b_write_output)
+ {
+ return TestCase_case_02125_z_acosh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02126_z_atanh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02126_z_atanh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,112 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02126_z_atanh : public TestCaseImag
+ {
+ public:
+ TestCase_case_02126_z_atanh() { }
+ virtual ~TestCase_case_02126_z_atanh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02126_z_atanh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ mp_float ten_pow_k = boost::multiprecision::one();
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = (boost::multiprecision::euler_gamma() + k) / static_cast<boost::int32_t>(53);
+ const mp_float y = (boost::multiprecision::catalan() + k) / static_cast<boost::int32_t>(53);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::atanh(mp_complex(x, y));
+ ten_pow_k *= static_cast<boost::int32_t>(10);
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("0.010888039538300914462425507513143383837824511575385076739857668315499899784671319582947916281886760597154556685543665676238377231209119366949000327908715118426225518799515862419094593477367150728963907411241402074637772892524398011256330894959363082796814659131474018474236459346427379517356725658593433776842700009807759783761586394472615438420559238990389725959339461828598853348471511459006217050139"), mp_float("0.017282698270953502931578076701349980708438003646496704405385770647491242765159234023194590894208343112063781488343727890891759424087557358169141658397508968499614694429360752621133837534708981665699708894518252091661107088448011272503512220390844260249038992780939362395300823805203617318683488079802151799918856168364455745823965602207898676005042990837736440452947148198824643074064881544566962905968")),
+ mp_complex(mp_float("0.029728667374323112898024835938496450203648814501710369102852752639162115157813582586665124359465373491802557256887373602635341926957744078720948792982723913802459304163490285400735072164382090224040327289620354487679085666957720685463362311915479384917334976935456615411993725428439513479573102018847274944766279176566343500172179772635331342240901084414590671910400029408913999271301384511453596330801"), mp_float("0.036166517821665024556505177607300952792226612866245563679670077095650790014627931969428926817937649403485606205911336911758103771189359920260472824013118993856952314438436988238243193591137826911740678824720755308173751894711419505331300652245329635279050677346399405670784345872767625129832195569340784668390228363512205727956728037652797287129552911826635424680452494766295203449593465299218672941731")),
+ mp_complex(mp_float("0.04851764964785241791896978387456601904397083159776519656208845469683132604945341298352029616276046499787790017621311176005352167656603183654444088189996586750207709760610338171303686688093577484572696921532071633117101865554486119584175934410880725939970030908690064713242445861798766125104637853200026190372881105024877468273577221142012741181315055248214633441236324916717059172361657564582317507273"), mp_float("0.055092419294046267816218781821991675471079247724202351940334029699821644170048077833045596182165267083969795812643169602557783325226550361494415158802969424770957645874326784737150177905849418676067994277633416971666954642723403111017642729420186932283114583642529431992084306677592993569462977958901095114438903534411145361684467839883661816077448474549537659531036327711195129022334596747999703224478")),
+ mp_complex(mp_float("0.067227609609879341246012409061915701674193219793455891156179985992082023871865234324005265668018349458144538900038302964243766798841241056366973083665787298987934363516408861847432902621063822569119078404413272462608149763317176141300233504346132472514110164887823788945901257648891373306695077497471756582346273688903333614634556212930505578861323847650837522748039846698668242052896274399968533652635"), mp_float("0.07408657372433695273954779071558877876655911708961525376796322286279566085814625876268183030653109102355192611517373189344816527177741545226916352580890946621660433772885346607361214663540868143956742910591473775794087469281789200987518627233323728378418509733112827151290089598452849769475257995926807955801515400031284328980626576061555979726418377780527860406144179957866781534101913919046984524564")),
+ mp_complex(mp_float("0.085830601398320394302773763667666500466445968485322672682477058090801820422428087140852345486164877998654680481101993755039078994942591380920590558029115216365320372537043520636758469808964786408855134690095088841527346244796923107719477033973685045756281655493978723615284337615224317142118859141869916453041979942241533709734453955828746197239663740745697244691631997943255682788085517636836593225765"), mp_float("0.093174467515084213702712393261021533497930843265367775852377306858181263666442687011542872019924169935629517276652171691339569318248266582568550157937174893456623625828902637344188397181942684626886736096433691795200848631352327061399498775199786301031807807064141064517797214961946985794702273222469222203569141700638928937136684596877311418935066984735867895591477984717485010288406233959500064874618")),
+ mp_complex(mp_float("0.10429791082446324593184198248789985414285448500354116539868085290448978339538338039927930089295280675540152148307533655331569883792253030512525552442914698690727977084066271975803752103062288682851673577383470340379426185330758164021803828076222021713588264380417371358150882896308708654450738509842349163992644898315822374094099800997813727134294591906863266453925348474907326891823100779588392522319"), mp_float("0.11238065012272520073452320829186946617691188961304890092870030951264656598766505002727043644341993704722667452141880916598929415535031263906144815189998040486994517347190003930161200260467733683978866472089792384271343228478696985940133685846943366867019747545666315279596744727712780772660879519595602498639700377648038832817617895383683272859956679109710623475133064260098937226062011241323763251351")),
+ mp_complex(mp_float("0.12259987687815101721348550285500500376204102941292858294333894253671366156164563943636138415340842268664544089700123445912718445775505036798931273629174373398083142504304730929886702984562927620467830934480432124950651308277664482193855697132703192984531223184583916656592631122961129371306861032834697478695587377241507526067640505947076920626227104260871354485155411784215411391487802904727485670881"), mp_float("0.13172846640896352034860224613629974894562263830513815963136950875435500048222399425026848077555103127310107561343450935163145646166459336029044579033866201048880292706877716743337294331576796558375304250532842648485923253516539295942521210062328717896326772840454724711927130201364673050041205131420886153220086017439334434436405364068492091827084059717281172409060908141105089117071977360808966988986")),
+ mp_complex(mp_float("0.14070574028998813029273638949056520835358620435987175533109891374191173455554413910548437985382221626114818323060055664199771777318979647060332999614242689900197572539718078401687257910270036175303285496007545034708495228345371567632456846937125488295219709384670751835136346787460670168495841060893126701044773734961598850691032220302006339904588638018125729388334851042289996831569516470414048939342"), mp_float("0.15123977086413392652785999453649468063987227088716898450335412902997405501370331243211540379807619175249450876313326649979887746472246998062547906845043846262130801702356200395654717937916745153393608991796544585882685054069057565970664956353613790015060528891330887622129654784331850697910159778392320909042526428693724071914844117950726488150032649150628097455918582150047043080898250693783557010138")),
+ mp_complex(mp_float("0.15858352609470982178770295159375346372818538049410433939530566062783578202881536047441198113764458210648998389779954054300263697130648889626348943664530903249959596485866456249727047085243549762554403940318113095809165005640588950754694781848313807734291120377719960858470614955602118509710757332356381415731592956446052792809333651340971481636308242392220109616023628556804641794594225207381406591616"), mp_float("0.17093462205205492461085527360994439331097281419883373114316271427068786377139126757866583950268252636789639607120737332401398272375341321370567178754852980710509658538241814654475028640787436967081041390511008708868721484628708659678106615726506774885970488886847217910989966576277318270758011219174968325603220736236241286399923695504837521239656672395165372200957194071947284797518045525393684279355")),
+ mp_complex(mp_float("0.17619996772307886271905085041925592908803153637194579593195706026385724775850243442233606117310082199908368210701744584776493327667468828018556089416376962604400242110186763956138543535652306292306078005189550760210035590130904290012811475473595150969347251096813961852966458258294993210061589022889330439809376888420862576866036872974044186611499880355125551903433817081207411037465500641477970819289"), mp_float("0.1908309570759138668026883623139673103280309492865882147586254980874017450060526984776984049142820634501358189404597007693667416868821422472031487312971871657130294687071091723352666220520750183193326738507907519482127181711335619710052128940817928865240566199197272349403484881769008513654016228037667800501367528782763124265281258907197906517409500340253160663870537554515223565765395290784921079853")),
+ mp_complex(mp_float("0.19352048061196528398804606343280707569177832673759113163186915936074695757348050232447646466142081585434764564423671333528624048724009322174799530714156518789045764929368428572271180440635776155557587440836677949137835822545819987925579228044163053405228108837016542155542446707199811310661451857386651722851533111127124597014886171902864273990373027098667019225955032257878595801480190855770208035833"), mp_float("0.21094424764355408866084598739106564824674119802011923741165886416018382744430295057561229469254482318293865157473367158743146688871748164513904990718583688321955592534851855590418566663863023696694198970771272728943186709925716216500975121920558177979909280141384243922618629119190961198825668453959078065190974185729441572467888182901669647129264707091589665288923550933380733078870697028984054736072")),
+ mp_complex(mp_float("0.21050919354446692098076582103642102855740876508098264443058843470205774989747037679677780295016676928232917166488658234443250602410777504774867608934636417317580349658183950734538833648466806448599043146205627645516592638033232486358661500208298595532785805820000352327034806676410361956625257066553524197924963775828680986485201590022360682782482434302932549233234456765193808342243419877016768957826"), mp_float("0.23128714141978478647846944447468744004424350236692282752245142283751092536746147065331704228714066165369271992793346935068283067729195310438224535791704612218539260567040683010421380869554651387218531739247036780228376156952504308168120968235408693234745441044586667246452379757310305771180643561306763085301842658901296989046993369735659172243071439250059231219497707184882149646877453030885139413538")),
+ mp_complex(mp_float("0.22712904577707390317091001295698043761654449510993147928269536641438870143783888800261234036695790186371466869883662233594313332744697831792729296352104605701078249283771922433605281761654643528225724896104044186187239706561103750125617523727953064971564324875714546539806354079545457232924524939607737955369144881339275836681133411663737308984681679764406041016690021315835272961048762252670452542219"), mp_float("0.25186909476514138877528755491008763691751848649687037218050465864826016629839587072166221886561479730661921068947882422417186568088541394290660223306882940370796464371030224609956752079722479798101136169741144956145344868308712433259952689286292712905081591888517664826571326087774499022881955186375077778460015654998089849364016400698196058528666972783946838261479871594794808840186096931011811217289")),
+ mp_complex(mp_float("0.24334195733148120150723635300930572640520638136948905825945226121637618886182753643165336521283709778778863405895045462983871919428042512828270843704167486637562782765117886131590662232182916624592973906844862826819601521060187062467309927549252885279852757877024571463160750498720152449532655054399254832059689978317810106239998240950151409994231627305945308912067520157284864156277709110901171538398"), mp_float("0.27269600560565332546532335521826171921675136770968759844904276740264318154767514043866424399014628319987935811513753285307475296368926478418749591988990319956460896517388185754133140148699556057812157857754958294114935651668508158655308811457610595563617842578691780022617266458536523271914589070351789773156959573127895980329498795736784572024173475632895922132889485393364218016428803598953247982319")),
+ mp_complex(mp_float("0.25910907847937571002577862823864701117085658234626539867801679389388820046695973520350049311628469814811315334805151547882094712962947724104695319173258454285393962555445746009685450806343008061605452104877436897187585534406775092798827255205777031017783523580363372344611249645550853741843785913855204029389488908591617319579023400342725099843074825348976195070227244224727210916359031650869275139981"), mp_float("0.29376985793503961085560048657950780751036671391553032561583212918708077273108756630740624996790934772531798301757032390348640752832800898478089990440078246053838869748383400920512579564722969364258489478567426545295024330880718881347547645226494080347112888009264652493269658358754403487816364098516674231022369658402939289195880758894532361864549877731308136238878399457192772043568469629340106247521")),
+ mp_complex(mp_float("0.27439112230491615498764673249417978917468091562003422852795705206281404420770475132623483086457608149621257742921172822972906265513794823028410634197777198105936768653779609633420916068075760233608732805526453748788700051484208664418762272797249905053828790740838384030017908412230358836862938603672734453863668168698645267321274062036504872996281925582787929817928983343729001041909129470782998981733"), mp_float("0.31508839213765447425198468388702662411261169797863627591196876975373953651812917310764962825577482909829409785791304889268152228915290209833835594837219932513755960488264281526679209748640001818405672859956239461327324130497702859662569659583402873765604596661439218320486290005988426629805859317137429889439321117596431181508747456448754924602143105406380805835477201524351139007956970068427310223574")),
+ mp_complex(mp_float("0.28914878121257350433123936024690760633576339090237384243933241799707946252086323245504493634736134301567412107661069667981534575887042689547458621819353313188766935049297829250782076071371642825820944733193165009491991581271285522065036217392154343809331919961116610538973533550631583719972138131840125067690334855322618300714223324376675741266733603979088201664726704078450673325503085300253568354225"), mp_float("0.3366448176942097704759768150852570309233596696901125705758042198551087875095439351053369247208202027946408674333853574271284529277448309451615107918681805043237818577307101594084257969438562897225073611339571745526647354651135387858395568176087067164730284364374162512182503145446738348581623913318233011430340977151963301847620655668192002082109897007919735921359263775702126626129292700800985668954")),
+ mp_complex(mp_float("0.30334322435208046679757049461240711219869544794463246777874439431419793847582699669873696541694790220806318525602637817967066105958724538703942603474756995599953630940194304381412080943972924320961503889662271980356667503401307374781866825906591839724800860148135468238807509409258910092409424317604189087632917815389398244374208699555544620704220137084978768833856710241519867868854807412761034722172"), mp_float("0.35842758659635194484246128052054700724425486393137050196825466213712493960964392653742747176975072211836078938444377905675511312199206475682470933199206812319038950232719248081200980352600493273841674141065287203485247386757474696020564493635445588429352015090194873772052023763632514055255638310244260209146703095219191597560655956295980452198511370710070291661121879655940770241692265322276667668326")),
+ mp_complex(mp_float("0.31693666825417901655582632797534969215139024010479387223230998209840270557632975184357352121492081456754875576381120225810667273267471932805825593431846607245136189099260536706352865315158690386913214441862735600438725415838257492065112303561823031433991453047409422373091538625336589593064831429958310484374047282582274673379526072310774309860064902838961401784430734381123197207426132281793932948037"), mp_float("0.3804202466220100087529652043041411254219971008860322895821758768107669905064268721594405284073013773915022325424832570461783393561011610540801351284008949453739279696293454427470060795028894427280273400692905863060569806251297029328663617077998911458531419729617170073081382531046379984427363480468044670827954153174597480109569579339214283725161004338922262257997622426090338111716203510625310107457")),
+ mp_complex(mp_float("0.32989300773236325544111417801647488662137470146365025718736482640557114612609688371652682269399952619702154801742352092635961290702800450899539613765810162171328326171566458438648937812517610787387622805902508307293669235036539652018744616684629590562196324613229947463883036752301154195640369965800150035302002004440677136749643462500267891333049402522353142298619792583540053797699853384859763859586"), mp_float("0.40260139318592334664474984886833070029012387623383667587349687375461162957493673820738396743222886104797415161414090844458805176203820365671751423807490174850900264119354312701300013940908234708399003939251470355451523173971753598629129702450673777550373689955075783099207429898408832266829637108915815064981153983324246917105452116432386816627543345636424327298448997101895433621953535326758602083899")),
+ mp_complex(mp_float("0.34217848866352458451593965998160175307613081356817673748457225622508820607249031260413562976559969179799713675110846503005130060328342616616550142934507748452552026956484091211108454385897144158652452201840784854270959643977173419593173431801880043102757394617926838661657581051945149518973915280884713223647232672765435570450812982670967510748829149559402778883862373348592322325329540921789793787638"), mp_float("0.42494473650606635022513355182228975432474633691674903288025437713199180977447331085293492860294211983357843174682085145876086084196868473848592750977473269519795820602816357492206436393828325124211707396505925703089326251396523774988317214961650142504741693777420061005519559751201283251922700261177448483757224471191390123506814799668075855575784874539021803589527251612662956626343054296780279624193")),
+ mp_complex(mp_float("0.35376239909550996794260671245437742151752680935677101382535085820683865063355386667686716163905392108201999201794824354917696011358501962472112649812432580598059354839766071585239969464653717217522273161614213501459200944426288280179729090277608476353399548774951670913882927360956940210161546755090971156555882593783210418568698807405177563157634042875261852367926947659616191950443309282374239633833"), mp_float("0.44741929715365714826470094106679685347887091636972528334419021900881431693906444243866020075992745573555194273633733353894983852290267287735169249933923051775942604711821996061540926051582336294093680563410506002352942403278615570315628578497232555700287225624631048156917271991667743948903342261775346806336829204695547183417563074803751001221890000872539454187275945556521461019330202478215988919061")),
+ mp_complex(mp_float("0.36461775081161503401602670648801820810251421920832255128059078085423370769134757292487217874412121567187670610007024482748882126824930864453637395223246883410261625452130162066501569530697605231388166821685589589505487183222399886508692486454016789436356894803830224054951404805499693181279372449110456923725896804529237971511888609986001909910058138054906130753279862482993625115181143313058280240065"), mp_float("0.46998973768549200126548579420104925484277782702641417435478379280456288952161856628230389223415735398020083319600046440918200212079685782052423485592635160788413012924038345578486041977704190164044865421639204637313240863014832592346090613587694596856859554383934287230055194934262369718881982856851780164009660471852061811979455431222525152989476356075097676221773507294076550914602487706266233313894")),
+ mp_complex(mp_float("0.37472192060540955768706786708587808580781642531374784494920965646925268978176825724371026859003134576456293938531293626603046005275926203044327934008082058540562430124474818208537059956137872198626887878964578996928540933006785344682540286346796919651043095046414624829774795366353824349352199020519170143798827412111942331617153049851134575068438345728414711091588297983793500451824174029862646771305"), mp_float("0.49261683120642639517994896889067675606471578377641537398747129873266477894641216855964100906811986290755541909953375743225955408790074467317304845256185771644110104123593719019104278968493383745639462154921470866953677295182611737734710980151058814494777578636221769258429842323646717413033635554724836210743227983745303270623532737208816172893347175781610416541964082093366129944733605797952920575016")),
+ mp_complex(mp_float("0.3840572196180859614676989786309683320960865736087508135125056094824724179283492860201703077574327161695140867682631974290131211171722997008285247131526038523387570580898516943866119296868967492708350529931748668055946141186094753974297228657753847068475042746082315683631060084114518500175999591170987966118474156181153539687111934977363142808887260098311649442121990376321621014310810373372729825619"), mp_float("0.51525805981873472507269167924450852576199963049351655817419110849449171945906219778117296193496425046954049889309875333486915538092690520228036204521666031065903540569640515730476633695584615283451637872347539998196007248589336620939149662011800564761052344972088408063965569702358412783768909973808873639546416420933916151816281965393021007156786251530872528429338707548299984496340716646849026649326")),
+ mp_complex(mp_float("0.39261136054347836784348625711899425179599046901899582808212653862443320788655442979134677769072168331022287938398000756561699883511273978197134206879549452910894223924273619937434058259056463765287065563107307956581475412699974875835211193117770497143914189120400152391935684946810319457076629967467463485746720420409760977363216697663864555210319790855870738404147207379317358723771096904400155654178"), mp_float("0.53786832763296172209014220200470326692606999306027071743396739574108784950385836457325206453324491205035260612198579411219212643189965623841728167493221265483952798934562089086761483808378649470753227997496010532985336403444152114171765675750347714652985054259517905755516368019515197392693474735121851063496705407098014407444778658217440499122639312679073354945765514595703600561141067954382220411516")),
+ mp_complex(mp_float("0.40037779645040254261271048318210800667224430028705176665204140432541903604653292897496218346087557264336977982196377887463044989966352115478598345413489474080038919559495263844322125745514294701297746737977581888852357045415808111661115933338435461621196051084012354550104893997070213387958888059038452151769933345676542556583499599076241066868376004265824342757521174059604580459839080043361576780588"), mp_float("0.56040076513496962774041968761165738105506206742778317009893475689198698245840417793697678036654687941977775197629401532185144767646326029517011412099237231415552452584292848773115683689174460093207187159945750655643872171714942972056707198139203692840620583202319106614066037030701385231175095516645561517811490663915534438973902412638242971565076784938061313751221542741339706256303730003486850409381")),
+ mp_complex(mp_float("0.4073559112474618477691504768859998111473370617573367953207050434076621456653161756201169614630747469885063545092862546126203313793430142853335872777270560643427883846951782564099919869341179706610305746762782241942350948777744746749161056078114397815358758660871171630275768117967104585061705815117236375555175900403422874926425016028246867415234813743418837917065619067523046260099404773891607303151"), mp_float("0.58280759506247431305605786503671631230576342334097152150896691139375611525386638744380848091151003300958160740122699394809654225830313581335279180887740939117261027909278857389609792442044006782242920812972488050256382699075485331139557454288778453355728640822585230309783319456204478677929732982205424385233348683986105758744692517124416930226218375343113403082411867806493695060070854024760378571807")),
+ mp_complex(mp_float("0.41355104995376476658764587573869174645498563921577732172657802672286412666429028462737162748349563651899495202215856462024657459537751331890918690480879212822489351106041862440818057456937997191081238097313542504523039913198086600248531049655329167838898773839913227829900008977976257395936939764556023863184207158672277506773352121399266492957450543867746699467416942201768276239653319790711167673321"), mp_float("0.60504102529740952607571886045774910419968159205316648710934416456099002032518806026735768512724325429404987775025024985655891615732695968129342295497623830179334871761897715228217665347668255890220887487056885282813763045709592870666624267756063940459565609877415191499350802252900638642498956168288049663766380477714650340633780201424114520871690221620394369312196718597276881618877924480049065821327")),
+ mp_complex(mp_float("0.41897438620989290598568513015004813278843785187161764552038532447227369606983284228377043516609836073789860821187194082011369783022103261249736934366799135895981583281440066861664313528700186460352921506104344957153918040331571199163688537498292905909446322989614503652940481674200610617996650461212509606865438481122368869928869084312442936874252293504595831809912138595532640121324607736770021328348"), mp_float("0.62705413218155875032882715121747985107513575761234463739581323687456561762481084628273031002045948509385202035374714937083101701585048506574534676775331180398340027204339512592875670506689555980647321245973801641600013367650143397378545229630132966802358962007134539909495413366667572200461923360205690756603148969347701273291087412023796773382051393421765543377539431403289061464944041608204962224974")),
+ mp_complex(mp_float("0.42364263397126309782489957738779662740964184686665475333301657096709581307150210537374143427149274133061939972349319436126762477253472887860360655143770496162200670113723010794638795851685977917779828434702643433347682752382076085432311339546577770847613749153463620535284012248251097545014744224739384122898604750787944938266346825009291405192759692763282051831563616979551451745388505095222715502446"), mp_float("0.64880169836890489557336367177410746902319976879606219828765836039816300263679800961066639973749232490205818091973180003878585424682270174658655130220936201820101380854157419304086064165796973584838486872059525244315538476325017572642436161844938828730616435454385692081579713585754504891773609950527364020130670005997489682631738788438202061423066766915113182237729325174168451593640356134784526009974")),
+ mp_complex(mp_float("0.42757761913978428497468604874667738540467065234637258645551981841964803299627797200262842926802740095457895708455189976675428181157448745099913616613838856190044736731822279243486012432869777928704307124126250468089151545172974056649084143097429157056842686819188094796107645095089421339242439796676110690547840136581721153073925695303094865116377499899233180387044263277870487363336179389131733170327"), mp_float("0.67024097275416938040179421297771022062074883410280791965129032961189124364490856793670325289586138199378514003335102896758658738579274578101250408972754079913612593611116669427630215046596668713341412595576545067050273663120229594306313137471567533851567197176813096956818531514170671559641496448431303184647196373849641180359640682605520127642611301872688653173727760780702715321022553296231511775607")),
+ mp_complex(mp_float("0.43080573418067927678182723974081376842474822763287583357519424308687590453223275141280789318532659338815188278585699548083529508524741574616708697882426245948841953970755871414705818036343634863134426520452435647029999307068473306922591170913515458505836080712329481985370309187418567063213280993032775810944079938230486122492146335751513232450387262196036689713940028426645170485168509426068132547375"), mp_float("0.6913323257514414273120824183222035601005976814321294420242648373295211642246586371523296718140558403736860679503651188799113553079084803811569023066404384749723104501576635587589368549988707904893171451461456495584019664665968924454127892595947954271762413841468016553772004827804219894944447770255985787878455206083724480569134362342189409645619891777664600934557341246140045384424487250815679019496")),
+ mp_complex(mp_float("0.43335730392947925279578872522031350541537087664557157268910578296456124982960018269208023207366699613327280217513236600108945432440806267637151029368787713293245913490273965210705972531290480990647215331885248173006571888587662466521597438043600877934311958915166205206197179034047044182018794378435359902233215543694917275798909695895950232061094999316639499229967336210590536386194069323083527889364"), mp_float("0.71203978057285162104618725335661923085333400261730045120247102893084510057771252397805159179203651646114197991657473898643924869826697363220712595936167219730543386837205182919640905304965656936509881153556006290835095143357665255122392102684881270377233229482213572884708738798021643259975511236832845530447834393863840022681216326451575709074517685314233631574352110772830800613840113865664859865526")),
+ mp_complex(mp_float("0.43526589350099978511562224181338964244420339418136154990022464116973002591831250736173263346146333732881027456619928826809932037183731826144749814888276107123668230480351578553151149249863953660853575142622921407765896320371718944591973363780216585591330495565208742771791279396763407825248889246000264856514653728206380232076851168131228147986862551794680258154194581455767159440030613212686484657604"), mp_float("0.73233140936415867853512075527703543207729058754722478485619576021681510774675708901284732521484379726375915175226214118287748485177787290034387583308866506526601117163036554596518447416180367051832888811919756669491355150331213846444188222539979851256041473902559825811692748490217506202527208265017154404124330056375944927787432200355479393125729295844310762931576110080354082933331798222232554031381")),
+ mp_complex(mp_float("0.43656758945864714431613150868267882168444382208401124719586565799877601020605645336443575201883632146747483947625065880778108294325299803661668483091518601147367457643099936543968551315247634825733511751140450185771328733510577065279408288805513679933134675031498232210359218678647062030418066962114363685339034354831822861315784201855537752130200815406367658899938057486173164788745306944418344341947"), mp_float("0.75217959126314776343200003914201268007421528617406450782466324474083168023608045161008013853844435888862486954101908305805521853227505147219803126831792601859775061865755486050687261300723555954327680292111895702994246284302985698881675816282130040462258746837378390439494544342675283371244008345100484414808553295521762597289599971018125328386063629772059251546155740282459362977811767906045697421024")),
+ mp_complex(mp_float("0.43730028345481381420207043059961781541764366427678475148105174597062931263709173674811784103354047668757516425534576385121824859872261202304160839874066263276640078746248115679897706149905669144346763074111893153575310581607136995233345727005400242567204037694774422253337987053418824244146744782562102000188024551399761549464770334022663278435414079333696341965623656813486833301034059808982349502142"), mp_float("0.77156113692607783788714805825745506318773389651497993129349533823879677865098998128431558079666023340701259292354349842060751923427059711140354466215087618812034928429724860957271360150660407701315611448679296627372850365063651850772219936768411042238637388510500657593931617525335826477602933658118093830523817505622690085748721449801102028840550673938212551454553027119107552338026133869472190779682")),
+ mp_complex(mp_float("0.43750298387898469775351586593032653731207978821052421682577047389175087305564761233448146335973933407031070217320067080477633761070291717673470470640353517974242324893351241125310262914238151282416068360677332825610774257500227820064923042880211264289137436565880472622152648938492955524937853430409230051540015109450846624534523547917794509774989732205832283079448649774323652278079611094572878433421"), mp_float("0.79045729026590326817322038265822086382692983527566172803574225501328045457132642131433332445669572194340900147813211097907023208038111580081595268043404556578320175436204083226554589177206687145879634944852315319894560282945051707250897791477351008951514130472187487199595627890918595739866354824884860909110101387644397483379066350945742321263617100088976004954794764172695464568736913926750150600688")),
+ mp_complex(mp_float("0.43721517622558489571981047557404677467258321338122222734277817883876612733450434529581253562253974968548325315951617143264117469622042583437935055781587668584257146635828729455597261531786093244192631220527587454656447200719985385425522011208087486518956314197473462662937414593503165448618089655203099549450590398974638649881382705160468995220637796282484852264818845653040378464491730501860526459805"), mp_float("0.80885362273524549176325351978197527907271720853537073527529628901215540260829712195176900697233481847529465955976777080775504082077767730768400348583058526630200678262985119283164318872420740726771445149074213452627912640392288721353731365596280874986373808895443002293450700810882688512263333958088666998330338659350984786482439581351153703479577329244849706845891433736717089094862144460785150895401")),
+ mp_complex(mp_float("0.43647624751102812866979468711536143875127825683409399232766672593801790469356981077301058996645359389781637131282931677913113133454410537010412660229706543105826280523496442755991306360436366710276276048425338982143344697669566903783553327447379711029243970085617283681090808902598131212267503313264419867175908178576579948278525425585153966996933511217231713524309046054238126027302818114869474001063"), mp_float("0.8267398383622500635799692400214762705089917045988026095162073530385133608518409840690991453346368437810501367820992396438025013387309320263828930004089647554785112458515134126660966022638810646509732282651006066662665498309898355425734254481435311841905694430160540254585231940741326594084015671824066976419544046212966394483912616732149456508235268251425210538818778957171474168930035857928901334444")),
+ mp_complex(mp_float("0.43532498466215759990386525801358052152225126554557413594781218253359419721068664519179529679304731261403282988435292611630745031918045574786310402554493846639869439992475316404206374057544516999585888044535070362351264258883686271532963657360258036782134461158636757198761286922178665063763211167045249262879536418584642134500024026707541448343719713611976272883638734173526014668401798883033870275675"), mp_float("0.84410950899509086095037305392146551721292356625369306460903406078877237368833769487297320810963993461660066236520987848426722574605035251905125182996987211228736403676904374373077135878836370652478715721849217649769000505062058493779029670288827051600377409976864595850334595670951152625030397526998228550978345737167798049277892050388143471157406076472467705623958909016250454354523035844744789549372")),
+ mp_complex(mp_float("0.43379915179027160409811686311582290677745632609530839607287840966349507869200604669845110356024766293815281087815186714297226794582205201641321527837319515029393474964303429214905287976789946143828545974594943882364052644143969068795407014787718550555850187046146380021853791578447071771082235149896527070039883442339138297131368305033581967936480821228153846274927257916572323075782062796645174573542"), mp_float("0.8609597590569023440057079338117512406833254601740142524895850550770716930952632192404805710354934339028508511916668715482909317447227329358807719281468672836906471960807397785403446634710225455951949894951232135555663608539609339603782956453502092933472640064089469423552980236519118348007316195606326893121421073995902572006508801507042866734295187113896939961993766929624808966571089477928583720896")),
+ mp_complex(mp_float("0.43193514694791314626504326546296303210110498442076326054362151994884241216512582180775063544672506130904656251319011653488751585120784668391198053043111245118047354849606467318968460303409739430309870327930923724066396007582435616004369765789722955440446327607718442232497941012925075568009982592805605510349544320392985672716255345396157083618726610653465566390843272452546408343392193965205662255569"), mp_float("0.87729091786408630822150917241004945868601606014938693496335617943464779826406114120744877752551248269706631577818352984579332852663074933791149321332524992586437707458413709028570889928506221235114069708428131743975793451173946844989356287353744948873228672069621963160751532328847072413242405127690629967273164839735770743397663163534994071616336692585374181504712627241206188789762314114008303389133")),
+ mp_complex(mp_float("0.42976773549965289400013415453672995935208339420290519476675585755002606964425084415493958297732022058592686068760197917223427410975400917583267786775336647746964654663113192330213050016135295317331216418410836455040529882483493595733551023954176009710628519198340941460021274041611888980491790061050337358005080542648457561342403968798402454475047160595755393771024175308601956037417409871941442657719"), mp_float("0.89310615555073364763135085510513187218267599764228973471422972310944847060255548800278181052721279993745146084368456255306856901290590001124631626402947669118824186866473738348617776452736078325855179793964557037261878034785555140588846225937857961092731150650686312047714655782901763729088587813085589241418080848298760955894604183087374092866289189318451929949132204400775036501522606746234938138735")),
+ mp_complex(mp_float("0.42732985466899277640740556272339273836513506773141026934478748179248593845516837292647246832054524831713653283168476426272496350402182163150034287699396429954586594605780897429193196771125274171249819368738825935657517625209647636433677852372563447098316237539656767006452460562022055039815167335919466509964702453857143038481156817281218117811131024774118167997975254218916061188128997277687404700495"), mp_float("0.90841111618782664613230436800228136758743855532745630630643411906297166903249771764335674201706697384064088585867402812668780027181421708262785313630057319195812608383235486436589364585299517456156290007237377706663338338586349179992025834774371649713708920828086334280708413562372629989791005009246887449972618179972145392459205029166684270620321934537369380058854289829460159031505859723360891054286")),
+ mp_complex(mp_float("0.42465248210930468213864564485865116545942334256024428795920281455689179599029345491596738756406252012276091405415444836621759646887554783823818585726596794958477703835111543936297951103559146011658098122450093186803932533620129734962369278868651807993193536415527286381258146392560715457466069484001272724951459107513528987237542990039484561711944667662160086974280642333163478804343401200900533266114"), mp_float("0.92321355906100686785490981785571492224561712427630847050164088645489730000932168908533220196545652496292358168607802846210843976159359076555413502949476463696652285344604609391781096062001915161356854819810870895652537244848473227242242810482261096815855320152430669957450614863142370162966672701903018384489492910058214352201382655697399028696772863870560234950791613515137995366989826401389048346917")),
+ mp_complex(mp_float("0.42176456038681140753751392117968027062267742551177105348970069729834891565732664227352003289687243734083678901154442688613035488000744119241437015784889711430908597666367493545476376602760749935849403740322071415216317391826501782574497117048217204088760189482349493346104262486410118189238513661837689502703948772827733932094849182958687734063545009488008361824403565408518306228492483160274964637196"), mp_float("0.9375230164890041030868658055311470452792158255739237459375118152805346391978978845644460450229986952189308384929678744071099198713250194650877108307007013613698735944649865481844521157415178838361753380796097015195073846121433919906697151236576977061530500694643908381553666428375982513249336852289862606280231646776702602316878901024715475424295569212290390652654091944424274381960435550451013204442")),
+ mp_complex(mp_float("0.41869296892568870590345744339027485959703618542872251152270628909746966670136957958224482875987961814928280130883753346430564477682123168715064231578683019783169846564094161980703943044630827319536046833100652439006008069266819024223216239261089580341609031887985222151495010810251362952971100552145388513393583495603873485236917751958601949276665779230866270332081661687321767150290424848855157795279"), mp_float("0.95135047417797320297616544306162144689713922485567430006183078061630593150355671714928080844210319144547378327710611648054778819089333159501782975525355450261534569357832434711305204970274909365318882795867222817921298114063429124128943379636200064169605117031888852042315405054848511698424554031167129062139326008229125281551912679829828723865786883068548849331104557473684805949053744682453287757138")),
+ mp_complex(mp_float("0.41546253510720201733825891037124775261110767143883092844649628060423240237716038986625047879939145076659671488706142640483285510779075425082827581974866874253002958127342269739143028788285799880478436379365178404794646309237122126666570478440887890138166568798521156813818220220306803496461540139795171284030967968570652027822813834321907036152452994553405632479826418760751553961225481659306084254744"), mp_float("0.96470807800899275705347843684497175887404035471880360536295976654690290760801086434873236583515387973150758419502215094012222319647204025715471147912933005248095404296386553922481404659239861386028975731117106580668153993943009415310678917220693639457115102059863884169389373264884328346382861698930852648169305196886404937017843574979077369869868835972815613462646303484521297908046966838109118146157")),
+ mp_complex(mp_float("0.41209607670006178521932472960986306006157481004782404035612085006888621828347725259945269886638785977349637139852558459459567666175381372501230970146800007117759578788583064433471891059510963775733372478313108417064404879494857651452961557508976761326797704117109105947389388352762370429098197358977433483897790875330413955851411055338924018008240934230059423722740829685843496802891391724972885115462"), mp_float("0.97760886939258242067585699967008698752718859549255026713026511502885539502754924047492421599759901916855741121800369536701600493949205254339217171660973161139302304094907760203361718489115166382979924852894465069920511464215870734852341091748385498019130190590912475387956199760619049290155507535975357073985243619535099785215161700713321589175614048007626189723906459839522255625233317886392838667595")),
+ mp_complex(mp_float("0.40861446850735442908943097429980570102584479077992910023746338519706820057706323917464310507183988862257296481180836206977829478684308576730321227818492006629684237911277335937229596326116879002303212053910933771091028950537379879223238493344785265924231109170437287952701513607758150466875822790009425514476828223487556814532495980924071287321801566448199850266206134307990117933351946056130628833695"), mp_float("0.99006654990399305332696300255618950929937612912547984113216735528329936353572508807839408582605084252979381123470610803862698542709685740137539984697127760737418530164068305892700229154930253986370640725311615162232177357818554218765354417534828778265860597663410536466436883698894283091990442235751149097949039795435391607244493430665811924069388369109721114300828129887536318447039123321447236337798")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02126_z_atanh(const bool b_write_output)
+ {
+ return TestCase_case_02126_z_atanh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02201_z_gamma.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02201_z_gamma.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02201_z_gamma : public TestCaseImag
+ {
+ public:
+ TestCase_case_02201_z_gamma() { }
+ virtual ~TestCase_case_02201_z_gamma() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02201_z_gamma");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::tenth() + (((10 * k) - 250) * boost::multiprecision::pi());
+ const mp_float y = boost::multiprecision::quarter() + (((10 * k) - 250) * boost::multiprecision::euler_gamma());
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::gamma(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("4.4264277960152618281112291756848601571628271238933377044303008216713379785420988546674745181833639848479762391610051652124682244946040399572650941554087009646526511386086283667853042460790794760935118511551859771696699902822231438108355017094065631585439066997089629111545696843914527166064680037299145051480196214603495461533455210540982531252904138620895394541147622226644323300417312921237022066848e-2125"), mp_float("-2.2476087015385289704876329678368942516383216499302033873689743837152634637394923993909563777377614916548975090888499421910493420331328464777390973380493113371916208854975007755256317928259572851126035144841529281140454995796503889658000481720278467390850076545519659007840220572049911568690703359453902157929035214622772839908107480706075598917530146349376283966812336507200883469028227109718951565369e-2125")),
+ mp_complex(mp_float("3.452621226003181898307342159654187649829119979466148269879869047225678742243083656864767706876351009559984511644230497419930148749696139964276383111632351791058532393738990168331128845960234271656399614624143360825457292648189631220375188382367122756593977304669471381917764669465171924937863424055998421257918184238564140021817710780145827557713595327199939785603232837012047314786440429279448682147e-2028"), mp_float("1.05790709915887198506259916488261352420223991373674316701550432823788237628510425246737409617997421307584725827504712220709786111730950685195528847621364212152065834643520021100084055160104480380992525330271381482262029819447643303290840361079799944916214255344796056449744871067153093204138890494639212597973146189878342955371581343242277547372551009562602374179944996648575731991128430638844860021983e-2026")),
+ mp_complex(mp_float("-6.0159341057994567694347314586179369080050577364356466439762477671868699142888474361400870533797384250138588059911639944937860200940347939502641151183134297382444869527089541586681808216536783622287999967544496699368298830660793658606106612117937291578471704555951798619962763179043234933524874253874847018894102293112291336709773046367916917316924559282982769890173051601295131144025779762704702001071e-1929"), mp_float("-9.929892891629750282366107445067702035104231057730949301410933421519416258349052068847919529160660276969433363525012237197853745779936873303005447302885790970380630585466726224978342158116489476136796189190745818354542597674890762099428588980896260571122469305465308680476726757140094296069842784846459582936740140891289282701436133716402843040211944205474598050841948774246541530578093799151326882864e-1930")),
+ mp_complex(mp_float("9.687986076128859255586296352499428948770918278469489540932566095225994354760926747162758655971205324654394310691849532765601725687579503818490052453516501906697586600905833364145676435623651094113894349155032004165529398624730853834282679761917667069973598307732619338665123375848159491926894272118401740560847529337601114661252828963214881384069300045846348395296649498981105669700250675668390910576e-1833"), mp_float("-8.9122021410802647324826212052900241960040469534143228217530670655214950999047375328994470670145836416799350506134490421513848880746390980338400517349487798500075211209713106453134958723838263728925655129499279702525610689916473008914827707438301642761169803817382651499463267150087245089158348813383956495691129481464607732463256136308671293292677427155092394679769628513128815575683503941337658205526e-1832")),
+ mp_complex(mp_float("3.0921364754168132237226331793450809667086550871558664905017791088541411995259800678232796470044921011020917716331933203271932123200037967269621007451490688797279141068523146390867467911194484982626144507778573885411639784697664571508493924295301995315764317206837487968220371743980759646907183414698534773162754527574436072851519929081166066571848012601882015036056739120133563808591759366680152710827e-1735"), mp_float("-6.590765568385188027831962487180486831803195249993804805030979010337382485316078733011866848841359680583803275741175668366321479626279635236788914680266180074748035851011781304870955152724294845890440007429286588771956477480072572332568640526108531250150462697334100952934672621257201373362030200715458031950397569838560802101173831607831123925085348971637473573684387091393381872758779156319730205508e-1736")),
+ mp_complex(mp_float("1.7991322654020911750923487497953730946872195971764003702238263569300954266086376980065243613145022191508571330227329224436888833497156708137359586773231960219380726218941492519444848546365796897173171554052123369853869330163092993315001793036027041606298995039443351344381374204241939129800504095969050613154179163352489854486457562209928458178791490380946718822632588876073008432781485171297672741667e-1639"), mp_float("1.7340310629109308440918358510535467430764754291623435934778766710503747820806243600715788339285731783840852529852187544855855228958984716293297364926949237165564112695416187713401826445500543305666745684038446501446258394533004917424368489687586258601536932018773789622320638874748591414609993795573999426591191358064604423220009688937490017898546123335640183221765249586304468088453919525543842354959e-1639")),
+ mp_complex(mp_float("4.761220854682675807073405339502918310903327718087854257105843134580758266092882650992672239092158843653842733404162229866164603397611674622626664182820995078232989371290073139210841446022670636386732778148680226382281965089518543100293994369391348324892164166876693226052460235737402982190014997236381840114432335612575280631789998089125736272579934395769421162931130500994652814008374473936858535848e-1545"), mp_float("4.0790792393328792123427534298557247370933418529414664664019376094152864560701925329128902802104750931584002841788022619875692824766240420543676234850927501735022230286373540608622494026244142841170272473653736370025746614832262078628743837352751612498758243178075950078918446689823724734059384972732563549079892520737120915464623880683474830628689628984428974043041020825805157655670288335251001033509e-1544")),
+ mp_complex(mp_float("-3.4068441750111761509713617519194263095145156704124772441317581674165459513862938822931009792602211276625295098707787466341625362079260807513973194857828882384620443604119795014059360520455666885729278202061027491242592652613678632124304508624948605346374196771934251408604487903304120958087474311659421062406659134785553752116979371067888483205464950870888308807030429211556393514329461482006055707286e-1450"), mp_float("1.24650052204382798552940618788348005841192567974065171073735355101896624726435015232731839521122443033209388640271484082318756067363987510817804437500341106497395940170591860332155395241703124764198064169650168156321464718118826789269306313187279408178820531747848024043454793909209309021445760776404662058657762588438291534237008181452260267833705646674974541857441151654495643613263870768911469495711e-1449")),
+ mp_complex(mp_float("-2.2888518013646487920861805700819838454986838178506963927648647453485163654088638610600138524017849029704209669847130631928149373595815163654895928360456175157710444398022659967082640192552661230238015285701234896255828056040194739506868860169499018854340595618336620576655452339810288977076547702991780317166452792253536339641910569685914311792073213603452869426783823449058521432806175569850549050962e-1356"), mp_float("6.722208501930499254757571644267492278179565896581556720029598079448595455705580337316322333095331881476110996459934722284439768260897183608390349848494408423773932030906113203461884520887593679858802009185965306492621901053913771851431453708218285396985969034849484558575861412195449707291653256462805279393545334646724194631642945827461829107296000707216611535351829065592790658163126667578142680562e-1356")),
+ mp_complex(mp_float("-3.009968290293309862261417530549501779030777419551384745842420364104492558974625086008724621751707905163718985448643982922168642636783364595685552856577789641655451734776468232507086285509428362594376841067065261471866249214990077835648069912292991805578920481447472390467114132856730107659390246665238830933172014666363321599239947104853429520578621687001496367588045818572678117011941332249567488634e-1264"), mp_float("6.1428530518819479941659613321491301932238178354709166025293422595779512861244936166113140450101887137261378211644352963532608151527496093868976885867169035123387388084277076231626976498025809747284162134979742715287391519955117657293242918417636677560427022017847501493436176595595502890426631711589667533718051294237491045739556818261033253471171071113370534702660424229979906885094584927233323517172e-1263")),
+ mp_complex(mp_float("4.1748297025830168375414308761879481744866078532395879346659990042562190657035285609921696507848047254015516169500313784048654380936955227861877240047516162339558542571645705463654147867841263177112263754199613642858197618029876030437138557667126720847141584219035616588870505082118356385449159530692617733430127709160280766519548097964774018388699181735295014489522301680647764743744836530573358233922e-1171"), mp_float("6.2052493396570503006574051180506977402811718821015863999818315534270465889156437079369356024249527920423646652686273679530612426719981001765540325325487481008820453328717101415465656972941023484553297250245562060933522658962853667368281743700141509525802886190325016065327712213878243421603014510395903184330522748689671276494051660753367247982366213976918729627030437956431932942582815904469587303078e-1171")),
+ mp_complex(mp_float("1.1188817994881454477912554439280453189651157278340319008028814596053809075107674952733622615294120657412667879195376629424791575854488562573716484251621708678950948646750266186680626986041640586633418561905046611735424005116694802523012595997820156959029941053100240527054299608239173497951028299324493486532084367373812024909948075542100735016349075513122199716587757220380566468383498768988126656379e-1079"), mp_float("-5.468012517043048551853099786994920595223498842453453687755632364738786172729399948463884978480686679377322749958894427328344476890016507437717280631051553790719854017869636960618660575803130565008383495625540042486968790859173975940783795154129240969274909781336583466334164109028455259129347571428092654804698248462268431443033134505859082998033500664507427470869009353965156497052623818038176632331e-1081")),
+ mp_complex(mp_float("1.433377220779751256013049301335563162180332274957871695051177736473203873820163795864350045264630023875364802756799431178529974224343800555597301091065613906738681678703828983138400313425298648116773032745795385168578082238429204793341261169437888730263458123840955865182602055243639939484547982982570735878189393851154801168267200539007813781256544086995509856050946240913626820111620966269692246918e-990"), mp_float("-1.7735984469967177631298744670697400770167001590014636031042036327673947412544942937086317490406814412934244166574963029994661097014799806770672422292084414040378695654317748848690841174327262452173188349593246619723894795279257637717061033600653998151977232678750924497915686755464696326541978521423489424203103925766915830147929854738328170339782890771026941169967365825826934240664393081174208785884e-989")),
+ mp_complex(mp_float("-2.4519980215377311328777649760730934266099721967865130368290175552801722429237641164644365238437527618882906326174770234979085343652783264789706800441402934368882471990072710909387218166474375845535223290436150027527220951887153981668174759859817254627171277681562138876313559258959571384239499768795895377873863335362660453993727242677804209358542934399351802345771477171181836653187156075930746040134e-900"), mp_float("5.891821993996528091379330217107733549712390698121271682598116023550198681933233617936044354908768246470833934204606074303878661118605414038383866846802565426860737527953699719265527308258833602327086945198089880262730247296501165865847919822286972552673076719529181795677427303819378178115313020762658031086097176026299580344350782196752814836780685748455449331935062193683208620599497189172430916053e-901")),
+ mp_complex(mp_float("2.2420198581069203767061067375235010789897074420787431071074320273437624395611222245111940270159968853209863401343390124196527634078372425701735089571150428274066373925940166698109005703218391014644970430757657112640746551090367265172136575421183460406686243611825546784914040003052877815182073157292026256771027302848142404043110130241719417156423000153071251706288069983181995224966943619596060959117e-812"), mp_float("1.3293840404455525906723565359783110199746379007388238439282082744816955703644015573624358071155723476294513247664002024820087271394476889912368024422223759634004278121702219615749212635149585114520674839767121203039056587536890064700977516308179544957241706614719512145333247569162926406687351037289912297824728048945750129034495718038797147691323330468246053953711951781163959539052581647884207721022e-812")),
+ mp_complex(mp_float("-1.1019691771767180184519254695484269664497018315919165950825581899525159049458294150342231270769995633659655676376281718735320143768792881973198723374222602374282862554038056666144805379302251582694591136580774078460196826339805806246401363874136285736043120901512698527625862068042132301254095221615564556645796521084544919530946083648666865617366088283462214252966279917806331766641008668029461808014e-725"), mp_float("-1.0873137081362482659918909649778365669532006939033887162677191026023080769646903788438595745140337410834695414188777742121073677940135904698322927794933315902599532856241647586772643987602318817890298665014342370315193844081678408694469053652819812782153239819610197271728101433727736627676608159009842426458506114388677875420541452020933459154651752779331520917985348282277532340027590708679351728273e-725")),
+ mp_complex(mp_float("3.587900776602469783463179229636092125777225208860568793708681905701622251049977219523642321874546574356539052912678283777058713930035174274724996498987874620415786042495596364638096319636811455924611664072682685172383013636577861441499539885197386490700692122089480374768512381813519099498290884400525755197117067064378779822359639734592969893393040323672946114606121066525356498559096162777603438932e-640"), mp_float("1.6957277990506306140155420291288348215209965868840700193493178731372633891060910218368817402394338654765219292168016556493899087209341307940717482839458249093642545384630453611432237057415280662827315867530123345431852691553663937400211704047067379221353445347880398185968344988115995313400329391513901548424925310293168415011963290309917374046060342372727569898447303411530803346249401209223179323551e-640")),
+ mp_complex(mp_float("-2.6512561531784530483473844067182412285071431755789553061475534367664197117977143076535256348431535396519962116797177640591120934814835796084324015076974807877204841912100067101808262252937347624674239932164843905084150717117288863177988481842359117780809810622670378600069428907068257570789571559910931012677892786717870844112831740782877152943746257336772392716739891063063501962316845482469129182296e-556"), mp_float("1.5945156931058190491021835198621212143589600562953667060857898416883865180090273806397445845524496015070231331899043426969213217938921604410947937987595652312194163226692940888184407359263566322649435144831523660863640276698845657154379486337930943403596414820819315425620352647865752485476833486799677215636590387726515421780619637617988733234752769703045464713529840476468447619447219523191829195413e-556")),
+ mp_complex(mp_float("-2.9798313838031083569757546269391834612482651567099131063469219125509303729270735992444156492023298966656698113249947119253861087477841362292509704151570428451904626341335936736411075350826280049175758894532254525420186676396512307904130124000419508441952819836263261925127636947243369161202196195640699471032727853332719937620212764736499351382849751943656335272092461192863106851125318774485381077963e-474"), mp_float("-3.6775842531467931942859011896219170515144003373567734840992916418129323975732683227848861520657853850939410738729997359050080536141677457564496362727086216653306686028506281859468141977300783451295496220462266582316091676312032419643676002702884699482343368157883978393148120152443883148817150680289402978168576936089870555221308201480457996898491144510894543010977935513846023564667181124953294379217e-474")),
+ mp_complex(mp_float("-6.640850910591121594045652275618951535279883038338176895209544976928481990712703763797186133760475544763715247561011283876249281786706923504749461799504243623678161092636941526277351897750360870342169326510050755434404083304584773313010185901157805470632424204536601697182004973900725024349685366356313904411955831675461376419268291316469782783772176613561725093409158614443267646820627559764056245991e-395"), mp_float("-8.0566005151937300220590601335706621601631436184923979158444939247738680510682491662284682795657563466980284540993182993091631375446810871970788995103173383871020086134236966973536577653091569538512208019615336048947323618204213253718369541281203119939752383229784717602111728127463536026588358280445106360980593248894023364926335248814382382105778743718003077847835504326347124671976730347314386465991e-394")),
+ mp_complex(mp_float("-3.1997125563332955358990629167277200533783646815786471658927200519373980475674079609709752749737969274820665214134454603972174781002670137550676368656906463362113051834497924572375785303246579119649104494819179943131769373850999413505314677968902192780201865653303826536507790329040533172096356235781076556755312025755829855210850197935467125653905840523385006971120706278134030176190992630727410382037e-316"), mp_float("-6.506304904318757215402203306416877705962254454405910492127373097968100348125070110622100506968723641152820688890051096222997729582478692796500995340118744011863818469413176660807338536273179624404756124526651935116843577376561411193525980668313853139992641815799793848659331816885774518139972308628348156561023704005718674456174349640671913581159077182672801405920404531569306281969646978431775458471e-316")),
+ mp_complex(mp_float("-1.07354566598022915361693739357600169701091237005739515893035197532781088245188817177480710183377294095809177864101411117960521546436670440720209290701365695724790977672125706667581154289174039393358571231138765244512904451122896712450613209336972242312143623509645628612275457789383359440770001839286356967880993496048662194916243650158057301467969220384606880950531754534481530530174274159340044462662e-240"), mp_float("4.9687885415490835572406462753143743459664949805871685874035108069627144231685762737031818889590759655904326785244136623383141115494268237932426850257530717834924771638770289535138506910080298228421971869367895463566509282320788647698760280909274363754708277682601033116785378739277805309701700086671708735267052721662564503897745078576926261851824551118094375830631780993982305464640567917508035773583e-241")),
+ mp_complex(mp_float("6.7248068823714922169054956640517764926592472392937607177951805387131208524672017904167330269623465945481545534798251420697353630312620502583155846636567245467850841649693885450791639118252604780633029273240876396455688827243406514830186517463379753872572566635125263397863367516168030048437650935440203600328009099769976680444981701728959712540209149062435103703187651703735164461202009439799131323938e-169"), mp_float("-2.1808479111816311094696658944403486862433156541838675575668777678100804322401959980846126367710593558232244571108129528462217900662443791698286770099981711208351773173345740754205713249589083826358836685191460234398931129581353483730857026203374175022908667412096119308326993511345000366225074450078014126848216248875563288376339258085575051925897041469714364112425168598519198385486838716862998824809e-169")),
+ mp_complex(mp_float("5.8934835506894200862904177198423349455889304595498758231976587282440719030903827752910367463736321180855060599016893142733389004758094444917814480965928379375729449773928186525600906655580802688046117585627321224713467648139308363889733416148169030407457211990032089617709297494393599661800883195760609533568495323251487314208404996708115892994926958269949612145147155289275810490888815347124584203116e-102"), mp_float("8.3702214939589137714164437289823397630264870497762224142942293926426381999931267515052428621975519500849264895937693533209852974214254986936778009640365157151783843860790186878173115072985610986495264999610370053190401190108450797056113368493689903841524398861258441317954981237369067665947070143186310668438634859133237524318389149958294174798902061303038361821123933715363059347122497632232851060606e-102")),
+ mp_complex(mp_float("7.8515581299301895048906185026383641480814171312924428486629569623288527082757513480378263583700203272362695313570336995491690062144489164266131031106402027105747603399539079625429379962924169049016166482809665005567578037270298060441515807194422611203302523086410566999640731749201855888145669524867074053771189715702863018500525118561915146220264766382795901164813369167186649895334696704057880248171e-42"), mp_float("-9.1738279892790674508397521951262639347106826664242156200404981591415527295348986363484539130651959028296125532595192773861687849888514258728875000990844315030783891519990764999399911408502420754220853464114316831694218144200268118789301685141145338859881755134824219216484626403258042621466105191051433175595164281285085495497851936806804164350015559088366643978384199285997752489441942567614581497433e-42")),
+ mp_complex(mp_float("0.9320236849491945893679629161270007448848906457174033718762613947963028367069006340282799346358716232685625073627220496998394082467264490075822784805329956222588308717151510145389557457864952059798766053389946677184575890879684449517312091331930731542362333062679938840677603298590300885192806389149909964868593703879433070617431501891686299647246225805864726363857306767589305261217442636496975954596"), mp_float("-3.2498640904080309036074744148410492216447314072347014637251090487386316225826272625606172775070561493144162976668112453109166683244674827766226839768569033236668718450471450015302224460417326104230083100010329668658514265003110752347305822966635687757050052996112807407269799627331139834303466051736713760977077565553610293432032212329640769572450753266755607167320029607873749252156098724537753956771")),
+ mp_complex(mp_float("-2.5716157502765602786055159935612594790798595896805409965386152150391293639888439590642031483032126399383695264889932605296697147085869454663792688108587780216343822790252402744973709726107953880320201763747373312623494020960651072149492934833390349645673416631677464211352412144197696226055081902100801068066485883798076117262960624886205385073450842628032591192181344189961963618811824499445304069569e32"), mp_float("8.3010047855558597993116336026665721472358382572869308166201033399554874372656858178000902760163311417933815473136430258114351089023223468986543699919722738516398776193096190219149472542768760839335479513312736284781081944469625311505296080921306699851893811798399581268377468165824944325699889923740289397840292363360860865694285321328484492230570783178821776456372488956618297398548070686780486268787e32")),
+ mp_complex(mp_float("1.0435737409349810575812485249142499486999454846014118314006575561050421665595085443868070002007951850203643198123518760279566341197074951962774775317940066785597803222461214055464484746282665704904532401417596546460518044015933976428831907925094154651263376894827753944001088058344379948909140190672716773369343701486879013199515631530994841742404121395306090236213891020371783747144610832804666058372e84"), mp_float("-7.7744129360498374657237510930029015200338896129989604012255388326046633897386835546940918092747322068706769047464567362336792359617438866407732502566016179378950138672623125137873965725669972904877322409343396406939799416853512171342805328064219918953734262147069065772960911837049576465585786772912764894596096344860120842329526256213156263949449761250934832759741529990866194722502551372196940131031e84")),
+ mp_complex(mp_float("-2.4711975251201179104881052474912654314422845005562563005700524725647395426345907092953011284838444533943730400020851007754265141890490907305492566927715851855534357214957646543603477615716660966540171470910714141596229011332760976824329743264727227513453569217477880283179741518718039015245327541287672795543007813782380216442591328255524320069549968502521618371436816081619972290826529122000073764029e143"), mp_float("-1.06581903539173336590620988857608272716783643632044480017985359303181630901480233333932839461665358172117071552266216463466100106971164938172938334251024644775447605640764957835713429414320104329977799613813909613801055234947717342175660972318794766929831585749188166562966738790579235027932693242945005912344507386176888828814431616592054139734593086677329926441473378390244285312951974436085446327715e144")),
+ mp_complex(mp_float("6.7409929799642901776248965244537831285959837324634828044898994932019647008977910609666599130220844756564212100231619806518187713071954594799195609310552014139435642022036422075688555439426611256244423566784058869701018220623356355501942422330939086023854687786672823891042452504540570755392683484544030686766449380626708051602631346811243253785241868826895967078374010808071909729383427154611893143995e207"), mp_float("-1.5658145184805921968883251728110401090599263626555200334307639783090419870519974711226841332106311520904649712614835423732771077793149535706083484891989510186503999114813592962089504203323971599420357430310822968850495213398322069655061495722277658372599320553199440524995640087720332096677767092816147893976785278852645813305771493898032219254645508954436243354674612254855021184493448523149345346546e207")),
+ mp_complex(mp_float("-1.17894783500136321966168720407255650336066484855021554742394643163996338005647877279687132620377239286922633206079439236236535118257787582471365320936061640839105904291439138590925500891549373852602222068659270089583920889178189792492744731027427820483247316456590952605061107845209136669818957676069407581573931295133910013343576181439659997472201742097502063622887217379781553511131326161908099823284e275"), mp_float("4.4001084566702929606800032416605895859220728780894678540325972479363104505476121869146210593806897237564024701892085383235384280034747403775826784877604894977007822935906319469543289400339159243189076550024034652797794473200157144656862825979613133870175633693898041058908707982247439990245693704377387199421526217612389846478518104232974420204250542709278245138697244825598873602314070981512893298503e274")),
+ mp_complex(mp_float("1.0220574131800339756150139772300718476857681405269856368742409372386595220742877232489006084508242966225092144064767706327092804114944152828634066007965822080559940699690362951710523892105662877252170995378035797390974341452960815714668356023234291537103901655470481945415714780881547600674476346276830298739869185974391706782778502513238586947892297992632139681026534189993273978844978868337268556653e345"), mp_float("8.0277650338805940989223650919474141526699134296344979640886626974674909232461606317868063621204153717598606557675257274885742459318948974146999961010176588637095175160392270480698549519147684656774675789425825561920800794591244049212057151388955864993115850427243821500107998300818411406727975441107801201527394715746028984182265504275758041496549224030790656657790720871471584466288651378821841161327e344")),
+ mp_complex(mp_float("2.3024600530184405490322204692740057007367905919125440599194035416742061310442794822308197919830013090829737719697603100793537994308673018820217037880778456058789000716887838708956421623219171246948351832726071379306199314912023561598731997249544601057878087074692429642533415050521508781166391462970040485535032420407073557925268192550238845800924199729684929783796318663461715851685423932143362155635e417"), mp_float("-1.2379096318740418490934253671844673369724587072594518693491077950541367595336961489704143565396699063945778722631017491134495830135333301939755352153292490689257209732147008810441375213434416118026652351698926732694731704833487318463425313348798322624588227425300467362924722105601450483892033125778259674513626106024834126943266549619071454378269989795437322246680307662818879391456824195500949398357e417")),
+ mp_complex(mp_float("3.2311069780723651706427943008691372016760730293674832849401919820874619243461869904516410047889449004238588140268406880209434214612021708638660698889249333930894439261680775739789369610934957406362913703210956676801214440276165034925193453603862299657613751528421468332000331268448943547258396120540870904405025929174984249385044475986247708669912120956556307741367104732976019225528833861197595571032e491"), mp_float("-3.5342551188071674019227532102928214699398997718268938491454980624412564198545489242135330075946007758261735311348197520121288311171243821930245083611538234484623707687017792769798127205389230302071465207604223724253951874274837714595026776418565168419479914812894358142347875677001467935488477839659683752311682684381281210587686924291286136595895790152897876373736751471215275583076264765398757045315e491")),
+ mp_complex(mp_float("4.0806781466495442652223198018447742560498707886542743980696392922764048512128696401864430432673293289542280306257299000525841979864073970544425524743109965218715765265995183618677684917576170175682118564144652938503610515804987254778595813137767037765493202820721747023838757302789008323947694264880159761498010866768502704112326071297686937301859440594154773010457672304535204190327835580579093933292e567"), mp_float("-1.9590464399259001976601637555013373035704997989349828758330349740922642473483574761813685265988107865182245837764779789167120794273553106725527947875168751937052287711637743818915230495867475512174963721635952897675514312063978763447343710818359926469031582190752434389625881236000694879047842473194647013381151898545915916856366866102233522985889616511794551018045683530827233968424305136239695683807e567")),
+ mp_complex(mp_float("1.1928176784979019112400978497838357797354583682285961488902485603013391633585968953982281333263393923720166982318478498478401537737938501200524754077759932314528374943197740967595554594160744863639250683730367005836080613629080832302648741671130029480614934902211805471264871798687774749068551750125510012389117609271564966638485474295932832799111148451249641010370346839591856208888124154126668143333e645"), mp_float("7.722752908304455681656946213008651442184759364989710001599156406319525635071311722119182297682338935020537968501689677578432041157791297798664556830499067263980869855679188966670998944930785164068727250072234051836363184516713321761145076257256322473153551306168287390763385747698175788095100416366127439940343135654937009143186070295982370980677125958390184382734485628229470239223613010830679610355e644")),
+ mp_complex(mp_float("-5.8966361093802988344500425791144973750086436277605646996972899015441186940955347132107397609031564811622495989927292851820587831743804686028114089301086853422720230190640453790415975419064806161720901459322105498348629618935757542404897060972932087008974395672232408722547313799380805948492668247755857223807788563620644951085593558286246523789953414339462711431155598140028819919466366952671440814505e723"), mp_float("8.5896742364144928424188082356185959224722373163568774108024046545774841374573076019614520707664025934983781526662625574887485719450447629811212724045385671764237304863046772463130247587299782111109996259634458305513468550446228970243227860992782101085020346469992749586162639103505823353700970986217396621142119684476036873028240378492658647237366938949526062872229248519174627422839076347168748213733e723")),
+ mp_complex(mp_float("-5.4422162652261967008763588920456451742695636870010468783252883995449630111421199537806256303360787458378205055481959705012016026594220162039288374142746928878876925119356342469024269404427600328158943840202015439428620293650834139279197961664108946773034302152288972160075855209888430765795183976813000712449986222182270430614304534166397604711701599215877486159395173430562208281007621108914100256809e803"), mp_float("-1.22262560497182848859278183068084049500218289509507072678520738049237680430478284796854298856352452508296763117645449841464291044911474333401743963711929857318132360271359591830320965843140875129849294584168868224525162581823245520457495693287566879031542160682731211677566267155754677435868191546378102578919190279140280448714042586257008865306190399959577475840202257053128968922078914920427281699617e804")),
+ mp_complex(mp_float("1.9407607817638221372142919147082319601638787557665287216714199843967200482619266580514856763739860583144400522700557656764634976799636068449176875303406945981054516044029279855461786763594592214870254093086675988619662686186723854612379034926449086392921723780102390108982569071097551460662118152726302044115725353179665387365922098670221280454332215443689042917025632938693407090092159292472004112948e885"), mp_float("1.3606048077496232012193197869960514299246865252323465014597290704466249807178188331613844935751251637109160602889497470782576448811476357514115605321121205511078809125029922820193003310957504119373436925851381895092754463665489396788317634270614824377945471278079923750009952572759120802646891775450622051007924052887723992299920778255034547958202345308593871147930127930744475551394407446887235239044e885")),
+ mp_complex(mp_float("-4.1167721064633594116310481831680383761741766407870686053393155006296401397761616234857312790466707614568120746545028116069146232397275971440806050770229177490897244401249061302842421529471431308124724270054371868184752445797890873921862771792925192345538647020472050861744566475968824534355335361126578338171104605010914099456486695852491362171453307939278574194244822820497412185780594421761103424242e967"), mp_float("-2.3235805091536989976015310111545789670047895776188461782997680370030378264326291405203817944000020047696335762124724864877880828742601675718905058515138838943896875812151681383751262455952134827318720078180840435955993731479930673711861461743970756813515314908137849489064094138584575083727322905192775559023238152271570688433421244434244348553942258666341936922780266585664868141991933182550490998602e967")),
+ mp_complex(mp_float("6.040319195053077942767994160502024575819590018457428517162003259288569285310106752459485399860983608823391726373415192316954763825098574228529047528131010255310570882433369752336795296632339734912841147632513322721138154109613177210162778287168276632881907885456559939503569731514301668601460089806183517985406613332076122669949453689159045221379142706860017626847336338335675668684497032859923846289e1050"), mp_float("6.5731431275098887308438401040173100625140017680857199441048655041757932412341641640509416104457209985176193917821833499471658035218857311490589398908441020030610792093436096808919648390867898670880733950588525965957561206276475980220979049200198065437916697160531494856847118004169085394869942117589013458066081074826668884712904191784061465132078850666159240623367133196571208878294888283496017041151e1050")),
+ mp_complex(mp_float("-6.23779408145166794250033950393086818656302892850242328988993020699343261747940603818129584352437417417465687875153770883218529925164051676723943018321639517318181619896711404332078910030880034415072133650526659116461318327882238740458551843803988996929283578706668895465963382214339443540179391488336957501651076440391893834964985250487926877021293169673352475671663481309195449580785403011606448135e1133"), mp_float("-1.37211164496134983816447784689117847994221126986733748162931322991920437133377617029864177503259197575394724700322968376149596229601832189779601249830702690044550834575213436233798154795014091857684371138239931907009867066418310840263582747019664460853116782368792270759121670518490177962620514337176303319964171408547487368755313638676992167214878672449088906685640463404275295349463139683759569917959e1135")),
+ mp_complex(mp_float("-1.2804801173716493024992461726216439107558770921302381398862810070528234901408143955422828417416786078520640006534325478079704370266005558427317592167640685179113363615110039994389227739137195079093162226026959184921767483577715418002944480837583986645070837363257468980518137874868787558447689030980617484982496847573141503913789109336892720914858921355769886700962692736259421230999703298344341224104e1220"), mp_float("8.000529188027479461649237350044413491137195924785234306397598080224536325837584359448507347589087245742127543978490789927043355253922545092237763895516952268119716936311027008279109546210734690922641348664353006599189243489504649109135251601059200500784892584395717882553133359282472580373234864414661836235836990459343653019634681655498010703525296631863647979593189609285545251631291943414140167161e1219")),
+ mp_complex(mp_float("7.0630704986143637349151937685029866898362219887262671618098834659067469752579259926034918032635739662859351182911737066662472748370447024389074790985708788704198119061087660040919000787330484196067867566963058653175751208767913206708540870707184432356510036734833028836533326133348391704060711228683858105503259003468473305729459987310168728346886348150319307731832693726102376575091371485424669546454e1305"), mp_float("7.8508707973486902533588076071336999816623880463790042007821759317293738903124864557874322027847963051416026389625961288819814316579451863321363617661546928130101245486082106944715655146064004285233053966454074605650206219655084755397465894604028635812063031384537961333273115383836576382410647438155718633864148223224128129025018432822776228992872202313850626480286419800096135658682449742682642121402e1305")),
+ mp_complex(mp_float("3.5306859520403310052287620642456811753340051770367040776831144351863732479926191763337462909869821341674131945761011360535260961089459290982648455841520816100168484764502698900158689657105307023355973008221257729973805016582983988824545796281000911627374481065261763057443368254583559825109363137264510501981713394686943936049435566089009992955620379887736509757850972730243435156528008354927567370735e1392"), mp_float("-2.3472607071627667649819908818406912129858154693116686437834829918242125679915051000922931312021006039758384309827621197748319654524472134601701899482321343814501786942566501169117387838954934408008220248022218746772657012333031351096527324564008831639763071290962499842497974443192375575454495424336232738033577170478465307465597588046440093615555639189659116126870426614697519503386258170778765033861e1392")),
+ mp_complex(mp_float("-1.2219927866616847686349054628168106685178480333693058399541241843055634335039299407450542550641128885344313574166963401904307663296885915394713871775797316624460707798268893611579211082146061454517919111543775924278891818344779252470656112486620339507947554494370798711633783231734811739599851051215547594874555620109282114535572981563261359590381305866827209127509975022811683070405269546326804227764e1479"), mp_float("-8.8263092184346037879402735972023941096399769803622694315191757965021853144928041467854922641136442783348921263733496668866219849016769319352339575298249230838484761017506918868080051974492418316489981681509365956975943071232241985173543981153772216235156442415544321620121899290500021138431745425411008536661780247658539677395337464621137790132702811536516983300607563167518858634498702651054302087013e1479")),
+ mp_complex(mp_float("-7.4490347571447086508998709924849004544090891553943012377494832216905064609006286984891076293721020170812032900036014905421024589881030863930307103299045380219145420697438885849242922244001281394716852026625943401559366600669192533765649026365120838140086600851680347936102129220064125529342542620797177532111186383378629310412298594654301159071705382773949643042816838760473438970188143519463573950943e1567"), mp_float("-5.0925955155429615138863546425396335980119883731932867101010841657399277867857985914317877447871284262156361274538076581746930915451504906122195888959856459172261763736394338608039928453585709020301754641064957693454227494446787143914811727244198964604824533394855956285401686241796457517732113692946142257139582688488796117686571802032532392543483397003565448934688067263415656465621327064117859196411e1567")),
+ mp_complex(mp_float("-4.0815916745354663106635449909263815392709354684448648081260574984991577671262903161809881536149860766521882107187934178510153469511857046199309931790275230171199059750231057474883322648051554142387213923745263990044977645205215402660915106950361705078981849943602106457598271350661642040028609668054921834401563153950442240658361349744849335124388548254974888855105182351046737307015017119669848894456e1656"), mp_float("-1.655033361549216003060212907564904624731963705787284295555455840377937422234681960567356606060054858260233880835722748700138373472546576202748390597239952288247492395099664984025789388912623781649764864922087319094467342549192331378388613606591098945987207198038232824982595304715766202159805480907079579435381003957432246562878853484186617227849523961470461295415054698042775989941463148599731809362e1655")),
+ mp_complex(mp_float("-7.4692630444328512833027468247024692822859677221891290535419521204502610059031670437782853881765452031167676595260909848592705564163923742977452625430264152041473412913828420177564358185311725916307887225876770902160272736469165347590286620472178591173088400664683425651497221336417129871505156421375539708784151393529317582823560016343448511368355707259965093042321526650009904179507114977808554131866e1745"), mp_float("1.9604354099584375629498451861485796821073664433294095760285822991153289005435925373236739201813890503412962990615101805348457198724295532750015178411971514940724067899784902725813427861825510124488630730734998704833758793073797477812863938311651998391370998320217134560047232650135648012520346423963568138160467359411057928762099799950405914019175521797902378721894271139868114369988362952771755634339e1745")),
+ mp_complex(mp_float("-5.4668020615553867727630913788190114954805355940244455436056127813891002062468873823890300010758856621863514702955197018622844323975197216997615780766519707111553413981262635912184018748285997161738124761005629927053338788099024719427926372663262714854539813017486857264682154133390446183262335819165917264677392000656703506046155648355365510759278526543212433513184062333773739611619178805165317402001e1835"), mp_float("1.7109427513758348621637583793841845837350395524891408551015621922608119391792062878066213893713843266153039450868420598121386080166422672605269490091169936389299153510278200654139923353987254650041200677778818462667400837785123755259179475160049024979714469198849388387637309521257940058223138581824791498963379243030760809327351965190458869151564759022286595081865658513588286084133103459601278683573e1835")),
+ mp_complex(mp_float("-1.5654466306223425188769442141624654969750337715063083826810449420170580414876172603820024866257254185786374153065172012852382198573256253576471225250991163491007734564311291493502367154445260111345672008630191354295262958391051305423759017847727453543063292687481807572103353695737413512680791877431572110665237336443680482499736797956129810463789951071170651344916699117789965842142471995084647163136e1926"), mp_float("1.725903131405098383569890180584550534520378002554796497212268254705128891532161045090283597396004570754126743561689130094492528970903013674002794845240169818402596357360974889494377807507602206194310848506444098291958092540372017663425268520816815979910805152833815432586161968941911988307613339762080921904299427141560745138797331891833581714932587784657723524580901401825780527195162066456224345242e1925")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02201_z_gamma(const bool b_write_output)
+ {
+ return TestCase_case_02201_z_gamma().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02202_z_gamma_medium_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02202_z_gamma_medium_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,85 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02202_z_gamma_medium_x : public TestCaseImag
+ {
+ public:
+ TestCase_case_02202_z_gamma_medium_x() { }
+ virtual ~TestCase_case_02202_z_gamma_medium_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02202_z_gamma_medium_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(26u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::third() + (static_cast<boost::int32_t>(2) * k);
+ const mp_float y = (boost::multiprecision::one() / static_cast<boost::int32_t>(7)) + (static_cast<boost::int32_t>(2) * k);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::gamma(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 26u> a =
+ {{
+ mp_complex(mp_float("2.220217158040184442334728768057332475300721691055255377432568656507506407722476403911996780688980491218232367764208477076203380993822715983431753021235794290321811128716758458681456302438948142867854007633573991248690252072859229092822548566617131729856348845359658185323830560519154125925307119356113749333460833392322260645683227838771541110172903664315555877414651801687931087700777621954025626601"), mp_float("-1.0000525837679811236631453990745284878996156554838125360090445995677128678614882609461207322470812500227599444442068330999744094045301646539187623766860205193605029002423691274035259288577795127935873280893665608826903344419548318192001922669383312354080008689719985273155615037423518525521893363476407127785219951714985519532989312851046260913854345510647929735922944786351920421992980097700618382992")),
+ mp_complex(mp_float("-0.04232699825265893871760493248132602704626591006757336435946199849239712024392560847231601417073782592883225356836209821872741968679030188509671716828199845912507924083938921112700951060506247417961031893467325503588035071903884501994310816587924243079126346459175821866994212908443913291856597134485479682277821624680117785815855274110123547124770539649123460016291143114370982356204122843660689685877"), mp_float("0.41562528615773211663725171046871375625195899637620929183664009905759398681667402543915788659171809261845567507612427645208586526349004161658061886453923157542815112748237417928129105915272361013576985479430019587250870050274120851731525711421717592109834553114450117303624902426702476679124917673115382493082796164829683815213474471944118933305313078560721949205203067142668761496015727718152529543089")),
+ mp_complex(mp_float("1.34451295875673339060664232121934891755157576291620846786050376353885910998603137482279841585572105131315573828763529622321745733216782173442558321827221075611895376803900545053490046049831931868997372611933470779638280533450813326578214042323704520468426487263048020720447824684583889311224170613488771885618452690195317620412732570323437764972937847275863939802012915410475487973421537386885478938974"), mp_float("-0.1233197600777085588873077830116993016945297957528951913861550884357908869175865554767424049244463421374226078403405104078836058368290444226087881510851334693908447991830026167858759971098789096632568956369183044023250785409273081293415039727431846220118489925908090407710202317729769841752873495016205553632117282819316253712563769976673174111174344166574215034020912053257257883575970661255956230539")),
+ mp_complex(mp_float("8.5802734510973513771400973791073338390642752375022033896678198536543440214689412170902128103200839962535054838078328935200910160723081613120652090803476384085409275950445628064930280599478523086389912265918801070230947892783718095710457523168170431062398503253689656830868737563493048994179834077970028471958911816758940682933114371807696914102645163693030706481476301405584792060644145812420335717207"), mp_float("-9.7302669959289302410830757943830188449459484655201532343689332895109271926586105433720556033881440129500550363685163722842877471721965513060954393500567048788274649147596248934608366402596281270420089284841165469433450698419832466661121286459745546364761130014407960866201044957052080356607672349608455659184685887466345767737969283903952508129497762483038900914466215326310211071528392125398444901742")),
+ mp_complex(mp_float("147.41966189988954147382320254331891793608484344030407646814299465922903008715530719358761922081825623104350134200236729802249288548959218005175734085615433474261679085020739651403583881205764054208206586972992680141025459980517988223622863936061925650284264052165231735897237929353811470975529803918669245325798199668867221583320334019882260314300960908613464287026402389063162075458895691764745969744"), mp_float("-202.54452452600735631976290017368554288834724312501418198958167375927003307519323272709415919457098747070776336613987971996695669822412760670167946197316587815835139026166445232813007072358263863623716210890890242583220786218271643359343860684229445902727893648959069256796778657414601492085553411026940841189142742666559176713941877959572981570566267622728987576942329683258691378210333210600608885649")),
+ mp_complex(mp_float("6953.0342798040155182818700876917588020555128175962407121878683093182973365311297972831022093533146539045025710440521235248659121654803547876779875825470641625351273838524369423182504283818573397815148494871255060968730985644158870773715298613633119743365331022927882187969726292174317681872498224780128536372762454965756620416913132659226374382900512117104869162975527560660921719650032090870583738329"), mp_float("-4157.2213557082460424480704341925940561553247830691841653400981435539206395013480538516351981620367465711800365121881687358250880395774620825687831511854987506719501279023231491942686224297144733823842623117593519011419660736165336145478928809501178397527249527779176733490452971419805174184467710266340475618574223653375243442683329043859979245426971308443037908174795188274849744981614689095415069568")),
+ mp_complex(mp_float("381109.64792016914094933552574301107855480339663974230301877656299666053630461807490849064592880476214232765328473647127397661800282596811628529275070396130274980380011055511271113549728344463013036307134876418776845730971577524213696957073064982045291009088257987059786310412461359568074908736147339293880463582265331324040848965202180204993881202880639709538073830727041333653772725999674906795317478"), mp_float("101721.78585271429911622798560147743280616612995410609421740483422365940140287867147745458965214956150530355616483872275671858976117139843866754638574467590097410824418283857103978186242965236381353389248510446259843449094481425375916306136648143595466279787861911892624857607098358598634061438265226234934398846091236698719209921070600850833181397636762495190068186564611486886639160529702427225765765")),
+ mp_complex(mp_float("4.811153871780960617198122001306012214029202181492940787895658357386491487182042105980374432474113566994471682326041144485245757925820138510085091514052431974951766038091527927783372236487275270617447959823534042789687040861057570227174594777769315015714209728336488081183651460776460793811309888399879006328508282378772679910636392078187524030522830336153757365812218228510684513729766800519501890698e6"), mp_float("2.6536334441380002413267055527143834427852894733751805441781189457894091393836810457516899722748540316215282520642147996144966894139016613140737131480339113046582034812883017491212039965580516597927612347604184933244301691589035501654481075464063511172959014065573405338897718746842391202072051389006837317198264208322290375555515243782492745871432210610250371048740271199709084589380836718520251110218e7")),
+ mp_complex(mp_float("-2.3267070745678940736238880190828893269294980857066105297806996505083629454182042417351617501738472930685824833881049558281976434374271486907718360910161438243184380511978069532479019922548629108443194458362481684007102447987746600028104430274326159122942337350019849112396377751180986501813567942539518282788734439311165756707533935600775428564100687809345132644779727113476748627498674719037342533465e9"), mp_float("8.11983089119121344294633503612479315065543849006590414351616625498980723252413443312607471275117725993531734531458221306609196807672141496624355382295736683278201063026696004695377302260847068577426410016463887090393833164392032412615119702215740371460110392906986058128434058867018690954440171353929526756013976511605283682531749142783092028404607454642704436419267689888913112188526573474593082639e8")),
+ mp_complex(mp_float("-7.000970431342636748503202172150060902278674245284669293457695607832680177758205422148796544137735933728661611255187356011223745979421179870249618222240352886587490915071129209217547906519176418948203290774238806259877410042002485421864609367204807237441141100443133490296012255936760640872757057744587251966895428845583461028948906923053140620992099412218476163935156418467125529106086953965397332124e10"), mp_float("-2.8149453387387040293344813397292254377073613847901812923183372840464862481732660102323515435993096970055680460160781267637702469669971395782331202537815447156381817600677782932018488823921312567120039973339953771848793901763162346132805584037418212518470596442556406404643085967055497731545225364080449621800673094949609288550652681011773123648993245893763436087951265078754317221735235470286825545025e11")),
+ mp_complex(mp_float("4.2644049613332909002196943886472908790565582544054848285356236050690398821456490284782548467452858905792876162744685917009553193703920979415548229657697083624283951175116916308567337464340804905619290905629116297053944174107989308453720521471639451841912094486553206065401365950126314250691904285317369653438693372899569016884882486502497452992831790383260416278157284012842127205429911079566912620764e13"), mp_float("2.954148336642671103405061050207043637156919066107238788556921753091637218053956492242564210290766358388872720308116797056748880904794932075555997457075816905994902989029571891078493095116321688790507925851006711482513982335473756892299985554874961282372148390499166004836629737272384663289970804756854332534881946246221296923275092012079897543790013459757430753456186013476413949198006690663604318894e12")),
+ mp_complex(mp_float("-4.2312723013275552762523200678124015474883486391590987971548082021061462777346125324007823591148822555058719002593778572683236880839203454610975626262157741509839073477116205430757944840392144071569639768141303368527450246262229267360480570952963786239659178891062358340351522956429112372399995079010136756245930292262768794467639051169145177160096502574517233813953394689416903331750533018394247467573e15"), mp_float("6.4442814607372687076847799060145346565376754308587979412259050320450044163173448135978187528023880703156686396192409332213159673732612296908286272564805618579389277184886297405869719189894820775898094919890932831848509937035587669595833459133753301092112694443034080324345861883882929333307019071639844416437053415012199780728350998379375998854787064012504892319303158333026067916603576729927822895574e15")),
+ mp_complex(mp_float("-4.889353710537733189829490721468345797117054820439481766492382893814290236428566087973165585052355231746253700903713219485614492125019464919823663806187084350272043764589631470775617014087094192283270189926576900477446744686010208705714379864558076479380042837613793306822875538740378287261829247505528251736110427956763421197300527273509275387358109843663403406530685903129362272512835637418355302596e17"), mp_float("-1.5971095272444577182032106236785058469037812486347299689724869063061030322978945341774172541321155803714372178276072168414671116742552854786640235175669133428885594952589227322156779512961176883316640588178353771480369428047433446679779301059518577568270287533460465876615355307553455353213827087059406587880363103715618918666939474418756544168232279450527180442177214316052533421502009800083526740949e18")),
+ mp_complex(mp_float("3.6235028603248292390208576445005694057508838375759148504561630542180530957391839112441252236222364992535308585857851624478763477220916591594143778341990903139063063590412088721062674979120911110495367308863500860775762160730413532441194911974993385840219002273329381030191592809979333461772180108796956871687543322097045129420263064433897369816908140641384112891407561118202122489417248538374553263703e20"), mp_float("2.2793968613783913128078608418775624459185670384859865732429565752288461251089882174146255368609939434592358211744681958287580359520222736460834615586742011207849547789771325596347266343675941269318554494929704571180485397804408086733647887755849887755003411783567812206332724956554511361501790365896502791481904081781568609367615235955734711660353131353745736844916702818875752050336318344792888335467e20")),
+ mp_complex(mp_float("-1.28105839135302535949087686186839710559722473798959380372106195927035030416095812261785226082693005079980429454634730879182978749243242862644816184499811997044953436078834095393938673959716633863291800696830975169378563756209604666081352276572901620999289569314475847055550238064261964808710156186719523550191663063049395853955110199404365583876757818525799551247841644029116201319287212567140597678604e23"), mp_float("-3.15296826358471015774050352950487296949124254464854293480925287160155070925714270971771527507702279263339488862945476535519226641378830445731384840962753539736465255441076452460996417908206482225272500625245610811746711367314425047929121436503574075788773697625221758359605817197298033044253461052713314232243085184027373005750199415155386602578603736650096166386076265892361226181985331486467902131e20")),
+ mp_complex(mp_float("4.0520645654442515558544616349947877935045733628563430648123932792091962035983391041409332150640975500204018678622448340419227551868468401164513921819732722174237210577261831523660699327107812856842071173495802101132099524718497576763237140382531305771660792430808535894716706673421869064738052271950760403052594024397672360889595293478623833212169738456756761838724058246032783951448159612952061761303e25"), mp_float("-1.7820987528377939596729754504026093437889794803476933609293954347538094190714885521870356544556013190074976372661349104237017688129473530787779398584697147720993997996559936429647810645017782690317169765665366759208123402334390651512102352951245709485320705351133752134060476403493692202322248865616379197706280149470962757229176909733533878642061413656389490798173111959746990341363101167670252667204e25")),
+ mp_complex(mp_float("-1.3397445276027100601561474160642375987328293482317473367464495553497901208086572612333211649461176494755526261601338900897273882602611609129110728469106786350599685437445500422566492896548761404753064626079784105094081039111210979594891887411666794458097672047812850304301229166984639437466568800984775117701364917052903302410623362978083493751864967640728266599620715608174371047319624450003641673663e28"), mp_float("1.1246592765612680358358508559340398234831947727551430864943597306443975359556288494127818321860842251534435680244294470629037354476867686993044001067009132668228640429961173160206832983170901103169170508791351417472545827634444217222606781348096623550017678331506533609872442396627610300125702436275238534691229020295421751712297007550193354132656020357901272130177851229685118022018825144226317972366e28")),
+ mp_complex(mp_float("5.1268882107903244831944199328264877767012801855000501574184283401318771575414419957037526026392983929091267652517452423883806107308758953352294272778628988898096937771323636675463912387687174307172978237856599395590194139254449457435989333762871642968078125900220047323372974399962812614205480508257151047590187124677326511372111979435494737648509529306574590196476830276736394071827288754725037982111e30"), mp_float("-5.9289803711310730879802253464772979242485144125631815696353375106423332126544889281986227043675263190190585803949038229754303937490144249380351772536067097677121099943552198410802948939944387067110360326820897015200186729926393609255487812474944189208252027974102882289314917758540210754998881216144714419795721659175728646528173521638586276878290084723387436098941644350492562598691362028760523117089e30")),
+ mp_complex(mp_float("-2.4571844951522414311150572544989562359538574353411325259772416920362448804313121280943086046131702654571205755137643235021956358974145685895500162368771629523204184803264775591483351430770762607744433081920037836829909186758727887668049230503875817435990752809924093023750702399018606871835856555056998378555048873848612093483454805705858448946420162820872854760346729714656055808674185023860150061773e33"), mp_float("3.0969324438264224351330203950727272218136261438332039807087705921630280238047645461533115496115576352008482314176898720082631623306232537202775677576376371392766326442481206792122437485832433331234532436466324019113658271278270537273753973976065900069626630073670968844750770907694537732438557787957787437054759582985275896501326171816740431623341282015544461202618907863582177640552943895525699512351e33")),
+ mp_complex(mp_float("1.5019914442584860536758385441902622586772634070143960857711041245115420085527084014530594329731297444752079580078773039858154193843115028366343396818272844486149275191132406085868609573679914134529742951584542152334465917307569739253140144790670313043829196541692707996487647369137061049814130651553615205215128232248962463029043180644666678860776403220847260849140559756827033012923795115176960600766e36"), mp_float("-1.6476330294452332117325302806940269148617154279489420915030765624458130802814218750083410152551432321508474940029816731314888500330245255343804714293669670662990581263318708091161796914977851544051674623899547140437979796357711586022785923470108477672661991763763012638189119081135486753309144720897244786294918016030794990978970903641687503357602266898291726555069639318255370493135993268272014089836e36")),
+ mp_complex(mp_float("-1.10563166194232773060039758268722703519587001692709163057860200270089327697155468231983411592150429706965832980406347970538139193355176305546454425959812635182505245250281373485048279169924602716798421345490353716480763531517507878325039717278809134588408764509894501594771328411698864396546563248130201415398889759645970775063372863686034267241857593376701449788080533442184803974708740512341157924137e39"), mp_float("8.5493444880520228613858380418402227502043354444703144771628776410241468815701218453270491840771970132444988361320899187791831875869249091182775931281884315341448747168795881157840765882338368395849854871992845208359537734556553332400336356598661993995835101413902271533316144397686996437063605946363569600902217909100490996886558836793961419445636707544806448262979478156430348013409660831381744367823e38")),
+ mp_complex(mp_float("8.977505461038021467677432274632614561204207227332502705098852199585703729569705237731344533520264172505072044030831565362899802897173418966655410941613047726368014039061458254513661053541982514570782018090099970659403116308499014749274903480543352745743356267969507565248659099293066312900224905392432060475456138974993783521677141643753661073753885007162661639849718457709771464152092380759791772696e41"), mp_float("-3.6394069345192019035435527605779321967523543770777305170870487814752498244735253318831939263987544252362020887097067639914022683636611118375831376474372145306526132651753735251740861434923813023121481611477766803950491110332942229939971626963706270878375855661441940264895099522484406415432201482571021632285301574186982853973538243043827573693025305524000948415158643582918944551547183687845453463464e41")),
+ mp_complex(mp_float("-7.387203305463571130199718967539392626720394901574686171033143666642876957381023191671955144021396293699333547226868294138061660810224141674499447504044367449324651925941163848125923847525413038373358563010934036934088781913327403567618523702395700817836215245958623596211703446642262661221397166491934579059533371553408842174531915797333516425123471210142897503309068560300990097642453448642769940436e44"), mp_float("1.264996306413251494910840442929718678763079949142302408356793167909116029895662541503193536030647021750978512909272332927391973657597815553163926019587653383888883268741678096006867662099980810791064542020392650837471836735303896096443302601471423754552520649397386363852410298795131751661883976067795324668041473420120303720748138973197295230906930221361082817869122733332251465383689934266396378359e43")),
+ mp_complex(mp_float("5.5814536131835047552866069533714622720161864805158385344765686385320458000028320547086801966058450345704705935804841190214431013927788434954784849535572990513119412556609198612385470406782119874449405180265428144780249239161818217519327581464799522808956250669798768627381588167487124827422309633478114613021810984591676721686061844003260179654367657112131307368875471490326758482650378896533078071017e47"), mp_float("2.638192080922128682466692510564356612909410579182128849805501316681443965859947827258228447733964108800048553436095657491468652464052133825558345723238172593310706926879098699457603229392773035763767467253451659155886851955031982821826009186393311064531323808889557478766371402679121396160878757568622511867269789528234951299109008756221224246960673769987876584472014602172671867530989364294233955892e47")),
+ mp_complex(mp_float("-3.1030598230582211873949043729650201780231462699184641617646651990425443485488175199095758463038312789165653015892264964976710924769322721477554503929323408072626305634029879846937276898397401034709065311104042465076468840535809207113718256795081180479029957723586790590767958335981301534454244594993621341105907374127244916958440920790927775606109198717715734358719576969037670181528752106828584813926e50"), mp_float("-4.6965614036797108400413045945393179690875431186801313808218387089399062316174107684598619344870258567631844891578992102848324291507921237487268197358831319559657771067823827828416743635953867502701672010172561093248327507922995835963062196129573105981394056132381374229371861468520217540640749962493509199098885103423837780954591314238554474608016019668752952288619519301811406649888439335229818245015e50")),
+ mp_complex(mp_float("-2.48951881285340808731218573260565098684426388066272988281150002509008241820689721169367834622958275885748886467556280761360925637371260952138906690326047683315180088784516474324429328546609978912744362081307824406963288374670965242492568308702661181127833715029798075599356258894071972833678349195319294538718779845997440396825326404132495113735040811537356064464464088179805048437141832014252324441e52"), mp_float("5.5748826866776194511675351793713936085196944019528093078542794086366305548387593217107138381963694318505580584202413706848348495986604594564634100328066004896709149856744657160979414906746788479060499568613895880576029196376297409347806170228475292253939247985575904239549093758791083468274750192060885774064571259066124205172990976382995104904108132852354994414774710156694599184763820262046362098393e53")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02202_z_gamma_medium_x(const bool b_write_output)
+ {
+ return TestCase_case_02202_z_gamma_medium_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02901_z_zeta_small_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02901_z_zeta_small_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02901_z_zeta_small_x : public TestCaseImag
+ {
+ public:
+ TestCase_case_02901_z_zeta_small_x() { }
+ virtual ~TestCase_case_02901_z_zeta_small_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02901_z_zeta_small_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = (boost::multiprecision::pi() * (k + 1)) / 100;
+ const mp_float y = (boost::multiprecision::euler_gamma() * (k + 1)) / 100;
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::riemann_zeta(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("-0.52985466577457302195328648942739781277718734803254006077450189335164662346912812308038561685205210558715964377417145004413260038356938326391090347526735985174015075534312364961306505151839858513052407368006197454458064230264259888014543860113442222743882031089638734392889829371442071447745734204037326344944802970583868022920929579701568814904716234476780614297874579577153021948064975196535677931306"), mp_float("-0.00568571558999989315472868447592594696035334039481811337669934739438502576792122514092504798803933965773077111464624107320423413747832930103058079039160379863604690714762356504002447481456585571971657089390107010263122196696529059601501679772214129285160275897350982422082224999485478801178858525481016690462885917093208119927645934170289301592886914872536822369938842238100295133664500823833766037619")),
+ mp_complex(mp_float("-0.5618015412073744555247717688267607658871280658874210302112873099115049335976385298665325220080927422334276037926434960543698162860641335876770386940422247347032124166594879745954086339709275684097808333889739877124734229583467324846112216113882142152790048935243623194810615631905991372368463860796503145049237676436364014644786208368784066945352387167768673569726663647739157801555842521481517964072"), mp_float("-0.01221108924405952678819907020946460447474429467543888864631543387862212665719080404203843739683661294292643552019862500310351446502838837482363492908170497152311367889776240529316453627518420567753865559731606749314414257024021545238685253491401837820293294245727342954950963112200801344840616617937829433237186779173118888162626869139024868619134555964822228650718165710017053559633397055998066725007")),
+ mp_complex(mp_float("-0.5960393062287881786543717978283890773148177764034421093628072258652404377638250579268109380138629065302492317348966132154158045809714413775124368714909924135670364174455825756886606893506270797548338660790653161095501329681564922743640560192398464142383140263028191863259494248921172357208653977508410095131886254717866596265370653477959011745011181690359867469335697658081748187300388570376279658098"), mp_float("-0.01970699706659198152499316607501653831698077553354584875387744962268401304624676040159186163535489127574095232927926289405988993818452599117650633011487453503942426278303607769322078103603208890017028382304234725274553815231211420710560835984731326918821097824502890289702418218408271230586121950032334642083414100666843487788148871324542714396678934586550964652778399843632296523776851632450669981647")),
+ mp_complex(mp_float("-0.63279106940443320227895586548326880854981837873079139021396682845910741246054283754998737941407986557925361197082523284502869981898897486054126543216611872924666040031087030197735024619249154641549406388350087813259580299595245802816687610059304678118968025691228937907668946210789720991227301034292984041384552139007235377412423941542253298994536382936964017443713410177409089765760052417117683682952"), mp_float("-0.02832900060418441013334546073144250678148050752741286761674594197470105162997501250731567142529588587678399252608337007215504520996546853722340183853470549864285410219846380661444291360328133580424623284079598891436016812669073453632244689820368366771728972662550844472587649681780308810724346019314339226683053795992011185624521648912780945816074161482633615807616054088300943748888569933793217159001")),
+ mp_complex(mp_float("-0.6723078851204109241114380214092921954868831737996531697440570817040000879666119976588891652717402915486905908029089649760857309811814194560601905888225277076877095422275939722570485179305109996619723350972475556336608689478553456737848967867918489686356374476238404972925172245167183767333934210012293360465666709087964586729360996456741843176074129359081138501501560146274473385024982659199663414991"), mp_float("-0.0382629043130358787978044091515728451312152407289737445918734723098682544786814387144597849420409732563698556681970508546839372666323547668737222488757821566099271386299467951181417802376442697731106377732695494512069779512652094181580277550199953289227226436067155694060646953404944755025291158494467893154154936019075122323239088062823050742517789286807769564191746540627823495983345279203372496758")),
+ mp_complex(mp_float("-0.71487278811832850934241443869219240643914441208494905344951869783935836488436364951649789925404344945456702145223872186525859273457500936287560603243592198758705312233562531698764571522490642777840268613634117192720191042016602347384503066495851407358796402520183575759904795684263099295031381503842512684570785570220060712084350753945451121177074201690230064295136401002366143394926882816296538586561"), mp_float("-0.04973177609247732319744515977521961764691052202725548293316693055626455380573574340928594476775424132963458430815218650568154436010951146022563128570987034958457623480493523312236224082556940649815583894362294815452257158886683999053115468111093423515069580648604165117751490789234617118705183293460651126351846662040001208649112600590133528406510736780780260774354116577357276086628213958419298445673")),
+ mp_complex(mp_float("-0.76080539256622478921264114003320738912525993169544443231919683506789125674386219754061010805985286321788853895935057986345933802279519518545344501929935651905744202541924932154551206168997974584722010437672736324825369419779031409686713751903151878830050282842274857913538697718428104225824417568333045000598243147788263380135815646448531158587694490842085963812096977501422833692103351166702912718923"), mp_float("-0.06300487257156569715149370070714528680837699399556265945269569681524770549617597750441813660078626012056533131982687863280104247938912112662681129258398610781898908020388574651311681815045647903550809858896571815042708120257983642884807862191335606035483684208693049283123994617834061854533680103057360922455075333113239460261292556653587608968103827949288545087969104075828459964000542829451364118693")),
+ mp_complex(mp_float("-0.81046708220277335624761356174402552025759505010937309983351667855832535287422518130295019393371896217569772515866659487502589856681721063537001065495962803209801093794018656053796934437232147013534340360356620585979405747816942446032917750837900128012436687366256528417241908588919570346630287601023900931791341014419822528174268023114782705926152446283936069907149646296238793508112248682843240970539"), mp_float("-0.07840906074570631985934903843430698514072465833998137697571029083920982475320600747024592646351394263790012290050846599583844240210401588741700908461900765126764534784640408623733401481288516214742720943468508980905913435177228901808865623002459197555871031631802967071798500583124988036756802900190597284905594860344812880333420464489066258181451591872179458986543791174743595750712002778945942424499")),
+ mp_complex(mp_float("-0.86426677439508112320279428555218123064146435916241758868772407533358714967301628464988817542973968437735488037684284353441040332445684729492284282176688716693465469949704345819714123572227436896043510524437481154710858318072258142988072040490437935228756066358036047176023700225678326136199467477884464067983917059503444318542770594531917186059107683275242633384926624607172553441746466682303545081885"), mp_float("-0.09634353339999869456002607301166836069006710834502482124260726292886980786431273539415647714714586002482046167349541342396160507615197307706705492672538255099370840669828080103915244864109985528064869660802494249842864402664478726270484186516609100709152634105293794414097323165520581576449146689730746937602107864612951819190022464666691531929729101202243578700295523660055211479472334572967671053842")),
+ mp_complex(mp_float("-0.92266715706873941534683459645102316167351136292283042035727549693177916702796539271251679082663213817601324088916378028946001611104650081093963363603459110693901240806288097374823587730760369781745857179762653643322467908531523387402585360385314103564331191659340339814207542752152410410091872616305463298150962834430798398400067604804168698221191222892465852021758293061902829155418165115550602080011"), mp_float("-0.11729889976295855996451521574493001424043062844332196176368363067158916658550642018348042509822865489834827610579023860363023108768523356452572419829555722488661514566465582070206035665122777358901826090313657316490379525406513434326201097429618889302397620488576927026163956872070136333025683580327412801510301455564599467716354203802533083048025711750600853652468872398910465431264674487646742865429")),
+ mp_complex(mp_float("-0.98619114419534383088857414992933757666206211815959945062336381765008964481562658785961749027254030839541812880145789395183056722195436341671094546330106300134157396248701378855957522291938261937271025942751567262703823506846187102991465202258514338096340005445800917574846618513738725102232668667885572574352022368064223963875013499107716499999100606717807130780087419203549476242222691376930146539406"), mp_float("-0.14188212615482395255949714690784035206785583031349334696749031331065738435618330466578637306035663637975389948690211940144740527533086216147037481567123983892963239991458198440848919383227989936242311458297903729163456897087524577317126205147742251392773308642027747411649220273745944135652627998745279019992832505267179350605953627286226155001322744990669583363109975702357938410738686250337234906528")),
+ mp_complex(mp_float("-1.05542802294130742493296680793562169398798680838972656945935086776282693665174875436919053084789665558637747965272011518999636670969989969149779042220022644722930181502759450140855101060899183650331531893240360655654299395492074876284515451059944503661579482873811022297413101638732964687462678300894891433567104089780902293556100396662850362690418678587470518931376964607493140772259699304623735385603"), mp_float("-0.17084934717263637163006909245846359286412339223038219793279645324918029569794472322404135751311436873990266677868282788077722404819196435834917529127000711171929585401911600390001285707102958509443871593634056769366636794517725448506672558957725473911126323564860496197626669305513804850166275116879729179085752207314613978319989447499664640665412890834973117670928000256669718459907522071862150819455")),
+ mp_complex(mp_float("-1.13103828804531043579675822913371879775919339269853687757918397122728609115799372772166017600694993249705918869898378458298062291898959110975917262947061089568035324723537660996750899165822996477590918527810504629333984563732742394411242188947174572358693327189789452698358401147293764724730513146346374617872234673194122973246068188277928278599018805696481392646332242205409816167540473811599543208168"), mp_float("-0.20514932464624226757544246094898975873355203861699893558407869036429617638782700016518434555404879671436311500240929323205043487224563013136016355718178578438166655910532275664086990158818793141537181201179417370502638693323727809503848398507194931203769684021876418894675883098690102585658126330679194530029119072302316994023408779836187021407794985459114456602611372620325733450354886514278906948207")),
+ mp_complex(mp_float("-1.21375532887907138608985444519218270076007499939136489544461017241918348912692728241799847299409857942617954763973660658471041991627111007523490560859459897251269524117061312097695080316771026645467766736769931771876311971423962506918371718738200657940361857638391878719758733425413474940701254210898864846051708017926489589823394072579514088326662548954443288668192209147722984743240402705979336612178"), mp_float("-0.24598137507587333123287362617903328619620210710396774855689832082288051333262194680053206604749578212224126425874268296477481949955855948781550931771793893231617328349251670911816901162999153186858309447190242990601434853239228096153104639532807852498952713175865444132482242584424398982023662896451387414476853500812551871616002474634219937231992483565605601089606122563914267081801388184570688022106")),
+ mp_complex(mp_float("-1.30438069642353948676561951197262140545806848013174844540581947239863842932330878764216292840277403484623169888804752420793774080256868429717519622518799603243414845737958623063792852060771440095132455204706291685571233112642012724762914735867984396839960361626608262924577551972732059477360493852693080366573449213865535280281337946828166617475081248031391183733016963109820500273387992684214643681589"), mp_float("-0.29487300658273357935556144221593684522513810506644727905989351420762504119100435430867287925176241434864648823816656392191973679727454449258805568402493502343182524347156869647771022894239686912106487116691497657994766686748738089791497805880952893240350160916471011036475729229750939293865309085067171346127198413175352995461899230526463525736767886810894674223618630868128294571581750308536578230563")),
+ mp_complex(mp_float("-1.4037671873986268373542407568059802673783239405603295207539144572389219207876094725240905196434440775891704634925899592788732470509745849772349287528675315288607899941072146088625636285511039447725357432020058836667952742003912836240446508804212078228337509299474295359578115605788760989745263076574968969058232499628864962537149031810354594085704720477679187700524086254991138970653107186888645408249"), mp_float("-0.3537843886486319101916160292837986273472706603633842374576666628179799028363623410206702255988397370747554730915850603265392013195626213890511104051542786122679162930715440237331412170934109241222105873204568056848691146687898757196966640953328523322779435531009073194524543043423638333013740849530913495826863962674724737668458364890743493667073458428143710556510399690550493352746318436537840706163")),
+ mp_complex(mp_float("-1.51277967063888142987685410551755854827213756196623871468134865251309552874127715216163263498581730120796935254110664048594708652600365837048542981229998374670691548895168846453217239226569786814695337601949706185089892491587744418460515431102671774615480048410111792030718580269511041045430457952958948754678284192125389147573037589346562209181852586736594627417342817119091710081821145334801439284"), mp_float("-0.4252491410038464458300395450379666406816554525835844889437079405722323334252082695674409593956220529814020254040428376891237245867369870222479858704327837328594777759714885191959278318603361022518020350904388991461208192326820010236153247826080457686422955062422270960093568360576620335762676406623337087659018292655587472451767789077036030770340549056433260098438293955266881495750293924908915830106")),
+ mp_complex(mp_float("-1.6322161160162755551051181509671204966520409142909733441559793067246263101390762974002029122844920235303796334612594054461310018342756048924989441215325152100204171136245038063513280406013269061758029287495072469979929496663283908073354193504675386064172728596154659288249985467319419162147566280026472830231433477785970511204462160663944273257249473302351188650342699806618148408158029827067448576811"), mp_float("-0.5125635593975506493062086276792782332781980072292792552248656624644982324005821453624404802482228151026655474646498092126066375675896489877494486125799517635499126988248299114808283838047473697997943573821355042814967778100206607517218296448723651391201678710677706734343699730638440547423314302720083177375486869041381741213809977710659508521247838328681405577200770956074305361114167891429060886158")),
+ mp_complex(mp_float("-1.7626584066816552244702231062436511679859508788138453844629931752692584597586238403052048221666244593796293081619732451760244747796782465349802278079238381388407301496841487925037762974270417868871778740684521312569716895985871999310819086742531161837819609105730003675097673090046443679562446080463699025926118657553800918889583769648234510732377341481545965182928354171478439041351341782531811515499"), mp_float("-0.6200384378567088957423421615114507172482115211710642834304969024488914260997896325432982007029571454966091661539707732854156016607512364054081263302564917872078026610396179580891374772028999653099943155199536391817683808342624450438462477831684534323978382307290975402980783712481695469352516812105855602151464955425715227642969362813646282832614515293558933355606865766708203094676781886728262891794")),
+ mp_complex(mp_float("-1.90420050990158872454924728830734420139814896024389023378748348952159101284109030026327345668995111494464855304953670070752019060745735962570648150676075888390269938492518693890470269889827622896627424311708851123436869404958483544187228852921279129333298954548429013132961780982781085823698288605062365667271110838490800984556665423586445730773898302924668764462789633736201277318521695474465826051"), mp_float("-0.7533266075402308135416577792553167326678418368642809085274375951754383337660868134383099479136550675493366783300558693720483593935949766517578498348531536512395991447031652795111349142866636595796957730288751815572513386664676221157447696273562077603642133538058001465598472033229384038796577240748685206901974099568286932169334923281533393732501516868442561082087243783051996081222929820625354848123")),
+ mp_complex(mp_float("-2.0559648259591015001586547746330328884379025976944001325146412245107925512628499482857983669897183746576129631247006201873879572406482649017706738366207661993959533157692237121965793672974033883089949511765720621646160250664865276156167048756784395141275019290049186197276233441615940115820082544239814140813426972707108138948097958674180568979668731300051693918379325017819976905443082801758019171303"), mp_float("-0.919828794764838359701405092758742874680160232308768371147161546046109255992983504253751454526207048213963031807492429476317211427531390716465935099974630431906449891332006684164153773875105833821310197371913396014995310048870486451076919692543361239685469747329534082228606719789411861651794294294283976149196212273126192578885827368265863260728905282236785653777432863230068982080685855174657471705")),
+ mp_complex(mp_float("-2.2152590698022952734705233684072375115261906222081162493280833751911819115059971284311733917679498511709025142861029833106068888238025931283603813012368474844282336358283159765992811022691475755579925074155865022501248125214939553171654046833211122873443983097450657894130058435812058223385805480664058411243486828587249086113495413243551183883741688816941043786917048204462882601854107387484373959033"), mp_float("-1.1291451463825257807720945264082964118322467086925641254043024868252105188502131515006255342294709109708914262099190304253774294202008787930644309406899820192573745214756513777292976261093539187479197247149127447585332226440370659662842617728148784125230861844876093721544238349150731430488237523324457889568641947257408236628679718088876138149114182883164293741005776441445084604692836837517772582164")),
+ mp_complex(mp_float("-2.3761427170256665942587655398747353200119387296484898220045495330463243004906117644384609097885579721226495330757204386627606574768312089503009434001208468240074882946768422926633342643236479611735017741488594330116773361736472923648275991087172954270699699787865005512264264212489821985310136865110515660198677842434620538017920379709585890699304198000696180668709525489695071318579709565094784839216"), mp_float("-1.3934457442784112287824928573612096535131213064384046207784634955068837118284036924420790204234959805935463444667155260118291233173910232657057243913192950590288345842418225071935255636987121062670694367556407347066244880682196839148071868996542214183570642287217438968985466634010800549823431814053586930366127167976706880029801021860167770639233776576080683980302946408937595510623095767079927264787")),
+ mp_complex(mp_float("-2.5270848127552446475829365625165360610218575296066550160737632733530863861260375768624031286647205711396705298193562662877673354189762184664609842165281799627893670658805751249734518526177580490430563382019637011145503585154711353150516330997711888722539809631031031538634815155359582041662908552893422653233968895993109054398693078645088382822803747629773130656821416128181147026125815563627330299069"), mp_float("-1.7274115453898016313357886035346127452804005146883423950587523019114305509454303707136721192870037248231344012428346128204064464637216306899544008761405255271320574394063450135504189495580107423251322559772860918055355359116255861797571526438394706765540852262381480984336263450275829816093637954447841708806783724044841182605218967725989553189684139861449949994395977155945928833949340711951977924589")),
+ mp_complex(mp_float("-2.6474106986543696434589138382351842190661903603687490795953131411147254440800454232232407272770343853006696237138927785034575768787716173476719137230236766609361784207109577004843743228812142351149684767248780432816890732786890423238233576542036073866483732015101273167564960165257037447982459907926842132083302343871737496880896689671255953068217299905276224283446844142062295555159563359269607614846"), mp_float("-2.1469310948605277725568439757902112247079583839771987915964797778342249676134705865614475102943394506764940075212124044658507459973593194364935101696456266313835872050874978719882802739729603505465659173631768386332868017387065128545549160822371805073238444317279046703524680911087193713320316408491495904802799392708447688151900452656345003070068550081517215640090509842223997195549301246766826024665")),
+ mp_complex(mp_float("-2.7026950915964024368425068485802302407478986433235750786397898645601569555343597945748843848457204949574622097269257649209135952970321226993982355539532311701634511360299003106161824692689233669088818629756901494533097633826440769293568605795007103769139310355396875065438460164075634132305377152003737870060737094360335394201213276433535142410020033157745956050643947929602537203486472808147071630956"), mp_float("-2.6649211911369438223707798017206110107998684692147291220699477917340968851711131060003439995795861093144202456052096969251515479389099725348286150795475243575086948297890350956528650825309878874991795427345521594424517800087568743500566891915255785558181505234040024500585097859302187953266763725672500349621426664625379253567845960303981233524072218177856805160965812095671342234367080410687783472298")),
+ mp_complex(mp_float("-2.6409542227306307769632207677250451621970335448200505837340443217114404061187385271666831326512645834340737711091190024951185505495121775824162912075662330454116524828680942775327423039142077609143658440957798771215665147714363280305177193072018361863464539640623971960551033840200531710621027424157250388299543247823516363871652213806883772298405976906742236259222663607584344032193779404972842607543"), mp_float("-3.2817261552332023802215698012794189227477323729631780615310859349256195194850964938547511859170237230699337363512138278263425475072011207984292559978175451863476593707752243826585356247671995325591705439636980909947644496658551158325238240461250296710220746514753977851671398659308403021225399474503653996095336215977263946072391474932086626062872056216850505423074846876106056578030260756927709047521")),
+ mp_complex(mp_float("-2.3954239012998439742254844918406381774510748574559010240072265687138251661927551615915329071554241128390667390787001759086788302234540464108430072122807503584514254055684732581293755875834049957701471632944863829625266224120923541743154320829528807874095407736774323588174125159175962134084758909736472359878813746464886592307545594139202719897398317630380661817780580677830646512716003129701872450926"), mp_float("-3.9682289964453007555911731316242170618009254861179014292993975685408898895926999150278094415470953805403315615693547403292507464240949793469493360569055882561749236137457484924054796603326801622692864401211410092863143540497095378882423385625044844305717318810909382305794385575022435320737472075210092551627497813004637907981539657203150125241098163062113892321616633362019171189554446471259550161308")),
+ mp_complex(mp_float("-1.9044645770399311489691377970372277806285271965169069685698111388010556886967723712804689891599568008543641066503859887242797885184329931938070102086736353489572732232536607148084780143976350990994368275364532220748500373388915420629101312689639519462063551518377007625308451989337582647006677445256696544343567223610189801636436711891669307332428560473826492202774099475810559145991234599513459493458"), mp_float("-4.6464852839541849385014300286184865127471086372175737519996771653604770786278305813438561748037582142961972107304845699339736942291721623984675929784424308289785768114434451326082303383754816493150475842120181406416046822054011592866600516879452883210277785613490101239004884712889660447851372436644598892557994267182411262488521125033660734097931939917977843029654941706129119228293126875105584243325")),
+ mp_complex(mp_float("-1.154507691220871624992764232445333007566414005824139131976976713479123074683688386688481101773152943290021835649371725793247733972831381026862417005668341393894184724507818313963067332934162464923676015196079905308534100479258895360602141678828846512159359068859285524979923511329436927852447752883892470778979321110817033396555190553284409235012901634814790671625077309184639232992918154668039163359"), mp_float("-5.1882436669934811751674203965712026786672495522188972394928615494705882166872216029546444496532882689847465838906032323127593679725245002743618961111276508682265019391471857700256791468461281094712769422529338578249946530261779833875989692786331599838698954082438351970935134938674914797808782429915550535072147594016718942274341590816248301776473835484408918409267627630154510093179568942062167018031")),
+ mp_complex(mp_float("-0.2228928820937877560866370817731719414038887972977633596952268058139751888893324852933489012689765193399097459551506931052108402908996353918050885166894250887490848122342644533254753305485715961873362119326578303508336953357046469362154036489734737185542736470374101376310622815639209599729016980400977481998032606789151639950956762298603188867041917318307067922702230019292792940831381964449472748508"), mp_float("-5.459009190122714763579426352737487136175682053720144620256786375096448585241556725326795152758612640366710705134616256949410147166570015919231860672062410028316664890808769403753070006078566926265423614278488528506336234277703807246988928126186688115250378287594770844257574964197573307412649184876867521679075639218579927929057088552191932350437081958676967764834038381806142013313533764416492171828")),
+ mp_complex(mp_float("0.7332679488892902462685158698197561245759119465251640470642552114246036045390639711446735933235284164610907046317959741074354871199818835726152828477989238754106390384317689963217996630782407336218206817754018783073104620406923631179941764120849246917570076293012587403826541285282585072042692416700655310338342537795924055748885308128693737071831870282277796683328464752143313199195531283801810763412"), mp_float("-5.3960085947544795214916047084014149218031630855195288936489986715578510328462247413304836133517380039588806055547287523612348779308506144346129910613276133934922504234686132925815983966237801934535272069283934077867426807570629714650852609411070967715270107891415155667399551319972871017227702487510782376321052218059839237198557942922977735731364115217874287882119297378962431696676127042751438924386")),
+ mp_complex(mp_float("1.5559781010085447708606979039419411343333022342452179218160436687059574418980926429640259650906651427442919447293002520442629255249513661551324784698607557861923491982748665736334765716624118268122967413961514482662798804200952166216581919994143190475365233730070976805416925683813009892068511446172135075954371506736747098367789720511401606540279007736442292049145776965254748562566990575525041179242"), mp_float("-5.0478974787372947786355446966228523242799292373515555390605017481557275574699293291401127037894136016947501557592167203794688873465000310130550949900304116341982244169747035837150776367646454642413122677718594830886997724735536659122169363097463296106728476827450232013180684198904453581933259106513514113425576618324626747056678237561433860119185982416653330690883968794513343910846889237976011978703")),
+ mp_complex(mp_float("2.1612056715332827171479148646287182787429700009758504893284748395179923536878178457074382502417457072719129475034719517853075011711178923878690645357326701419410162526497672974225981096098986607709455465047036418708271700985618490758005357601589011414023887866709907995523039319027941447355639067356582056421040105027146087410009857737394822309875328299467757049260053999670157057679551261607317203935"), mp_float("-4.533093212141391113795459011487021768629859789702353319238512407398115435590591494196142652653244951652022561550352968684603849556835830979519318056169996768225780024740663585734758845273608943802187795183651640075417793648227014738503657427152329989864167719352136899814062896280572257870882926043137456992248837152923645973998517881433561604942389185179843410517463639139678689362990954322295413047")),
+ mp_complex(mp_float("2.5472702828889396175480170385948924243636970982562612471456291396424244887485469315407756434172257588607629733443465521461698657944358366024244525267678967674403338399885679879178715828836324747402432984192822184626427688269175657562526456734689620907867887356820552919112578911657468779503939121897178703358128218972646328308490704733707492119931367793623753208653750699752124640228657117939820753336"), mp_float("-3.9681666271372616034564513121424780305375219973481495226503316057458182580388440891279010507097846286334204139844274195859260739282446158140463719713131878048639911683996866652920924735642121934999741986526211146667482378526681467638591476952480026271416187494084085839250989365469798627483948355714058716103230747344906374430225736169889194368628515699189363088047991669358272035560279934018866891034")),
+ mp_complex(mp_float("2.7576929855841410268598721980420102799371676281237983772903533177703196114874603796204021334104935534118817358745539025095736008069678507760424033792449441450611113599796781555841857925375241548316270731268652952110742757098462293011960569698496445343346973839676713133388144404648211678309559250046484443062373969010406657800380195270659654735953287305853811684905008324143817991010662059407281060284"), mp_float("-3.429262264656376128418051946515480440639320339486969320026961299945708350725859632494174132163263971504616986192918384631772069523878066297122755440833969830559221144921291252313576053712387342303810390572601216047369731362730522371724512586323125862131311979522828200816273682529413529817018775134100752527975332364203818767302868773967478327940500894027679397367411158904400008322549431403282123308")),
+ mp_complex(mp_float("2.8450992535350025155216177936610453501985102851732892910414149185560792594498070577835970108928505145417946957708819291589259293607802080710741636113111672359102770843154146968093980685145517292443265911176212409499709207169967154033591766414024932684918971730761232355911900497965963607005769658267335441365710556253760597227956998636273826348927064438752163777715573943800460048961731143318507689771"), mp_float("-2.951762548018143179819925223899877934402351966978431190581300767766481849318276267111361835497660782164237344295537868807615160776486041427086853939083625991764360167009787604314309779377021137477640293259725044201789530978438461076298159334805440702068069257479080237700408025081692036533213321808614243849522630016998326054137761913499260227411291716863420504691606407717692805424592167379790866371")),
+ mp_complex(mp_float("2.8535791828384632631087853982975803333236806073427739893049735078271644539794208976898332238221471412053707391947386413020135638315343906104983491885108882245363878491979462783308938760044790530572845562778664767178759673473489101468230944575086767781715207335487901832025307189062062406694953757250135502221760945944308553755939777458267997476361799727921717073756432121486339498821708248525066368293"), mp_float("-2.5447172740675236535952066288657858053819425669232478683645795361423989040165543335461119619534094828494846901185339940749810153967921017581284767419652730448891691324760270438737140814978490201647846847053316641517914106026516399402008993772971216530580967473946612441110626030652517379262431363840956558931269909471081165727715834827066876540050333897001243770962436879920493600518021237177971946078")),
+ mp_complex(mp_float("2.8147174649120745387825777190155852158448005005776039078482379304475322758172854413113275493324016269016737047480651115233140827401309265982777308427193076890132114243400075256897727563641587163942271707261860881948031773966351436102927682768784229964146948562030395434709267714181446614308520139751463101181542887745821052175012612455587915233223172354717758371080285775929412755014771255575589184227"), mp_float("-2.2041473037030553871289707187285412723693482244304198470871191399778675263809881714218653157915004794750382153358450739239360762713849624600444711294929304288403437225378120146304522713226958679766230964626289586077967439209205174379565446028130196929945799253701295658493199765756434807632951535356802514347273119581818410246089548757846010372126221734010931279880139864368135711991091423730098020255")),
+ mp_complex(mp_float("2.7493675497016971349120784040027580179418918399096171367829188550127315324475907480243361876266796589985726925560498665489926898474693284703637047170222547959613591605962300429187178455492669908989933546344246819527853106164628277257142019929995072331975820582124752204045095608059106861373642861634045739325298819303233005305118341225151831434632237562788803322021795241205344334688750009479830527306"), mp_float("-1.9212089881094683613733765256878774670823158816901480738966689306256159563921862426739273406941999479397031435251677327629622863715422934482995910851339427347101147274703392688256771656998447840091822647918828194446609511367786356377578650293974935276099098707936900514422450290924580298364919109787183222264817375257381163808116100749235613058519882191871473783136200673829408394196543080484804127675")),
+ mp_complex(mp_float("2.6706625577666477096725747546968292104204010398017554807122221382054812626306938335117358901373568429666150442994360570836905185718569596253158982949306480612740288978607892110879863893437799680974931438844257366354986246009699706922284357643774561590226640709792911286846234460094114485617655960303401840077671409127951152099878828837828657500434558622424364356655266605806741253042097012756459453725"), mp_float("-1.6862453706644465601051378877243230705154443056851572517260481246652154971923602246262257239595647844694004059784017954938582471179459143230296604632707540816354612212698174978655389718300302855205432547328332388790153242549481181721223943140753566665454478746473564154218199865357645231417045642205670691169175658229097349959175688157658569457330694962724963539413510863439557572208827525600775378961")),
+ mp_complex(mp_float("2.5866140420295230028608997886235353660191169014667956357146457394932626618591534263354423836894458021212642036618202102091176875611579759369752322850230469855888077838796024962549558353928293529779365317565279572299874452654346109838548458758629619301175580851317996894916651330616612561192841495985643094773037066690833564356512149987801340435205357836657647958072255667817378596218038356044021032089"), mp_float("-1.4904607110630421859118445863510484583345076633030222554817338737955118066868293161050968576133985770340794172773490226044547976575756994809407460104483182325182868755423254607054904777391853524049704640670223468333028108506122131353677223788356270329927004019799066685445770940706951102919875875387321480132463275064145936097624559166927858578190690529703771885143477707326215938232485174828036052448")),
+ mp_complex(mp_float("2.5019732850749118454295720950492340762579289560814424769454576305555006935025409421206171350779537551737097911447593885421500904102306266440280851506092985094677655688960764789356110510861223152765334967115504392270226223237570156613795541214579259117872011383214141840791242060523899327548106449756766910473639057381513769488148016263299036863377082047719919305627301825185430691294962257575500352391"), mp_float("-1.3264303016991421820664857524326030190152324229788263858961437827563501274841193308239015213369152956768450559176803145134835003913015937579759321030075945427092587564831332555951160246221406423092787042735894961836580875687841357078391911459856540207129184131469222239732077581119176423807208469074904594610401913695138687790727117269816581314382535327561581445808825975317914606536726642967815564994")),
+ mp_complex(mp_float("2.419461978597599791483743705381670175642106975719165521208532920426406125450686609592424918847400798097881905498040307425147433130013153659090841311662954301395818020982821243129105343901316786706084264015704120478313841062976029291535589362798660009209766668951014201157423124389039275151606296601080946963411235850571179863388761957966776774823327533438671651484562602758029967472969254687334758038"), mp_float("-1.1881085926076085256132814583651154573070441630393339191699149008815078460234999450495481026520790791317147869999494532416928077634827863515915991655885337945826972979388322382562220225906260865367143159070704120546340861559786882369040570815487474668928094537437289665834434079048580456620674656947309150407621528865921758828228757582219074994046861093421166949929038461840084817764684254920973622732")),
+ mp_complex(mp_float("2.3405555049612474722749238544633774454857349208787446138241576413704325764192993748818285870571587551718363796206251785109977433569516582687948116178247548896443819802385173352504607207233110841428712378472785191047919942818136415099087120726820416911384166233089812169961882417811394837424892333255386568669523274153257737788622396349145683732491225779680477340501022587523868314102217044436006348158"), mp_float("-1.0706557434945539607609328344871407532704857899094459007281976614642243640964499430578192861794905006558607852101167416594835727329583792558368874509356634883499495489726485351029895583340217435661639723127262164565035879479511218052869635554645228838529293071974269936652889305435352028111135955316454707380538699381531173829789349883347409100082002799134473628797233123275972519987241998695902216319")),
+ mp_complex(mp_float("2.2659724037390864468582966546167969386191688654934453317307670775605784615403372260097961406479720324159659262517956130954183467583057445845484128197152401755462764265541790566082148272498280029031437813477092780584083392112622435531924727178956947019342368630815810942735788358633237749871868932227600720364272666793452765540837498977998444288240487495157447949636204442079317399746913269492196838148"), mp_float("-0.9702233070258896013999108762003487753319272230379161374619133681089000127790848198159446859844026257885957946634395649040583067450934534700167330173765357809765650837270982851282862375937949607487292344876907846690518173032160386370161229719749839294906855605648752436791604817858927779927786955911302074500796171091929223110755865250556699097665329206962419884836925957239346032905193161299574882823")),
+ mp_complex(mp_float("2.195977642136781459281882860319293989163141489970110996657602508659031658895554324209894005006441150499997633698401596738401465751298789837729179320498777290505883302223220846213959015960794550444986404488383049115498611578282486805263358614970491035916366655734855488615257860478433862511688395974078393948921525715841473995261038835967461771079872502591345333242436307163794632588233895796173721264"), mp_float("-0.8837542569714888806952041484730307757384473476502875946976035822045786010633492931437151518480101106902547655241394875261147554421223212522569003104912718221804913995625785821968462265806412546492296741240333692586710590288447420031292792779410586649287460874695481413785430957908735319957600039401946728399755178613304212780813048560565949047480779095078890860007184062688134570083305735336290744885")),
+ mp_complex(mp_float("2.1305697730317849729299592055765250366748380511008036341200682636958765397945905230570851557569382528903498322250463688109106912443835329678026989508153378354517179087792024324048596840812958801673454820739124980102408306538472156461157130435278567674181600408781937087265759909408967097020478897971899328058336596430179430364427857980684768236801474187958781568866925532552352396006987185817212744845"), mp_float("-0.8088145666905643145189654727061643588210825700367338755735898873673009637987271207216584235967737578083498116669647407026088747220777649214819134717714977405621898666169274209587772901085927002224193827161731300761656614841847547269261455156101244357312447727956264229529016900585729141510611975862898390863561852209224407349485942099404585862633402248291683082123475367460076483858227019759165760173")),
+ mp_complex(mp_float("2.069596125425676339850576009892113600306058012447107274186573854734157872598896660758457710201664415994885138955254974619115468377814215528403236899499989286103025454084039511187660875145185790102994048761372207168744986085914218780376106948448413482957107600296783968131735363364897515625085760419720311157245941112134088354858457822344720572331881441116279407582232565872173435299047157954553934136"), mp_float("-0.7434579247954224603496511332248553835262762590624187613079395614859556875198755610547399689424577512831503471890321794120890437856040233893559135118680561720965039380098585824795402553273355268119462292570903110257317047936697800085203247453676202146758047393368936206051635775054462823413607529818623241777924041904893162316243624186678572005736677660559906082269792821928918647808261103560423293185")),
+ mp_complex(mp_float("2.0128234332457510707769012326987806463611161964922086405753845797282623696580962957545571955306708096681507809362524892012666563232227312828984562861601225272821112628061785875121456176862936180204209220660704984076502244727535407883390491261306398884755159878271359029834227311612549653203815414026053552508702262120125839307525486773067542194198901391556915694623171949696685298893824514348110782316"), mp_float("-0.6861195838760651694101306870787422262899638386429586799403553594615870989260734788457126844817025400083173674463830400808403938137864790753697594762161052626297491795111059817375859709164807959166624554117564995791708117328714609727080501838905851980632999538106760624402866201363264278130435599902895198300267236735076467520548228769091641331895532287303251051995855679317349701773921646931038556287")),
+ mp_complex(mp_float("1.959980836140084140657851643621378246870188484451437480525011498013722426672907378428499484039129757056581499009543020002352428474289234265083278028549879586352849173332551965742860765936093763328866680461580391677052277494203190590718019320262861806352811604797099688504971708707935431086083439555471147159180854768263191945110022824252296903247368622849907829223787223419485424909198177668453693221"), mp_float("-0.6355339915368141540760248422819286384848470006080223817025481323576936911550969751404208908177230898463235377565462824425203354607802777442664771361975990811307742644864912460077275425684459157559705339704737292903870809620233011305654095786637441340269575204101605077974251985344245850907808881243360789782804089401486519923009133719627561837533404276027018283526595041511636768955063137090303481433")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02901_z_zeta_small_x(const bool b_write_output)
+ {
+ return TestCase_case_02901_z_zeta_small_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02902_z_zeta_all_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02902_z_zeta_all_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,110 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02902_z_zeta_all_x : public TestCaseImag
+ {
+ public:
+ TestCase_case_02902_z_zeta_all_x() { }
+ virtual ~TestCase_case_02902_z_zeta_all_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02902_z_zeta_all_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::pi() * static_cast<boost::int32_t>(k + static_cast<boost::int32_t>(1));
+ const mp_float y = boost::multiprecision::euler_gamma() * static_cast<boost::int32_t>(k + static_cast<boost::int32_t>(1));
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::riemann_zeta(mp_complex(x, y));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 51u> a =
+ {{
+ mp_complex(mp_float("1.14630559585616413282163674752732158790248209671904341614956506190822749114526045299203525788931176490086602055704686253913720813783566903574026229525468156783799700352261354212714529911398877856187330399588932378539160768180787666018505894149900671785869095818083693248969443756932327750879082814801205419006249905936464476051136381161879101536272991515736846676699083252768245267970104689079431372972"), mp_float("-0.0882539492380860999695466298507178829394997553246703442099089827150327621574492108329409380717216963302377057595240954948047924548999314621493847564480202978686728259935136777008889251419971740634700687590517378746641866915990465041778845942600104238102829645235398002122463395947478875710323937786065782570157727724204447639313779956368148211608989158974918710865253703512149737434902389646653528358")),
+ mp_complex(mp_float("1.0092143631971810144438835118510491931527538521907365260439584253036020577721085180905516596330277237488504823371531982900500220609118509912371035953749701788949600859874607373091598462609678705693805583787232148639868303618806555553268744621980467221881543318697684454445069848948855642655690458991922850661131594764566405676287092071981938037559998922766103036912272507024890196443494625826694487981"), mp_float("-0.01039333688259962673542638649485927113051819915700083246656950618818185485972233612469061102850218683844599522425930080245082359424242320873975919714309915660475801825042618261741894132590981862664920997674002292948401357006903976481951551334104422096519797717665188388404456264192925454050640854869124408067337789790242615084463363250446948857405734340608600759138107379580127710370853503102972660375")),
+ mp_complex(mp_float("1.00051460020794070274154056135735011257287436357774324562896065511954620724453881963307848097857157630066401131128247030706247331186514868235718706459420700424021492625555787513289892868492896775617569824295022500863064284362624354077987731955169240349335272285752889258960994296184534373371748051608779923990573193574480674811478149188757988578489685460847397658721885376507826717036891261970186692463"), mp_float("-0.00138789497195216311723107871105951937013239732301495221329941854278840405604702244480513768880970718378005245767945774016268591753493252295535544795541457626226153456020903561224030421408613609728248444531157129709542082437210016324417121407244512843253540859724894644430685311702389014874234267874381297945827352783161440668111945065293010128466392048673070690185033629244762390218537742776071040643")),
+ mp_complex(mp_float("0.99999426363287575509699203298732710355222564239344857335625784886355015448651244706696064365676925454109462802133799396716058446447849130336368648321066885844118470303716792321431951386559423793943083740316326942491463551168450386622659196606175090436524614645065146145639445192231109503701073692462290456660507808343443091301600356589908034778182571283860319298904086203620041602370759466943332632588"), mp_float("-0.00016537113288472162665361230657822570865238897782910261743157339870463648439676641265016369623762371949073134058790122578164368773021886714907063046137987668111261832940166151517641836091459967217698175713868472774096974571979373165984435069557478603955452526220972575023773204210825445880603388265950440451377170487518957925451783460872921545900315355937525412407233597513698088119761034334122734423")),
+ mp_complex(mp_float("0.99999218505616711955482571796436836555356597995561066802740185276232903532589500444259468913135124916148294013427839176834025599171225059441342441959546728080403346295915501885600421957746212276031431717431518300565849145479681844496092742955464012725556115115404657939156398120791197938454462055948472414352794725616141850759718242607972407586387730577690419892346994922534705934029352341995151298585"), mp_float("-0.00001698291024361704291095079859238714725652646824484772209854460742381866851620501200667133995565249981348049830388317034818230537523463381310868714994276703062781592615092399167825859399266260764854286199783461162986406701334922393830696013562817102468937117107445472179218967320868737409127519804494603800748507825071719100619177877898898330147399053906914435121273208296591412546802441121248638265")),
+ mp_complex(mp_float("0.99999843732909569403762282307295194133759268351201094630381936531159523185124267044095121286197726574929219875005463326838144386973542455995022562642113990390489345407202989592801500824950700237454761819087994384857504238702080884361451737759179131480265717764778487986928534341343459562198013665922030341655868415090160344330829541989295856423764855695971310606266363404148300713843556851919675108757"), mp_float("-1.4284237081915537748544092958057998731464174944936232283921178790800093364709405732595818881839659772547064152278746066256812504328627822027452844119773639921042395110013059687486488356592492764120564823584563602511138512170459259288056691941215396135726508737106362205829849521877456760936073772395787634085668776692845185881011486094453596813330178488621258138966149677850096428363157273041545e-6")),
+ mp_complex(mp_float("0.99999977391192498641864038088157681940195380917442798378516898168014091523345849390185841190229029723404343995550869459910894306812853339326945174936470462664047137814084003491291572980092903707380463242141862755500898770628768806352520034065973237037540869175060203614047728153423091672923773278771570913074128085253237794380788099945194494984723085231097056838764154766716246562151763975794140875151"), mp_float("-8.017692536476508249197160857888208460952593696688223578911816103340371374351128834421326760672727761457674867784649909235437952510890482598640321552705167439887991162359766310911537535018022466502756979504183014192181951687089911780871717732404747098227376382475887368372978489189608689194145657137899838066004227290586732261718417887748969588718124101974080572724759577042228695593693765575584e-8")),
+ mp_complex(mp_float("0.99999997286533083083257695689470251735561058716768723727417833414206176940458806000158930000384687024088865420586051073737991030604359570753502467620538284393273673878970609014797238672541278381514433334445740017638236534865324783831467332818121427624827920180482342231421801578540148063113376801875294047342782122341593939613390758131048784734453919036490426848189958623244377809591011293253992056803"), mp_float("1.60842766695290725846217892586801665484031148367314554120262769387480674714808163734329547025747416992249876891432353597318756330251567580722240683233233037404375404262803254530462588561973690761111926369873371328896814318425420073310882928462910956618286813626977320220047866254252676202031487988580644764252548701846560961577784047952335090238195589277026798053481726274979007008187492805863e-9")),
+ mp_complex(mp_float("0.99999999723901299762512285693899316485976633162398667176789651984746996568579664722982668710215851603613763288848481526814549296964192007682790213908700557675073835561852473009489721235288587816431058102587822331797605170701422094740990748667238123184821411211618681710259622046807530770271443710582274695207180676989873768026649215636332310022347451669139236590879195165715205042793828643795949027513"), mp_float("1.36543567177045886478615791048196164323532604642993693639944770941892197324551220114199675107889009123108148513224681831419002095945540442825240221030464272340499977151692856240043458613286488186899138226535787688397154341276100635905300679797889274547754333257703733914913906345463880660560482682685100500707681027773446593570604592616210503630059534470384476347109986270075579063013098271606e-9")),
+ mp_complex(mp_float("0.99999999977211138650846136589117388569597129048572602585490407359581498436383932935117193149537835628516225140755546388134435859417687680055407535019258342439197529018278107623690588925773491238439774547327876117977323728050645438443512292989350553219801509469767194838241896197404524554274173562747340936351557971185774036817771941724181815449805210028705680671649439776937467823761308115627217133901"), mp_float("2.6436488325730237478222397414431160344004894156629714104538818128256841052719780520785142492510213017935407058456285674275751409812436955639664039298308202882130822611966327091473749073793588563983066606820052570009722659812895039255428780817899537594588718787186643073512841351787085727886680605475565695996294609752199027486962277078888356701479818703199032746238867494404482722431522813161e-10")),
+ mp_complex(mp_float("0.99999999998788441408460818130358594927128766363931622383272597660377169539299594117579963183466457866411663457326399854161558150500680470838470087641335058855115139077276830749070339701967647371911064828847882947738089469255790141316407430286281208183201624073322357529160852121351663640425109297023899516354048337630147388755286197712468126884044600481272039750520179920560308936310414000488683231796"), mp_float("3.764889476792174248547660869461230007864065284813159607634237410378563901288029889351209658157975819789280361858370833509340975224560238492516651562374635808212995594819461650875091764173424375455390949924727443873430676352355930840222034259683185666250746494212934812948819342299500525194175928342789523105819824562778086284130332474764515681195483772670142176927605401074731007673251340233e-11")),
+ mp_complex(mp_float("1.00000000000039725000760272791977700396011036686374090976572357092159264974894700070546668073486649024235868344738073429975811123788048963860643586726313720801563584248549474487869318709201097117674724110014190966819214268476549537927084782940350123410828665339320132030622907511565467547788440294886883816797240729469476389799645307324194159505931601252908770385710592177389495234255721684215627105105"), mp_float("4.46399371386816917465494026456644181232299083935367949034575805801760664641180239869359541488289786099080342815463756810805905907632438381050074310708287282599036714112066936281280334764608382929424417957037198521786102916801828008673726279378127689139164846714372303392299968764350069579342847462785329019312061079227159326145723397227935755684936140345039469087354636740401834577075878163e-12")),
+ mp_complex(mp_float("1.00000000000023848559542150662882779393302776778485434985807216930504115420866965855196247956580304200781533018127843700856608806033888364451601292205182434056161138440513770091237424233999665252661614669826855537169467604490831070604120728848903096509585297525235300107443307032883717472949927542650519491606353063617093334759514564236500735667563394819754543777540173705083174741669742337717977369052"), mp_float("4.4835398913938848015205579842199398003107822491075713802143957556593193793321686725665854072836421602447908824325125289630292242396530538459137852993715781637229569971134289349054129611208208741305177341804158162318421010699946322280138833174979569122608916287367321391087457544748891608611337840779752256664899656306955598083881542197407017061448083791147310197910930417517368337900453694e-13")),
+ mp_complex(mp_float("1.00000000000004467859389521778385363902348662563468587010980584615855758411920833291252715898319678930249323521317057112432164983444978845664454525957912792447897966685823444752915899377338811853477720976275486000050152619312060531993742492799904330384013236444081153736935909026752057170091840275451966169964320259854879377850601619464031866162301413229108776301319743638706680810170522807857012694763"), mp_float("3.626673203952247653161103224074233646031385414659318380996795920268538956731690748325681297793299423119320773324198246005679081183925934245029743699750063375968764940282782689380477850775303603027266011236179863247805377836039162671629126934676912490257427276281173598047199712615602148858686027508523315615725938590161542386623901475874178628505556721078208701222163498234405276257205958e-14")),
+ mp_complex(mp_float("1.00000000000000626360421645859847034847479792814539988374069239710349270069458790773458733993174980206132619550215527150826237152251712639730542026233810658890498368364896074617604593224247278739106518387338612402135326590886709937436362836722738731939189985379489312915395414501599344698840858285436714624567162703670953400905318677832362700866513744817230431684235666110113018790517668567360794862709"), mp_float("1.81302830616615646179044326904336621916739055539775936203627746368107156940512797664248526629947508398203434348964373500080096591670073171649696302275032488233843364680580705236067750681946433624666580272515078537434028793572443377109357948236813471020076477645499043676276697188000580671539898554069841828817210270834822914547173727269461836807553341164558644802073824973996519040082487e-15")),
+ mp_complex(mp_float("1.00000000000000073372587759082245084282967082990227170561689269523038705653008358751169383169632323862622225862833831275822870861717207311402876719448631652897965961777978340105771889379346639758693643907062245846300898544828374981498937108839244552920746440943651981000889606667267367330865747496089971003707428984042439609541299410940736106100104478291897848630886914649561875209701551275526688433165"), mp_float("-8.723767244945718355819989323079843401321648289935927654509963089197052987904546886742263707872801287621678312094478459952723148723208585371511651760370781887582431337570508658085458291968360822644287654807715255757062564310701812020579563736863094651787387507477278923126096107699026202521019661639168916739223057088571368812015412534110121766229354327141715109964642186660450846149453e-17")),
+ mp_complex(mp_float("1.00000000000000007272532789062205314021568044375463873903483245365368716366252178667303080662129402921905185167144482377624205037747818702368310064003789533362442284347812389066557297734803512127916070900280924801804260310389841697829384600952918327571454289834782532770635650487257960585198641462262779460666665842830198259710877072143175252562406801726119876143375612051981739052834890484970415308443"), mp_float("-4.148891660539588470826150424608176381147726492542175876787331741392559251207236424635582003530604232753542919064442859946265061118965827927650221294920949056661002639930710024049334835986125271850894058619172041397948906917855376887341213228800625368483115875934714746352145628878228733959078545505499005211825652618148636543483925406490925758971223021979018516531567876567937173283777e-17")),
+ mp_complex(mp_float("1.00000000000000000575883252467430582060203865949414178216279218863989045060235844326965184721230295871693297108154311026539723807943121246697977610000095850504380134919321306233829430470198625834414302035193769369601005742373324540825745956707582892296200200646371038911861994754192608881628198674403214188570326393979934727475946200179552843671754907096857704812419815978718168807624772578485707357912"), mp_float("-7.53987714778923561721187026159160556271995610930594337676115036787341864008103673767073442173076820463379725258522531151373956321895197498887841889438163600017841932525030652055784686952319233659192272417418975009709902810485385451502618653330243466156296647072407414424903348812374564767921669210898938332263864413198073991174957613483280829592570253562995401471184546366621317020997e-18")),
+ mp_complex(mp_float("1.00000000000000000026823783803994374080175547843523286729480127048667872393608338510210747683804938011463231351575527998888916383495853836493462989515709031485601146760260518314156189032166063932786029960965239675867667686321570397449174658060994110777845414737866492064050302256222025398693999369446190524308912289152020390304774523011628372486387188505361024693899867173486941265185255123395024922619"), mp_float("-1.04107997025610987476139302067158778144800877814830042847866763358340521996711297285691551990216780653605831134843105051065106760988950195179643462911819232466014077864324982102385797567515875334778217687362372231251844167205184362594014899541853897533654039991215799385207437613052206778799635197279277645252207197069572434109903250106174314124104764106257705877217339402919528410824e-18")),
+ mp_complex(mp_float("0.99999999999999999998204486352974670470429080529977832796269423700467441469673219077243312006663945182588080727527367704928205823853477874965739379011373352415393797089441848167065394832027895500611053210447780655637367885477785994433247350392609678937882486877339176818478065265282963580685778142525292416751210262344381146501497939644170407062262231925263114761982172766284530416694348597135666236513"), mp_float("-1.2049206173414806989280168053684816914131236706146949086227252552020346360505783743701922642904375189746143159676379754271188145423451605304231774340694131663461369740447977156370875766429131821734764814316323785565914390018866845544157012981450161840467811883552105147645431898663823831411407305667846359125396962533759034749958721711262305753958216687156199595990649801757518203301e-19")),
+ mp_complex(mp_float("0.99999999999999999999280796877274624406078710785207779645544609376740733677849928322930597073348557223896997759514829348095590936421718758979633551179029815618919829241964575644981048490494964931740944895396331298162652535145358510667154042436948732994892652938131350940245579799483682102845776467941005742052315963767957666887169098316934561556831719611598300323625799756929094688686549541629573495192"), mp_float("-1.17827404793047854884823986791877253448840352290817106049333851747393021294744291161359783555177128757322942526896938857781370235387139864472687209787463326673482967431096826993463867468244269606151689072631025449832691793712353246652892045477315587320050886344340612075081954833883940163867400920698207006634629095569645744350499664281619283551626315477721338991162183026195072142e-20")),
+ mp_complex(mp_float("0.99999999999999999999872934718887442886933876905165671403712814492774634049261035395333268204264744814506648905671282459077545311772205306936461580263498329470089614029807031439263720909808590550316396312636348991912013410947316158871237805953313707132723683925234199546435226215582754971342376648207729550828684162725810082110805658152655267909057071657048567429513553679272171578104133725619736303264"), mp_float("-9.1227922468566034709645411461488082266811954945773719967203449517328512163824188866352458392831294456658190130510139064247379934022489619882840556777134949744624551930856625389985154067973389406071271392824754764283840489352315819546944081192118656022571019082163583841635362390019397549806704974170953158997995198147653027925975504634113418636480688878323273523167813197573612196e-22")),
+ mp_complex(mp_float("0.999999999999999999999827122516661459760247771187312267880136763688950345638719138164738603357934583162645257860518960447513108479621499011541241899490247506560489992447595091640728805884294678586853139435005819275853981214700189665029558746839466313380436805747958429490297304011743511452779963486825252905054193310193657846575251665690853725335973062512853094139959562187470191835809242889289338476"), mp_float("-3.912800055677200580354775359160977123810189741842541692810837252266837518215070184000320968940400585757356207516538013052593006507034555374185236416164070189315495113987149449693797271355150690631064254074889189221903199788642516930123923802702167846122235691660425499949122477860778282367276645715043631317417397144294866550859473435527026590977039137127054921950188369111118566e-23")),
+ mp_complex(mp_float("0.99999999999999999999998023055856806747593753346053239392295021363979678589321364127696424307715493984237232592422751651477049593794516371429160184303380539339298942915642918409325569857108266728754478608462240183291767184404031634656049580303161550315410473647700076369362415012845339484420378897151095557642911001945262522150676938077403811313830172691222704045840548673215288830844557968543540403596"), mp_float("3.54664164268550549707276663464360593486891100710711914801605017213887412885114754648612575049714906366047553737620762682639583596742018569695526650761289062398006171026828965644729633677764397469381911914941034046102245337992439191181580089885417070063551777584032078096938178783056344291005545992157834046828692719670547283079201108642895487693105208846805128466242852801403195e-24")),
+ mp_complex(mp_float("0.99999999999999999999999809328837791560460262602551843480661184349247108364457400651521389739247025177308249670064524281301738948639376444613265735957006210774030592352636018523161087217213807289363969935138192617780901041574372087759212090335724296198556593370499878418060656975045181504653669716977763641305953629488757705331212776757270985224493274495659419337594756473756788561152236655622080553282"), mp_float("1.24270701847294212864645511616123434134003455451319239456155059875167458198588909055525414250094654130714484232852509041253513804270009902232112500201052780132217900319977673730644217095264960552794592050273532901543881386040040553309379090821356213919810359753223419785740063022774676133877350597858532378131290514754498640832906337296539910681040007821931101350828559432342597e-24")),
+ mp_complex(mp_float("0.99999999999999999999999985585405847565770304108153605130024859556708839513689592432960209052765426231464078306619381250259981615267114179121854739195597210490948808733275762227306752868657945277883746550331959895920491296543471068105053584514568888995852344224270572137395746237818631413056577614152788740539080503146920070983442978615111468337483172441364028366883190421071505956693713780049589745156"), mp_float("2.1385196165802044718474692427516867568803172831062710796712294952044930993829546407481804248745922177734739562429522328614313997676569670658700802068162984943779597981880105249956793396427259457389981994035577432242778969681430135096337746004919886974218491429895287274112351145139739159059674727286308122539422409264772646874530041801603699686015729590980263343896389787176677e-25")),
+ mp_complex(mp_float("0.99999999999999999999999999439486651309736285730887850972817702353959989062515297797828026266200794210629704361917730519325132816887241179799575861287493947468282283018242501181719164077039086432288478774310984757661154565333615317378624791859434690359009834673357297210876751887420741499779525267751625135765012071782269341727050748258947713587175797689614925247976710836163708929133276314110047120818"), mp_float("2.868092131132673441238787119220591428416088996351486986693488895830992004621685215326670320764875078682288196624698221849009909439434166356127911412210988676262389353860978636014187497925134115914099641312523108081422566284396771420859600114568797609514308052501052295210774958263268214850099662864419091441766036192986381371767904442832122560951475898555028505455246899736641e-26")),
+ mp_complex(mp_float("1.00000000000000000000000000068090093960072157391339855652051532262022687737450946627429201181706831514172964658211293249942702101631572383992135097565928664955566626636896669387070414579563272566316776493111439966522967981976109989402857604181291992132968657590225434633041464673143381811550739085169422472693751221058223213351568101185619853959628812969182661347939321342805490626681562829744203943003"), mp_float("3.24069329766175164862797107135356907594843080398516924765695828824704855085731019594952348706743865459452956196045546346366505943907818633396610687970964485400244985252139684796177232267365943071965484602689559889546216276039924924214786558205367442841402336760751195505653112242522384224094546151366352266417392918572753619799522439029687843170293068496140658611233670610308e-27")),
+ mp_complex(mp_float("1.00000000000000000000000000021409642347576703783138198646875277802304651587007284383662712284488575234967188365970736702451534604346020242373096544667287707652913771707289661901222822477689357408299111266956300145955612354951142754213688979228775901132883843914461633822833007110100744775220507054986119698800524730420601825821294882786719861249696901979665795733607784202559110277344478302821984398001"), mp_float("3.0816401716565701171892503567253103920457859643888718152086129089563792946471868706188486077019803984254798985720648089799994499331490625269294213322746186956410974830514283924627330743656947738268445342913332353643054893316161172053657305852335457923860958823471606087149758123369108530880139433321406080107575708176921149840066159503858256841895099549225453869469765308543e-28")),
+ mp_complex(mp_float("1.00000000000000000000000000003594566656147865064363650846195996270413479440813913799039535396847321367387151540761023666232933248285960466544539088158303561421997252909122157112927446895359423219785553882649510924003728034666208871045937571573913714988298037890331400663941381770442181315349390107749075759433111884418244864414865855537268411449024756247435659738953207630161315538579201977534333654006"), mp_float("2.271218356885304825909849025811728626005051233715911682405427837726351014476341046648322579038478020831766867573584979925419822855349629949202237940481490888887772880708868593333900534545027942273840800298434104763794641741026850668674376715837415821467621747618107134937862678353834867686264521004573196296014721182760826833851877207353577916244756747142740281713258021202e-29")),
+ mp_complex(mp_float("1.00000000000000000000000000000475393290000008428744101821817160958672478115659566146668166291992354482309461390068774152276378311906433995492784304499205607575633038481432062621652016218567611295345009872716610598704740463979939515277091406019774442329163813360566085595138940987333723618743564893075489642020498501289698221223662572804533819854155244077387942668307873065718348005101572638260453345891"), mp_float("7.83843524210758425814601289781625586688239101118132468861843628974637945787132622404388120983850810880779183898334953215817141792204231781396520402448873578275890545135589589817158384481623620288804292459681882401801938318080406678877307745964709628228325111705172629300325157540824663815128153765495681642203138337188091930951456626853958689181933592330393900723019469e-31")),
+ mp_complex(mp_float("1.0000000000000000000000000000005307432529786994963569002705570447851499059529729328616393422948284437469468176728362603213953290251372276619545961731657397087459550527542742842907889176330042136257350067959738808300517468380447014938224823321114253165628497834595835750110931925288542992531504515993172923735260675503080174936897013043054407374380660328918700187325295243165608667573262555272072309102"), mp_float("-1.2801707669871816497897045057379121344379564634344549628443697064229866529034164930815101930792373344257103399043755367150385106706148796119866289323348221170418169976240102527361846315674985572535781213341054906387941305033224392679684788908642658470583768965632691194211152555331889027714042382067894071925500225985819011569392883880993451208963141496531706708252619749e-31")),
+ mp_complex(mp_float("1.0000000000000000000000000000000497410585431920776651648369151926278422126888160653265078510858827843148369607410102263822339788264187127338062572105749165855270384146427638310432243982826276549542283729349126535036460319657797061108512936093094444424492035300548767893637526654179839491064177761995604907095512294864758019904981323610765894024085953586189100492396373966691897466691398265157581302339"), mp_float("-3.678588018654384778066903147904617785627314399435036945073443341029095250329083961902278651101182406217114133432141446973104081849710724372236616820475409506856522726425939270772646149891981188567358694111599760083680330812724776883752040128762742325675877000237353549083262837379482147665887340323830220665635144091065905713697358846769184093865707690408541844070418439e-32")),
+ mp_complex(mp_float("1.00000000000000000000000000000000356764311405980063747507193770831289176785782723786416532544575187878758341978600316993254716320758796897009029037683416267106033546228535168073068153396633430767423629317538289534698262026103888609896257953430769910120515802855086760715100831778947015908160636163380470135647677471900044805718001739466035589992464548600524668380484357948489670441678984613700578441316"), mp_float("-6.03459013318017002463852842121015243652870265111168393240527195001997718823535507534334395613157900655193421393382099302067263118437570344756608414879859759290079879886176037560907533938580866821871734427182510768013672304134025755712920971661004087364692235297932830125574128514320239701984602142084471240600483978475186466233167716013050369953689326155401720287480097e-33")),
+ mp_complex(mp_float("1.00000000000000000000000000000000010599164915158653965294093252050643296849675523805009219886758794815098846398814878686855854979723968271231223205526728191181992320809965772123309812621145734019341829082100716513293394465591927109774680023614365726239089602268393354344328542795783719955843831396243068466874448360432624998177031118711462601734158337588621728372769740658743097124525009001143702622456"), mp_float("-7.8726776047917663661854581831869288590655748198966960512038887117852852809566227431493373123582610893850076779812015077164718472357649712115363586889169918453182005502052071926265355835344143486779754945857820238824264551393653284895680821255571704351571200277951779248544523951445949826925872704062881582050786034398826402706917413410847333285172566184749447480573032e-34")),
+ mp_complex(mp_float("0.99999999999999999999999999999999997631440462418699752771905096768331243403804443081247992539313961863781892899097549305646254508652294272733875091160506963429755406106400853788178965454973670834809043058928353411944464449499487099095258239612706594606159924564783432228585235548055547251313075952370135352659747851925076970667903405197124399436577597158623173423386157219500851817254874751856466712724"), mp_float("-8.684177950606360089784105542153410474251792108117311078552187511817124476145367896736606836079498194560275647515135155282217016568814100898170809476578152858163116881583890311085350928892763590051703923124235495580779185560822794249830572060378254135592845630375234836297714092258003978524280561972014683293556680657054125455722688691239888784916834007056081279408292e-35")),
+ mp_complex(mp_float("0.99999999999999999999999999999999999369512170789931557445160537947364286207594544408354649556979912445706435349539920964944384832737079372090000945429623411993431405347305515654883861312557891057551824007646115150880987586624750899992539760051639846963360694681943503061217715371373316689473604202294800805726409140975526290009453695229447589509681041329774441878933678373765118418243250126291052783824"), mp_float("-8.0178855383983467375597864220618474292410234782414555562318966406640178776055827359930351310641751906208276212417057347744993521561923233219884823890170605076398802642698721339644734268931305341930388218276306794243695963974264251725196294267568934344664480807636915681161751784365529027535384242066342523956611121831074652426143376532684185392182246371754680185855e-36")),
+ mp_complex(mp_float("0.99999999999999999999999999999999999898810403323826112958549285646564919821423998288298963600780760982483156792737846590338465800720950779282294128762652757407909297507541150404045114490045552287856978476994191422854334719901616636557232216319300864023601610186277304265939812237150034722788916638154733366227617513985103535496022983234617760936277318301400757603264285549925691072906677740988800729445"), mp_float("-5.5851408084519924572184715535277847307481032226407332784819617187432459569653510429170356887080192522704363871314664213760123350060171823791079640202975633673404396628986951537062096794752030711337357816092765430008063939244273681905053072396968832713483707254093224959773130074858663290909109858890365197352643266714871443493801637506033362722528821938277251869198e-37")),
+ mp_complex(mp_float("0.99999999999999999999999999999999999986974188096361000695525134542416398465770936300699570091063534104940726002140753102603086347297445947905364273077518055726888332269649946232922252340830181716971546426524749042215163160456985876719456948311371984296442222302460456608527125842237078432547157572448448428570333298045691775338215054969588365128969772330943125481764065440726933218644108518607475451168"), mp_float("-1.362779719326260388298417489850286792338891950523215817894199692828111889216502444501581479390120903136120410542954519825647514932621922095745906147080232040069733200692073805254513229019202042739386900756240376105828073089283576684406235369452337581374940740692353102499830574273545717127712551852124822317116514198462220302491691914936050581991852214108053389105e-38")),
+ mp_complex(mp_float("0.99999999999999999999999999999999999998580404998478655752470741111612400939707817319609424184938729416498458817769653891926791055988618433874802160397205967093821275435383226001702005350909890135961228349746036599444277436646841902985405648214557773134339817229716567656927577513516330251723419139141580391680539591244546020540525089409069287975438450508114247862948575772299191533323547766864428171999"), mp_float("4.32690282428479866406731990927481849624352628680060263439582038753215651016588371057153318499687534700721216787645963372617621166774993510329181589376728359294690548890097165393020326967253490274814931912834264808170235130083675595851873170591338727933105462692299988084864723070877865594283745485652090939710461149605022611387263582570190235418711091253332290313e-39")),
+ mp_complex(mp_float("0.99999999999999999999999999999999999999870940720896594722990124589170491487177793847193941082472972665373679608261539169726891277406904204929105937770493214688940517360446689588995477965246746546681635437130004523602674983928985652227321786195458037686994650799040164610132476518564030016137516039750001788141989075414830271114012974957402908043559625756181608829829119998597663327389817410010182361413"), mp_float("1.07814338394162542728234861976540191086440241578850242741678157976595850911046308995124807738963128846946559026940019807909857969302686970097029201558454973397803607411042906866486625064627028794168431433045554682042770326401151392708575435802078534435656657255772804902388617826953292631949226601274427443411551246300892134240598986923864752625111925692331895287e-39")),
+ mp_complex(mp_float("0.99999999999999999999999999999999999999991289233997203154977595168474037021833092816344260469064313628586948817660969246521980796722101980417392959635554056455256416721723911821449906946370686505001061443144525707975763189755451120959120242517809895455460250398024925593735881216148761098649179866231005263617841323238618611671102122734036311622159078216190064853961681635813906038693389746627303598128"), mp_float("1.6948367493982118346837707151677457959261483436185969719469360017772697757678451845265176902982367945785565448986967769604218392083834565975518903617326723321265091645755321448542099155998491158800304220900615581810650036129159458306980223012175948223647817693991834544060651908798884100267051829437267793746401955729281064712202565494611002387968468659992896644e-40")),
+ mp_complex(mp_float("0.99999999999999999999999999999999999999999838942534754568694626712900729258495966702328863473429635702749008772021746086773265981189946504592767226888407763600379157035873190561463015060251350998431689078756402785394263558332419725978805107545045641530299692525608217061871679698472680229253573287078610319386266001587703277174325954128932008301179793197216837872043521060797366835223505487924832995728"), mp_float("2.153291298469399552380092751695554820440971775473328868974463487106437179616570212931543710206671701650316291113165855171306352453645571388433892979125875197616470289718021179332832137294239264034299561282407620832855942330152247131524437932026037551222432013150543595011105302789974114312980779625319413850374509863754440113219517617242149592778052747763458187e-41")),
+ mp_complex(mp_float("1.00000000000000000000000000000000000000000078230518263063740765078562523769472247640961382962519026923615370541280445605073824948300527092967458671564775923824028174612768957854144443587396973692731991019574971526459858328914373919238923232127110974449934698206173245718032691548139474111356903524911400047201334382833394720308353518736242599486453380911825697844284716006951664101320598238709022067305"), mp_float("2.31838032275430064323443272030901887578977251501145032117547511480560589086264267995748009905987910694571766162596397360898857577809468224900827810415647338217708892209497508516237472151036105977066063658108602694475378273705295877809715793230080296489602871291786633462006817087369256270572403538146938456112409313246670604531908174876210162894771057045292899e-42")),
+ mp_complex(mp_float("1.00000000000000000000000000000000000000000018397159817308170385833824616694961738325268245626573292954800733465758632765847585065489276302419986790173467677350231907284994415646125012920194199008296430313950817851870209654438124076544392391502501079255975195817423161193652799740591485466380188582929908582349623152365313209266588431439845766313127840241648790914472245855078856588124326154119562806596"), mp_float("2.0743064036665354952000937727645251040620106540581751502427375290929556448750550961534607184663182880782789616557849311425633204125300382991524375841430194296273690090173768859573664247910700325915824418577644222482320785339537715177041827079116159295795374592149521654489560814515986739874534076391069361886195117989573368735624365412680281366997000263458309e-43")),
+ mp_complex(mp_float("1.00000000000000000000000000000000000000000002835562381789385515552745920820832366623702312036383086302391470208029203970330444495216601779639636785136688054654195380701356230410000474483031801863120878678943604545049169212426839070996002322559088395078590473543041467216839661337596340006996699608500311991785873796020015813918924459799166171027130539477677027974012060430394595989019832115220510273822"), mp_float("1.352870052863592175029574142212393024817506993663591526866554402881127424756795776756218174223661601702729977956662878240642459390095503858217190894365683856435083981318453937107247135449403763091624904971198864531158142085162080067074174278616152374929886860886957158247712786218855647644215349306561524460647548245507047827711308662929124901181771408178772e-44")),
+ mp_complex(mp_float("1.00000000000000000000000000000000000000000000355646427793029499907558966074345425248383684191170485272383756824594517554740986763647064236764816338024585896725114210300416139886026658213900441908353652870786768359284332491517932469874950569125200735161757132654613983101413311277076204787748430055665687732936011931259668713957346637455632684471879803366377877488600926342589148225845276165416641760271"), mp_float("1.6040423386392288468634792153160798689263061212275066032611947866339567597126805051444173819333207196136078366277489686888050926068747305451911790577747343835252702968016956419776175621297674216917899450422003457560996529395623560037770630354722802305515667167617169870556902482255192244037494569105961502979835558044778350433580529409537106446812752010939e-46")),
+ mp_complex(mp_float("1.00000000000000000000000000000000000000000000037825214758893875534968343720722240504103835385207245516396668077171527219014331177212052744894758070797879683955479132942140374680178900862382827486978124531640044572736256824772373974800386480686279100972926160356076837238868353095215265080364391145582048241021772109012862302895387365012316246135269335143531372325829178097589212958375749058359277291502"), mp_float("-1.4023024847026117371215918683246591604903884628925627691457463630050126712992118017289040995930218360537042243568739531585372052622213073743386232072639210712256258894252640429250028640783543900307937990374153030499608432306387514905824333451198926527194686101440133101196712461583347900937639081545863522082987520049717729136379638991970270059248638107899e-46")),
+ mp_complex(mp_float("1.0000000000000000000000000000000000000000000000332871872790057859230761123008698328647346577126939032925458647739008167369983086644742906168795462771509190748485611246893351800907286539131131390981714024435578092047302447366641956624027695649861831384211790874041389679905932587100956951039392970344472359480573557945668357236574368274507661018914226774123687455783950012315329249412096916715756621883"), mp_float("-3.133004645822883450755484816550630114251622006002036392203596862522207564024821378647392494621272840662628944054601403530682473338085980977954294799229156837384798392439043555023703738927758199825379934118004787421812458661629815618371762655201440878208041940738455324510491179407305787416345249108818669533465836325636828263155144227923032314370172919082e-47")),
+ mp_complex(mp_float("1.00000000000000000000000000000000000000000000000209122847602968207951942153465563515411880692487778535075607420885520138481674887648025837710615171012374633190103685256573104487398427670858986501962521172787939169425771678206464672708082326015509213094604301854178135701414466095219421291253107420520836877088958239716586752393404811329541456469701599678602272411330192103233832205686796708982557592689"), mp_float("-4.73896782993631105508108283934584300705316661041139517246613645573838660974054654013522723242746780247559260934044875927766411085740148837496758669803073985178211260622691367863180940578936590786084891139323158109688549660293179413159440821710929689036202757285930243255283009428532140326550192159554277853098711159820418248632719834430386142182630329357e-48")),
+ mp_complex(mp_float("1.00000000000000000000000000000000000000000000000000908940831412830882813209975423722765470407267873602037631424638441612095407757605336236471097625982553617485583836917424051326609134145637019094327772938914895415356823770700902454814911929552345928853079059172256543128417500379744360310231826582200848801255118814831146781392803253507396794630931854619961228715990795175060481874547336749711738781288"), mp_float("-5.8688519391557438034127048475290730298692056825328218939084143939254648816546305747269298625261036477992245346067096344875954539952944456490355785343286623783773519776360301750424530533002304381256309159204379701683696753610328210936235060980425762340889970631939575060000590649533687471334746035174602207523859069920066828563155152400745912235503733582e-49")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02902_z_zeta_all_x(const bool b_write_output)
+ {
+ return TestCase_case_02902_z_zeta_all_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02903_z_zeta_neg_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02903_z_zeta_neg_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,83 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02903_z_zeta_neg_x : public TestCaseImag
+ {
+ public:
+ TestCase_case_02903_z_zeta_neg_x() { }
+ virtual ~TestCase_case_02903_z_zeta_neg_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02903_z_zeta_neg_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(26u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::riemann_zeta(mp_complex((-103 * mp_float(2 * k)) / 227, k + boost::multiprecision::euler_gamma()));
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 26u> a =
+ {{
+ mp_complex(mp_float("-0.24901506594157280728497287578903486235675039336165025995086134402450015431088581212466284642424472414104204903005735320743532088449681692340749182240515251924994768453034792601212503379414239840811246191186123330112772492681134009659080607656247450281093533938732643134847936910756173002571202926499242845151013509459404995521325493734854770883823768083681890926695264785937823161816308219791388063872"), mp_float("-0.38602138794912402123386762073632313787176277369984568869921243597115319113134262241428911365779347306511485873655385341222864539909468412998633992732586091819153224916111251410670857668387095677871202859326309411631984871597417564074522788897224248121652152721664628539673855426914816859369379345216819589648303281775738233727952730026190428191236895974204323091545457792147902417858496030224460178918")),
+ mp_complex(mp_float("0.11493807906679944660034753629394648258707104397480580326434742608394723742762986411156001939065294139383924571782034435542458105882390430418877594355660263027244937089708487055862956579115189696325216336999808249687248537482107315900090129422880538572901278280496389727321174337987561722629984757200221576917722231812935505222447084999226613176791977556522315022600894439769302721685637488329380960931"), mp_float("-0.11929276632667341716772709353355464835395670064020583544421941098889570721552860572031618028652628709635859593471402405941061269301108575504473069842265574757410440727169365988852694795587868100657272582071218469931629998173909140173636032484541745825098810994013185051973093852992030832046589217256952057920642460027602847206048107688834740142393160261277334955450227142266519733947800751933599984697")),
+ mp_complex(mp_float("0.1357743758547323920052184167656578042689496150501695932599977941645217525146460862382657340065376129738631605791430197176225667190926001370961007665768203094594770559348986584133023984770867533786068801744337275976867870991272680049791380875791438732818865310907791111018618692809919801679877377165244225625482436623010282651413083524047394337009224345372204636244422368837909274884797774979915908101"), mp_float("0.06291451260953938798577528403305649220346313044913905622831652412691347065774930364057403853389727697586251996748595356324403620595341205073876048607770795252497033608269373417544480795990714451996309077616351984232789760958528455991403701021840720052722709463980454098642458302376960939661415381642945494655343793918316953144291243818204904323892674874014789158232523124998810797532532451943173933117")),
+ mp_complex(mp_float("0.03254398335988718854678355495152525494081148104963045052168178620703790179506964470765937865389383928857556301301907349704377375485652164562552140626311929857752325946197385019940789773964279036228526415224721592661654046389027137577316130245238464792059355366267971463990122898487028189495250708724427617932672355282884564823533190186589212308779935665358105722007592750542865832992094931937710544535"), mp_float("0.21378728645098103635922264984955066386823956438837309355818634186645655809746629750195960905237669099384045739678348366666763928326044393926700023636717994619649904762143246382892430078225365706942240319350225038655740195556193378224032014527288083537156432315004855142330508158163476048501691477252657104328396059179672864772905108395257347594590155027945498502090408582771675039319255659426317747383")),
+ mp_complex(mp_float("-0.23707436046131209539724555489168040252958912217729479572579198758337512007702008055361976716438971992717477777014496040310796102171944444263100649242513102504505220763203533706406339267100526526180851162034164665861992489850231707866531041584030444421932140975037660336952395265534550819795005791937614817999587183406848863550482840482860370616092472341476385877293787174412385808168759322263720799449"), mp_float("0.33512331202592032697513039931142865955378385277573514518255255393569606733202795346080979619920493431523043144168081206760109404450852601185612247494616843340587747835609592904773914193957620439850189183717333545727526252037786537940522216488211732923808180099502530493592645977368989160222311555276276909134305625736883522969197234590045707073389524863243413444785872550826802516573079741589181645596")),
+ mp_complex(mp_float("-0.87840392266648355680895101969440546871732389317799757380007560618285927892542598034153270113591374669453976713564648238865415690044814281125805128585963766383139119426339712667447188283476658925923866666277316005568028645675560380170033587150115878396285330150910497465474100057601716232004998344011634053826491884568871643611397806837824737672115546985599975042514527363496372965600603251026208137202"), mp_float("0.34974540506882773433927812551956948546631008462422417622453621442007406692588504268098583590506910885921318924531151335301039484865388490877856904353755756350699000094219848667755630026154719854715943325835189253493870066318122262217057700249558041819269281615889435235766824999340033459469324669598272515805742229650580796613641862865063351800709662917810875576839661457199109290588519237614258832885")),
+ mp_complex(mp_float("-2.5372024850913869130723125407975847251264207037451356452881575310527133158680658360637657965653105949140359769865151241531454191524219463402928971722776387928303582241631729932688272764672721467439043991981552955644599508824644723778585280857072041597767350255123368308881926068533613928110296085479583327073603874798170272643758014149849579418379014924658268682645535157118063692627068843027404897721"), mp_float("-0.0716219607948455300912108250483131657761286741791134913613460520775560438794337215691778968995713159024208984983700424066394384654126300475025787172407328373835202279421149866633890037297432047621485759530521709719450852452401806243036151827560559625318247546978365318284847894491692261949308608899184368248406178542520682325695455044318890987860769556390134947290394021360075791547929196088538924971")),
+ mp_complex(mp_float("-7.4526186281968985639046084659224914234169596249343065300288814534427524115286929548522946470506459223124125256048586477082901004779007436937717640111652462898202317786775690488892687736795476879462274928839941413515746818716327595545210837909008270986924668090921819777855318399134525542107443519776446818100729964761968879351366011395507762141289324678857503719827583464707700011161809645371870773671"), mp_float("-2.1798833828883014152135820124713445521880833254543637003734061689664259019505638021837381752490050583060261094810045584452042159823233576011953289135718417599889073821087968053551992559561292188581660077056092314052044872360659653270878913092164577562373394292360964789226962160446664132561156641295446709125080199918275570304631557597775834142250613738224909109052926855889889921375360065435052654942")),
+ mp_complex(mp_float("-24.502154793943064053113886597333030407920832653251955227926675835152803273723232633538783198300069316215752550431427629030944768127398335248306281018264694531726166649991005258958012792897397210263076237794536151510954476782368843281536681169122697657877051820863570873618558487557518276717371363676368122674759278529483247838020576993249832813395535066663109810108688251250722379137834004900973177399"), mp_float("-10.552330894360856575107698194989286105753409625484215921582064792732594379505074128938499637311697694834221568081195335979605924584130809718705445631247977200430034327157893696133766967706273619533609396999279602089560459747107619367524466670986909891471089398513007099100474666146335099470159521194385307201103783384617169108977373049914732999777681702327782988460181683092169652971467596565994537858")),
+ mp_complex(mp_float("-93.382300641652843384039060342960191979050484485307795183046545507859335971645697559878519722335409756103743233607787220978716250800403405830956333440417066978651809029168903534819531123850205555382529884664241726986616571260101080154747481397867946319100294046426867888748941161538437656553570517604846437621802914658635526153529001142088984205501446275198226602864536101186052980997543249438108433899"), mp_float("-40.540385238487073303481506969193918899946985707022492260654752607796303396360469608495332837716208525263409417287676987635200512521364788426235408719690163541082951333580450121824990083240449418852481691009862149822933679517954277828204424414121335606109869006392332086724923796961294818760070450635927303373443122263000043117304025956860453540714487034666709769905509437704008745245343744540587014632")),
+ mp_complex(mp_float("-407.44149746722939613062889470842476496337562378280639679932350082875016855313273648618629079722360262161026582114812502204254944410108013381003159380665743390004078566159889772380929958367165137791106171723695700331921578064446372373558723219332478770186085440537451755687064215002132420380346776897542653159913101423485363283757429877801758370483491324909902104149684123507758888470342112377319196953"), mp_float("-128.90524220509900720828271654900143348835684767817075129066564007109458645475917682477994200782561738550667025484892254833177338351912510143410401746189330472769182104409575950575932312365962996264475954456673587311009043333566775041716541553076617480630436996890995478977942622630856384006235087799348944128657165272968222432326858838774784062931571951807502174182107657092569581165663545147922385844")),
+ mp_complex(mp_float("-1944.9782973384025323743337037555522368383794535888995233225656412990301358476451488872030541557689073619761196088859420418181989396452220920730927727079606628273412351793869696252472306570325357836031534546830981390689292017827124333182483934683140384669884571797678810768045275278470639985034199692442720819981793620578229613982464373576170354297165735472765277156898885780579251904510161409908823721"), mp_float("-210.8708265752790538318586458444749028988660843779982903231180692813360435544946216768859724335199648587856666331138849774716989228170132969315932164885858646377643117931049328323133534048705611748992580748722715671076752017022836822828966947649289825115199953047214352928131531766215517159026875421687810549901968747337417895537265423291649954210287403274537577769956162526885558372590703445834867339")),
+ mp_complex(mp_float("-9541.7199234273553202011776390631275274643054760413735310745545709021524294212340467314794143075111155332624388762255266951657891129358511889863639933448840035817243815343626635779629496334231530121582227186853182196539176742327353973108682906417218450763201854031360950716531982753409770297445667898502887447595173708129652512812749581274503553170645300764843110197557690668124613762913543520981803691"), mp_float("1706.2162910714897487363251871475009893346168133525846819261305685399964072320326384198081519731418465546363127360609774141201567893874144899995151286002803771938459589609628398156912629310136279641873619522525962807928000949094372181534085502334522932879645289023725101430674077762972311068954998072241978441726388423649558400753898155657574508155272092292757030835126471551678505778228767890687030074")),
+ mp_complex(mp_float("-44254.659913756154490572647101697450001484111551311410220511720488073850576429993290599802335308509503966295882749644278894178586320912644501186003604523518676848369341069809707728260697559063267279178977471082721324861198630813174326266015981582467499144919396086287970053584732807899756938606726921609861358245063822975376011839211562552186481966536610543703541048353295613143339127576381740638652612"), mp_float("26609.46720202186613334188277443786330647243403991665525663951463854986271524740349011932050924763660258125062361855376536047489576922498828873594179689950352534497793857637107625801026611812515233462573985283736235080749906959082835392152454703257305241312587653040806518291567042750654310639603094905955874618038904560853519255668014498780255701840018004091726546947314725414881992113711029651923997")),
+ mp_complex(mp_float("-164008.56484449087813628301030597689229983734072712589960339748250865066013024512812334938379155179617199113044526296518165396591991134400389224611379927271344362672260535635322802008319192135234418167271051035986532960138554904185506981003671992177089503897335544292604408136225328367597841093227307192975285596630613905423677718319172036538235502962715173058499331608575715295625569657562169560423244"), mp_float("244208.67315003876655335018317927762271353601115668407004550586149413032989445106733625240276221848217261986073768292152554992364668151660537226147199820773215844539937755830812041306664830247277441343476938070825738700289032101251905786853366124069214149210909889652593635754817895608336737529204329064684612058035265427493188600518568854566664993961946320219634232596374685649204590712975659591984854")),
+ mp_complex(mp_float("-151006.2490323117144397356259374608139384342756498385705188505615702538106345360603861514555398430754772602129188607123058975783319684690836614802598549230079998551602742951804775099765340640217138047499655472797956270238284932526899784957348454718070272731326296086417255496057976699471765490652980071934213062444009804154631764144023208973732111566084017673085997635824318452304944836829847655202049"), mp_float("1.7772612644053884461296433541043604631222692127193884514190476527205868724746390201847433393462615757401731441531162059385986354688383259188976807195869004986892773785512585851676187063459144940575880484257567759322329928982719381086761937717194217679426073558487227870562594154009589781403338511152825855966209661234622014625219132086307394769946222244810778056798693162328263580997177123511098332669e6")),
+ mp_complex(mp_float("5.3563706499280273256990002440913160207376653067115006146345846496425090327745616614728373204215030034640574277272007772632896685111560495659293200650528966230974775451177647542626720310327721518625086374923579169864018681607270696829729458650925107783371685586432635404242461207324360072613079115496092953883582063214499628068656823744234518468574070793893813763385308341768803785655016988014237567819e6"), mp_float("1.01366735188041665732963536791977018396867766733288597729349785670936302567772790841093754613026095847024282419912095123913000503793009827708331494782751367976701679569123568059412110032452521693054331913451238327904672923030065916647794645397016256989158989812100026545506172322988441249553742270727015215412227041443262299877390139487681930043745113105834811965542719502276588580120893504521351719862e7")),
+ mp_complex(mp_float("6.9980516277819693339685211314050881267044933975449574845026377186745923664324896573270170807761195767925619492038241988013321875782255517109498195908728902723904942042168056544092288448629250075594618551022406825996851013552446747159142482095295718969685233729586062379138954570334142795585042752432709414592757410018731655880717021030425897626729368649360874906567611420540263442976281214643229572172e7"), mp_float("3.4099855708594028753483579839406982022009775371443608642810980879751603582115940666340436586928324004738075848352253337603612850180499556308071332742263410987340207522842382797835638629576775970345553121734728070746760179528262884250768724942635819463095943783311743090368721948246302456746196596705296797741651846505201168128510407772400934607137637862561219395319875989201585352007328442814287900766e7")),
+ mp_complex(mp_float("5.4136509085596141180656881080440224859251993165662767406659651181944532816332257861775117591619005566733007565896521617551439927690099406323815196803846667310450922934148636566208314769845382215731916432013554531856509960195037537800998966715984000934106944498842069440194451309294230637235194708155455779169192020301422544173004370004386908655351223181290779775130832991080241913825106653175087992949e8"), mp_float("-1.2949045258244371127184254976887270738828471561700518611225568923672425989931958885938260754088099671025441367968285688595996648268410395106601792620903116830518279125021740045026419045021037947452614197696423582261296881327835985142653811581798523583112962783099085081962728795931389473328213485676507180013475605551578584053163861102147080514707462556787884819925667006712317532877329680492844322897e8")),
+ mp_complex(mp_float("2.3391830108117226865528042105802050390534688207985105929781259299378980944321801367693370882278870385747529632844793408850567944239221823020852935862865956436243673385941526799722724434358141610211307899356840272946855642582813312725728050637131862914330916834403154212460038491247974544314868895223050080323691910399877784725403371972751142528810035291019082349450915455332910603443350540083689320869e9"), mp_float("-3.4639673650011527613391888472772238621637769294471471999969063167305563775045590356838611754502813843055726744201955868979595238432065560268645380149992696662096334179862192811159183582582190144903961719634654298780650996471448908073512991299604773649221852781125849698821133459590338702255653882428897145866791771893624866469394487632595850683178078455840029329739775803141558951555430875708701317247e9")),
+ mp_complex(mp_float("-6.506985412453989154585441515625240053999811404639004646639063518245989363539937061299471983253178474966453843229974771797433537994813422960615573849321602991784669235571794464894594371454127861157284324732949455285012054524768183200027511260348485943989556058628953212491928051298302243574334089566237473873098985106046655181465569877273929294647380396588329921163220749177920609447008503115578125898e9"), mp_float("-3.2227875865612696906291285357455939330127035698653023897662225043749913146071051784740191604057972895508066929540539985069984489429580808657320252088532822367917862151580649345923998749746029808290666735487251894508411627600847746334742591024395227896008363690690844438113021902030124657764398336367887625528514377031369427398323571290578453907283141015094175742190834360747622263786759874707559683434e10")),
+ mp_complex(mp_float("-2.3324641859761530082333288230997512621353384325146417683849695504123167531106152670720772706309985507813418292102269192163074175625096476300164792913701293376324818227505499305978239630110672731294713525167597190679324877741602424166605641673424377819688274266521103561230570348468551437254826132005449625947541287341298003169487103018552193159559682611999920551405621462206639863046843682879234107645e11"), mp_float("-1.365913908090325385922863720169110028713674608764738945404222708302431250482685379562787353522836801875908603986543211508543060240047810789735296217740906133048740758429337428485880786201852497535514741138734414305805414144417506648379042156447807867430451159426697943573941496513190814177886918941773671952653803294758151434434681086485076904776522212468222182241366009190935348257905748517715365e11")),
+ mp_complex(mp_float("-2.1705052417331367741245606850494477302525500254665024082468865650564576831368937045655178856030674111751030720452000155393913703733131463121969637965701752953370012143664955007785788811476834971808899771667678930682536637204047969625582976626742473192735877822418844366029937737792096361581163446900815678252576532608497414485375933458250413331652670321838466303388624977301972976287585286832593993748e12"), mp_float("8.130034028059944747277016075879961245994156037174195347084017120850273567906434337998426767865912711430347988241809968866568240321833925687812996907126131445910670394244231994239476396478289705377874543537709644124249240290651114360661529567395659383039274356814429557225481067695747712403535088824464971371448005753740526952877057617973129312667471248729542273774557470997124134851203014791165668463e11")),
+ mp_complex(mp_float("-5.716644492161516539227712160569961088171327023451054239128900854012219957598265227097719803022614926291967266351212109939239881352046668848069367916026069362047168513234482084777192093631969762623211272659358339730895077980649235560808282659038655224553229986048078756642794187261934856268247819478888701515443750226635069654831173566165842292938615818093633112551881752607432213183423717911895355025e12"), mp_float("1.9885500889961772806958333760295392854856139934956210242641713285121215416608075370056255973654898281627777623736453750850316185508283639954486647850168569469502682375670928414664141901731117199715920482647846345372446439094055312881664357671060308582940281278418220555728792675120884610944949256496583488087968291897954859391722373953970167580046908105720627060400162581522146984425446658627871898514e13")),
+ mp_complex(mp_float("1.2292899393314644862239723281590389374173402769751655846711617052120071419284294830673664970194673966962712718349875284408019545982960015865327244396089390059490543489697497247308383511615103775272891812180033539628455218953538873455026714900510247857358205652636786987031509587735836251092678637025377762248445288218684320748992806288202754606903070353475120954330324563128394342081457526058719452799e14"), mp_float("1.4744393147228402493374194890998403749223482332311353613256234433670490963040441048623015346530308426495922654654920936226822078178023266161777563084255685941318451992751953132746377985385090603198932138511272234632447182123645763999892101402498580203887837508788130277743628283031807328304698425718534852579764928417591424208175066371750558817379620556022816141302567980922901749201541738760743174194e14")),
+ mp_complex(mp_float("1.8300891067810951572054484388282920849197178386122823145750707909164100679106254526360705941023063398160116241527040212674590206442229446145533544861402477451742353245624471821842129514566496958926248759352972005936924256029376839924786896165163094227975479415559177620098420758627818455165148531233292395651517832244325079177284841672916138471458878737677331766480526135244418177912687511915120873705e15"), mp_float("-2.574978372878736825731796657082972791470484680507750284569253770750792818503303519111554687969761464149180843965703776280656102765507815228887653610674518962883870296260726414435146559110378245562044283435699080914874882773516507680122294607075683672331572586094474233729199582826651687232625564576222539989528127213422951344986419180197048042295566365797657515407390836963030782272009298551881709985e14")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02903_z_zeta_neg_x(const bool b_write_output)
+ {
+ return TestCase_case_02903_z_zeta_neg_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/cases/test_case_02911_z_zeta_crit_strip.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/cases/test_case_02911_z_zeta_crit_strip.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,66 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_imag.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace imag
+ {
+ class TestCase_case_02911_z_zeta_crit_strip : public TestCaseImag
+ {
+ public:
+ TestCase_case_02911_z_zeta_crit_strip() { }
+ virtual ~TestCase_case_02911_z_zeta_crit_strip() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_02911_z_zeta_crit_strip");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_complex>& data) const
+ {
+ data.resize(5u);
+ boost::int32_t ten_pow_k = static_cast<boost::int32_t>(1);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::half();
+ const mp_float y = boost::multiprecision::euler_gamma() + ten_pow_k;
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::riemann_zeta(mp_complex(x, y));
+ ten_pow_k *= static_cast<boost::int32_t>(10);
+ }
+ }
+ virtual const std::vector<mp_complex>& control_data(void) const
+ {
+ static const boost::array<mp_complex, 5u> a =
+ {{
+ mp_complex(mp_float("0.3681013139970567763015339688046027859045663264618427166495486130525128525669532094649215364456148121569510436310015139364427722590160928250391834575740557783063068498906911544014166704659878600325501355140166324819014349469669095085363655293497409908515076728426910881589718781510798466598805016487774524317050409703582470241257001838834960492322629306530544430730900659656869056520947072012390633013"), mp_float("-0.45201341366157588621685725506618271791969546991216661904329444316679549071761899622503338670642101873363874711984571274110860552807555955003886738723886771662593758033345139071522549901070311477680204850464079434684030372752137768488543347283418027225210784146576140328833226468442291349880701980453097454969440313075862542245520911313773620328872716183109290047316816733536294604848494344966979169755")),
+ mp_complex(mp_float("1.50592013755220009166084682382342440449770096691823866255235734500601819702141317582464452820693156606192777115234944317975528855988196312666239875768070987722245649803023126836702729427588237019169902854808466913483302221140017645274971274899027806194295823919627999759345280458419867354988903002086117733951267270743750677739704963370773842792164494138252304910657883924167479721062961911818122311"), mp_float("-0.3315331087697970828527529772547052942821896373376292709159962262578968139736666113805777470348927582152272358245302021493652090036340490567825345966926081057892158612233123224156437455551723699322635126531259760892310519117827573465171991420794310578036144306760964307466023763412868414731329642302561854344424794613845736273788820534867093883909781378181808237354639249243381327489753561687093711703")),
+ mp_complex(mp_float("1.4665463847642891807130950731411511477792846100682082803968051957535985970195564090070968843926802186031821292713955433221530852919668648378425018429635037238638963182444858917610848265210440587521235064698928004924455388328290846065268616675516683304554781990666223111599691202219024406798583985014632324403408243254676838842118685802872505058519118184387176724005520341501420549678713205860471613626"), mp_float("-1.5315106178208988736144710587361650785211089606721842765122927394573255071343704974237787082715789695648519297431111281176453323662095399828830449886462414943106727000589707582177155376173289008939869948995039007852876927937643917236001656406526151557194409581899834763997662457280242706142713118609573273175869511971753040145800064522659126276067769207543819523548447980592775048444534138007159370096")),
+ mp_complex(mp_float("2.4784085121669604539976865158733361716278824609574651367484130834743644270519153622781177345170867273368314929186419194846744339316295351998421814674878292325476518689158045011102508127445357793390765393407389703454220021587870414079030440033643256675158701426146417202942900692261284454219198228913362604765478239130807271872596451944712579083053658084289570927318497547938267861035748755004241768173"), mp_float("-0.6531526258615378751094442827290676211889257354523377630839233642936839047956842394849691713916110150968475860005130414230394305902685670695429207876348796209295656557149589823621232665099700069766884571170426773755310049742929953410087939954954553397622196185980901495379884813656740526833809827903058713326638137106765122088814381900336743608050113236561019369950101400419853168841511998821837646116")),
+ mp_complex(mp_float("-0.060586474545240572082568260357220307300984903125546311852104204588679926681093501932161205358309392594472758954338298445996519850511619750646086121316073246295357108827206618967955250603705971204491789092187495130950124369414327846150538826858734644913025898183787214252477186645069902524926159011649179951281221072151096256110483258620975890646854306584100530075238747951475775925493488909148806872678"), mp_float("-0.12603412886220991936091147500359740474021748877451005486259702924742896907215443727945157762438751432849060714805304465198841404186979396596446501751337667378159015631343484674960266782320521700607781405301629909001980811283653229645608770744170608013942540336067075581129413376415178585988804580393269560973109606675937325030251394840387385311285215032864801340562086209871196598237293330683509067968")),
+ }};
+ static const std::vector<mp_complex> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_02911_z_zeta_crit_strip(const bool b_write_output)
+ {
+ return TestCase_case_02911_z_zeta_crit_strip().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/imag/test_case_imag.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/test_case_imag.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,38 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _TEST_CASE_IMAG_2009_10_24_H_
+ #define _TEST_CASE_IMAG_2009_10_24_H_
+
+ #include "../test_case_base.h"
+
+ namespace test
+ {
+ namespace imag
+ {
+ class TestCaseImag : public TestCaseBase<boost::multiprecision::mp_complex>
+ {
+ private:
+
+ TestCaseImag(const TestCaseImag&);
+ const TestCaseImag& operator=(const TestCaseImag&);
+
+ protected:
+
+ TestCaseImag() { }
+
+ public:
+
+ virtual ~TestCaseImag() { }
+ };
+ }
+ }
+
+#endif // _TEST_CASE_IMAG_2009_10_24_H_

Added: sandbox/multiprecision/test/imag/test_imag.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/test_imag.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,76 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <iostream>
+
+#include "test_imag.h"
+
+namespace test
+{
+ namespace imag
+ {
+ bool test_case_02101_z_sin (const bool b_write_output);
+ bool test_case_02102_z_cos (const bool b_write_output);
+ bool test_case_02103_z_exp (const bool b_write_output);
+ bool test_case_02104_z_log (const bool b_write_output);
+ bool test_case_02105_z_sqrt (const bool b_write_output);
+ bool test_case_02106_z_rootn (const bool b_write_output);
+ bool test_case_02111_z_asin (const bool b_write_output);
+ bool test_case_02112_z_acos (const bool b_write_output);
+ bool test_case_02113_z_atan (const bool b_write_output);
+ bool test_case_02114_z_various_trig (const bool b_write_output);
+ bool test_case_02115_z_various_elem_trans_log (const bool b_write_output);
+ bool test_case_02116_z_various_elem (const bool b_write_output);
+ bool test_case_02121_z_sinh (const bool b_write_output);
+ bool test_case_02122_z_cosh (const bool b_write_output);
+ bool test_case_02123_z_tanh (const bool b_write_output);
+ bool test_case_02124_z_asinh (const bool b_write_output);
+ bool test_case_02125_z_acosh (const bool b_write_output);
+ bool test_case_02126_z_atanh (const bool b_write_output);
+ bool test_case_02201_z_gamma (const bool b_write_output);
+ bool test_case_02202_z_gamma_medium_x (const bool b_write_output);
+ bool test_case_02901_z_zeta_small_x (const bool b_write_output);
+ bool test_case_02902_z_zeta_all_x (const bool b_write_output);
+ bool test_case_02903_z_zeta_neg_x (const bool b_write_output);
+ bool test_case_02911_z_zeta_crit_strip (const bool b_write_output);
+ }
+}
+
+bool test::imag::test_imag(const bool b_write_output)
+{
+ bool test_ok = true;
+
+ test_ok &= test::imag::test_case_02101_z_sin (b_write_output);
+ test_ok &= test::imag::test_case_02102_z_cos (b_write_output);
+ test_ok &= test::imag::test_case_02103_z_exp (b_write_output);
+ test_ok &= test::imag::test_case_02104_z_log (b_write_output);
+ test_ok &= test::imag::test_case_02105_z_sqrt (b_write_output);
+ test_ok &= test::imag::test_case_02106_z_rootn (b_write_output);
+ test_ok &= test::imag::test_case_02111_z_asin (b_write_output);
+ test_ok &= test::imag::test_case_02112_z_acos (b_write_output);
+ test_ok &= test::imag::test_case_02113_z_atan (b_write_output);
+ test_ok &= test::imag::test_case_02114_z_various_trig (b_write_output);
+ test_ok &= test::imag::test_case_02115_z_various_elem_trans_log (b_write_output);
+ test_ok &= test::imag::test_case_02116_z_various_elem (b_write_output);
+ test_ok &= test::imag::test_case_02121_z_sinh (b_write_output);
+ test_ok &= test::imag::test_case_02122_z_cosh (b_write_output);
+ test_ok &= test::imag::test_case_02123_z_tanh (b_write_output);
+ test_ok &= test::imag::test_case_02124_z_asinh (b_write_output);
+ test_ok &= test::imag::test_case_02125_z_acosh (b_write_output);
+ test_ok &= test::imag::test_case_02126_z_atanh (b_write_output);
+ test_ok &= test::imag::test_case_02201_z_gamma (b_write_output);
+ test_ok &= test::imag::test_case_02202_z_gamma_medium_x (b_write_output);
+ test_ok &= test::imag::test_case_02901_z_zeta_small_x (b_write_output);
+ test_ok &= test::imag::test_case_02902_z_zeta_all_x (b_write_output);
+ test_ok &= test::imag::test_case_02903_z_zeta_neg_x (b_write_output);
+ test_ok &= test::imag::test_case_02911_z_zeta_crit_strip (b_write_output);
+
+ return test_ok;
+}

Added: sandbox/multiprecision/test/imag/test_imag.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/imag/test_imag.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,22 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _TEST_IMAG_2009_12_18_H_
+ #define _TEST_IMAG_2009_12_18_H_
+
+ namespace test
+ {
+ namespace imag
+ {
+ bool test_imag(const bool b_write_output);
+ }
+ }
+
+#endif // _TEST_IMAG_2009_12_18_H_

Added: sandbox/multiprecision/test/linpack_test/gmp/gmp.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/linpack_test/gmp/gmp.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,2280 @@
+/* Definitions for GNU multiple precision functions. -*- mode: c -*-
+
+Copyright 1991, 1993, 1994, 1995, 1996, 1997, 1999, 2000, 2001, 2002, 2003,
+2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
+
+#ifndef __GMP_H__
+
+#if defined (__cplusplus)
+#include <iosfwd> /* for std::istream, std::ostream, std::string */
+#include <cstdio>
+#endif
+
+
+/* Instantiated by configure. */
+#if ! defined (__GMP_WITHIN_CONFIGURE)
+#define __GMP_HAVE_HOST_CPU_FAMILY_power 0
+#define __GMP_HAVE_HOST_CPU_FAMILY_powerpc 0
+#define GMP_LIMB_BITS 32
+#define GMP_NAIL_BITS 0
+#endif
+#define GMP_NUMB_BITS (GMP_LIMB_BITS - GMP_NAIL_BITS)
+#define GMP_NUMB_MASK ((~ __GMP_CAST (mp_limb_t, 0)) >> GMP_NAIL_BITS)
+#define GMP_NUMB_MAX GMP_NUMB_MASK
+#define GMP_NAIL_MASK (~ GMP_NUMB_MASK)
+
+
+/* The following (everything under ifndef __GNU_MP__) must be identical in
+ gmp.h and mp.h to allow both to be included in an application or during
+ the library build. */
+#ifndef __GNU_MP__
+#define __GNU_MP__ 5
+
+#define __need_size_t /* tell gcc stddef.h we only want size_t */
+#if defined (__cplusplus)
+#include <cstddef> /* for size_t */
+#else
+#include <stddef.h> /* for size_t */
+#endif
+#undef __need_size_t
+
+/* Instantiated by configure. */
+#if ! defined (__GMP_WITHIN_CONFIGURE)
+/* #undef _LONG_LONG_LIMB */
+//#define __GMP_LIBGMP_DLL 1
+#endif
+
+
+/* __STDC__ - some ANSI compilers define this only to 0, hence the use of
+ "defined" and not "__STDC__-0". In particular Sun workshop C 5.0
+ sets __STDC__ to 0, but requires "##" for token pasting.
+
+ _AIX - gnu ansidecl.h asserts that all known AIX compilers are ANSI but
+ don't always define __STDC__.
+
+ __DECC - current versions of DEC C (5.9 for instance) for alpha are ANSI,
+ but don't define __STDC__ in their default mode. Don't know if old
+ versions might have been K&R, but let's not worry about that unless
+ someone is still using one.
+
+ _mips - gnu ansidecl.h says the RISC/OS MIPS compiler is ANSI in SVR4
+ mode, but doesn't define __STDC__.
+
+ _MSC_VER - Microsoft C is ANSI, but __STDC__ is undefined unless the /Za
+ option is given (in which case it's 1).
+
+ _WIN32 - tested for by gnu ansidecl.h, no doubt on the assumption that
+ all w32 compilers are ansi.
+
+ Note: This same set of tests is used by gen-psqr.c and
+ demos/expr/expr-impl.h, so if anything needs adding, then be sure to
+ update those too. */
+
+#if defined (__STDC__) \
+ || defined (__cplusplus) \
+ || defined (_AIX) \
+ || defined (__DECC) \
+ || (defined (__mips) && defined (_SYSTYPE_SVR4)) \
+ || defined (_MSC_VER) \
+ || defined (_WIN32)
+#define __GMP_HAVE_CONST 1
+#define __GMP_HAVE_PROTOTYPES 1
+#define __GMP_HAVE_TOKEN_PASTE 1
+#else
+#define __GMP_HAVE_CONST 0
+#define __GMP_HAVE_PROTOTYPES 0
+#define __GMP_HAVE_TOKEN_PASTE 0
+#endif
+
+
+#if __GMP_HAVE_CONST
+#define __gmp_const const
+#define __gmp_signed signed
+#else
+#define __gmp_const
+#define __gmp_signed
+#endif
+
+
+/* __GMP_DECLSPEC supports Windows DLL versions of libgmp, and is empty in
+ all other circumstances.
+
+ When compiling objects for libgmp, __GMP_DECLSPEC is an export directive,
+ or when compiling for an application it's an import directive. The two
+ cases are differentiated by __GMP_WITHIN_GMP defined by the GMP Makefiles
+ (and not defined from an application).
+
+ __GMP_DECLSPEC_XX is similarly used for libgmpxx. __GMP_WITHIN_GMPXX
+ indicates when building libgmpxx, and in that case libgmpxx functions are
+ exports, but libgmp functions which might get called are imports.
+
+ libmp.la uses __GMP_DECLSPEC, just as if it were libgmp.la. libgmp and
+ libmp don't call each other, so there's no conflict or confusion.
+
+ Libtool DLL_EXPORT define is not used.
+
+ There's no attempt to support GMP built both static and DLL. Doing so
+ would mean applications would have to tell us which of the two is going
+ to be used when linking, and that seems very tedious and error prone if
+ using GMP by hand, and equally tedious from a package since autoconf and
+ automake don't give much help.
+
+ __GMP_DECLSPEC is required on all documented global functions and
+ variables, the various internals in gmp-impl.h etc can be left unadorned.
+ But internals used by the test programs or speed measuring programs
+ should have __GMP_DECLSPEC, and certainly constants or variables must
+ have it or the wrong address will be resolved.
+
+ In gcc __declspec can go at either the start or end of a prototype.
+
+ In Microsoft C __declspec must go at the start, or after the type like
+ void __declspec(...) *foo()". There's no __dllexport or anything to
+ guard against someone foolish #defining dllexport. _export used to be
+ available, but no longer.
+
+ In Borland C _export still exists, but needs to go after the type, like
+ "void _export foo();". Would have to change the __GMP_DECLSPEC syntax to
+ make use of that. Probably more trouble than it's worth. */
+
+#if defined (__GNUC__)
+#define __GMP_DECLSPEC_EXPORT __declspec(__dllexport__)
+#define __GMP_DECLSPEC_IMPORT __declspec(__dllimport__)
+#endif
+#if defined (_MSC_VER) || defined (__BORLANDC__)
+#define __GMP_DECLSPEC_EXPORT __declspec(dllexport)
+#define __GMP_DECLSPEC_IMPORT __declspec(dllimport)
+#endif
+#ifdef __WATCOMC__
+#define __GMP_DECLSPEC_EXPORT __export
+#define __GMP_DECLSPEC_IMPORT __import
+#endif
+#ifdef __IBMC__
+#define __GMP_DECLSPEC_EXPORT _Export
+#define __GMP_DECLSPEC_IMPORT _Import
+#endif
+
+#if __GMP_LIBGMP_DLL
+#if __GMP_WITHIN_GMP
+/* compiling to go into a DLL libgmp */
+#define __GMP_DECLSPEC __GMP_DECLSPEC_EXPORT
+#else
+/* compiling to go into an application which will link to a DLL libgmp */
+#define __GMP_DECLSPEC __GMP_DECLSPEC_IMPORT
+#endif
+#else
+/* all other cases */
+#define __GMP_DECLSPEC
+#endif
+
+
+#ifdef __GMP_SHORT_LIMB
+typedef unsigned int mp_limb_t;
+typedef int mp_limb_signed_t;
+#else
+#ifdef _LONG_LONG_LIMB
+typedef unsigned long long int mp_limb_t;
+typedef long long int mp_limb_signed_t;
+#else
+typedef unsigned long int mp_limb_t;
+typedef long int mp_limb_signed_t;
+#endif
+#endif
+typedef unsigned long int mp_bitcnt_t;
+
+/* For reference, note that the name __mpz_struct gets into C++ mangled
+ function names, which means although the "__" suggests an internal, we
+ must leave this name for binary compatibility. */
+typedef struct
+{
+ int _mp_alloc; /* Number of *limbs* allocated and pointed
+ to by the _mp_d field. */
+ int _mp_size; /* abs(_mp_size) is the number of limbs the
+ last field points to. If _mp_size is
+ negative this is a negative number. */
+ mp_limb_t *_mp_d; /* Pointer to the limbs. */
+} __mpz_struct;
+
+#endif /* __GNU_MP__ */
+
+
+typedef __mpz_struct MP_INT; /* gmp 1 source compatibility */
+typedef __mpz_struct mpz_t[1];
+
+typedef mp_limb_t * mp_ptr;
+typedef __gmp_const mp_limb_t * mp_srcptr;
+#if defined (_CRAY) && ! defined (_CRAYMPP)
+/* plain `int' is much faster (48 bits) */
+#define __GMP_MP_SIZE_T_INT 1
+typedef int mp_size_t;
+typedef int mp_exp_t;
+#else
+#define __GMP_MP_SIZE_T_INT 0
+typedef long int mp_size_t;
+typedef long int mp_exp_t;
+#endif
+
+typedef struct
+{
+ __mpz_struct _mp_num;
+ __mpz_struct _mp_den;
+} __mpq_struct;
+
+typedef __mpq_struct MP_RAT; /* gmp 1 source compatibility */
+typedef __mpq_struct mpq_t[1];
+
+typedef struct
+{
+ int _mp_prec; /* Max precision, in number of `mp_limb_t's.
+ Set by mpf_init and modified by
+ mpf_set_prec. The area pointed to by the
+ _mp_d field contains `prec' + 1 limbs. */
+ int _mp_size; /* abs(_mp_size) is the number of limbs the
+ last field points to. If _mp_size is
+ negative this is a negative number. */
+ mp_exp_t _mp_exp; /* Exponent, in the base of `mp_limb_t'. */
+ mp_limb_t *_mp_d; /* Pointer to the limbs. */
+} __mpf_struct;
+
+/* typedef __mpf_struct MP_FLOAT; */
+typedef __mpf_struct mpf_t[1];
+
+/* Available random number generation algorithms. */
+typedef enum
+{
+ GMP_RAND_ALG_DEFAULT = 0,
+ GMP_RAND_ALG_LC = GMP_RAND_ALG_DEFAULT /* Linear congruential. */
+} gmp_randalg_t;
+
+/* Random state struct. */
+typedef struct
+{
+ mpz_t _mp_seed; /* _mp_d member points to state of the generator. */
+ gmp_randalg_t _mp_alg; /* Currently unused. */
+ union {
+ void *_mp_lc; /* Pointer to function pointers structure. */
+ } _mp_algdata;
+} __gmp_randstate_struct;
+typedef __gmp_randstate_struct gmp_randstate_t[1];
+
+/* Types for function declarations in gmp files. */
+/* ??? Should not pollute user name space with these ??? */
+typedef __gmp_const __mpz_struct *mpz_srcptr;
+typedef __mpz_struct *mpz_ptr;
+typedef __gmp_const __mpf_struct *mpf_srcptr;
+typedef __mpf_struct *mpf_ptr;
+typedef __gmp_const __mpq_struct *mpq_srcptr;
+typedef __mpq_struct *mpq_ptr;
+
+
+/* This is not wanted in mp.h, so put it outside the __GNU_MP__ common
+ section. */
+#if __GMP_LIBGMP_DLL
+#if __GMP_WITHIN_GMPXX
+/* compiling to go into a DLL libgmpxx */
+#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_EXPORT
+#else
+/* compiling to go into a application which will link to a DLL libgmpxx */
+#define __GMP_DECLSPEC_XX __GMP_DECLSPEC_IMPORT
+#endif
+#else
+/* all other cases */
+#define __GMP_DECLSPEC_XX
+#endif
+
+
+#if __GMP_HAVE_PROTOTYPES
+#define __GMP_PROTO(x) x
+#else
+#define __GMP_PROTO(x) ()
+#endif
+
+#ifndef __MPN
+#if __GMP_HAVE_TOKEN_PASTE
+#define __MPN(x) __gmpn_##x
+#else
+#define __MPN(x) __gmpn_/**/x
+#endif
+#endif
+
+/* For reference, "defined(EOF)" cannot be used here. In g++ 2.95.4,
+ <iostream> defines EOF but not FILE. */
+#if defined (FILE) \
+ || defined (H_STDIO) \
+ || defined (_H_STDIO) /* AIX */ \
+ || defined (_STDIO_H) /* glibc, Sun, SCO */ \
+ || defined (_STDIO_H_) /* BSD, OSF */ \
+ || defined (__STDIO_H) /* Borland */ \
+ || defined (__STDIO_H__) /* IRIX */ \
+ || defined (_STDIO_INCLUDED) /* HPUX */ \
+ || defined (__dj_include_stdio_h_) /* DJGPP */ \
+ || defined (_FILE_DEFINED) /* Microsoft */ \
+ || defined (__STDIO__) /* Apple MPW MrC */ \
+ || defined (_MSL_STDIO_H) /* Metrowerks */ \
+ || defined (_STDIO_H_INCLUDED) /* QNX4 */ \
+ || defined (_ISO_STDIO_ISO_H) /* Sun C++ */
+#define _GMP_H_HAVE_FILE 1
+#endif
+
+/* In ISO C, if a prototype involving "struct obstack *" is given without
+ that structure defined, then the struct is scoped down to just the
+ prototype, causing a conflict if it's subsequently defined for real. So
+ only give prototypes if we've got obstack.h. */
+#if defined (_OBSTACK_H) /* glibc <obstack.h> */
+#define _GMP_H_HAVE_OBSTACK 1
+#endif
+
+/* The prototypes for gmp_vprintf etc are provided only if va_list is
+ available, via an application having included <stdarg.h> or <varargs.h>.
+ Usually va_list is a typedef so can't be tested directly, but C99
+ specifies that va_start is a macro (and it was normally a macro on past
+ systems too), so look for that.
+
+ <stdio.h> will define some sort of va_list for vprintf and vfprintf, but
+ let's not bother trying to use that since it's not standard and since
+ application uses for gmp_vprintf etc will almost certainly require the
+ whole <stdarg.h> or <varargs.h> anyway. */
+
+#ifdef va_start
+#define _GMP_H_HAVE_VA_LIST 1
+#endif
+
+/* Test for gcc >= maj.min, as per __GNUC_PREREQ in glibc */
+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
+#define __GMP_GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+#define __GMP_GNUC_PREREQ(maj, min) 0
+#endif
+
+/* "pure" is in gcc 2.96 and up, see "(gcc)Function Attributes". Basically
+ it means a function does nothing but examine its arguments and memory
+ (global or via arguments) to generate a return value, but changes nothing
+ and has no side-effects. __GMP_NO_ATTRIBUTE_CONST_PURE lets
+ tune/common.c etc turn this off when trying to write timing loops. */
+#if __GMP_GNUC_PREREQ (2,96) && ! defined (__GMP_NO_ATTRIBUTE_CONST_PURE)
+#define __GMP_ATTRIBUTE_PURE __attribute__ ((__pure__))
+#else
+#define __GMP_ATTRIBUTE_PURE
+#endif
+
+
+/* __GMP_CAST allows us to use static_cast in C++, so our macros are clean
+ to "g++ -Wold-style-cast".
+
+ Casts in "extern inline" code within an extern "C" block don't induce
+ these warnings, so __GMP_CAST only needs to be used on documented
+ macros. */
+
+#ifdef __cplusplus
+#define __GMP_CAST(type, expr) (static_cast<type> (expr))
+#else
+#define __GMP_CAST(type, expr) ((type) (expr))
+#endif
+
+
+/* An empty "throw ()" means the function doesn't throw any C++ exceptions,
+ this can save some stack frame info in applications.
+
+ Currently it's given only on functions which never divide-by-zero etc,
+ don't allocate memory, and are expected to never need to allocate memory.
+ This leaves open the possibility of a C++ throw from a future GMP
+ exceptions scheme.
+
+ mpz_set_ui etc are omitted to leave open the lazy allocation scheme
+ described in doc/tasks.html. mpz_get_d etc are omitted to leave open
+ exceptions for float overflows.
+
+ Note that __GMP_NOTHROW must be given on any inlines the same as on their
+ prototypes (for g++ at least, where they're used together). Note also
+ that g++ 3.0 demands that __GMP_NOTHROW is before other attributes like
+ __GMP_ATTRIBUTE_PURE. */
+
+#if defined (__cplusplus)
+#define __GMP_NOTHROW throw ()
+#else
+#define __GMP_NOTHROW
+#endif
+
+
+/* PORTME: What other compilers have a useful "extern inline"? "static
+ inline" would be an acceptable substitute if the compiler (or linker)
+ discards unused statics. */
+
+ /* gcc has __inline__ in all modes, including strict ansi. Give a prototype
+ for an inline too, so as to correctly specify "dllimport" on windows, in
+ case the function is called rather than inlined.
+ GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
+ inline semantics, unless -fgnu89-inline is used. */
+#ifdef __GNUC__
+#if (defined __GNUC_STDC_INLINE__) || (__GNUC__ == 4 && __GNUC_MINOR__ == 2)
+#define __GMP_EXTERN_INLINE extern __inline__ __attribute__ ((__gnu_inline__))
+#else
+#define __GMP_EXTERN_INLINE extern __inline__
+#endif
+#define __GMP_INLINE_PROTOTYPES 1
+#endif
+
+/* DEC C (eg. version 5.9) supports "static __inline foo()", even in -std1
+ strict ANSI mode. Inlining is done even when not optimizing (ie. -O0
+ mode, which is the default), but an unnecessary local copy of foo is
+ emitted unless -O is used. "extern __inline" is accepted, but the
+ "extern" appears to be ignored, ie. it becomes a plain global function
+ but which is inlined within its file. Don't know if all old versions of
+ DEC C supported __inline, but as a start let's do the right thing for
+ current versions. */
+#ifdef __DECC
+#define __GMP_EXTERN_INLINE static __inline
+#endif
+
+/* SCO OpenUNIX 8 cc supports "static inline foo()" but not in -Xc strict
+ ANSI mode (__STDC__ is 1 in that mode). Inlining only actually takes
+ place under -O. Without -O "foo" seems to be emitted whether it's used
+ or not, which is wasteful. "extern inline foo()" isn't useful, the
+ "extern" is apparently ignored, so foo is inlined if possible but also
+ emitted as a global, which causes multiple definition errors when
+ building a shared libgmp. */
+#ifdef __SCO_VERSION__
+#if __SCO_VERSION__ > 400000000 && __STDC__ != 1 \
+ && ! defined (__GMP_EXTERN_INLINE)
+#define __GMP_EXTERN_INLINE static inline
+#endif
+#endif
+
+/* Microsoft's C compiler accepts __inline */
+#ifdef _MSC_VER
+#define __GMP_EXTERN_INLINE __inline
+#endif
+
+/* Recent enough Sun C compilers want "inline" */
+#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x560 \
+ && ! defined (__GMP_EXTERN_INLINE)
+#define __GMP_EXTERN_INLINE inline
+#endif
+
+/* Somewhat older Sun C compilers want "static inline" */
+#if defined (__SUNPRO_C) && __SUNPRO_C >= 0x540 \
+ && ! defined (__GMP_EXTERN_INLINE)
+#define __GMP_EXTERN_INLINE static inline
+#endif
+
+
+/* C++ always has "inline" and since it's a normal feature the linker should
+ discard duplicate non-inlined copies, or if it doesn't then that's a
+ problem for everyone, not just GMP. */
+#if defined (__cplusplus) && ! defined (__GMP_EXTERN_INLINE)
+#define __GMP_EXTERN_INLINE inline
+#endif
+
+/* Don't do any inlining within a configure run, since if the compiler ends
+ up emitting copies of the code into the object file it can end up
+ demanding the various support routines (like mpn_popcount) for linking,
+ making the "alloca" test and perhaps others fail. And on hppa ia64 a
+ pre-release gcc 3.2 was seen not respecting the "extern" in "extern
+ __inline__", triggering this problem too. */
+#if defined (__GMP_WITHIN_CONFIGURE) && ! __GMP_WITHIN_CONFIGURE_INLINE
+#undef __GMP_EXTERN_INLINE
+#endif
+
+/* By default, don't give a prototype when there's going to be an inline
+ version. Note in particular that Cray C++ objects to the combination of
+ prototype and inline. */
+#ifdef __GMP_EXTERN_INLINE
+#ifndef __GMP_INLINE_PROTOTYPES
+#define __GMP_INLINE_PROTOTYPES 0
+#endif
+#else
+#define __GMP_INLINE_PROTOTYPES 1
+#endif
+
+
+#define __GMP_ABS(x) ((x) >= 0 ? (x) : -(x))
+#define __GMP_MAX(h,i) ((h) > (i) ? (h) : (i))
+
+/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted
+ to int by "~". */
+#define __GMP_UINT_MAX (~ (unsigned) 0)
+#define __GMP_ULONG_MAX (~ (unsigned long) 0)
+#define __GMP_USHRT_MAX ((unsigned short) ~0)
+
+
+/* __builtin_expect is in gcc 3.0, and not in 2.95. */
+#if __GMP_GNUC_PREREQ (3,0)
+#define __GMP_LIKELY(cond) __builtin_expect ((cond) != 0, 1)
+#define __GMP_UNLIKELY(cond) __builtin_expect ((cond) != 0, 0)
+#else
+#define __GMP_LIKELY(cond) (cond)
+#define __GMP_UNLIKELY(cond) (cond)
+#endif
+
+#ifdef _CRAY
+#define __GMP_CRAY_Pragma(str) _Pragma (str)
+#else
+#define __GMP_CRAY_Pragma(str)
+#endif
+
+
+/* Allow direct user access to numerator and denominator of a mpq_t object. */
+#define mpq_numref(Q) (&((Q)->_mp_num))
+#define mpq_denref(Q) (&((Q)->_mp_den))
+
+
+#if defined (__cplusplus)
+extern "C" {
+using std::FILE;
+#endif
+
+#define mp_set_memory_functions __gmp_set_memory_functions
+__GMP_DECLSPEC void mp_set_memory_functions __GMP_PROTO ((void *(*) (size_t),
+ void *(*) (void *, size_t, size_t),
+ void (*) (void *, size_t))) __GMP_NOTHROW;
+
+#define mp_get_memory_functions __gmp_get_memory_functions
+__GMP_DECLSPEC void mp_get_memory_functions __GMP_PROTO ((void *(**) (size_t),
+ void *(**) (void *, size_t, size_t),
+ void (**) (void *, size_t))) __GMP_NOTHROW;
+
+#define mp_bits_per_limb __gmp_bits_per_limb
+__GMP_DECLSPEC extern __gmp_const int mp_bits_per_limb;
+
+#define gmp_errno __gmp_errno
+__GMP_DECLSPEC extern int gmp_errno;
+
+#define gmp_version __gmp_version
+__GMP_DECLSPEC extern __gmp_const char * __gmp_const gmp_version;
+
+
+/**************** Random number routines. ****************/
+
+/* obsolete */
+#define gmp_randinit __gmp_randinit
+__GMP_DECLSPEC void gmp_randinit __GMP_PROTO ((gmp_randstate_t, gmp_randalg_t, ...));
+
+#define gmp_randinit_default __gmp_randinit_default
+__GMP_DECLSPEC void gmp_randinit_default __GMP_PROTO ((gmp_randstate_t));
+
+#define gmp_randinit_lc_2exp __gmp_randinit_lc_2exp
+__GMP_DECLSPEC void gmp_randinit_lc_2exp __GMP_PROTO ((gmp_randstate_t,
+ mpz_srcptr, unsigned long int,
+ mp_bitcnt_t));
+
+#define gmp_randinit_lc_2exp_size __gmp_randinit_lc_2exp_size
+__GMP_DECLSPEC int gmp_randinit_lc_2exp_size __GMP_PROTO ((gmp_randstate_t, mp_bitcnt_t));
+
+#define gmp_randinit_mt __gmp_randinit_mt
+__GMP_DECLSPEC void gmp_randinit_mt __GMP_PROTO ((gmp_randstate_t));
+
+#define gmp_randinit_set __gmp_randinit_set
+__GMP_DECLSPEC void gmp_randinit_set __GMP_PROTO ((gmp_randstate_t, __gmp_const __gmp_randstate_struct *));
+
+#define gmp_randseed __gmp_randseed
+__GMP_DECLSPEC void gmp_randseed __GMP_PROTO ((gmp_randstate_t, mpz_srcptr));
+
+#define gmp_randseed_ui __gmp_randseed_ui
+__GMP_DECLSPEC void gmp_randseed_ui __GMP_PROTO ((gmp_randstate_t, unsigned long int));
+
+#define gmp_randclear __gmp_randclear
+__GMP_DECLSPEC void gmp_randclear __GMP_PROTO ((gmp_randstate_t));
+
+#define gmp_urandomb_ui __gmp_urandomb_ui
+__GMP_DECLSPEC unsigned long gmp_urandomb_ui __GMP_PROTO ((gmp_randstate_t, unsigned long));
+
+#define gmp_urandomm_ui __gmp_urandomm_ui
+__GMP_DECLSPEC unsigned long gmp_urandomm_ui __GMP_PROTO ((gmp_randstate_t, unsigned long));
+
+
+/**************** Formatted output routines. ****************/
+
+#define gmp_asprintf __gmp_asprintf
+__GMP_DECLSPEC int gmp_asprintf __GMP_PROTO ((char **, __gmp_const char *, ...));
+
+#define gmp_fprintf __gmp_fprintf
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC int gmp_fprintf __GMP_PROTO ((FILE *, __gmp_const char *, ...));
+#endif
+
+#define gmp_obstack_printf __gmp_obstack_printf
+#if defined (_GMP_H_HAVE_OBSTACK)
+__GMP_DECLSPEC int gmp_obstack_printf __GMP_PROTO ((struct obstack *, __gmp_const char *, ...));
+#endif
+
+#define gmp_obstack_vprintf __gmp_obstack_vprintf
+#if defined (_GMP_H_HAVE_OBSTACK) && defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_obstack_vprintf __GMP_PROTO ((struct obstack *, __gmp_const char *, va_list));
+#endif
+
+#define gmp_printf __gmp_printf
+__GMP_DECLSPEC int gmp_printf __GMP_PROTO ((__gmp_const char *, ...));
+
+#define gmp_snprintf __gmp_snprintf
+__GMP_DECLSPEC int gmp_snprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, ...));
+
+#define gmp_sprintf __gmp_sprintf
+__GMP_DECLSPEC int gmp_sprintf __GMP_PROTO ((char *, __gmp_const char *, ...));
+
+#define gmp_vasprintf __gmp_vasprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vasprintf __GMP_PROTO ((char **, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vfprintf __gmp_vfprintf
+#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vfprintf __GMP_PROTO ((FILE *, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vprintf __gmp_vprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vprintf __GMP_PROTO ((__gmp_const char *, va_list));
+#endif
+
+#define gmp_vsnprintf __gmp_vsnprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vsnprintf __GMP_PROTO ((char *, size_t, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vsprintf __gmp_vsprintf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vsprintf __GMP_PROTO ((char *, __gmp_const char *, va_list));
+#endif
+
+
+/**************** Formatted input routines. ****************/
+
+#define gmp_fscanf __gmp_fscanf
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC int gmp_fscanf __GMP_PROTO ((FILE *, __gmp_const char *, ...));
+#endif
+
+#define gmp_scanf __gmp_scanf
+__GMP_DECLSPEC int gmp_scanf __GMP_PROTO ((__gmp_const char *, ...));
+
+#define gmp_sscanf __gmp_sscanf
+__GMP_DECLSPEC int gmp_sscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, ...));
+
+#define gmp_vfscanf __gmp_vfscanf
+#if defined (_GMP_H_HAVE_FILE) && defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vfscanf __GMP_PROTO ((FILE *, __gmp_const char *, va_list));
+#endif
+
+#define gmp_vscanf __gmp_vscanf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vscanf __GMP_PROTO ((__gmp_const char *, va_list));
+#endif
+
+#define gmp_vsscanf __gmp_vsscanf
+#if defined (_GMP_H_HAVE_VA_LIST)
+__GMP_DECLSPEC int gmp_vsscanf __GMP_PROTO ((__gmp_const char *, __gmp_const char *, va_list));
+#endif
+
+
+/**************** Integer (i.e. Z) routines. ****************/
+
+#define _mpz_realloc __gmpz_realloc
+#define mpz_realloc __gmpz_realloc
+__GMP_DECLSPEC void *_mpz_realloc __GMP_PROTO ((mpz_ptr, mp_size_t));
+
+#define mpz_abs __gmpz_abs
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_abs)
+__GMP_DECLSPEC void mpz_abs __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+#endif
+
+#define mpz_add __gmpz_add
+__GMP_DECLSPEC void mpz_add __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_add_ui __gmpz_add_ui
+__GMP_DECLSPEC void mpz_add_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_addmul __gmpz_addmul
+__GMP_DECLSPEC void mpz_addmul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_addmul_ui __gmpz_addmul_ui
+__GMP_DECLSPEC void mpz_addmul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_and __gmpz_and
+__GMP_DECLSPEC void mpz_and __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_array_init __gmpz_array_init
+__GMP_DECLSPEC void mpz_array_init __GMP_PROTO ((mpz_ptr, mp_size_t, mp_size_t));
+
+#define mpz_bin_ui __gmpz_bin_ui
+__GMP_DECLSPEC void mpz_bin_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_bin_uiui __gmpz_bin_uiui
+__GMP_DECLSPEC void mpz_bin_uiui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int));
+
+#define mpz_cdiv_q __gmpz_cdiv_q
+__GMP_DECLSPEC void mpz_cdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_cdiv_q_2exp __gmpz_cdiv_q_2exp
+__GMP_DECLSPEC void mpz_cdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_cdiv_q_ui __gmpz_cdiv_q_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_cdiv_qr __gmpz_cdiv_qr
+__GMP_DECLSPEC void mpz_cdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_cdiv_qr_ui __gmpz_cdiv_qr_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_cdiv_r __gmpz_cdiv_r
+__GMP_DECLSPEC void mpz_cdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_cdiv_r_2exp __gmpz_cdiv_r_2exp
+__GMP_DECLSPEC void mpz_cdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_cdiv_r_ui __gmpz_cdiv_r_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_cdiv_ui __gmpz_cdiv_ui
+__GMP_DECLSPEC unsigned long int mpz_cdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_clear __gmpz_clear
+__GMP_DECLSPEC void mpz_clear __GMP_PROTO ((mpz_ptr));
+
+#define mpz_clears __gmpz_clears
+__GMP_DECLSPEC void mpz_clears __GMP_PROTO ((mpz_ptr, ...));
+
+#define mpz_clrbit __gmpz_clrbit
+__GMP_DECLSPEC void mpz_clrbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_cmp __gmpz_cmp
+__GMP_DECLSPEC int mpz_cmp __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmp_d __gmpz_cmp_d
+__GMP_DECLSPEC int mpz_cmp_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE;
+
+#define _mpz_cmp_si __gmpz_cmp_si
+__GMP_DECLSPEC int _mpz_cmp_si __GMP_PROTO ((mpz_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define _mpz_cmp_ui __gmpz_cmp_ui
+__GMP_DECLSPEC int _mpz_cmp_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmpabs __gmpz_cmpabs
+__GMP_DECLSPEC int mpz_cmpabs __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmpabs_d __gmpz_cmpabs_d
+__GMP_DECLSPEC int mpz_cmpabs_d __GMP_PROTO ((mpz_srcptr, double)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_cmpabs_ui __gmpz_cmpabs_ui
+__GMP_DECLSPEC int mpz_cmpabs_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_com __gmpz_com
+__GMP_DECLSPEC void mpz_com __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_combit __gmpz_combit
+__GMP_DECLSPEC void mpz_combit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_congruent_p __gmpz_congruent_p
+__GMP_DECLSPEC int mpz_congruent_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_congruent_2exp_p __gmpz_congruent_2exp_p
+__GMP_DECLSPEC int mpz_congruent_2exp_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_congruent_ui_p __gmpz_congruent_ui_p
+__GMP_DECLSPEC int mpz_congruent_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_divexact __gmpz_divexact
+__GMP_DECLSPEC void mpz_divexact __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_divexact_ui __gmpz_divexact_ui
+__GMP_DECLSPEC void mpz_divexact_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long));
+
+#define mpz_divisible_p __gmpz_divisible_p
+__GMP_DECLSPEC int mpz_divisible_p __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_divisible_ui_p __gmpz_divisible_ui_p
+__GMP_DECLSPEC int mpz_divisible_ui_p __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_divisible_2exp_p __gmpz_divisible_2exp_p
+__GMP_DECLSPEC int mpz_divisible_2exp_p __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_dump __gmpz_dump
+__GMP_DECLSPEC void mpz_dump __GMP_PROTO ((mpz_srcptr));
+
+#define mpz_export __gmpz_export
+__GMP_DECLSPEC void *mpz_export __GMP_PROTO ((void *, size_t *, int, size_t, int, size_t, mpz_srcptr));
+
+#define mpz_fac_ui __gmpz_fac_ui
+__GMP_DECLSPEC void mpz_fac_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_fdiv_q __gmpz_fdiv_q
+__GMP_DECLSPEC void mpz_fdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_fdiv_q_2exp __gmpz_fdiv_q_2exp
+__GMP_DECLSPEC void mpz_fdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_fdiv_q_ui __gmpz_fdiv_q_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_fdiv_qr __gmpz_fdiv_qr
+__GMP_DECLSPEC void mpz_fdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_fdiv_qr_ui __gmpz_fdiv_qr_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_fdiv_r __gmpz_fdiv_r
+__GMP_DECLSPEC void mpz_fdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_fdiv_r_2exp __gmpz_fdiv_r_2exp
+__GMP_DECLSPEC void mpz_fdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_fdiv_r_ui __gmpz_fdiv_r_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_fdiv_ui __gmpz_fdiv_ui
+__GMP_DECLSPEC unsigned long int mpz_fdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fib_ui __gmpz_fib_ui
+__GMP_DECLSPEC void mpz_fib_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_fib2_ui __gmpz_fib2_ui
+__GMP_DECLSPEC void mpz_fib2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int));
+
+#define mpz_fits_sint_p __gmpz_fits_sint_p
+__GMP_DECLSPEC int mpz_fits_sint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fits_slong_p __gmpz_fits_slong_p
+__GMP_DECLSPEC int mpz_fits_slong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fits_sshort_p __gmpz_fits_sshort_p
+__GMP_DECLSPEC int mpz_fits_sshort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_fits_uint_p __gmpz_fits_uint_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_uint_p)
+__GMP_DECLSPEC int mpz_fits_uint_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_fits_ulong_p __gmpz_fits_ulong_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ulong_p)
+__GMP_DECLSPEC int mpz_fits_ulong_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_fits_ushort_p __gmpz_fits_ushort_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_fits_ushort_p)
+__GMP_DECLSPEC int mpz_fits_ushort_p __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_gcd __gmpz_gcd
+__GMP_DECLSPEC void mpz_gcd __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_gcd_ui __gmpz_gcd_ui
+__GMP_DECLSPEC unsigned long int mpz_gcd_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_gcdext __gmpz_gcdext
+__GMP_DECLSPEC void mpz_gcdext __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_get_d __gmpz_get_d
+__GMP_DECLSPEC double mpz_get_d __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_get_d_2exp __gmpz_get_d_2exp
+__GMP_DECLSPEC double mpz_get_d_2exp __GMP_PROTO ((signed long int *, mpz_srcptr));
+
+#define mpz_get_si __gmpz_get_si
+__GMP_DECLSPEC /* signed */ long int mpz_get_si __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_get_str __gmpz_get_str
+__GMP_DECLSPEC char *mpz_get_str __GMP_PROTO ((char *, int, mpz_srcptr));
+
+#define mpz_get_ui __gmpz_get_ui
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_get_ui)
+__GMP_DECLSPEC unsigned long int mpz_get_ui __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_getlimbn __gmpz_getlimbn
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_getlimbn)
+__GMP_DECLSPEC mp_limb_t mpz_getlimbn __GMP_PROTO ((mpz_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_hamdist __gmpz_hamdist
+__GMP_DECLSPEC mp_bitcnt_t mpz_hamdist __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_import __gmpz_import
+__GMP_DECLSPEC void mpz_import __GMP_PROTO ((mpz_ptr, size_t, int, size_t, int, size_t, __gmp_const void *));
+
+#define mpz_init __gmpz_init
+__GMP_DECLSPEC void mpz_init __GMP_PROTO ((mpz_ptr));
+
+#define mpz_init2 __gmpz_init2
+__GMP_DECLSPEC void mpz_init2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_inits __gmpz_inits
+__GMP_DECLSPEC void mpz_inits __GMP_PROTO ((mpz_ptr, ...));
+
+#define mpz_init_set __gmpz_init_set
+__GMP_DECLSPEC void mpz_init_set __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_init_set_d __gmpz_init_set_d
+__GMP_DECLSPEC void mpz_init_set_d __GMP_PROTO ((mpz_ptr, double));
+
+#define mpz_init_set_si __gmpz_init_set_si
+__GMP_DECLSPEC void mpz_init_set_si __GMP_PROTO ((mpz_ptr, signed long int));
+
+#define mpz_init_set_str __gmpz_init_set_str
+__GMP_DECLSPEC int mpz_init_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int));
+
+#define mpz_init_set_ui __gmpz_init_set_ui
+__GMP_DECLSPEC void mpz_init_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_inp_raw __gmpz_inp_raw
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_inp_raw __GMP_PROTO ((mpz_ptr, FILE *));
+#endif
+
+#define mpz_inp_str __gmpz_inp_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_inp_str __GMP_PROTO ((mpz_ptr, FILE *, int));
+#endif
+
+#define mpz_invert __gmpz_invert
+__GMP_DECLSPEC int mpz_invert __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_ior __gmpz_ior
+__GMP_DECLSPEC void mpz_ior __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_jacobi __gmpz_jacobi
+__GMP_DECLSPEC int mpz_jacobi __GMP_PROTO ((mpz_srcptr, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_kronecker mpz_jacobi /* alias */
+
+#define mpz_kronecker_si __gmpz_kronecker_si
+__GMP_DECLSPEC int mpz_kronecker_si __GMP_PROTO ((mpz_srcptr, long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_kronecker_ui __gmpz_kronecker_ui
+__GMP_DECLSPEC int mpz_kronecker_ui __GMP_PROTO ((mpz_srcptr, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_si_kronecker __gmpz_si_kronecker
+__GMP_DECLSPEC int mpz_si_kronecker __GMP_PROTO ((long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_ui_kronecker __gmpz_ui_kronecker
+__GMP_DECLSPEC int mpz_ui_kronecker __GMP_PROTO ((unsigned long, mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_lcm __gmpz_lcm
+__GMP_DECLSPEC void mpz_lcm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_lcm_ui __gmpz_lcm_ui
+__GMP_DECLSPEC void mpz_lcm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long));
+
+#define mpz_legendre mpz_jacobi /* alias */
+
+#define mpz_lucnum_ui __gmpz_lucnum_ui
+__GMP_DECLSPEC void mpz_lucnum_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_lucnum2_ui __gmpz_lucnum2_ui
+__GMP_DECLSPEC void mpz_lucnum2_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, unsigned long int));
+
+#define mpz_millerrabin __gmpz_millerrabin
+__GMP_DECLSPEC int mpz_millerrabin __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_mod __gmpz_mod
+__GMP_DECLSPEC void mpz_mod __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_mod_ui mpz_fdiv_r_ui /* same as fdiv_r because divisor unsigned */
+
+#define mpz_mul __gmpz_mul
+__GMP_DECLSPEC void mpz_mul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_mul_2exp __gmpz_mul_2exp
+__GMP_DECLSPEC void mpz_mul_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_mul_si __gmpz_mul_si
+__GMP_DECLSPEC void mpz_mul_si __GMP_PROTO ((mpz_ptr, mpz_srcptr, long int));
+
+#define mpz_mul_ui __gmpz_mul_ui
+__GMP_DECLSPEC void mpz_mul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_neg __gmpz_neg
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_neg)
+__GMP_DECLSPEC void mpz_neg __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+#endif
+
+#define mpz_nextprime __gmpz_nextprime
+__GMP_DECLSPEC void mpz_nextprime __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_out_raw __gmpz_out_raw
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_out_raw __GMP_PROTO ((FILE *, mpz_srcptr));
+#endif
+
+#define mpz_out_str __gmpz_out_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpz_out_str __GMP_PROTO ((FILE *, int, mpz_srcptr));
+#endif
+
+#define mpz_perfect_power_p __gmpz_perfect_power_p
+__GMP_DECLSPEC int mpz_perfect_power_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_perfect_square_p __gmpz_perfect_square_p
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_perfect_square_p)
+__GMP_DECLSPEC int mpz_perfect_square_p __GMP_PROTO ((mpz_srcptr)) __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_popcount __gmpz_popcount
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_popcount)
+__GMP_DECLSPEC mp_bitcnt_t mpz_popcount __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_pow_ui __gmpz_pow_ui
+__GMP_DECLSPEC void mpz_pow_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_powm __gmpz_powm
+__GMP_DECLSPEC void mpz_powm __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_powm_sec __gmpz_powm_sec
+__GMP_DECLSPEC void mpz_powm_sec __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_powm_ui __gmpz_powm_ui
+__GMP_DECLSPEC void mpz_powm_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int, mpz_srcptr));
+
+#define mpz_probab_prime_p __gmpz_probab_prime_p
+__GMP_DECLSPEC int mpz_probab_prime_p __GMP_PROTO ((mpz_srcptr, int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_random __gmpz_random
+__GMP_DECLSPEC void mpz_random __GMP_PROTO ((mpz_ptr, mp_size_t));
+
+#define mpz_random2 __gmpz_random2
+__GMP_DECLSPEC void mpz_random2 __GMP_PROTO ((mpz_ptr, mp_size_t));
+
+#define mpz_realloc2 __gmpz_realloc2
+__GMP_DECLSPEC void mpz_realloc2 __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_remove __gmpz_remove
+__GMP_DECLSPEC mp_bitcnt_t mpz_remove __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_root __gmpz_root
+__GMP_DECLSPEC int mpz_root __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_rootrem __gmpz_rootrem
+__GMP_DECLSPEC void mpz_rootrem __GMP_PROTO ((mpz_ptr,mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_rrandomb __gmpz_rrandomb
+__GMP_DECLSPEC void mpz_rrandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t));
+
+#define mpz_scan0 __gmpz_scan0
+__GMP_DECLSPEC mp_bitcnt_t mpz_scan0 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_scan1 __gmpz_scan1
+__GMP_DECLSPEC mp_bitcnt_t mpz_scan1 __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_set __gmpz_set
+__GMP_DECLSPEC void mpz_set __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_set_d __gmpz_set_d
+__GMP_DECLSPEC void mpz_set_d __GMP_PROTO ((mpz_ptr, double));
+
+#define mpz_set_f __gmpz_set_f
+__GMP_DECLSPEC void mpz_set_f __GMP_PROTO ((mpz_ptr, mpf_srcptr));
+
+#define mpz_set_q __gmpz_set_q
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_set_q)
+__GMP_DECLSPEC void mpz_set_q __GMP_PROTO ((mpz_ptr, mpq_srcptr));
+#endif
+
+#define mpz_set_si __gmpz_set_si
+__GMP_DECLSPEC void mpz_set_si __GMP_PROTO ((mpz_ptr, signed long int));
+
+#define mpz_set_str __gmpz_set_str
+__GMP_DECLSPEC int mpz_set_str __GMP_PROTO ((mpz_ptr, __gmp_const char *, int));
+
+#define mpz_set_ui __gmpz_set_ui
+__GMP_DECLSPEC void mpz_set_ui __GMP_PROTO ((mpz_ptr, unsigned long int));
+
+#define mpz_setbit __gmpz_setbit
+__GMP_DECLSPEC void mpz_setbit __GMP_PROTO ((mpz_ptr, mp_bitcnt_t));
+
+#define mpz_size __gmpz_size
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpz_size)
+__GMP_DECLSPEC size_t mpz_size __GMP_PROTO ((mpz_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpz_sizeinbase __gmpz_sizeinbase
+__GMP_DECLSPEC size_t mpz_sizeinbase __GMP_PROTO ((mpz_srcptr, int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_sqrt __gmpz_sqrt
+__GMP_DECLSPEC void mpz_sqrt __GMP_PROTO ((mpz_ptr, mpz_srcptr));
+
+#define mpz_sqrtrem __gmpz_sqrtrem
+__GMP_DECLSPEC void mpz_sqrtrem __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr));
+
+#define mpz_sub __gmpz_sub
+__GMP_DECLSPEC void mpz_sub __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_sub_ui __gmpz_sub_ui
+__GMP_DECLSPEC void mpz_sub_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_ui_sub __gmpz_ui_sub
+__GMP_DECLSPEC void mpz_ui_sub __GMP_PROTO ((mpz_ptr, unsigned long int, mpz_srcptr));
+
+#define mpz_submul __gmpz_submul
+__GMP_DECLSPEC void mpz_submul __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_submul_ui __gmpz_submul_ui
+__GMP_DECLSPEC void mpz_submul_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_swap __gmpz_swap
+__GMP_DECLSPEC void mpz_swap __GMP_PROTO ((mpz_ptr, mpz_ptr)) __GMP_NOTHROW;
+
+#define mpz_tdiv_ui __gmpz_tdiv_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_ui __GMP_PROTO ((mpz_srcptr, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpz_tdiv_q __gmpz_tdiv_q
+__GMP_DECLSPEC void mpz_tdiv_q __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_tdiv_q_2exp __gmpz_tdiv_q_2exp
+__GMP_DECLSPEC void mpz_tdiv_q_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_tdiv_q_ui __gmpz_tdiv_q_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_q_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_tdiv_qr __gmpz_tdiv_qr
+__GMP_DECLSPEC void mpz_tdiv_qr __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_tdiv_qr_ui __gmpz_tdiv_qr_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_qr_ui __GMP_PROTO ((mpz_ptr, mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_tdiv_r __gmpz_tdiv_r
+__GMP_DECLSPEC void mpz_tdiv_r __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+#define mpz_tdiv_r_2exp __gmpz_tdiv_r_2exp
+__GMP_DECLSPEC void mpz_tdiv_r_2exp __GMP_PROTO ((mpz_ptr, mpz_srcptr, mp_bitcnt_t));
+
+#define mpz_tdiv_r_ui __gmpz_tdiv_r_ui
+__GMP_DECLSPEC unsigned long int mpz_tdiv_r_ui __GMP_PROTO ((mpz_ptr, mpz_srcptr, unsigned long int));
+
+#define mpz_tstbit __gmpz_tstbit
+__GMP_DECLSPEC int mpz_tstbit __GMP_PROTO ((mpz_srcptr, mp_bitcnt_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpz_ui_pow_ui __gmpz_ui_pow_ui
+__GMP_DECLSPEC void mpz_ui_pow_ui __GMP_PROTO ((mpz_ptr, unsigned long int, unsigned long int));
+
+#define mpz_urandomb __gmpz_urandomb
+__GMP_DECLSPEC void mpz_urandomb __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mp_bitcnt_t));
+
+#define mpz_urandomm __gmpz_urandomm
+__GMP_DECLSPEC void mpz_urandomm __GMP_PROTO ((mpz_ptr, gmp_randstate_t, mpz_srcptr));
+
+#define mpz_xor __gmpz_xor
+#define mpz_eor __gmpz_xor
+__GMP_DECLSPEC void mpz_xor __GMP_PROTO ((mpz_ptr, mpz_srcptr, mpz_srcptr));
+
+
+/**************** Rational (i.e. Q) routines. ****************/
+
+#define mpq_abs __gmpq_abs
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_abs)
+__GMP_DECLSPEC void mpq_abs __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+#endif
+
+#define mpq_add __gmpq_add
+__GMP_DECLSPEC void mpq_add __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_canonicalize __gmpq_canonicalize
+__GMP_DECLSPEC void mpq_canonicalize __GMP_PROTO ((mpq_ptr));
+
+#define mpq_clear __gmpq_clear
+__GMP_DECLSPEC void mpq_clear __GMP_PROTO ((mpq_ptr));
+
+#define mpq_clears __gmpq_clears
+__GMP_DECLSPEC void mpq_clears __GMP_PROTO ((mpq_ptr, ...));
+
+#define mpq_cmp __gmpq_cmp
+__GMP_DECLSPEC int mpq_cmp __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define _mpq_cmp_si __gmpq_cmp_si
+__GMP_DECLSPEC int _mpq_cmp_si __GMP_PROTO ((mpq_srcptr, long, unsigned long)) __GMP_ATTRIBUTE_PURE;
+
+#define _mpq_cmp_ui __gmpq_cmp_ui
+__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, unsigned long int, unsigned long int)) __GMP_ATTRIBUTE_PURE;
+
+#define mpq_div __gmpq_div
+__GMP_DECLSPEC void mpq_div __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_div_2exp __gmpq_div_2exp
+__GMP_DECLSPEC void mpq_div_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t));
+
+#define mpq_equal __gmpq_equal
+__GMP_DECLSPEC int mpq_equal __GMP_PROTO ((mpq_srcptr, mpq_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpq_get_num __gmpq_get_num
+__GMP_DECLSPEC void mpq_get_num __GMP_PROTO ((mpz_ptr, mpq_srcptr));
+
+#define mpq_get_den __gmpq_get_den
+__GMP_DECLSPEC void mpq_get_den __GMP_PROTO ((mpz_ptr, mpq_srcptr));
+
+#define mpq_get_d __gmpq_get_d
+__GMP_DECLSPEC double mpq_get_d __GMP_PROTO ((mpq_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpq_get_str __gmpq_get_str
+__GMP_DECLSPEC char *mpq_get_str __GMP_PROTO ((char *, int, mpq_srcptr));
+
+#define mpq_init __gmpq_init
+__GMP_DECLSPEC void mpq_init __GMP_PROTO ((mpq_ptr));
+
+#define mpq_inits __gmpq_inits
+__GMP_DECLSPEC void mpq_inits __GMP_PROTO ((mpq_ptr, ...));
+
+#define mpq_inp_str __gmpq_inp_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpq_inp_str __GMP_PROTO ((mpq_ptr, FILE *, int));
+#endif
+
+#define mpq_inv __gmpq_inv
+__GMP_DECLSPEC void mpq_inv __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+
+#define mpq_mul __gmpq_mul
+__GMP_DECLSPEC void mpq_mul __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_mul_2exp __gmpq_mul_2exp
+__GMP_DECLSPEC void mpq_mul_2exp __GMP_PROTO ((mpq_ptr, mpq_srcptr, mp_bitcnt_t));
+
+#define mpq_neg __gmpq_neg
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpq_neg)
+__GMP_DECLSPEC void mpq_neg __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+#endif
+
+#define mpq_out_str __gmpq_out_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpq_out_str __GMP_PROTO ((FILE *, int, mpq_srcptr));
+#endif
+
+#define mpq_set __gmpq_set
+__GMP_DECLSPEC void mpq_set __GMP_PROTO ((mpq_ptr, mpq_srcptr));
+
+#define mpq_set_d __gmpq_set_d
+__GMP_DECLSPEC void mpq_set_d __GMP_PROTO ((mpq_ptr, double));
+
+#define mpq_set_den __gmpq_set_den
+__GMP_DECLSPEC void mpq_set_den __GMP_PROTO ((mpq_ptr, mpz_srcptr));
+
+#define mpq_set_f __gmpq_set_f
+__GMP_DECLSPEC void mpq_set_f __GMP_PROTO ((mpq_ptr, mpf_srcptr));
+
+#define mpq_set_num __gmpq_set_num
+__GMP_DECLSPEC void mpq_set_num __GMP_PROTO ((mpq_ptr, mpz_srcptr));
+
+#define mpq_set_si __gmpq_set_si
+__GMP_DECLSPEC void mpq_set_si __GMP_PROTO ((mpq_ptr, signed long int, unsigned long int));
+
+#define mpq_set_str __gmpq_set_str
+__GMP_DECLSPEC int mpq_set_str __GMP_PROTO ((mpq_ptr, __gmp_const char *, int));
+
+#define mpq_set_ui __gmpq_set_ui
+__GMP_DECLSPEC void mpq_set_ui __GMP_PROTO ((mpq_ptr, unsigned long int, unsigned long int));
+
+#define mpq_set_z __gmpq_set_z
+__GMP_DECLSPEC void mpq_set_z __GMP_PROTO ((mpq_ptr, mpz_srcptr));
+
+#define mpq_sub __gmpq_sub
+__GMP_DECLSPEC void mpq_sub __GMP_PROTO ((mpq_ptr, mpq_srcptr, mpq_srcptr));
+
+#define mpq_swap __gmpq_swap
+__GMP_DECLSPEC void mpq_swap __GMP_PROTO ((mpq_ptr, mpq_ptr)) __GMP_NOTHROW;
+
+
+/**************** Float (i.e. F) routines. ****************/
+
+#define mpf_abs __gmpf_abs
+__GMP_DECLSPEC void mpf_abs __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_add __gmpf_add
+__GMP_DECLSPEC void mpf_add __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_add_ui __gmpf_add_ui
+__GMP_DECLSPEC void mpf_add_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+#define mpf_ceil __gmpf_ceil
+__GMP_DECLSPEC void mpf_ceil __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_clear __gmpf_clear
+__GMP_DECLSPEC void mpf_clear __GMP_PROTO ((mpf_ptr));
+
+#define mpf_clears __gmpf_clears
+__GMP_DECLSPEC void mpf_clears __GMP_PROTO ((mpf_ptr, ...));
+
+#define mpf_cmp __gmpf_cmp
+__GMP_DECLSPEC int mpf_cmp __GMP_PROTO ((mpf_srcptr, mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_cmp_d __gmpf_cmp_d
+__GMP_DECLSPEC int mpf_cmp_d __GMP_PROTO ((mpf_srcptr, double)) __GMP_ATTRIBUTE_PURE;
+
+#define mpf_cmp_si __gmpf_cmp_si
+__GMP_DECLSPEC int mpf_cmp_si __GMP_PROTO ((mpf_srcptr, signed long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_cmp_ui __gmpf_cmp_ui
+__GMP_DECLSPEC int mpf_cmp_ui __GMP_PROTO ((mpf_srcptr, unsigned long int)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_div __gmpf_div
+__GMP_DECLSPEC void mpf_div __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_div_2exp __gmpf_div_2exp
+__GMP_DECLSPEC void mpf_div_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t));
+
+#define mpf_div_ui __gmpf_div_ui
+__GMP_DECLSPEC void mpf_div_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_dump __gmpf_dump
+__GMP_DECLSPEC void mpf_dump __GMP_PROTO ((mpf_srcptr));
+
+#define mpf_eq __gmpf_eq
+__GMP_DECLSPEC int mpf_eq __GMP_PROTO ((mpf_srcptr, mpf_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_sint_p __gmpf_fits_sint_p
+__GMP_DECLSPEC int mpf_fits_sint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_slong_p __gmpf_fits_slong_p
+__GMP_DECLSPEC int mpf_fits_slong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_sshort_p __gmpf_fits_sshort_p
+__GMP_DECLSPEC int mpf_fits_sshort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_uint_p __gmpf_fits_uint_p
+__GMP_DECLSPEC int mpf_fits_uint_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_ulong_p __gmpf_fits_ulong_p
+__GMP_DECLSPEC int mpf_fits_ulong_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_fits_ushort_p __gmpf_fits_ushort_p
+__GMP_DECLSPEC int mpf_fits_ushort_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_floor __gmpf_floor
+__GMP_DECLSPEC void mpf_floor __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_get_d __gmpf_get_d
+__GMP_DECLSPEC double mpf_get_d __GMP_PROTO ((mpf_srcptr)) __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_d_2exp __gmpf_get_d_2exp
+__GMP_DECLSPEC double mpf_get_d_2exp __GMP_PROTO ((signed long int *, mpf_srcptr));
+
+#define mpf_get_default_prec __gmpf_get_default_prec
+__GMP_DECLSPEC mp_bitcnt_t mpf_get_default_prec __GMP_PROTO ((void)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_prec __gmpf_get_prec
+__GMP_DECLSPEC mp_bitcnt_t mpf_get_prec __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_si __gmpf_get_si
+__GMP_DECLSPEC long mpf_get_si __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_get_str __gmpf_get_str
+__GMP_DECLSPEC char *mpf_get_str __GMP_PROTO ((char *, mp_exp_t *, int, size_t, mpf_srcptr));
+
+#define mpf_get_ui __gmpf_get_ui
+__GMP_DECLSPEC unsigned long mpf_get_ui __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_init __gmpf_init
+__GMP_DECLSPEC void mpf_init __GMP_PROTO ((mpf_ptr));
+
+#define mpf_init2 __gmpf_init2
+__GMP_DECLSPEC void mpf_init2 __GMP_PROTO ((mpf_ptr, mp_bitcnt_t));
+
+#define mpf_inits __gmpf_inits
+__GMP_DECLSPEC void mpf_inits __GMP_PROTO ((mpf_ptr, ...));
+
+#define mpf_init_set __gmpf_init_set
+__GMP_DECLSPEC void mpf_init_set __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_init_set_d __gmpf_init_set_d
+__GMP_DECLSPEC void mpf_init_set_d __GMP_PROTO ((mpf_ptr, double));
+
+#define mpf_init_set_si __gmpf_init_set_si
+__GMP_DECLSPEC void mpf_init_set_si __GMP_PROTO ((mpf_ptr, signed long int));
+
+#define mpf_init_set_str __gmpf_init_set_str
+__GMP_DECLSPEC int mpf_init_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int));
+
+#define mpf_init_set_ui __gmpf_init_set_ui
+__GMP_DECLSPEC void mpf_init_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int));
+
+#define mpf_inp_str __gmpf_inp_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpf_inp_str __GMP_PROTO ((mpf_ptr, FILE *, int));
+#endif
+
+#define mpf_integer_p __gmpf_integer_p
+__GMP_DECLSPEC int mpf_integer_p __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_mul __gmpf_mul
+__GMP_DECLSPEC void mpf_mul __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_mul_2exp __gmpf_mul_2exp
+__GMP_DECLSPEC void mpf_mul_2exp __GMP_PROTO ((mpf_ptr, mpf_srcptr, mp_bitcnt_t));
+
+#define mpf_mul_ui __gmpf_mul_ui
+__GMP_DECLSPEC void mpf_mul_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_neg __gmpf_neg
+__GMP_DECLSPEC void mpf_neg __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_out_str __gmpf_out_str
+#ifdef _GMP_H_HAVE_FILE
+__GMP_DECLSPEC size_t mpf_out_str __GMP_PROTO ((FILE *, int, size_t, mpf_srcptr));
+#endif
+
+#define mpf_pow_ui __gmpf_pow_ui
+__GMP_DECLSPEC void mpf_pow_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_random2 __gmpf_random2
+__GMP_DECLSPEC void mpf_random2 __GMP_PROTO ((mpf_ptr, mp_size_t, mp_exp_t));
+
+#define mpf_reldiff __gmpf_reldiff
+__GMP_DECLSPEC void mpf_reldiff __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_set __gmpf_set
+__GMP_DECLSPEC void mpf_set __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_set_d __gmpf_set_d
+__GMP_DECLSPEC void mpf_set_d __GMP_PROTO ((mpf_ptr, double));
+
+#define mpf_set_default_prec __gmpf_set_default_prec
+__GMP_DECLSPEC void mpf_set_default_prec __GMP_PROTO ((mp_bitcnt_t)) __GMP_NOTHROW;
+
+#define mpf_set_prec __gmpf_set_prec
+__GMP_DECLSPEC void mpf_set_prec __GMP_PROTO ((mpf_ptr, mp_bitcnt_t));
+
+#define mpf_set_prec_raw __gmpf_set_prec_raw
+__GMP_DECLSPEC void mpf_set_prec_raw __GMP_PROTO ((mpf_ptr, mp_bitcnt_t)) __GMP_NOTHROW;
+
+#define mpf_set_q __gmpf_set_q
+__GMP_DECLSPEC void mpf_set_q __GMP_PROTO ((mpf_ptr, mpq_srcptr));
+
+#define mpf_set_si __gmpf_set_si
+__GMP_DECLSPEC void mpf_set_si __GMP_PROTO ((mpf_ptr, signed long int));
+
+#define mpf_set_str __gmpf_set_str
+__GMP_DECLSPEC int mpf_set_str __GMP_PROTO ((mpf_ptr, __gmp_const char *, int));
+
+#define mpf_set_ui __gmpf_set_ui
+__GMP_DECLSPEC void mpf_set_ui __GMP_PROTO ((mpf_ptr, unsigned long int));
+
+#define mpf_set_z __gmpf_set_z
+__GMP_DECLSPEC void mpf_set_z __GMP_PROTO ((mpf_ptr, mpz_srcptr));
+
+#define mpf_size __gmpf_size
+__GMP_DECLSPEC size_t mpf_size __GMP_PROTO ((mpf_srcptr)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpf_sqrt __gmpf_sqrt
+__GMP_DECLSPEC void mpf_sqrt __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_sqrt_ui __gmpf_sqrt_ui
+__GMP_DECLSPEC void mpf_sqrt_ui __GMP_PROTO ((mpf_ptr, unsigned long int));
+
+#define mpf_sub __gmpf_sub
+__GMP_DECLSPEC void mpf_sub __GMP_PROTO ((mpf_ptr, mpf_srcptr, mpf_srcptr));
+
+#define mpf_sub_ui __gmpf_sub_ui
+__GMP_DECLSPEC void mpf_sub_ui __GMP_PROTO ((mpf_ptr, mpf_srcptr, unsigned long int));
+
+#define mpf_swap __gmpf_swap
+__GMP_DECLSPEC void mpf_swap __GMP_PROTO ((mpf_ptr, mpf_ptr)) __GMP_NOTHROW;
+
+#define mpf_trunc __gmpf_trunc
+__GMP_DECLSPEC void mpf_trunc __GMP_PROTO ((mpf_ptr, mpf_srcptr));
+
+#define mpf_ui_div __gmpf_ui_div
+__GMP_DECLSPEC void mpf_ui_div __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr));
+
+#define mpf_ui_sub __gmpf_ui_sub
+__GMP_DECLSPEC void mpf_ui_sub __GMP_PROTO ((mpf_ptr, unsigned long int, mpf_srcptr));
+
+#define mpf_urandomb __gmpf_urandomb
+__GMP_DECLSPEC void mpf_urandomb __GMP_PROTO ((mpf_t, gmp_randstate_t, mp_bitcnt_t));
+
+
+/************ Low level positive-integer (i.e. N) routines. ************/
+
+/* This is ugly, but we need to make user calls reach the prefixed function. */
+
+#define mpn_add __MPN(add)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add)
+__GMP_DECLSPEC mp_limb_t mpn_add __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t));
+#endif
+
+#define mpn_add_1 __MPN(add_1)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_add_1)
+__GMP_DECLSPEC mp_limb_t mpn_add_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW;
+#endif
+
+#define mpn_add_n __MPN(add_n)
+__GMP_DECLSPEC mp_limb_t mpn_add_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_addmul_1 __MPN(addmul_1)
+__GMP_DECLSPEC mp_limb_t mpn_addmul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_cmp __MPN(cmp)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_cmp)
+__GMP_DECLSPEC int mpn_cmp __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+#endif
+
+#define mpn_divexact_by3(dst,src,size) \
+ mpn_divexact_by3c (dst, src, size, __GMP_CAST (mp_limb_t, 0))
+
+#define mpn_divexact_by3c __MPN(divexact_by3c)
+__GMP_DECLSPEC mp_limb_t mpn_divexact_by3c __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_divmod_1(qp,np,nsize,dlimb) \
+ mpn_divrem_1 (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dlimb)
+
+#define mpn_divrem __MPN(divrem)
+__GMP_DECLSPEC mp_limb_t mpn_divrem __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr, mp_size_t));
+
+#define mpn_divrem_1 __MPN(divrem_1)
+__GMP_DECLSPEC mp_limb_t mpn_divrem_1 __GMP_PROTO ((mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_divrem_2 __MPN(divrem_2)
+__GMP_DECLSPEC mp_limb_t mpn_divrem_2 __GMP_PROTO ((mp_ptr, mp_size_t, mp_ptr, mp_size_t, mp_srcptr));
+
+#define mpn_gcd __MPN(gcd)
+__GMP_DECLSPEC mp_size_t mpn_gcd __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_ptr, mp_size_t));
+
+#define mpn_gcd_1 __MPN(gcd_1)
+__GMP_DECLSPEC mp_limb_t mpn_gcd_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_gcdext_1 __MPN(gcdext_1)
+__GMP_DECLSPEC mp_limb_t mpn_gcdext_1 __GMP_PROTO ((mp_limb_signed_t *, mp_limb_signed_t *, mp_limb_t, mp_limb_t));
+
+#define mpn_gcdext __MPN(gcdext)
+__GMP_DECLSPEC mp_size_t mpn_gcdext __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t *, mp_ptr, mp_size_t, mp_ptr, mp_size_t));
+
+#define mpn_get_str __MPN(get_str)
+__GMP_DECLSPEC size_t mpn_get_str __GMP_PROTO ((unsigned char *, int, mp_ptr, mp_size_t));
+
+#define mpn_hamdist __MPN(hamdist)
+__GMP_DECLSPEC mp_bitcnt_t mpn_hamdist __GMP_PROTO ((mp_srcptr, mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpn_lshift __MPN(lshift)
+__GMP_DECLSPEC mp_limb_t mpn_lshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));
+
+#define mpn_mod_1 __MPN(mod_1)
+__GMP_DECLSPEC mp_limb_t mpn_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_mul __MPN(mul)
+__GMP_DECLSPEC mp_limb_t mpn_mul __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t));
+
+#define mpn_mul_1 __MPN(mul_1)
+__GMP_DECLSPEC mp_limb_t mpn_mul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_mul_n __MPN(mul_n)
+__GMP_DECLSPEC void mpn_mul_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_sqr __MPN(sqr)
+__GMP_DECLSPEC void mpn_sqr __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+
+#define mpn_neg __MPN(neg)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_neg)
+__GMP_DECLSPEC mp_limb_t mpn_neg __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#endif
+
+#define mpn_com __MPN(com)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_com)
+__GMP_DECLSPEC void mpn_com __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#endif
+
+#define mpn_perfect_square_p __MPN(perfect_square_p)
+__GMP_DECLSPEC int mpn_perfect_square_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_perfect_power_p __MPN(perfect_power_p)
+__GMP_DECLSPEC int mpn_perfect_power_p __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_popcount __MPN(popcount)
+__GMP_DECLSPEC mp_bitcnt_t mpn_popcount __GMP_PROTO ((mp_srcptr, mp_size_t)) __GMP_NOTHROW __GMP_ATTRIBUTE_PURE;
+
+#define mpn_pow_1 __MPN(pow_1)
+__GMP_DECLSPEC mp_size_t mpn_pow_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t, mp_ptr));
+
+/* undocumented now, but retained here for upward compatibility */
+#define mpn_preinv_mod_1 __MPN(preinv_mod_1)
+__GMP_DECLSPEC mp_limb_t mpn_preinv_mod_1 __GMP_PROTO ((mp_srcptr, mp_size_t, mp_limb_t, mp_limb_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_random __MPN(random)
+__GMP_DECLSPEC void mpn_random __GMP_PROTO ((mp_ptr, mp_size_t));
+
+#define mpn_random2 __MPN(random2)
+__GMP_DECLSPEC void mpn_random2 __GMP_PROTO ((mp_ptr, mp_size_t));
+
+#define mpn_rshift __MPN(rshift)
+__GMP_DECLSPEC mp_limb_t mpn_rshift __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, unsigned int));
+
+#define mpn_scan0 __MPN(scan0)
+__GMP_DECLSPEC mp_bitcnt_t mpn_scan0 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_scan1 __MPN(scan1)
+__GMP_DECLSPEC mp_bitcnt_t mpn_scan1 __GMP_PROTO ((mp_srcptr, mp_bitcnt_t)) __GMP_ATTRIBUTE_PURE;
+
+#define mpn_set_str __MPN(set_str)
+__GMP_DECLSPEC mp_size_t mpn_set_str __GMP_PROTO ((mp_ptr, __gmp_const unsigned char *, size_t, int));
+
+#define mpn_sqrtrem __MPN(sqrtrem)
+__GMP_DECLSPEC mp_size_t mpn_sqrtrem __GMP_PROTO ((mp_ptr, mp_ptr, mp_srcptr, mp_size_t));
+
+#define mpn_sub __MPN(sub)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub)
+__GMP_DECLSPEC mp_limb_t mpn_sub __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_srcptr,mp_size_t));
+#endif
+
+#define mpn_sub_1 __MPN(sub_1)
+#if __GMP_INLINE_PROTOTYPES || defined (__GMP_FORCE_mpn_sub_1)
+__GMP_DECLSPEC mp_limb_t mpn_sub_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)) __GMP_NOTHROW;
+#endif
+
+#define mpn_sub_n __MPN(sub_n)
+__GMP_DECLSPEC mp_limb_t mpn_sub_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_submul_1 __MPN(submul_1)
+__GMP_DECLSPEC mp_limb_t mpn_submul_1 __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t, mp_limb_t));
+
+#define mpn_tdiv_qr __MPN(tdiv_qr)
+__GMP_DECLSPEC void mpn_tdiv_qr __GMP_PROTO ((mp_ptr, mp_ptr, mp_size_t, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t));
+
+#define mpn_and_n __MPN(and_n)
+__GMP_DECLSPEC void mpn_and_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_andn_n __MPN(andn_n)
+__GMP_DECLSPEC void mpn_andn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_nand_n __MPN(nand_n)
+__GMP_DECLSPEC void mpn_nand_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_ior_n __MPN(ior_n)
+__GMP_DECLSPEC void mpn_ior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_iorn_n __MPN(iorn_n)
+__GMP_DECLSPEC void mpn_iorn_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_nior_n __MPN(nior_n)
+__GMP_DECLSPEC void mpn_nior_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_xor_n __MPN(xor_n)
+__GMP_DECLSPEC void mpn_xor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+#define mpn_xnor_n __MPN(xnor_n)
+__GMP_DECLSPEC void mpn_xnor_n __GMP_PROTO ((mp_ptr, mp_srcptr, mp_srcptr, mp_size_t));
+
+#define mpn_copyi __MPN(copyi)
+__GMP_DECLSPEC void mpn_copyi __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#define mpn_copyd __MPN(copyd)
+__GMP_DECLSPEC void mpn_copyd __GMP_PROTO ((mp_ptr, mp_srcptr, mp_size_t));
+#define mpn_zero __MPN(zero)
+__GMP_DECLSPEC void mpn_zero __GMP_PROTO ((mp_ptr, mp_size_t));
+
+/**************** mpz inlines ****************/
+
+/* The following are provided as inlines where possible, but always exist as
+ library functions too, for binary compatibility.
+
+ Within gmp itself this inlining generally isn't relied on, since it
+ doesn't get done for all compilers, whereas if something is worth
+ inlining then it's worth arranging always.
+
+ There are two styles of inlining here. When the same bit of code is
+ wanted for the inline as for the library version, then __GMP_FORCE_foo
+ arranges for that code to be emitted and the __GMP_EXTERN_INLINE
+ directive suppressed, eg. mpz_fits_uint_p. When a different bit of code
+ is wanted for the inline than for the library version, then
+ __GMP_FORCE_foo arranges the inline to be suppressed, eg. mpz_abs. */
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_abs)
+__GMP_EXTERN_INLINE void
+mpz_abs (mpz_ptr __gmp_w, mpz_srcptr __gmp_u)
+{
+ if (__gmp_w != __gmp_u)
+ mpz_set (__gmp_w, __gmp_u);
+ __gmp_w->_mp_size = __GMP_ABS (__gmp_w->_mp_size);
+}
+#endif
+
+#if GMP_NAIL_BITS == 0
+#define __GMPZ_FITS_UTYPE_P(z,maxval) \
+ mp_size_t __gmp_n = z->_mp_size; \
+ mp_ptr __gmp_p = z->_mp_d; \
+ return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval));
+#else
+#define __GMPZ_FITS_UTYPE_P(z,maxval) \
+ mp_size_t __gmp_n = z->_mp_size; \
+ mp_ptr __gmp_p = z->_mp_d; \
+ return (__gmp_n == 0 || (__gmp_n == 1 && __gmp_p[0] <= maxval) \
+ || (__gmp_n == 2 && __gmp_p[1] <= ((mp_limb_t) maxval >> GMP_NUMB_BITS)));
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_uint_p)
+#if ! defined (__GMP_FORCE_mpz_fits_uint_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_fits_uint_p (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+ __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_UINT_MAX);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ulong_p)
+#if ! defined (__GMP_FORCE_mpz_fits_ulong_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_fits_ulong_p (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+ __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_ULONG_MAX);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_fits_ushort_p)
+#if ! defined (__GMP_FORCE_mpz_fits_ushort_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_fits_ushort_p (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+ __GMPZ_FITS_UTYPE_P (__gmp_z, __GMP_USHRT_MAX);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_get_ui)
+#if ! defined (__GMP_FORCE_mpz_get_ui)
+__GMP_EXTERN_INLINE
+#endif
+unsigned long
+mpz_get_ui (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+ mp_ptr __gmp_p = __gmp_z->_mp_d;
+ mp_size_t __gmp_n = __gmp_z->_mp_size;
+ mp_limb_t __gmp_l = __gmp_p[0];
+ /* This is a "#if" rather than a plain "if" so as to avoid gcc warnings
+ about "<< GMP_NUMB_BITS" exceeding the type size, and to avoid Borland
+ C++ 6.0 warnings about condition always true for something like
+ "__GMP_ULONG_MAX < GMP_NUMB_MASK". */
+#if GMP_NAIL_BITS == 0 || defined (_LONG_LONG_LIMB)
+ /* limb==long and no nails, or limb==longlong, one limb is enough */
+ return (__gmp_n != 0 ? __gmp_l : 0);
+#else
+ /* limb==long and nails, need two limbs when available */
+ __gmp_n = __GMP_ABS (__gmp_n);
+ if (__gmp_n <= 1)
+ return (__gmp_n != 0 ? __gmp_l : 0);
+ else
+ return __gmp_l + (__gmp_p[1] << GMP_NUMB_BITS);
+#endif
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_getlimbn)
+#if ! defined (__GMP_FORCE_mpz_getlimbn)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpz_getlimbn (mpz_srcptr __gmp_z, mp_size_t __gmp_n) __GMP_NOTHROW
+{
+ mp_limb_t __gmp_result = 0;
+ if (__GMP_LIKELY (__gmp_n >= 0 && __gmp_n < __GMP_ABS (__gmp_z->_mp_size)))
+ __gmp_result = __gmp_z->_mp_d[__gmp_n];
+ return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpz_neg)
+__GMP_EXTERN_INLINE void
+mpz_neg (mpz_ptr __gmp_w, mpz_srcptr __gmp_u)
+{
+ if (__gmp_w != __gmp_u)
+ mpz_set (__gmp_w, __gmp_u);
+ __gmp_w->_mp_size = - __gmp_w->_mp_size;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_perfect_square_p)
+#if ! defined (__GMP_FORCE_mpz_perfect_square_p)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpz_perfect_square_p (mpz_srcptr __gmp_a)
+{
+ mp_size_t __gmp_asize;
+ int __gmp_result;
+
+ __gmp_asize = __gmp_a->_mp_size;
+ __gmp_result = (__gmp_asize >= 0); /* zero is a square, negatives are not */
+ if (__GMP_LIKELY (__gmp_asize > 0))
+ __gmp_result = mpn_perfect_square_p (__gmp_a->_mp_d, __gmp_asize);
+ return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_popcount)
+#if ! defined (__GMP_FORCE_mpz_popcount)
+__GMP_EXTERN_INLINE
+#endif
+mp_bitcnt_t
+mpz_popcount (mpz_srcptr __gmp_u) __GMP_NOTHROW
+{
+ mp_size_t __gmp_usize;
+ mp_bitcnt_t __gmp_result;
+
+ __gmp_usize = __gmp_u->_mp_size;
+ __gmp_result = (__gmp_usize < 0 ? __GMP_ULONG_MAX : 0);
+ if (__GMP_LIKELY (__gmp_usize > 0))
+ __gmp_result = mpn_popcount (__gmp_u->_mp_d, __gmp_usize);
+ return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_set_q)
+#if ! defined (__GMP_FORCE_mpz_set_q)
+__GMP_EXTERN_INLINE
+#endif
+void
+mpz_set_q (mpz_ptr __gmp_w, mpq_srcptr __gmp_u)
+{
+ mpz_tdiv_q (__gmp_w, mpq_numref (__gmp_u), mpq_denref (__gmp_u));
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpz_size)
+#if ! defined (__GMP_FORCE_mpz_size)
+__GMP_EXTERN_INLINE
+#endif
+size_t
+mpz_size (mpz_srcptr __gmp_z) __GMP_NOTHROW
+{
+ return __GMP_ABS (__gmp_z->_mp_size);
+}
+#endif
+
+
+/**************** mpq inlines ****************/
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_abs)
+__GMP_EXTERN_INLINE void
+mpq_abs (mpq_ptr __gmp_w, mpq_srcptr __gmp_u)
+{
+ if (__gmp_w != __gmp_u)
+ mpq_set (__gmp_w, __gmp_u);
+ __gmp_w->_mp_num._mp_size = __GMP_ABS (__gmp_w->_mp_num._mp_size);
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) && ! defined (__GMP_FORCE_mpq_neg)
+__GMP_EXTERN_INLINE void
+mpq_neg (mpq_ptr __gmp_w, mpq_srcptr __gmp_u)
+{
+ if (__gmp_w != __gmp_u)
+ mpq_set (__gmp_w, __gmp_u);
+ __gmp_w->_mp_num._mp_size = - __gmp_w->_mp_num._mp_size;
+}
+#endif
+
+
+/**************** mpn inlines ****************/
+
+/* The comments with __GMPN_ADD_1 below apply here too.
+
+ The test for FUNCTION returning 0 should predict well. If it's assumed
+ {yp,ysize} will usually have a random number of bits then the high limb
+ won't be full and a carry out will occur a good deal less than 50% of the
+ time.
+
+ ysize==0 isn't a documented feature, but is used internally in a few
+ places.
+
+ Producing cout last stops it using up a register during the main part of
+ the calculation, though gcc (as of 3.0) on an "if (mpn_add (...))"
+ doesn't seem able to move the true and false legs of the conditional up
+ to the two places cout is generated. */
+
+#define __GMPN_AORS(cout, wp, xp, xsize, yp, ysize, FUNCTION, TEST) \
+ do { \
+ mp_size_t __gmp_i; \
+ mp_limb_t __gmp_x; \
+ \
+ /* ASSERT ((ysize) >= 0); */ \
+ /* ASSERT ((xsize) >= (ysize)); */ \
+ /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, xp, xsize)); */ \
+ /* ASSERT (MPN_SAME_OR_SEPARATE2_P (wp, xsize, yp, ysize)); */ \
+ \
+ __gmp_i = (ysize); \
+ if (__gmp_i != 0) \
+ { \
+ if (FUNCTION (wp, xp, yp, __gmp_i)) \
+ { \
+ do \
+ { \
+ if (__gmp_i >= (xsize)) \
+ { \
+ (cout) = 1; \
+ goto __gmp_done; \
+ } \
+ __gmp_x = (xp)[__gmp_i]; \
+ } \
+ while (TEST); \
+ } \
+ } \
+ if ((wp) != (xp)) \
+ __GMPN_COPY_REST (wp, xp, xsize, __gmp_i); \
+ (cout) = 0; \
+ __gmp_done: \
+ ; \
+ } while (0)
+
+#define __GMPN_ADD(cout, wp, xp, xsize, yp, ysize) \
+ __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_add_n, \
+ (((wp)[__gmp_i++] = (__gmp_x + 1) & GMP_NUMB_MASK) == 0))
+#define __GMPN_SUB(cout, wp, xp, xsize, yp, ysize) \
+ __GMPN_AORS (cout, wp, xp, xsize, yp, ysize, mpn_sub_n, \
+ (((wp)[__gmp_i++] = (__gmp_x - 1) & GMP_NUMB_MASK), __gmp_x == 0))
+
+
+/* The use of __gmp_i indexing is designed to ensure a compile time src==dst
+ remains nice and clear to the compiler, so that __GMPN_COPY_REST can
+ disappear, and the load/add/store gets a chance to become a
+ read-modify-write on CISC CPUs.
+
+ Alternatives:
+
+ Using a pair of pointers instead of indexing would be possible, but gcc
+ isn't able to recognise compile-time src==dst in that case, even when the
+ pointers are incremented more or less together. Other compilers would
+ very likely have similar difficulty.
+
+ gcc could use "if (__builtin_constant_p(src==dst) && src==dst)" or
+ similar to detect a compile-time src==dst. This works nicely on gcc
+ 2.95.x, it's not good on gcc 3.0 where __builtin_constant_p(p==p) seems
+ to be always false, for a pointer p. But the current code form seems
+ good enough for src==dst anyway.
+
+ gcc on x86 as usual doesn't give particularly good flags handling for the
+ carry/borrow detection. It's tempting to want some multi instruction asm
+ blocks to help it, and this was tried, but in truth there's only a few
+ instructions to save and any gain is all too easily lost by register
+ juggling setting up for the asm. */
+
+#if GMP_NAIL_BITS == 0
+#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \
+ do { \
+ mp_size_t __gmp_i; \
+ mp_limb_t __gmp_x, __gmp_r; \
+ \
+ /* ASSERT ((n) >= 1); */ \
+ /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \
+ \
+ __gmp_x = (src)[0]; \
+ __gmp_r = __gmp_x OP (v); \
+ (dst)[0] = __gmp_r; \
+ if (CB (__gmp_r, __gmp_x, (v))) \
+ { \
+ (cout) = 1; \
+ for (__gmp_i = 1; __gmp_i < (n);) \
+ { \
+ __gmp_x = (src)[__gmp_i]; \
+ __gmp_r = __gmp_x OP 1; \
+ (dst)[__gmp_i] = __gmp_r; \
+ ++__gmp_i; \
+ if (!CB (__gmp_r, __gmp_x, 1)) \
+ { \
+ if ((src) != (dst)) \
+ __GMPN_COPY_REST (dst, src, n, __gmp_i); \
+ (cout) = 0; \
+ break; \
+ } \
+ } \
+ } \
+ else \
+ { \
+ if ((src) != (dst)) \
+ __GMPN_COPY_REST (dst, src, n, 1); \
+ (cout) = 0; \
+ } \
+ } while (0)
+#endif
+
+#if GMP_NAIL_BITS >= 1
+#define __GMPN_AORS_1(cout, dst, src, n, v, OP, CB) \
+ do { \
+ mp_size_t __gmp_i; \
+ mp_limb_t __gmp_x, __gmp_r; \
+ \
+ /* ASSERT ((n) >= 1); */ \
+ /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, n)); */ \
+ \
+ __gmp_x = (src)[0]; \
+ __gmp_r = __gmp_x OP (v); \
+ (dst)[0] = __gmp_r & GMP_NUMB_MASK; \
+ if (__gmp_r >> GMP_NUMB_BITS != 0) \
+ { \
+ (cout) = 1; \
+ for (__gmp_i = 1; __gmp_i < (n);) \
+ { \
+ __gmp_x = (src)[__gmp_i]; \
+ __gmp_r = __gmp_x OP 1; \
+ (dst)[__gmp_i] = __gmp_r & GMP_NUMB_MASK; \
+ ++__gmp_i; \
+ if (__gmp_r >> GMP_NUMB_BITS == 0) \
+ { \
+ if ((src) != (dst)) \
+ __GMPN_COPY_REST (dst, src, n, __gmp_i); \
+ (cout) = 0; \
+ break; \
+ } \
+ } \
+ } \
+ else \
+ { \
+ if ((src) != (dst)) \
+ __GMPN_COPY_REST (dst, src, n, 1); \
+ (cout) = 0; \
+ } \
+ } while (0)
+#endif
+
+#define __GMPN_ADDCB(r,x,y) ((r) < (y))
+#define __GMPN_SUBCB(r,x,y) ((x) < (y))
+
+#define __GMPN_ADD_1(cout, dst, src, n, v) \
+ __GMPN_AORS_1(cout, dst, src, n, v, +, __GMPN_ADDCB)
+#define __GMPN_SUB_1(cout, dst, src, n, v) \
+ __GMPN_AORS_1(cout, dst, src, n, v, -, __GMPN_SUBCB)
+
+
+/* Compare {xp,size} and {yp,size}, setting "result" to positive, zero or
+ negative. size==0 is allowed. On random data usually only one limb will
+ need to be examined to get a result, so it's worth having it inline. */
+#define __GMPN_CMP(result, xp, yp, size) \
+ do { \
+ mp_size_t __gmp_i; \
+ mp_limb_t __gmp_x, __gmp_y; \
+ \
+ /* ASSERT ((size) >= 0); */ \
+ \
+ (result) = 0; \
+ __gmp_i = (size); \
+ while (--__gmp_i >= 0) \
+ { \
+ __gmp_x = (xp)[__gmp_i]; \
+ __gmp_y = (yp)[__gmp_i]; \
+ if (__gmp_x != __gmp_y) \
+ { \
+ /* Cannot use __gmp_x - __gmp_y, may overflow an "int" */ \
+ (result) = (__gmp_x > __gmp_y ? 1 : -1); \
+ break; \
+ } \
+ } \
+ } while (0)
+
+
+#if defined (__GMPN_COPY) && ! defined (__GMPN_COPY_REST)
+#define __GMPN_COPY_REST(dst, src, size, start) \
+ do { \
+ /* ASSERT ((start) >= 0); */ \
+ /* ASSERT ((start) <= (size)); */ \
+ __GMPN_COPY ((dst)+(start), (src)+(start), (size)-(start)); \
+ } while (0)
+#endif
+
+/* Copy {src,size} to {dst,size}, starting at "start". This is designed to
+ keep the indexing dst[j] and src[j] nice and simple for __GMPN_ADD_1,
+ __GMPN_ADD, etc. */
+#if ! defined (__GMPN_COPY_REST)
+#define __GMPN_COPY_REST(dst, src, size, start) \
+ do { \
+ mp_size_t __gmp_j; \
+ /* ASSERT ((size) >= 0); */ \
+ /* ASSERT ((start) >= 0); */ \
+ /* ASSERT ((start) <= (size)); */ \
+ /* ASSERT (MPN_SAME_OR_SEPARATE_P (dst, src, size)); */ \
+ __GMP_CRAY_Pragma ("_CRI ivdep"); \
+ for (__gmp_j = (start); __gmp_j < (size); __gmp_j++) \
+ (dst)[__gmp_j] = (src)[__gmp_j]; \
+ } while (0)
+#endif
+
+/* Enhancement: Use some of the smarter code from gmp-impl.h. Maybe use
+ mpn_copyi if there's a native version, and if we don't mind demanding
+ binary compatibility for it (on targets which use it). */
+
+#if ! defined (__GMPN_COPY)
+#define __GMPN_COPY(dst, src, size) __GMPN_COPY_REST (dst, src, size, 0)
+#endif
+
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add)
+#if ! defined (__GMP_FORCE_mpn_add)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_add (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize)
+{
+ mp_limb_t __gmp_c;
+ __GMPN_ADD (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize);
+ return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_add_1)
+#if ! defined (__GMP_FORCE_mpn_add_1)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_add_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW
+{
+ mp_limb_t __gmp_c;
+ __GMPN_ADD_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n);
+ return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_cmp)
+#if ! defined (__GMP_FORCE_mpn_cmp)
+__GMP_EXTERN_INLINE
+#endif
+int
+mpn_cmp (mp_srcptr __gmp_xp, mp_srcptr __gmp_yp, mp_size_t __gmp_size) __GMP_NOTHROW
+{
+ int __gmp_result;
+ __GMPN_CMP (__gmp_result, __gmp_xp, __gmp_yp, __gmp_size);
+ return __gmp_result;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub)
+#if ! defined (__GMP_FORCE_mpn_sub)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_sub (mp_ptr __gmp_wp, mp_srcptr __gmp_xp, mp_size_t __gmp_xsize, mp_srcptr __gmp_yp, mp_size_t __gmp_ysize)
+{
+ mp_limb_t __gmp_c;
+ __GMPN_SUB (__gmp_c, __gmp_wp, __gmp_xp, __gmp_xsize, __gmp_yp, __gmp_ysize);
+ return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_sub_1)
+#if ! defined (__GMP_FORCE_mpn_sub_1)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_sub_1 (mp_ptr __gmp_dst, mp_srcptr __gmp_src, mp_size_t __gmp_size, mp_limb_t __gmp_n) __GMP_NOTHROW
+{
+ mp_limb_t __gmp_c;
+ __GMPN_SUB_1 (__gmp_c, __gmp_dst, __gmp_src, __gmp_size, __gmp_n);
+ return __gmp_c;
+}
+#endif
+
+#if defined (__GMP_EXTERN_INLINE) || defined (__GMP_FORCE_mpn_neg)
+#if ! defined (__GMP_FORCE_mpn_neg)
+__GMP_EXTERN_INLINE
+#endif
+mp_limb_t
+mpn_neg (mp_ptr __gmp_rp, mp_srcptr __gmp_up, mp_size_t __gmp_n)
+{
+ mp_limb_t __gmp_ul, __gmp_cy;
+ __gmp_cy = 0;
+ do {
+ __gmp_ul = *__gmp_up++;
+ *__gmp_rp++ = -__gmp_ul - __gmp_cy;
+ __gmp_cy |= __gmp_ul != 0;
+ } while (--__gmp_n != 0);
+ return __gmp_cy;
+}
+#endif
+
+#if defined (__cplusplus)
+}
+#endif
+
+
+/* Allow faster testing for negative, zero, and positive. */
+#define mpz_sgn(Z) ((Z)->_mp_size < 0 ? -1 : (Z)->_mp_size > 0)
+#define mpf_sgn(F) ((F)->_mp_size < 0 ? -1 : (F)->_mp_size > 0)
+#define mpq_sgn(Q) ((Q)->_mp_num._mp_size < 0 ? -1 : (Q)->_mp_num._mp_size > 0)
+
+/* When using GCC, optimize certain common comparisons. */
+#if defined (__GNUC__) && __GNUC__ >= 2
+#define mpz_cmp_ui(Z,UI) \
+ (__builtin_constant_p (UI) && (UI) == 0 \
+ ? mpz_sgn (Z) : _mpz_cmp_ui (Z,UI))
+#define mpz_cmp_si(Z,SI) \
+ (__builtin_constant_p (SI) && (SI) == 0 ? mpz_sgn (Z) \
+ : __builtin_constant_p (SI) && (SI) > 0 \
+ ? _mpz_cmp_ui (Z, __GMP_CAST (unsigned long int, SI)) \
+ : _mpz_cmp_si (Z,SI))
+#define mpq_cmp_ui(Q,NUI,DUI) \
+ (__builtin_constant_p (NUI) && (NUI) == 0 \
+ ? mpq_sgn (Q) : _mpq_cmp_ui (Q,NUI,DUI))
+#define mpq_cmp_si(q,n,d) \
+ (__builtin_constant_p ((n) >= 0) && (n) >= 0 \
+ ? mpq_cmp_ui (q, __GMP_CAST (unsigned long, n), d) \
+ : _mpq_cmp_si (q, n, d))
+#else
+#define mpz_cmp_ui(Z,UI) _mpz_cmp_ui (Z,UI)
+#define mpz_cmp_si(Z,UI) _mpz_cmp_si (Z,UI)
+#define mpq_cmp_ui(Q,NUI,DUI) _mpq_cmp_ui (Q,NUI,DUI)
+#define mpq_cmp_si(q,n,d) _mpq_cmp_si(q,n,d)
+#endif
+
+
+/* Using "&" rather than "&&" means these can come out branch-free. Every
+ mpz_t has at least one limb allocated, so fetching the low limb is always
+ allowed. */
+#define mpz_odd_p(z) (((z)->_mp_size != 0) & __GMP_CAST (int, (z)->_mp_d[0]))
+#define mpz_even_p(z) (! mpz_odd_p (z))
+
+
+/**************** C++ routines ****************/
+
+#ifdef __cplusplus
+__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpz_srcptr);
+__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpq_srcptr);
+__GMP_DECLSPEC_XX std::ostream& operator<< (std::ostream &, mpf_srcptr);
+__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpz_ptr);
+__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpq_ptr);
+__GMP_DECLSPEC_XX std::istream& operator>> (std::istream &, mpf_ptr);
+#endif
+
+
+/* Source-level compatibility with GMP 2 and earlier. */
+#define mpn_divmod(qp,np,nsize,dp,dsize) \
+ mpn_divrem (qp, __GMP_CAST (mp_size_t, 0), np, nsize, dp, dsize)
+
+/* Source-level compatibility with GMP 1. */
+#define mpz_mdiv mpz_fdiv_q
+#define mpz_mdivmod mpz_fdiv_qr
+#define mpz_mmod mpz_fdiv_r
+#define mpz_mdiv_ui mpz_fdiv_q_ui
+#define mpz_mdivmod_ui(q,r,n,d) \
+ (((r) == 0) ? mpz_fdiv_q_ui (q,n,d) : mpz_fdiv_qr_ui (q,r,n,d))
+#define mpz_mmod_ui(r,n,d) \
+ (((r) == 0) ? mpz_fdiv_ui (n,d) : mpz_fdiv_r_ui (r,n,d))
+
+/* Useful synonyms, but not quite compatible with GMP 1. */
+#define mpz_div mpz_fdiv_q
+#define mpz_divmod mpz_fdiv_qr
+#define mpz_div_ui mpz_fdiv_q_ui
+#define mpz_divmod_ui mpz_fdiv_qr_ui
+#define mpz_div_2exp mpz_fdiv_q_2exp
+#define mpz_mod_2exp mpz_fdiv_r_2exp
+
+enum
+{
+ GMP_ERROR_NONE = 0,
+ GMP_ERROR_UNSUPPORTED_ARGUMENT = 1,
+ GMP_ERROR_DIVISION_BY_ZERO = 2,
+ GMP_ERROR_SQRT_OF_NEGATIVE = 4,
+ GMP_ERROR_INVALID_ARGUMENT = 8
+};
+
+/* Define CC and CFLAGS which were used to build this version of GMP */
+#define __GMP_CC "gcc -std=gnu99"
+#define __GMP_CFLAGS "-m32 -O2 -pedantic -fomit-frame-pointer -mtune=pentiumpro -march=pentiumpro -mno-cygwin"
+
+/* Major version number is the value of __GNU_MP__ too, above and in mp.h. */
+#define __GNU_MP_VERSION 5
+#define __GNU_MP_VERSION_MINOR 0
+#define __GNU_MP_VERSION_PATCHLEVEL 2
+#define __GMP_MP_RELEASE (__GNU_MP_VERSION * 10000 + __GNU_MP_VERSION_MINOR * 100 + __GNU_MP_VERSION_PATCHLEVEL)
+
+#define __GMP_H__
+#endif /* __GMP_H__ */

Added: sandbox/multiprecision/test/linpack_test/gmp/gmpxx.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/linpack_test/gmp/gmpxx.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,3388 @@
+/* gmpxx.h -- C++ class wrapper for GMP types. -*- C++ -*-
+
+Copyright 2001, 2002, 2003, 2006, 2008 Free Software Foundation, Inc.
+
+This file is part of the GNU MP Library.
+
+The GNU MP Library is free software; you can redistribute it and/or modify
+it under the terms of the GNU Lesser General Public License as published by
+the Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+The GNU MP Library is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
+or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of the GNU Lesser General Public License
+along with the GNU MP Library. If not, see http://www.gnu.org/licenses/. */
+
+/* the C++ compiler must implement the following features:
+ - member templates
+ - partial specialization of templates
+ - namespace support
+ for g++, this means version 2.91 or higher
+ for other compilers, I don't know */
+#ifdef __GNUC__
+#if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 91)
+#error gmpxx.h requires g++ version 2.91 (egcs 1.1.2) or higher
+#endif
+#endif
+
+#ifndef __GMP_PLUSPLUS__
+#define __GMP_PLUSPLUS__
+
+#include <iosfwd>
+
+#include <cstring> /* for strlen */
+#include <string>
+#include <stdexcept>
+#include <cfloat>
+#include "gmp.h"
+
+
+/**************** Function objects ****************/
+/* Any evaluation of a __gmp_expr ends up calling one of these functions
+ all intermediate functions being inline, the evaluation should optimize
+ to a direct call to the relevant function, thus yielding no overhead
+ over the C interface. */
+
+struct __gmp_unary_plus
+{
+ static void eval(mpz_ptr z, mpz_srcptr w) { mpz_set(z, w); }
+ static void eval(mpq_ptr q, mpq_srcptr r) { mpq_set(q, r); }
+ static void eval(mpf_ptr f, mpf_srcptr g) { mpf_set(f, g); }
+};
+
+struct __gmp_unary_minus
+{
+ static void eval(mpz_ptr z, mpz_srcptr w) { mpz_neg(z, w); }
+ static void eval(mpq_ptr q, mpq_srcptr r) { mpq_neg(q, r); }
+ static void eval(mpf_ptr f, mpf_srcptr g) { mpf_neg(f, g); }
+};
+
+struct __gmp_unary_com
+{
+ static void eval(mpz_ptr z, mpz_srcptr w) { mpz_com(z, w); }
+};
+
+struct __gmp_binary_plus
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_add(z, w, v); }
+
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { mpz_add_ui(z, w, l); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ { mpz_add_ui(z, w, l); }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ {
+ if (l >= 0)
+ mpz_add_ui(z, w, l);
+ else
+ mpz_sub_ui(z, w, -l);
+ }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ {
+ if (l >= 0)
+ mpz_add_ui(z, w, l);
+ else
+ mpz_sub_ui(z, w, -l);
+ }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_add(z, w, temp);
+ mpz_clear(temp);
+ }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_add(z, temp, w);
+ mpz_clear(temp);
+ }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s)
+ { mpq_add(q, r, s); }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l)
+ { mpq_set(q, r); mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); }
+ static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r)
+ { mpq_set(q, r); mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); }
+ static void eval(mpq_ptr q, mpq_srcptr r, signed long int l)
+ {
+ mpq_set(q, r);
+ if (l >= 0)
+ mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l);
+ else
+ mpz_submul_ui(mpq_numref(q), mpq_denref(q), -l);
+ }
+ static void eval(mpq_ptr q, signed long int l, mpq_srcptr r)
+ {
+ mpq_set(q, r);
+ if (l >= 0)
+ mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l);
+ else
+ mpz_submul_ui(mpq_numref(q), mpq_denref(q), -l);
+ }
+ static void eval(mpq_ptr q, mpq_srcptr r, double d)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_add(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, double d, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_add(q, temp, r);
+ mpq_clear(temp);
+ }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, mpz_srcptr z)
+ { mpq_set(q, r); mpz_addmul(mpq_numref(q), mpq_denref(q), z); }
+ static void eval(mpq_ptr q, mpz_srcptr z, mpq_srcptr r)
+ { mpq_set(q, r); mpz_addmul(mpq_numref(q), mpq_denref(q), z); }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h)
+ { mpf_add(f, g, h); }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l)
+ { mpf_add_ui(f, g, l); }
+ static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g)
+ { mpf_add_ui(f, g, l); }
+ static void eval(mpf_ptr f, mpf_srcptr g, signed long int l)
+ {
+ if (l >= 0)
+ mpf_add_ui(f, g, l);
+ else
+ mpf_sub_ui(f, g, -l);
+ }
+ static void eval(mpf_ptr f, signed long int l, mpf_srcptr g)
+ {
+ if (l >= 0)
+ mpf_add_ui(f, g, l);
+ else
+ mpf_sub_ui(f, g, -l);
+ }
+ static void eval(mpf_ptr f, mpf_srcptr g, double d)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_add(f, g, temp);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, double d, mpf_srcptr g)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_add(f, temp, g);
+ mpf_clear(temp);
+ }
+};
+
+struct __gmp_binary_minus
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_sub(z, w, v); }
+
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { mpz_sub_ui(z, w, l); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ { mpz_ui_sub(z, l, w); }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ {
+ if (l >= 0)
+ mpz_sub_ui(z, w, l);
+ else
+ mpz_add_ui(z, w, -l);
+ }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ {
+ if (l >= 0)
+ mpz_ui_sub(z, l, w);
+ else
+ {
+ mpz_add_ui(z, w, -l);
+ mpz_neg(z, z);
+ }
+ }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_sub(z, w, temp);
+ mpz_clear(temp);
+ }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_sub(z, temp, w);
+ mpz_clear(temp);
+ }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s)
+ { mpq_sub(q, r, s); }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l)
+ { mpq_set(q, r); mpz_submul_ui(mpq_numref(q), mpq_denref(q), l); }
+ static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r)
+ { mpq_neg(q, r); mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l); }
+ static void eval(mpq_ptr q, mpq_srcptr r, signed long int l)
+ {
+ mpq_set(q, r);
+ if (l >= 0)
+ mpz_submul_ui(mpq_numref(q), mpq_denref(q), l);
+ else
+ mpz_addmul_ui(mpq_numref(q), mpq_denref(q), -l);
+ }
+ static void eval(mpq_ptr q, signed long int l, mpq_srcptr r)
+ {
+ mpq_neg(q, r);
+ if (l >= 0)
+ mpz_addmul_ui(mpq_numref(q), mpq_denref(q), l);
+ else
+ mpz_submul_ui(mpq_numref(q), mpq_denref(q), -l);
+ }
+ static void eval(mpq_ptr q, mpq_srcptr r, double d)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_sub(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, double d, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_sub(q, temp, r);
+ mpq_clear(temp);
+ }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, mpz_srcptr z)
+ { mpq_set(q, r); mpz_submul(mpq_numref(q), mpq_denref(q), z); }
+ static void eval(mpq_ptr q, mpz_srcptr z, mpq_srcptr r)
+ { mpq_neg(q, r); mpz_addmul(mpq_numref(q), mpq_denref(q), z); }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h)
+ { mpf_sub(f, g, h); }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l)
+ { mpf_sub_ui(f, g, l); }
+ static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g)
+ { mpf_ui_sub(f, l, g); }
+ static void eval(mpf_ptr f, mpf_srcptr g, signed long int l)
+ {
+ if (l >= 0)
+ mpf_sub_ui(f, g, l);
+ else
+ mpf_add_ui(f, g, -l);
+ }
+ static void eval(mpf_ptr f, signed long int l, mpf_srcptr g)
+ {
+ if (l >= 0)
+ mpf_sub_ui(f, g, l);
+ else
+ mpf_add_ui(f, g, -l);
+ mpf_neg(f, f);
+ }
+ static void eval(mpf_ptr f, mpf_srcptr g, double d)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_sub(f, g, temp);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, double d, mpf_srcptr g)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_sub(f, temp, g);
+ mpf_clear(temp);
+ }
+};
+
+struct __gmp_binary_multiplies
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_mul(z, w, v); }
+
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { mpz_mul_ui(z, w, l); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ { mpz_mul_ui(z, w, l); }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ { mpz_mul_si (z, w, l); }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ { mpz_mul_si (z, w, l); }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_mul(z, w, temp);
+ mpz_clear(temp);
+ }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_mul(z, temp, w);
+ mpz_clear(temp);
+ }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s)
+ { mpq_mul(q, r, s); }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_ui(temp, l, 1);
+ mpq_mul(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_ui(temp, l, 1);
+ mpq_mul(q, temp, r);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, mpq_srcptr r, signed long int l)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_si(temp, l, 1);
+ mpq_mul(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, signed long int l, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_si(temp, l, 1);
+ mpq_mul(q, temp, r);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, mpq_srcptr r, double d)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_mul(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, double d, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_mul(q, temp, r);
+ mpq_clear(temp);
+ }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h)
+ { mpf_mul(f, g, h); }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l)
+ { mpf_mul_ui(f, g, l); }
+ static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g)
+ { mpf_mul_ui(f, g, l); }
+ static void eval(mpf_ptr f, mpf_srcptr g, signed long int l)
+ {
+ if (l >= 0)
+ mpf_mul_ui(f, g, l);
+ else
+ {
+ mpf_mul_ui(f, g, -l);
+ mpf_neg(f, f);
+ }
+ }
+ static void eval(mpf_ptr f, signed long int l, mpf_srcptr g)
+ {
+ if (l >= 0)
+ mpf_mul_ui(f, g, l);
+ else
+ {
+ mpf_mul_ui(f, g, -l);
+ mpf_neg(f, f);
+ }
+ }
+ static void eval(mpf_ptr f, mpf_srcptr g, double d)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_mul(f, g, temp);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, double d, mpf_srcptr g)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_mul(f, temp, g);
+ mpf_clear(temp);
+ }
+};
+
+struct __gmp_binary_divides
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_tdiv_q(z, w, v); }
+
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { mpz_tdiv_q_ui(z, w, l); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ {
+ if (mpz_sgn(w) >= 0)
+ {
+ if (mpz_fits_ulong_p(w))
+ mpz_set_ui(z, l / mpz_get_ui(w));
+ else
+ mpz_set_ui(z, 0);
+ }
+ else
+ {
+ mpz_neg(z, w);
+ if (mpz_fits_ulong_p(z))
+ {
+ mpz_set_ui(z, l / mpz_get_ui(z));
+ mpz_neg(z, z);
+ }
+ else
+ mpz_set_ui(z, 0);
+ }
+ }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ {
+ if (l >= 0)
+ mpz_tdiv_q_ui(z, w, l);
+ else
+ {
+ mpz_tdiv_q_ui(z, w, -l);
+ mpz_neg(z, z);
+ }
+ }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ {
+ if (mpz_fits_slong_p(w))
+ mpz_set_si(z, l / mpz_get_si(w));
+ else
+ {
+ /* if w is bigger than a long then the quotient must be zero, unless
+ l==LONG_MIN and w==-LONG_MIN in which case the quotient is -1 */
+ mpz_set_si (z, (mpz_cmpabs_ui (w, (l >= 0 ? l : -l)) == 0 ? -1 : 0));
+ }
+ }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_tdiv_q(z, w, temp);
+ mpz_clear(temp);
+ }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_tdiv_q(z, temp, w);
+ mpz_clear(temp);
+ }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, mpq_srcptr s)
+ { mpq_div(q, r, s); }
+
+ static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_ui(temp, l, 1);
+ mpq_div(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, unsigned long int l, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_ui(temp, l, 1);
+ mpq_div(q, temp, r);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, mpq_srcptr r, signed long int l)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_si(temp, l, 1);
+ mpq_div(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, signed long int l, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_si(temp, l, 1);
+ mpq_div(q, temp, r);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, mpq_srcptr r, double d)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_div(q, r, temp);
+ mpq_clear(temp);
+ }
+ static void eval(mpq_ptr q, double d, mpq_srcptr r)
+ {
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ mpq_div(q, temp, r);
+ mpq_clear(temp);
+ }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h)
+ { mpf_div(f, g, h); }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l)
+ { mpf_div_ui(f, g, l); }
+ static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g)
+ { mpf_ui_div(f, l, g); }
+ static void eval(mpf_ptr f, mpf_srcptr g, signed long int l)
+ {
+ if (l >= 0)
+ mpf_div_ui(f, g, l);
+ else
+ {
+ mpf_div_ui(f, g, -l);
+ mpf_neg(f, f);
+ }
+ }
+ static void eval(mpf_ptr f, signed long int l, mpf_srcptr g)
+ {
+ if (l >= 0)
+ mpf_ui_div(f, l, g);
+ else
+ {
+ mpf_ui_div(f, -l, g);
+ mpf_neg(f, f);
+ }
+ }
+ static void eval(mpf_ptr f, mpf_srcptr g, double d)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_div(f, g, temp);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, double d, mpf_srcptr g)
+ {
+ mpf_t temp;
+ mpf_init2(temp, 8*sizeof(double));
+ mpf_set_d(temp, d);
+ mpf_div(f, temp, g);
+ mpf_clear(temp);
+ }
+};
+
+struct __gmp_binary_modulus
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_tdiv_r(z, w, v); }
+
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { mpz_tdiv_r_ui(z, w, l); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ {
+ if (mpz_sgn(w) >= 0)
+ {
+ if (mpz_fits_ulong_p(w))
+ mpz_set_ui(z, l % mpz_get_ui(w));
+ else
+ mpz_set_ui(z, l);
+ }
+ else
+ {
+ mpz_neg(z, w);
+ if (mpz_fits_ulong_p(z))
+ mpz_set_ui(z, l % mpz_get_ui(z));
+ else
+ mpz_set_ui(z, l);
+ }
+ }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ {
+ mpz_tdiv_r_ui (z, w, (l >= 0 ? l : -l));
+ }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ {
+ if (mpz_fits_slong_p(w))
+ mpz_set_si(z, l % mpz_get_si(w));
+ else
+ {
+ /* if w is bigger than a long then the remainder is l unchanged,
+ unless l==LONG_MIN and w==-LONG_MIN in which case it's 0 */
+ mpz_set_si (z, mpz_cmpabs_ui (w, (l >= 0 ? l : -l)) == 0 ? 0 : l);
+ }
+ }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_tdiv_r(z, w, temp);
+ mpz_clear(temp);
+ }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ {
+ mpz_t temp;
+ mpz_init_set_d(temp, d);
+ mpz_tdiv_r(z, temp, w);
+ mpz_clear(temp);
+ }
+};
+
+// Max allocations for plain types when converted to mpz_t
+#define __GMP_DBL_LIMBS (2 + DBL_MAX_EXP / GMP_NUMB_BITS)
+#define __GMP_ULI_LIMBS (1 + (8 * sizeof (long) - 1) / GMP_NUMB_BITS)
+
+#define __GMPXX_TMP_UI \
+ mpz_t temp; \
+ mp_limb_t limbs[__GMP_ULI_LIMBS]; \
+ temp->_mp_d = limbs; \
+ temp->_mp_alloc = __GMP_ULI_LIMBS; \
+ mpz_set_ui (temp, l)
+#define __GMPXX_TMP_SI \
+ mpz_t temp; \
+ mp_limb_t limbs[__GMP_ULI_LIMBS]; \
+ temp->_mp_d = limbs; \
+ temp->_mp_alloc = __GMP_ULI_LIMBS; \
+ mpz_set_si (temp, l)
+#define __GMPXX_TMP_D \
+ mpz_t temp; \
+ mp_limb_t limbs[__GMP_DBL_LIMBS]; \
+ temp->_mp_d = limbs; \
+ temp->_mp_alloc = __GMP_DBL_LIMBS; \
+ mpz_set_d (temp, d)
+
+struct __gmp_binary_and
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_and(z, w, v); }
+
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { __GMPXX_TMP_UI; mpz_and (z, w, temp); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ { __GMPXX_TMP_UI; mpz_and (z, w, temp); }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ { __GMPXX_TMP_SI; mpz_and (z, w, temp); }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ { __GMPXX_TMP_SI; mpz_and (z, w, temp); }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ { __GMPXX_TMP_D; mpz_and (z, w, temp); }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ { __GMPXX_TMP_D; mpz_and (z, w, temp); }
+};
+
+struct __gmp_binary_ior
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_ior(z, w, v); }
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { __GMPXX_TMP_UI; mpz_ior (z, w, temp); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ { __GMPXX_TMP_UI; mpz_ior (z, w, temp); }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ { __GMPXX_TMP_SI; mpz_ior (z, w, temp); }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ { __GMPXX_TMP_SI; mpz_ior (z, w, temp); }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ { __GMPXX_TMP_D; mpz_ior (z, w, temp); }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ { __GMPXX_TMP_D; mpz_ior (z, w, temp); }
+};
+
+struct __gmp_binary_xor
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, mpz_srcptr v)
+ { mpz_xor(z, w, v); }
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { __GMPXX_TMP_UI; mpz_xor (z, w, temp); }
+ static void eval(mpz_ptr z, unsigned long int l, mpz_srcptr w)
+ { __GMPXX_TMP_UI; mpz_xor (z, w, temp); }
+ static void eval(mpz_ptr z, mpz_srcptr w, signed long int l)
+ { __GMPXX_TMP_SI; mpz_xor (z, w, temp); }
+ static void eval(mpz_ptr z, signed long int l, mpz_srcptr w)
+ { __GMPXX_TMP_SI; mpz_xor (z, w, temp); }
+ static void eval(mpz_ptr z, mpz_srcptr w, double d)
+ { __GMPXX_TMP_D; mpz_xor (z, w, temp); }
+ static void eval(mpz_ptr z, double d, mpz_srcptr w)
+ { __GMPXX_TMP_D; mpz_xor (z, w, temp); }
+};
+
+struct __gmp_binary_lshift
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { mpz_mul_2exp(z, w, l); }
+ static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l)
+ { mpq_mul_2exp(q, r, l); }
+ static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l)
+ { mpf_mul_2exp(f, g, l); }
+};
+
+struct __gmp_binary_rshift
+{
+ static void eval(mpz_ptr z, mpz_srcptr w, unsigned long int l)
+ { mpz_fdiv_q_2exp(z, w, l); }
+ static void eval(mpq_ptr q, mpq_srcptr r, unsigned long int l)
+ { mpq_div_2exp(q, r, l); }
+ static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l)
+ { mpf_div_2exp(f, g, l); }
+};
+
+struct __gmp_binary_equal
+{
+ static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) == 0; }
+
+ static bool eval(mpz_srcptr z, unsigned long int l)
+ { return mpz_cmp_ui(z, l) == 0; }
+ static bool eval(unsigned long int l, mpz_srcptr z)
+ { return mpz_cmp_ui(z, l) == 0; }
+ static bool eval(mpz_srcptr z, signed long int l)
+ { return mpz_cmp_si(z, l) == 0; }
+ static bool eval(signed long int l, mpz_srcptr z)
+ { return mpz_cmp_si(z, l) == 0; }
+ static bool eval(mpz_srcptr z, double d)
+ { return mpz_cmp_d(z, d) == 0; }
+ static bool eval(double d, mpz_srcptr z)
+ { return mpz_cmp_d(z, d) == 0; }
+
+ static bool eval(mpq_srcptr q, mpq_srcptr r)
+ { return mpq_equal(q, r) != 0; }
+
+ static bool eval(mpq_srcptr q, unsigned long int l)
+ { return mpq_cmp_ui(q, l, 1) == 0; }
+ static bool eval(unsigned long int l, mpq_srcptr q)
+ { return mpq_cmp_ui(q, l, 1) == 0; }
+ static bool eval(mpq_srcptr q, signed long int l)
+ { return mpq_cmp_si(q, l, 1) == 0; }
+ static bool eval(signed long int l, mpq_srcptr q)
+ { return mpq_cmp_si(q, l, 1) == 0; }
+ static bool eval(mpq_srcptr q, double d)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_equal(q, temp) != 0);
+ mpq_clear(temp);
+ return b;
+ }
+ static bool eval(double d, mpq_srcptr q)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_equal(temp, q) != 0);
+ mpq_clear(temp);
+ return b;
+ }
+
+ static bool eval(mpf_srcptr f, mpf_srcptr g) { return mpf_cmp(f, g) == 0; }
+
+ static bool eval(mpf_srcptr f, unsigned long int l)
+ { return mpf_cmp_ui(f, l) == 0; }
+ static bool eval(unsigned long int l, mpf_srcptr f)
+ { return mpf_cmp_ui(f, l) == 0; }
+ static bool eval(mpf_srcptr f, signed long int l)
+ { return mpf_cmp_si(f, l) == 0; }
+ static bool eval(signed long int l, mpf_srcptr f)
+ { return mpf_cmp_si(f, l) == 0; }
+ static bool eval(mpf_srcptr f, double d)
+ { return mpf_cmp_d(f, d) == 0; }
+ static bool eval(double d, mpf_srcptr f)
+ { return mpf_cmp_d(f, d) == 0; }
+};
+
+struct __gmp_binary_not_equal
+{
+ static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) != 0; }
+
+ static bool eval(mpz_srcptr z, unsigned long int l)
+ { return mpz_cmp_ui(z, l) != 0; }
+ static bool eval(unsigned long int l, mpz_srcptr z)
+ { return mpz_cmp_ui(z, l) != 0; }
+ static bool eval(mpz_srcptr z, signed long int l)
+ { return mpz_cmp_si(z, l) != 0; }
+ static bool eval(signed long int l, mpz_srcptr z)
+ { return mpz_cmp_si(z, l) != 0; }
+ static bool eval(mpz_srcptr z, double d)
+ { return mpz_cmp_d(z, d) != 0; }
+ static bool eval(double d, mpz_srcptr z)
+ { return mpz_cmp_d(z, d) != 0; }
+
+ static bool eval(mpq_srcptr q, mpq_srcptr r)
+ { return mpq_equal(q, r) == 0; }
+
+ static bool eval(mpq_srcptr q, unsigned long int l)
+ { return mpq_cmp_ui(q, l, 1) != 0; }
+ static bool eval(unsigned long int l, mpq_srcptr q)
+ { return mpq_cmp_ui(q, l, 1) != 0; }
+ static bool eval(mpq_srcptr q, signed long int l)
+ { return mpq_cmp_si(q, l, 1) != 0; }
+ static bool eval(signed long int l, mpq_srcptr q)
+ { return mpq_cmp_si(q, l, 1) != 0; }
+ static bool eval(mpq_srcptr q, double d)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_equal(q, temp) == 0);
+ mpq_clear(temp);
+ return b;
+ }
+ static bool eval(double d, mpq_srcptr q)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_equal(temp, q) == 0);
+ mpq_clear(temp);
+ return b;
+ }
+
+ static bool eval(mpf_srcptr f, mpf_srcptr g) { return mpf_cmp(f, g) != 0; }
+
+ static bool eval(mpf_srcptr f, unsigned long int l)
+ { return mpf_cmp_ui(f, l) != 0; }
+ static bool eval(unsigned long int l, mpf_srcptr f)
+ { return mpf_cmp_ui(f, l) != 0; }
+ static bool eval(mpf_srcptr f, signed long int l)
+ { return mpf_cmp_si(f, l) != 0; }
+ static bool eval(signed long int l, mpf_srcptr f)
+ { return mpf_cmp_si(f, l) != 0; }
+ static bool eval(mpf_srcptr f, double d)
+ { return mpf_cmp_d(f, d) != 0; }
+ static bool eval(double d, mpf_srcptr f)
+ { return mpf_cmp_d(f, d) != 0; }
+};
+
+struct __gmp_binary_less
+{
+ static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) < 0; }
+
+ static bool eval(mpz_srcptr z, unsigned long int l)
+ { return mpz_cmp_ui(z, l) < 0; }
+ static bool eval(unsigned long int l, mpz_srcptr z)
+ { return mpz_cmp_ui(z, l) > 0; }
+ static bool eval(mpz_srcptr z, signed long int l)
+ { return mpz_cmp_si(z, l) < 0; }
+ static bool eval(signed long int l, mpz_srcptr z)
+ { return mpz_cmp_si(z, l) > 0; }
+ static bool eval(mpz_srcptr z, double d)
+ { return mpz_cmp_d(z, d) < 0; }
+ static bool eval(double d, mpz_srcptr z)
+ { return mpz_cmp_d(z, d) > 0; }
+
+ static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) < 0; }
+
+ static bool eval(mpq_srcptr q, unsigned long int l)
+ { return mpq_cmp_ui(q, l, 1) < 0; }
+ static bool eval(unsigned long int l, mpq_srcptr q)
+ { return mpq_cmp_ui(q, l, 1) > 0; }
+ static bool eval(mpq_srcptr q, signed long int l)
+ { return mpq_cmp_si(q, l, 1) < 0; }
+ static bool eval(signed long int l, mpq_srcptr q)
+ { return mpq_cmp_si(q, l, 1) > 0; }
+ static bool eval(mpq_srcptr q, double d)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(q, temp) < 0);
+ mpq_clear(temp);
+ return b;
+ }
+ static bool eval(double d, mpq_srcptr q)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(temp, q) < 0);
+ mpq_clear(temp);
+ return b;
+ }
+
+ static bool eval(mpf_srcptr f, mpf_srcptr g) { return mpf_cmp(f, g) < 0; }
+
+ static bool eval(mpf_srcptr f, unsigned long int l)
+ { return mpf_cmp_ui(f, l) < 0; }
+ static bool eval(unsigned long int l, mpf_srcptr f)
+ { return mpf_cmp_ui(f, l) > 0; }
+ static bool eval(mpf_srcptr f, signed long int l)
+ { return mpf_cmp_si(f, l) < 0; }
+ static bool eval(signed long int l, mpf_srcptr f)
+ { return mpf_cmp_si(f, l) > 0; }
+ static bool eval(mpf_srcptr f, double d)
+ { return mpf_cmp_d(f, d) < 0; }
+ static bool eval(double d, mpf_srcptr f)
+ { return mpf_cmp_d(f, d) > 0; }
+};
+
+struct __gmp_binary_less_equal
+{
+ static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) <= 0; }
+
+ static bool eval(mpz_srcptr z, unsigned long int l)
+ { return mpz_cmp_ui(z, l) <= 0; }
+ static bool eval(unsigned long int l, mpz_srcptr z)
+ { return mpz_cmp_ui(z, l) >= 0; }
+ static bool eval(mpz_srcptr z, signed long int l)
+ { return mpz_cmp_si(z, l) <= 0; }
+ static bool eval(signed long int l, mpz_srcptr z)
+ { return mpz_cmp_si(z, l) >= 0; }
+ static bool eval(mpz_srcptr z, double d)
+ { return mpz_cmp_d(z, d) <= 0; }
+ static bool eval(double d, mpz_srcptr z)
+ { return mpz_cmp_d(z, d) >= 0; }
+
+ static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) <= 0; }
+
+ static bool eval(mpq_srcptr q, unsigned long int l)
+ { return mpq_cmp_ui(q, l, 1) <= 0; }
+ static bool eval(unsigned long int l, mpq_srcptr q)
+ { return mpq_cmp_ui(q, l, 1) >= 0; }
+ static bool eval(mpq_srcptr q, signed long int l)
+ { return mpq_cmp_si(q, l, 1) <= 0; }
+ static bool eval(signed long int l, mpq_srcptr q)
+ { return mpq_cmp_si(q, l, 1) >= 0; }
+ static bool eval(mpq_srcptr q, double d)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(q, temp) <= 0);
+ mpq_clear(temp);
+ return b;
+ }
+ static bool eval(double d, mpq_srcptr q)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(temp, q) <= 0);
+ mpq_clear(temp);
+ return b;
+ }
+
+ static bool eval(mpf_srcptr f, mpf_srcptr g) { return mpf_cmp(f, g) <= 0; }
+
+ static bool eval(mpf_srcptr f, unsigned long int l)
+ { return mpf_cmp_ui(f, l) <= 0; }
+ static bool eval(unsigned long int l, mpf_srcptr f)
+ { return mpf_cmp_ui(f, l) >= 0; }
+ static bool eval(mpf_srcptr f, signed long int l)
+ { return mpf_cmp_si(f, l) <= 0; }
+ static bool eval(signed long int l, mpf_srcptr f)
+ { return mpf_cmp_si(f, l) >= 0; }
+ static bool eval(mpf_srcptr f, double d)
+ { return mpf_cmp_d(f, d) <= 0; }
+ static bool eval(double d, mpf_srcptr f)
+ { return mpf_cmp_d(f, d) >= 0; }
+};
+
+struct __gmp_binary_greater
+{
+ static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) > 0; }
+
+ static bool eval(mpz_srcptr z, unsigned long int l)
+ { return mpz_cmp_ui(z, l) > 0; }
+ static bool eval(unsigned long int l, mpz_srcptr z)
+ { return mpz_cmp_ui(z, l) < 0; }
+ static bool eval(mpz_srcptr z, signed long int l)
+ { return mpz_cmp_si(z, l) > 0; }
+ static bool eval(signed long int l, mpz_srcptr z)
+ { return mpz_cmp_si(z, l) < 0; }
+ static bool eval(mpz_srcptr z, double d)
+ { return mpz_cmp_d(z, d) > 0; }
+ static bool eval(double d, mpz_srcptr z)
+ { return mpz_cmp_d(z, d) < 0; }
+
+ static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) > 0; }
+
+ static bool eval(mpq_srcptr q, unsigned long int l)
+ { return mpq_cmp_ui(q, l, 1) > 0; }
+ static bool eval(unsigned long int l, mpq_srcptr q)
+ { return mpq_cmp_ui(q, l, 1) < 0; }
+ static bool eval(mpq_srcptr q, signed long int l)
+ { return mpq_cmp_si(q, l, 1) > 0; }
+ static bool eval(signed long int l, mpq_srcptr q)
+ { return mpq_cmp_si(q, l, 1) < 0; }
+ static bool eval(mpq_srcptr q, double d)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(q, temp) > 0);
+ mpq_clear(temp);
+ return b;
+ }
+ static bool eval(double d, mpq_srcptr q)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(temp, q) > 0);
+ mpq_clear(temp);
+ return b;
+ }
+
+ static bool eval(mpf_srcptr f, mpf_srcptr g) { return mpf_cmp(f, g) > 0; }
+
+ static bool eval(mpf_srcptr f, unsigned long int l)
+ { return mpf_cmp_ui(f, l) > 0; }
+ static bool eval(unsigned long int l, mpf_srcptr f)
+ { return mpf_cmp_ui(f, l) < 0; }
+ static bool eval(mpf_srcptr f, signed long int l)
+ { return mpf_cmp_si(f, l) > 0; }
+ static bool eval(signed long int l, mpf_srcptr f)
+ { return mpf_cmp_si(f, l) < 0; }
+ static bool eval(mpf_srcptr f, double d)
+ { return mpf_cmp_d(f, d) > 0; }
+ static bool eval(double d, mpf_srcptr f)
+ { return mpf_cmp_d(f, d) < 0; }
+};
+
+struct __gmp_binary_greater_equal
+{
+ static bool eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w) >= 0; }
+
+ static bool eval(mpz_srcptr z, unsigned long int l)
+ { return mpz_cmp_ui(z, l) >= 0; }
+ static bool eval(unsigned long int l, mpz_srcptr z)
+ { return mpz_cmp_ui(z, l) <= 0; }
+ static bool eval(mpz_srcptr z, signed long int l)
+ { return mpz_cmp_si(z, l) >= 0; }
+ static bool eval(signed long int l, mpz_srcptr z)
+ { return mpz_cmp_si(z, l) <= 0; }
+ static bool eval(mpz_srcptr z, double d)
+ { return mpz_cmp_d(z, d) >= 0; }
+ static bool eval(double d, mpz_srcptr z)
+ { return mpz_cmp_d(z, d) <= 0; }
+
+ static bool eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r) >= 0; }
+
+ static bool eval(mpq_srcptr q, unsigned long int l)
+ { return mpq_cmp_ui(q, l, 1) >= 0; }
+ static bool eval(unsigned long int l, mpq_srcptr q)
+ { return mpq_cmp_ui(q, l, 1) <= 0; }
+ static bool eval(mpq_srcptr q, signed long int l)
+ { return mpq_cmp_si(q, l, 1) >= 0; }
+ static bool eval(signed long int l, mpq_srcptr q)
+ { return mpq_cmp_si(q, l, 1) <= 0; }
+ static bool eval(mpq_srcptr q, double d)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(q, temp) >= 0);
+ mpq_clear(temp);
+ return b;
+ }
+ static bool eval(double d, mpq_srcptr q)
+ {
+ bool b;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ b = (mpq_cmp(temp, q) >= 0);
+ mpq_clear(temp);
+ return b;
+ }
+
+ static bool eval(mpf_srcptr f, mpf_srcptr g) { return mpf_cmp(f, g) >= 0; }
+
+ static bool eval(mpf_srcptr f, unsigned long int l)
+ { return mpf_cmp_ui(f, l) >= 0; }
+ static bool eval(unsigned long int l, mpf_srcptr f)
+ { return mpf_cmp_ui(f, l) <= 0; }
+ static bool eval(mpf_srcptr f, signed long int l)
+ { return mpf_cmp_si(f, l) >= 0; }
+ static bool eval(signed long int l, mpf_srcptr f)
+ { return mpf_cmp_si(f, l) <= 0; }
+ static bool eval(mpf_srcptr f, double d)
+ { return mpf_cmp_d(f, d) >= 0; }
+ static bool eval(double d, mpf_srcptr f)
+ { return mpf_cmp_d(f, d) <= 0; }
+};
+
+struct __gmp_unary_increment
+{
+ static void eval(mpz_ptr z) { mpz_add_ui(z, z, 1); }
+ static void eval(mpq_ptr q)
+ { mpz_add(mpq_numref(q), mpq_numref(q), mpq_denref(q)); }
+ static void eval(mpf_ptr f) { mpf_add_ui(f, f, 1); }
+};
+
+struct __gmp_unary_decrement
+{
+ static void eval(mpz_ptr z) { mpz_sub_ui(z, z, 1); }
+ static void eval(mpq_ptr q)
+ { mpz_sub(mpq_numref(q), mpq_numref(q), mpq_denref(q)); }
+ static void eval(mpf_ptr f) { mpf_sub_ui(f, f, 1); }
+};
+
+struct __gmp_abs_function
+{
+ static void eval(mpz_ptr z, mpz_srcptr w) { mpz_abs(z, w); }
+ static void eval(mpq_ptr q, mpq_srcptr r) { mpq_abs(q, r); }
+ static void eval(mpf_ptr f, mpf_srcptr g) { mpf_abs(f, g); }
+};
+
+struct __gmp_trunc_function
+{
+ static void eval(mpf_ptr f, mpf_srcptr g) { mpf_trunc(f, g); }
+};
+
+struct __gmp_floor_function
+{
+ static void eval(mpf_ptr f, mpf_srcptr g) { mpf_floor(f, g); }
+};
+
+struct __gmp_ceil_function
+{
+ static void eval(mpf_ptr f, mpf_srcptr g) { mpf_ceil(f, g); }
+};
+
+struct __gmp_sqrt_function
+{
+ static void eval(mpz_ptr z, mpz_srcptr w) { mpz_sqrt(z, w); }
+ static void eval(mpf_ptr f, mpf_srcptr g) { mpf_sqrt(f, g); }
+};
+
+struct __gmp_hypot_function
+{
+ static void eval(mpf_ptr f, mpf_srcptr g, mpf_srcptr h)
+ {
+ mpf_t temp;
+ mpf_init2(temp, mpf_get_prec(f));
+ mpf_mul(temp, g, g);
+ mpf_mul(f, h, h);
+ mpf_add(f, f, temp);
+ mpf_sqrt(f, f);
+ mpf_clear(temp);
+ }
+
+ static void eval(mpf_ptr f, mpf_srcptr g, unsigned long int l)
+ {
+ mpf_t temp;
+ mpf_init2(temp, mpf_get_prec(f));
+ mpf_mul(temp, g, g);
+ mpf_set_ui(f, l);
+ mpf_mul(f, f, f);
+ mpf_add(f, f, temp);
+ mpf_sqrt(f, f);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, unsigned long int l, mpf_srcptr g)
+ {
+ mpf_t temp;
+ mpf_init2(temp, mpf_get_prec(f));
+ mpf_mul(temp, g, g);
+ mpf_set_ui(f, l);
+ mpf_mul(f, f, f);
+ mpf_add(f, f, temp);
+ mpf_sqrt(f, f);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, mpf_srcptr g, signed long int l)
+ {
+ mpf_t temp;
+ mpf_init2(temp, mpf_get_prec(f));
+ mpf_mul(temp, g, g);
+ mpf_set_si(f, l);
+ mpf_mul(f, f, f);
+ mpf_add(f, f, temp);
+ mpf_sqrt(f, f);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, signed long int l, mpf_srcptr g)
+ {
+ mpf_t temp;
+ mpf_init2(temp, mpf_get_prec(f));
+ mpf_mul(temp, g, g);
+ mpf_set_si(f, l);
+ mpf_mul(f, f, f);
+ mpf_add(f, f, temp);
+ mpf_sqrt(f, f);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, mpf_srcptr g, double d)
+ {
+ mpf_t temp;
+ mpf_init2(temp, mpf_get_prec(f));
+ mpf_mul(temp, g, g);
+ mpf_set_d(f, d);
+ mpf_mul(f, f, f);
+ mpf_add(f, f, temp);
+ mpf_sqrt(f, f);
+ mpf_clear(temp);
+ }
+ static void eval(mpf_ptr f, double d, mpf_srcptr g)
+ {
+ mpf_t temp;
+ mpf_init2(temp, mpf_get_prec(f));
+ mpf_mul(temp, g, g);
+ mpf_set_d(f, d);
+ mpf_mul(f, f, f);
+ mpf_add(f, f, temp);
+ mpf_sqrt(f, f);
+ mpf_clear(temp);
+ }
+};
+
+struct __gmp_sgn_function
+{
+ static int eval(mpz_srcptr z) { return mpz_sgn(z); }
+ static int eval(mpq_srcptr q) { return mpq_sgn(q); }
+ static int eval(mpf_srcptr f) { return mpf_sgn(f); }
+};
+
+struct __gmp_cmp_function
+{
+ static int eval(mpz_srcptr z, mpz_srcptr w) { return mpz_cmp(z, w); }
+
+ static int eval(mpz_srcptr z, unsigned long int l)
+ { return mpz_cmp_ui(z, l); }
+ static int eval(unsigned long int l, mpz_srcptr z)
+ { return -mpz_cmp_ui(z, l); }
+ static int eval(mpz_srcptr z, signed long int l)
+ { return mpz_cmp_si(z, l); }
+ static int eval(signed long int l, mpz_srcptr z)
+ { return -mpz_cmp_si(z, l); }
+ static int eval(mpz_srcptr z, double d)
+ { return mpz_cmp_d(z, d); }
+ static int eval(double d, mpz_srcptr z)
+ { return -mpz_cmp_d(z, d); }
+
+ static int eval(mpq_srcptr q, mpq_srcptr r) { return mpq_cmp(q, r); }
+
+ static int eval(mpq_srcptr q, unsigned long int l)
+ { return mpq_cmp_ui(q, l, 1); }
+ static int eval(unsigned long int l, mpq_srcptr q)
+ { return -mpq_cmp_ui(q, l, 1); }
+ static int eval(mpq_srcptr q, signed long int l)
+ { return mpq_cmp_si(q, l, 1); }
+ static int eval(signed long int l, mpq_srcptr q)
+ { return -mpq_cmp_si(q, l, 1); }
+ static int eval(mpq_srcptr q, double d)
+ {
+ int i;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ i = mpq_cmp(q, temp);
+ mpq_clear(temp);
+ return i;
+ }
+ static int eval(double d, mpq_srcptr q)
+ {
+ int i;
+ mpq_t temp;
+ mpq_init(temp);
+ mpq_set_d(temp, d);
+ i = mpq_cmp(temp, q);
+ mpq_clear(temp);
+ return i;
+ }
+
+ static int eval(mpf_srcptr f, mpf_srcptr g) { return mpf_cmp(f, g); }
+
+ static int eval(mpf_srcptr f, unsigned long int l)
+ { return mpf_cmp_ui(f, l); }
+ static int eval(unsigned long int l, mpf_srcptr f)
+ { return -mpf_cmp_ui(f, l); }
+ static int eval(mpf_srcptr f, signed long int l)
+ { return mpf_cmp_si(f, l); }
+ static int eval(signed long int l, mpf_srcptr f)
+ { return -mpf_cmp_si(f, l); }
+ static int eval(mpf_srcptr f, double d)
+ { return mpf_cmp_d(f, d); }
+ static int eval(double d, mpf_srcptr f)
+ { return -mpf_cmp_d(f, d); }
+};
+
+struct __gmp_rand_function
+{
+ static void eval(mpz_ptr z, gmp_randstate_t s, unsigned long int l)
+ { mpz_urandomb(z, s, l); }
+ static void eval(mpz_ptr z, gmp_randstate_t s, mpz_srcptr w)
+ { mpz_urandomm(z, s, w); }
+ static void eval(mpf_ptr f, gmp_randstate_t s, mp_bitcnt_t prec)
+ { mpf_urandomb(f, s, prec); }
+};
+
+
+/**************** Auxiliary classes ****************/
+
+/* this is much the same as gmp_allocated_string in gmp-impl.h
+ since gmp-impl.h is not publicly available, I redefine it here
+ I use a different name to avoid possible clashes */
+
+extern "C" {
+ typedef void (*__gmp_freefunc_t) (void *, size_t);
+}
+struct __gmp_alloc_cstring
+{
+ char *str;
+ __gmp_alloc_cstring(char *s) { str = s; }
+ ~__gmp_alloc_cstring()
+ {
+ __gmp_freefunc_t freefunc;
+ mp_get_memory_functions (NULL, NULL, &freefunc);
+ (*freefunc) (str, std::strlen(str)+1);
+ }
+};
+
+
+// general expression template class
+template <class T, class U>
+class __gmp_expr;
+
+
+// templates for resolving expression types
+template <class T>
+struct __gmp_resolve_ref
+{
+ typedef T rmp_type;
+};
+
+template <class T, class U>
+struct __gmp_resolve_ref<__gmp_expr<T, U> >
+{
+ typedef const __gmp_expr<T, U> & rmp_type;
+};
+
+
+template <class T, class U = T>
+struct __gmp_resolve_expr;
+
+template <>
+struct __gmp_resolve_expr<mpz_t>
+{
+ typedef mpz_t value_type;
+ typedef mpz_ptr ptr_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpq_t>
+{
+ typedef mpq_t value_type;
+ typedef mpq_ptr ptr_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpf_t>
+{
+ typedef mpf_t value_type;
+ typedef mpf_ptr ptr_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpz_t, mpq_t>
+{
+ typedef mpq_t value_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpq_t, mpz_t>
+{
+ typedef mpq_t value_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpz_t, mpf_t>
+{
+ typedef mpf_t value_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpf_t, mpz_t>
+{
+ typedef mpf_t value_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpq_t, mpf_t>
+{
+ typedef mpf_t value_type;
+};
+
+template <>
+struct __gmp_resolve_expr<mpf_t, mpq_t>
+{
+ typedef mpf_t value_type;
+};
+
+
+
+template <class T, class U, class V>
+struct __gmp_resolve_temp
+{
+ typedef __gmp_expr<T, T> temp_type;
+};
+
+template <class T>
+struct __gmp_resolve_temp<T, T, T>
+{
+ typedef const __gmp_expr<T, T> & temp_type;
+};
+
+
+// classes for evaluating unary and binary expressions
+template <class T, class Op>
+struct __gmp_unary_expr
+{
+ const T &val;
+
+ __gmp_unary_expr(const T &v) : val(v) { }
+private:
+ __gmp_unary_expr();
+};
+
+template <class T, class U, class Op>
+struct __gmp_binary_expr
+{
+ typename __gmp_resolve_ref<T>::rmp_type val1;
+ typename __gmp_resolve_ref<U>::rmp_type val2;
+
+ __gmp_binary_expr(const T &v1, const U &v2) : val1(v1), val2(v2) { }
+private:
+ __gmp_binary_expr();
+};
+
+
+// functions for evaluating expressions
+template <class T, class U>
+void __gmp_set_expr(mpz_ptr, const __gmp_expr<T, U> &);
+template <class T, class U>
+void __gmp_set_expr(mpq_ptr, const __gmp_expr<T, U> &);
+template <class T, class U>
+void __gmp_set_expr(mpf_ptr, const __gmp_expr<T, U> &);
+
+
+/**************** Macros for in-class declarations ****************/
+/* This is just repetitive code that is easier to maintain if it's written
+ only once */
+
+#define __GMPP_DECLARE_COMPOUND_OPERATOR(fun) \
+ template <class T, class U> \
+ __gmp_expr<value_type, value_type> & fun(const __gmp_expr<T, U> &);
+
+#define __GMPN_DECLARE_COMPOUND_OPERATOR(fun) \
+ __gmp_expr & fun(signed char); \
+ __gmp_expr & fun(unsigned char); \
+ __gmp_expr & fun(signed int); \
+ __gmp_expr & fun(unsigned int); \
+ __gmp_expr & fun(signed short int); \
+ __gmp_expr & fun(unsigned short int); \
+ __gmp_expr & fun(signed long int); \
+ __gmp_expr & fun(unsigned long int); \
+ __gmp_expr & fun(float); \
+ __gmp_expr & fun(double); \
+ __gmp_expr & fun(long double);
+
+#define __GMP_DECLARE_COMPOUND_OPERATOR(fun) \
+__GMPP_DECLARE_COMPOUND_OPERATOR(fun) \
+__GMPN_DECLARE_COMPOUND_OPERATOR(fun)
+
+#define __GMP_DECLARE_COMPOUND_OPERATOR_UI(fun) \
+ __gmp_expr & fun(unsigned long int);
+
+#define __GMP_DECLARE_INCREMENT_OPERATOR(fun) \
+ inline __gmp_expr & fun(); \
+ inline __gmp_expr fun(int);
+
+
+/**************** mpz_class -- wrapper for mpz_t ****************/
+
+template <>
+class __gmp_expr<mpz_t, mpz_t>
+{
+private:
+ typedef mpz_t value_type;
+ value_type mp;
+public:
+ mp_bitcnt_t get_prec() const { return mpf_get_default_prec(); }
+
+ // constructors and destructor
+ __gmp_expr() { mpz_init(mp); }
+
+ __gmp_expr(const __gmp_expr &z) { mpz_init_set(mp, z.mp); }
+ template <class T, class U>
+ __gmp_expr(const __gmp_expr<T, U> &expr)
+ { mpz_init(mp); __gmp_set_expr(mp, expr); }
+
+ __gmp_expr(signed char c) { mpz_init_set_si(mp, c); }
+ __gmp_expr(unsigned char c) { mpz_init_set_ui(mp, c); }
+
+ __gmp_expr(signed int i) { mpz_init_set_si(mp, i); }
+ __gmp_expr(unsigned int i) { mpz_init_set_ui(mp, i); }
+
+ __gmp_expr(signed short int s) { mpz_init_set_si(mp, s); }
+ __gmp_expr(unsigned short int s) { mpz_init_set_ui(mp, s); }
+
+ __gmp_expr(signed long int l) { mpz_init_set_si(mp, l); }
+ __gmp_expr(unsigned long int l) { mpz_init_set_ui(mp, l); }
+
+ __gmp_expr(float f) { mpz_init_set_d(mp, f); }
+ __gmp_expr(double d) { mpz_init_set_d(mp, d); }
+ // __gmp_expr(long double ld) { mpz_init_set_d(mp, ld); }
+
+ explicit __gmp_expr(const char *s)
+ {
+ if (mpz_init_set_str (mp, s, 0) != 0)
+ {
+ mpz_clear (mp);
+ throw std::invalid_argument ("mpz_set_str");
+ }
+ }
+ __gmp_expr(const char *s, int base)
+ {
+ if (mpz_init_set_str (mp, s, base) != 0)
+ {
+ mpz_clear (mp);
+ throw std::invalid_argument ("mpz_set_str");
+ }
+ }
+ explicit __gmp_expr(const std::string &s)
+ {
+ if (mpz_init_set_str (mp, s.c_str(), 0) != 0)
+ {
+ mpz_clear (mp);
+ throw std::invalid_argument ("mpz_set_str");
+ }
+ }
+ __gmp_expr(const std::string &s, int base)
+ {
+ if (mpz_init_set_str(mp, s.c_str(), base) != 0)
+ {
+ mpz_clear (mp);
+ throw std::invalid_argument ("mpz_set_str");
+ }
+ }
+
+ explicit __gmp_expr(mpz_srcptr z) { mpz_init_set(mp, z); }
+
+ ~__gmp_expr() { mpz_clear(mp); }
+
+ // assignment operators
+ __gmp_expr & operator=(const __gmp_expr &z)
+ { mpz_set(mp, z.mp); return *this; }
+ template <class T, class U>
+ __gmp_expr<value_type, value_type> & operator=(const __gmp_expr<T, U> &expr)
+ { __gmp_set_expr(mp, expr); return *this; }
+
+ __gmp_expr & operator=(signed char c) { mpz_set_si(mp, c); return *this; }
+ __gmp_expr & operator=(unsigned char c) { mpz_set_ui(mp, c); return *this; }
+
+ __gmp_expr & operator=(signed int i) { mpz_set_si(mp, i); return *this; }
+ __gmp_expr & operator=(unsigned int i) { mpz_set_ui(mp, i); return *this; }
+
+ __gmp_expr & operator=(signed short int s)
+ { mpz_set_si(mp, s); return *this; }
+ __gmp_expr & operator=(unsigned short int s)
+ { mpz_set_ui(mp, s); return *this; }
+
+ __gmp_expr & operator=(signed long int l)
+ { mpz_set_si(mp, l); return *this; }
+ __gmp_expr & operator=(unsigned long int l)
+ { mpz_set_ui(mp, l); return *this; }
+
+ __gmp_expr & operator=(float f) { mpz_set_d(mp, f); return *this; }
+ __gmp_expr & operator=(double d) { mpz_set_d(mp, d); return *this; }
+ // __gmp_expr & operator=(long double ld)
+ // { mpz_set_ld(mp, ld); return *this; }
+
+ __gmp_expr & operator=(const char *s)
+ {
+ if (mpz_set_str (mp, s, 0) != 0)
+ throw std::invalid_argument ("mpz_set_str");
+ return *this;
+ }
+ __gmp_expr & operator=(const std::string &s)
+ {
+ if (mpz_set_str(mp, s.c_str(), 0) != 0)
+ throw std::invalid_argument ("mpz_set_str");
+ return *this;
+ }
+
+ // string input/output functions
+ int set_str(const char *s, int base)
+ { return mpz_set_str(mp, s, base); }
+ int set_str(const std::string &s, int base)
+ { return mpz_set_str(mp, s.c_str(), base); }
+ std::string get_str(int base = 10) const
+ {
+ __gmp_alloc_cstring temp(mpz_get_str(0, base, mp));
+ return std::string(temp.str);
+ }
+
+ // conversion functions
+ mpz_srcptr __get_mp() const { return mp; }
+ mpz_ptr __get_mp() { return mp; }
+ mpz_srcptr get_mpz_t() const { return mp; }
+ mpz_ptr get_mpz_t() { return mp; }
+
+ signed long int get_si() const { return mpz_get_si(mp); }
+ unsigned long int get_ui() const { return mpz_get_ui(mp); }
+ double get_d() const { return mpz_get_d(mp); }
+
+ // bool fits_schar_p() const { return mpz_fits_schar_p(mp); }
+ // bool fits_uchar_p() const { return mpz_fits_uchar_p(mp); }
+ bool fits_sint_p() const { return mpz_fits_sint_p(mp); }
+ bool fits_uint_p() const { return mpz_fits_uint_p(mp); }
+ bool fits_sshort_p() const { return mpz_fits_sshort_p(mp); }
+ bool fits_ushort_p() const { return mpz_fits_ushort_p(mp); }
+ bool fits_slong_p() const { return mpz_fits_slong_p(mp); }
+ bool fits_ulong_p() const { return mpz_fits_ulong_p(mp); }
+ // bool fits_float_p() const { return mpz_fits_float_p(mp); }
+ // bool fits_double_p() const { return mpz_fits_double_p(mp); }
+ // bool fits_ldouble_p() const { return mpz_fits_ldouble_p(mp); }
+
+ // member operators
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator+=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator-=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator*=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator/=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator%=)
+
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator&=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator|=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator^=)
+
+ __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator<<=)
+ __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator>>=)
+
+ __GMP_DECLARE_INCREMENT_OPERATOR(operator++)
+ __GMP_DECLARE_INCREMENT_OPERATOR(operator--)
+};
+
+typedef __gmp_expr<mpz_t, mpz_t> mpz_class;
+
+
+/**************** mpq_class -- wrapper for mpq_t ****************/
+
+template <>
+class __gmp_expr<mpq_t, mpq_t>
+{
+private:
+ typedef mpq_t value_type;
+ value_type mp;
+public:
+ mp_bitcnt_t get_prec() const { return mpf_get_default_prec(); }
+ void canonicalize() { mpq_canonicalize(mp); }
+
+ // constructors and destructor
+ __gmp_expr() { mpq_init(mp); }
+
+ __gmp_expr(const __gmp_expr &q) { mpq_init(mp); mpq_set(mp, q.mp); }
+ template <class T, class U>
+ __gmp_expr(const __gmp_expr<T, U> &expr)
+ { mpq_init(mp); __gmp_set_expr(mp, expr); }
+
+ __gmp_expr(signed char c) { mpq_init(mp); mpq_set_si(mp, c, 1); }
+ __gmp_expr(unsigned char c) { mpq_init(mp); mpq_set_ui(mp, c, 1); }
+
+ __gmp_expr(signed int i) { mpq_init(mp); mpq_set_si(mp, i, 1); }
+ __gmp_expr(unsigned int i) { mpq_init(mp); mpq_set_ui(mp, i, 1); }
+
+ __gmp_expr(signed short int s) { mpq_init(mp); mpq_set_si(mp, s, 1); }
+ __gmp_expr(unsigned short int s) { mpq_init(mp); mpq_set_ui(mp, s, 1); }
+
+ __gmp_expr(signed long int l) { mpq_init(mp); mpq_set_si(mp, l, 1); }
+ __gmp_expr(unsigned long int l) { mpq_init(mp); mpq_set_ui(mp, l, 1); }
+
+ __gmp_expr(float f) { mpq_init(mp); mpq_set_d(mp, f); }
+ __gmp_expr(double d) { mpq_init(mp); mpq_set_d(mp, d); }
+ // __gmp_expr(long double ld) { mpq_init(mp); mpq_set_ld(mp, ld); }
+
+ explicit __gmp_expr(const char *s)
+ {
+ mpq_init (mp);
+ if (mpq_set_str (mp, s, 0) != 0)
+ {
+ mpq_clear (mp);
+ throw std::invalid_argument ("mpq_set_str");
+ }
+ }
+ __gmp_expr(const char *s, int base)
+ {
+ mpq_init (mp);
+ if (mpq_set_str(mp, s, base) != 0)
+ {
+ mpq_clear (mp);
+ throw std::invalid_argument ("mpq_set_str");
+ }
+ }
+ explicit __gmp_expr(const std::string &s)
+ {
+ mpq_init (mp);
+ if (mpq_set_str (mp, s.c_str(), 0) != 0)
+ {
+ mpq_clear (mp);
+ throw std::invalid_argument ("mpq_set_str");
+ }
+ }
+ __gmp_expr(const std::string &s, int base)
+ {
+ mpq_init(mp);
+ if (mpq_set_str (mp, s.c_str(), base) != 0)
+ {
+ mpq_clear (mp);
+ throw std::invalid_argument ("mpq_set_str");
+ }
+ }
+ explicit __gmp_expr(mpq_srcptr q) { mpq_init(mp); mpq_set(mp, q); }
+
+ __gmp_expr(const mpz_class &num, const mpz_class &den)
+ {
+ mpq_init(mp);
+ mpz_set(mpq_numref(mp), num.get_mpz_t());
+ mpz_set(mpq_denref(mp), den.get_mpz_t());
+ }
+
+ ~__gmp_expr() { mpq_clear(mp); }
+
+ // assignment operators
+ __gmp_expr & operator=(const __gmp_expr &q)
+ { mpq_set(mp, q.mp); return *this; }
+ template <class T, class U>
+ __gmp_expr<value_type, value_type> & operator=(const __gmp_expr<T, U> &expr)
+ { __gmp_set_expr(mp, expr); return *this; }
+
+ __gmp_expr & operator=(signed char c)
+ { mpq_set_si(mp, c, 1); return *this; }
+ __gmp_expr & operator=(unsigned char c)
+ { mpq_set_ui(mp, c, 1); return *this; }
+
+ __gmp_expr & operator=(signed int i) { mpq_set_si(mp, i, 1); return *this; }
+ __gmp_expr & operator=(unsigned int i)
+ { mpq_set_ui(mp, i, 1); return *this; }
+
+ __gmp_expr & operator=(signed short int s)
+ { mpq_set_si(mp, s, 1); return *this; }
+ __gmp_expr & operator=(unsigned short int s)
+ { mpq_set_ui(mp, s, 1); return *this; }
+
+ __gmp_expr & operator=(signed long int l)
+ { mpq_set_si(mp, l, 1); return *this; }
+ __gmp_expr & operator=(unsigned long int l)
+ { mpq_set_ui(mp, l, 1); return *this; }
+
+ __gmp_expr & operator=(float f) { mpq_set_d(mp, f); return *this; }
+ __gmp_expr & operator=(double d) { mpq_set_d(mp, d); return *this; }
+ // __gmp_expr & operator=(long double ld)
+ // { mpq_set_ld(mp, ld); return *this; }
+
+ __gmp_expr & operator=(const char *s)
+ {
+ if (mpq_set_str (mp, s, 0) != 0)
+ throw std::invalid_argument ("mpq_set_str");
+ return *this;
+ }
+ __gmp_expr & operator=(const std::string &s)
+ {
+ if (mpq_set_str(mp, s.c_str(), 0) != 0)
+ throw std::invalid_argument ("mpq_set_str");
+ return *this;
+ }
+
+ // string input/output functions
+ int set_str(const char *s, int base)
+ { return mpq_set_str(mp, s, base); }
+ int set_str(const std::string &s, int base)
+ { return mpq_set_str(mp, s.c_str(), base); }
+ std::string get_str(int base = 10) const
+ {
+ __gmp_alloc_cstring temp(mpq_get_str(0, base, mp));
+ return std::string(temp.str);
+ }
+
+ // conversion functions
+
+ // casting a reference to an mpz_t to mpz_class & is a dirty hack,
+ // but works because the internal representation of mpz_class is
+ // exactly an mpz_t
+ const mpz_class & get_num() const
+ { return reinterpret_cast<const mpz_class &>(*mpq_numref(mp)); }
+ mpz_class & get_num()
+ { return reinterpret_cast<mpz_class &>(*mpq_numref(mp)); }
+ const mpz_class & get_den() const
+ { return reinterpret_cast<const mpz_class &>(*mpq_denref(mp)); }
+ mpz_class & get_den()
+ { return reinterpret_cast<mpz_class &>(*mpq_denref(mp)); }
+
+ mpq_srcptr __get_mp() const { return mp; }
+ mpq_ptr __get_mp() { return mp; }
+ mpq_srcptr get_mpq_t() const { return mp; }
+ mpq_ptr get_mpq_t() { return mp; }
+
+ mpz_srcptr get_num_mpz_t() const { return mpq_numref(mp); }
+ mpz_ptr get_num_mpz_t() { return mpq_numref(mp); }
+ mpz_srcptr get_den_mpz_t() const { return mpq_denref(mp); }
+ mpz_ptr get_den_mpz_t() { return mpq_denref(mp); }
+
+ double get_d() const { return mpq_get_d(mp); }
+
+ // compound assignments
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator+=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator-=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator*=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator/=)
+
+ __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator<<=)
+ __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator>>=)
+
+ __GMP_DECLARE_INCREMENT_OPERATOR(operator++)
+ __GMP_DECLARE_INCREMENT_OPERATOR(operator--)
+};
+
+typedef __gmp_expr<mpq_t, mpq_t> mpq_class;
+
+
+/**************** mpf_class -- wrapper for mpf_t ****************/
+
+template <>
+class __gmp_expr<mpf_t, mpf_t>
+{
+private:
+ typedef mpf_t value_type;
+ value_type mp;
+public:
+ mp_bitcnt_t get_prec() const { return mpf_get_prec(mp); }
+
+ void set_prec(mp_bitcnt_t prec) { mpf_set_prec(mp, prec); }
+ void set_prec_raw(mp_bitcnt_t prec) { mpf_set_prec_raw(mp, prec); }
+
+ // constructors and destructor
+ __gmp_expr() { mpf_init(mp); }
+
+ __gmp_expr(const __gmp_expr &f)
+ { mpf_init2(mp, f.get_prec()); mpf_set(mp, f.mp); }
+ __gmp_expr(const __gmp_expr &f, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set(mp, f.mp); }
+ template <class T, class U>
+ __gmp_expr(const __gmp_expr<T, U> &expr)
+ { mpf_init2(mp, expr.get_prec()); __gmp_set_expr(mp, expr); }
+ template <class T, class U>
+ __gmp_expr(const __gmp_expr<T, U> &expr, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); __gmp_set_expr(mp, expr); }
+
+ __gmp_expr(signed char c) { mpf_init_set_si(mp, c); }
+ __gmp_expr(signed char c, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_si(mp, c); }
+ __gmp_expr(unsigned char c) { mpf_init_set_ui(mp, c); }
+ __gmp_expr(unsigned char c, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_ui(mp, c); }
+
+ __gmp_expr(signed int i) { mpf_init_set_si(mp, i); }
+ __gmp_expr(signed int i, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_si(mp, i); }
+ __gmp_expr(unsigned int i) { mpf_init_set_ui(mp, i); }
+ __gmp_expr(unsigned int i, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_ui(mp, i); }
+
+ __gmp_expr(signed short int s) { mpf_init_set_si(mp, s); }
+ __gmp_expr(signed short int s, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_si(mp, s); }
+ __gmp_expr(unsigned short int s) { mpf_init_set_ui(mp, s); }
+ __gmp_expr(unsigned short int s, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_ui(mp, s); }
+
+ __gmp_expr(signed long int l) { mpf_init_set_si(mp, l); }
+ __gmp_expr(signed long int l, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_si(mp, l); }
+ __gmp_expr(unsigned long int l) { mpf_init_set_ui(mp, l); }
+ __gmp_expr(unsigned long int l, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_ui(mp, l); }
+
+ __gmp_expr(float f) { mpf_init_set_d(mp, f); }
+ __gmp_expr(float f, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_d(mp, f); }
+ __gmp_expr(double d) { mpf_init_set_d(mp, d); }
+ __gmp_expr(double d, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set_d(mp, d); }
+ // __gmp_expr(long double ld) { mpf_init_set_d(mp, ld); }
+ // __gmp_expr(long double ld, mp_bitcnt_t prec)
+ // { mpf_init2(mp, prec); mpf_set_d(mp, ld); }
+
+ explicit __gmp_expr(const char *s)
+ {
+ if (mpf_init_set_str (mp, s, 0) != 0)
+ {
+ mpf_clear (mp);
+ throw std::invalid_argument ("mpf_set_str");
+ }
+ }
+ __gmp_expr(const char *s, mp_bitcnt_t prec, int base = 0)
+ {
+ mpf_init2(mp, prec);
+ if (mpf_set_str(mp, s, base) != 0)
+ {
+ mpf_clear (mp);
+ throw std::invalid_argument ("mpf_set_str");
+ }
+ }
+ explicit __gmp_expr(const std::string &s)
+ {
+ if (mpf_init_set_str(mp, s.c_str(), 0) != 0)
+ {
+ mpf_clear (mp);
+ throw std::invalid_argument ("mpf_set_str");
+ }
+ }
+ __gmp_expr(const std::string &s, mp_bitcnt_t prec, int base = 0)
+ {
+ mpf_init2(mp, prec);
+ if (mpf_set_str(mp, s.c_str(), base) != 0)
+ {
+ mpf_clear (mp);
+ throw std::invalid_argument ("mpf_set_str");
+ }
+ }
+
+ explicit __gmp_expr(mpf_srcptr f)
+ { mpf_init2(mp, mpf_get_prec(f)); mpf_set(mp, f); }
+ __gmp_expr(mpf_srcptr f, mp_bitcnt_t prec)
+ { mpf_init2(mp, prec); mpf_set(mp, f); }
+
+ ~__gmp_expr() { mpf_clear(mp); }
+
+ // assignment operators
+ __gmp_expr & operator=(const __gmp_expr &f)
+ { mpf_set(mp, f.mp); return *this; }
+ template <class T, class U>
+ __gmp_expr<value_type, value_type> & operator=(const __gmp_expr<T, U> &expr)
+ { __gmp_set_expr(mp, expr); return *this; }
+
+ __gmp_expr & operator=(signed char c) { mpf_set_si(mp, c); return *this; }
+ __gmp_expr & operator=(unsigned char c) { mpf_set_ui(mp, c); return *this; }
+
+ __gmp_expr & operator=(signed int i) { mpf_set_si(mp, i); return *this; }
+ __gmp_expr & operator=(unsigned int i) { mpf_set_ui(mp, i); return *this; }
+
+ __gmp_expr & operator=(signed short int s)
+ { mpf_set_si(mp, s); return *this; }
+ __gmp_expr & operator=(unsigned short int s)
+ { mpf_set_ui(mp, s); return *this; }
+
+ __gmp_expr & operator=(signed long int l)
+ { mpf_set_si(mp, l); return *this; }
+ __gmp_expr & operator=(unsigned long int l)
+ { mpf_set_ui(mp, l); return *this; }
+
+ __gmp_expr & operator=(float f) { mpf_set_d(mp, f); return *this; }
+ __gmp_expr & operator=(double d) { mpf_set_d(mp, d); return *this; }
+ // __gmp_expr & operator=(long double ld)
+ // { mpf_set_ld(mp, ld); return *this; }
+
+ __gmp_expr & operator=(const char *s)
+ {
+ if (mpf_set_str (mp, s, 0) != 0)
+ throw std::invalid_argument ("mpf_set_str");
+ return *this;
+ }
+ __gmp_expr & operator=(const std::string &s)
+ {
+ if (mpf_set_str(mp, s.c_str(), 0) != 0)
+ throw std::invalid_argument ("mpf_set_str");
+ return *this;
+ }
+
+ // string input/output functions
+ int set_str(const char *s, int base)
+ { return mpf_set_str(mp, s, base); }
+ int set_str(const std::string &s, int base)
+ { return mpf_set_str(mp, s.c_str(), base); }
+ std::string get_str(mp_exp_t &expo, int base = 10, size_t size = 0) const
+ {
+ __gmp_alloc_cstring temp(mpf_get_str(0, &expo, base, size, mp));
+ return std::string(temp.str);
+ }
+
+ // conversion functions
+ mpf_srcptr __get_mp() const { return mp; }
+ mpf_ptr __get_mp() { return mp; }
+ mpf_srcptr get_mpf_t() const { return mp; }
+ mpf_ptr get_mpf_t() { return mp; }
+
+ signed long int get_si() const { return mpf_get_si(mp); }
+ unsigned long int get_ui() const { return mpf_get_ui(mp); }
+ double get_d() const { return mpf_get_d(mp); }
+
+ // bool fits_schar_p() const { return mpf_fits_schar_p(mp); }
+ // bool fits_uchar_p() const { return mpf_fits_uchar_p(mp); }
+ bool fits_sint_p() const { return mpf_fits_sint_p(mp); }
+ bool fits_uint_p() const { return mpf_fits_uint_p(mp); }
+ bool fits_sshort_p() const { return mpf_fits_sshort_p(mp); }
+ bool fits_ushort_p() const { return mpf_fits_ushort_p(mp); }
+ bool fits_slong_p() const { return mpf_fits_slong_p(mp); }
+ bool fits_ulong_p() const { return mpf_fits_ulong_p(mp); }
+ // bool fits_float_p() const { return mpf_fits_float_p(mp); }
+ // bool fits_double_p() const { return mpf_fits_double_p(mp); }
+ // bool fits_ldouble_p() const { return mpf_fits_ldouble_p(mp); }
+
+ // compound assignments
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator+=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator-=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator*=)
+ __GMP_DECLARE_COMPOUND_OPERATOR(operator/=)
+
+ __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator<<=)
+ __GMP_DECLARE_COMPOUND_OPERATOR_UI(operator>>=)
+
+ __GMP_DECLARE_INCREMENT_OPERATOR(operator++)
+ __GMP_DECLARE_INCREMENT_OPERATOR(operator--)
+};
+
+typedef __gmp_expr<mpf_t, mpf_t> mpf_class;
+
+
+
+/**************** I/O operators ****************/
+
+// these should (and will) be provided separately
+
+template <class T>
+inline std::ostream & operator<<
+(std::ostream &o, const __gmp_expr<T, T> &expr)
+{
+ return o << expr.__get_mp();
+}
+
+template <class T, class U>
+inline std::ostream & operator<<
+(std::ostream &o, const __gmp_expr<T, U> &expr)
+{
+ __gmp_expr<T, T> temp(expr);
+ return o << temp.__get_mp();
+}
+
+
+template <class T>
+inline std::istream & operator>>(std::istream &i, __gmp_expr<T, T> &expr)
+{
+ return i >> expr.__get_mp();
+}
+
+inline std::istream & operator>>(std::istream &i, mpq_class &q)
+{
+ i >> q.get_mpq_t();
+ // q.canonicalize(); // you might want to uncomment this
+ return i;
+}
+
+
+/**************** Functions for type conversion ****************/
+
+template <>
+inline void __gmp_set_expr(mpz_ptr z, const mpz_class &w)
+{
+ mpz_set(z, w.get_mpz_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr<mpz_t, T> &expr)
+{
+ expr.eval(z);
+}
+
+template <>
+inline void __gmp_set_expr(mpz_ptr z, const mpq_class &q)
+{
+ mpz_set_q(z, q.get_mpq_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr<mpq_t, T> &expr)
+{
+ mpq_class temp(expr);
+ mpz_set_q(z, temp.get_mpq_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpz_ptr z, const mpf_class &f)
+{
+ mpz_set_f(z, f.get_mpf_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpz_ptr z, const __gmp_expr<mpf_t, T> &expr)
+{
+ mpf_class temp(expr);
+ mpz_set_f(z, temp.get_mpf_t());
+}
+
+template <>
+inline void __gmp_set_expr(mpq_ptr q, const mpz_class &z)
+{
+ mpq_set_z(q, z.get_mpz_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr<mpz_t, T> &expr)
+{
+ mpz_class temp(expr);
+ mpq_set_z(q, temp.get_mpz_t());
+}
+
+template <>
+inline void __gmp_set_expr(mpq_ptr q, const mpq_class &r)
+{
+ mpq_set(q, r.get_mpq_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr<mpq_t, T> &expr)
+{
+ expr.eval(q);
+}
+
+template <class T>
+inline void __gmp_set_expr(mpq_ptr q, const mpf_class &f)
+{
+ mpq_set_f(q, f.get_mpf_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpq_ptr q, const __gmp_expr<mpf_t, T> &expr)
+{
+ mpf_class temp(expr);
+ mpq_set_f(q, temp.get_mpf_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpf_ptr f, const mpz_class &z)
+{
+ mpf_set_z(f, z.get_mpz_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpf_ptr f, const __gmp_expr<mpz_t, T> &expr)
+{
+ mpz_class temp(expr);
+ mpf_set_z(f, temp.get_mpz_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpf_ptr f, const mpq_class &q)
+{
+ mpf_set_q(f, q.get_mpq_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpf_ptr f, const __gmp_expr<mpq_t, T> &expr)
+{
+ mpq_class temp(expr);
+ mpf_set_q(f, temp.get_mpq_t());
+}
+
+template <>
+inline void __gmp_set_expr(mpf_ptr f, const mpf_class &g)
+{
+ mpf_set(f, g.get_mpf_t());
+}
+
+template <class T>
+inline void __gmp_set_expr(mpf_ptr f, const __gmp_expr<mpf_t, T> &expr)
+{
+ expr.eval(f, mpf_get_prec(f));
+}
+
+
+/**************** Specializations of __gmp_expr ****************/
+/* The eval() method of __gmp_expr<T, U> evaluates the corresponding
+ expression and assigns the result to its argument, which is either an
+ mpz_t, mpq_t, or mpf_t as specified by the T argument.
+ Compound expressions are evaluated recursively (temporaries are created
+ to hold intermediate values), while for simple expressions the eval()
+ method of the appropriate function object (available as the Op argument
+ of either __gmp_unary_expr<T, Op> or __gmp_binary_expr<T, U, Op>) is
+ called. */
+
+
+/**************** Unary expressions ****************/
+/* cases:
+ - simple: argument is mp*_class, that is, __gmp_expr<T, T>
+ - compound: argument is __gmp_expr<T, U> (with U not equal to T) */
+
+
+// simple expressions
+
+template <class T, class Op>
+class __gmp_expr<T, __gmp_unary_expr<__gmp_expr<T, T>, Op> >
+{
+private:
+ typedef __gmp_expr<T, T> val_type;
+
+ __gmp_unary_expr<val_type, Op> expr;
+public:
+ __gmp_expr(const val_type &val) : expr(val) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ unsigned long int = 0) const
+ { Op::eval(p, expr.val.__get_mp()); }
+ const val_type & get_val() const { return expr.val; }
+ unsigned long int get_prec() const { return expr.val.get_prec(); }
+};
+
+
+// compound expressions
+
+template <class T, class U, class Op>
+class __gmp_expr<T, __gmp_unary_expr<__gmp_expr<T, U>, Op> >
+{
+private:
+ typedef __gmp_expr<T, U> val_type;
+
+ __gmp_unary_expr<val_type, Op> expr;
+public:
+ __gmp_expr(const val_type &val) : expr(val) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ { __gmp_expr<T, T> temp(expr.val); Op::eval(p, temp.__get_mp()); }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ { __gmp_expr<T, T> temp(expr.val, prec); Op::eval(p, temp.__get_mp()); }
+ const val_type & get_val() const { return expr.val; }
+ unsigned long int get_prec() const { return expr.val.get_prec(); }
+};
+
+
+/**************** Binary expressions ****************/
+/* simple:
+ - arguments are both mp*_class
+ - one argument is mp*_class, one is a built-in type
+ compound:
+ - one is mp*_class, one is __gmp_expr<T, U>
+ - one is __gmp_expr<T, U>, one is built-in
+ - both arguments are __gmp_expr<...> */
+
+
+// simple expressions
+
+template <class T, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<T, T>, __gmp_expr<T, T>, Op> >
+{
+private:
+ typedef __gmp_expr<T, T> val1_type;
+ typedef __gmp_expr<T, T> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ unsigned long int = 0) const
+ { Op::eval(p, expr.val1.__get_mp(), expr.val2.__get_mp()); }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+
+// simple expressions, T is a built-in numerical type
+
+template <class T, class U, class Op>
+class __gmp_expr<T, __gmp_binary_expr<__gmp_expr<T, T>, U, Op> >
+{
+private:
+ typedef __gmp_expr<T, T> val1_type;
+ typedef U val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ unsigned long int = 0) const
+ { Op::eval(p, expr.val1.__get_mp(), expr.val2); }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const { return expr.val1.get_prec(); }
+};
+
+template <class T, class U, class Op>
+class __gmp_expr<T, __gmp_binary_expr<U, __gmp_expr<T, T>, Op> >
+{
+private:
+ typedef U val1_type;
+ typedef __gmp_expr<T, T> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ unsigned long int = 0) const
+ { Op::eval(p, expr.val1, expr.val2.__get_mp()); }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const { return expr.val2.get_prec(); }
+};
+
+
+// compound expressions, one argument is a subexpression
+
+template <class T, class U, class V, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<T, T>, __gmp_expr<U, V>, Op> >
+{
+private:
+ typedef __gmp_expr<T, T> val1_type;
+ typedef __gmp_expr<U, V> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp(expr.val2);
+ Op::eval(p, expr.val1.__get_mp(), temp.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp(expr.val2, prec);
+ Op::eval(p, expr.val1.__get_mp(), temp.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+template <class T, class U, class V, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<U, V>, __gmp_expr<T, T>, Op> >
+{
+private:
+ typedef __gmp_expr<U, V> val1_type;
+ typedef __gmp_expr<T, T> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp(expr.val1);
+ Op::eval(p, temp.__get_mp(), expr.val2.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp(expr.val1, prec);
+ Op::eval(p, temp.__get_mp(), expr.val2.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+template <class T, class U, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<T, T>, __gmp_expr<T, U>, Op> >
+{
+private:
+ typedef __gmp_expr<T, T> val1_type;
+ typedef __gmp_expr<T, U> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp(expr.val2);
+ Op::eval(p, expr.val1.__get_mp(), temp.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp(expr.val2, prec);
+ Op::eval(p, expr.val1.__get_mp(), temp.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+template <class T, class U, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<T, U>, __gmp_expr<T, T>, Op> >
+{
+private:
+ typedef __gmp_expr<T, U> val1_type;
+ typedef __gmp_expr<T, T> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp(expr.val1);
+ Op::eval(p, temp.__get_mp(), expr.val2.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp(expr.val1, prec);
+ Op::eval(p, temp.__get_mp(), expr.val2.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+
+// one argument is a subexpression, one is a built-in
+
+template <class T, class U, class V, class Op>
+class __gmp_expr<T, __gmp_binary_expr<__gmp_expr<T, U>, V, Op> >
+{
+private:
+ typedef __gmp_expr<T, U> val1_type;
+ typedef V val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp(expr.val1);
+ Op::eval(p, temp.__get_mp(), expr.val2);
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp(expr.val1, prec);
+ Op::eval(p, temp.__get_mp(), expr.val2);
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const { return expr.val1.get_prec(); }
+};
+
+template <class T, class U, class V, class Op>
+class __gmp_expr<T, __gmp_binary_expr<U, __gmp_expr<T, V>, Op> >
+{
+private:
+ typedef U val1_type;
+ typedef __gmp_expr<T, V> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp(expr.val2);
+ Op::eval(p, expr.val1, temp.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp(expr.val2, prec);
+ Op::eval(p, expr.val1, temp.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const { return expr.val2.get_prec(); }
+};
+
+
+// both arguments are subexpressions
+
+template <class T, class U, class V, class W, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<T, U>, __gmp_expr<V, W>, Op> >
+{
+private:
+ typedef __gmp_expr<T, U> val1_type;
+ typedef __gmp_expr<V, W> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp1(expr.val1), temp2(expr.val2);
+ Op::eval(p, temp1.__get_mp(), temp2.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp1(expr.val1, prec), temp2(expr.val2, prec);
+ Op::eval(p, temp1.__get_mp(), temp2.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+template <class T, class U, class V, class W, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<U, V>, __gmp_expr<T, W>, Op> >
+{
+private:
+ typedef __gmp_expr<U, V> val1_type;
+ typedef __gmp_expr<T, W> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp1(expr.val1), temp2(expr.val2);
+ Op::eval(p, temp1.__get_mp(), temp2.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp1(expr.val1, prec), temp2(expr.val2, prec);
+ Op::eval(p, temp1.__get_mp(), temp2.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+template <class T, class U, class V, class Op>
+class __gmp_expr
+<T, __gmp_binary_expr<__gmp_expr<T, U>, __gmp_expr<T, V>, Op> >
+{
+private:
+ typedef __gmp_expr<T, U> val1_type;
+ typedef __gmp_expr<T, V> val2_type;
+
+ __gmp_binary_expr<val1_type, val2_type, Op> expr;
+public:
+ __gmp_expr(const val1_type &val1, const val2_type &val2)
+ : expr(val1, val2) { }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p) const
+ {
+ __gmp_expr<T, T> temp1(expr.val1), temp2(expr.val2);
+ Op::eval(p, temp1.__get_mp(), temp2.__get_mp());
+ }
+ void eval(typename __gmp_resolve_expr<T>::ptr_type p,
+ mp_bitcnt_t prec) const
+ {
+ __gmp_expr<T, T> temp1(expr.val1, prec), temp2(expr.val2, prec);
+ Op::eval(p, temp1.__get_mp(), temp2.__get_mp());
+ }
+ const val1_type & get_val1() const { return expr.val1; }
+ const val2_type & get_val2() const { return expr.val2; }
+ unsigned long int get_prec() const
+ {
+ mp_bitcnt_t prec1 = expr.val1.get_prec(),
+ prec2 = expr.val2.get_prec();
+ return (prec1 > prec2) ? prec1 : prec2;
+ }
+};
+
+
+/**************** Special cases ****************/
+
+/* Some operations (i.e., add and subtract) with mixed mpz/mpq arguments
+ can be done directly without first converting the mpz to mpq.
+ Appropriate specializations of __gmp_expr are required. */
+
+
+#define __GMPZQ_DEFINE_EXPR(eval_fun) \
+ \
+template <> \
+class __gmp_expr<mpq_t, __gmp_binary_expr<mpz_class, mpq_class, eval_fun> > \
+{ \
+private: \
+ typedef mpz_class val1_type; \
+ typedef mpq_class val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { eval_fun::eval(q, expr.val1.get_mpz_t(), expr.val2.get_mpq_t()); } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+}; \
+ \
+template <> \
+class __gmp_expr<mpq_t, __gmp_binary_expr<mpq_class, mpz_class, eval_fun> > \
+{ \
+private: \
+ typedef mpq_class val1_type; \
+ typedef mpz_class val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { eval_fun::eval(q, expr.val1.get_mpq_t(), expr.val2.get_mpz_t()); } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+}; \
+ \
+template <class T> \
+class __gmp_expr \
+<mpq_t, __gmp_binary_expr<mpz_class, __gmp_expr<mpq_t, T>, eval_fun> > \
+{ \
+private: \
+ typedef mpz_class val1_type; \
+ typedef __gmp_expr<mpq_t, T> val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { \
+ mpq_class temp(expr.val2); \
+ eval_fun::eval(q, expr.val1.get_mpz_t(), temp.get_mpq_t()); \
+ } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+}; \
+ \
+template <class T> \
+class __gmp_expr \
+<mpq_t, __gmp_binary_expr<mpq_class, __gmp_expr<mpz_t, T>, eval_fun> > \
+{ \
+private: \
+ typedef mpq_class val1_type; \
+ typedef __gmp_expr<mpz_t, T> val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { \
+ mpz_class temp(expr.val2); \
+ eval_fun::eval(q, expr.val1.get_mpq_t(), temp.get_mpz_t()); \
+ } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+}; \
+ \
+template <class T> \
+class __gmp_expr \
+<mpq_t, __gmp_binary_expr<__gmp_expr<mpz_t, T>, mpq_class, eval_fun> > \
+{ \
+private: \
+ typedef __gmp_expr<mpz_t, T> val1_type; \
+ typedef mpq_class val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { \
+ mpz_class temp(expr.val1); \
+ eval_fun::eval(q, temp.get_mpz_t(), expr.val2.get_mpq_t()); \
+ } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+}; \
+ \
+template <class T> \
+class __gmp_expr \
+<mpq_t, __gmp_binary_expr<__gmp_expr<mpq_t, T>, mpz_class, eval_fun> > \
+{ \
+private: \
+ typedef __gmp_expr<mpq_t, T> val1_type; \
+ typedef mpz_class val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { \
+ mpq_class temp(expr.val1); \
+ eval_fun::eval(q, temp.get_mpq_t(), expr.val2.get_mpz_t()); \
+ } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+}; \
+ \
+template <class T, class U> \
+class __gmp_expr<mpq_t, __gmp_binary_expr \
+<__gmp_expr<mpz_t, T>, __gmp_expr<mpq_t, U>, eval_fun> > \
+{ \
+private: \
+ typedef __gmp_expr<mpz_t, T> val1_type; \
+ typedef __gmp_expr<mpq_t, U> val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { \
+ mpz_class temp1(expr.val1); \
+ mpq_class temp2(expr.val2); \
+ eval_fun::eval(q, temp1.get_mpz_t(), temp2.get_mpq_t()); \
+ } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+}; \
+ \
+template <class T, class U> \
+class __gmp_expr<mpq_t, __gmp_binary_expr \
+<__gmp_expr<mpq_t, T>, __gmp_expr<mpz_t, U>, eval_fun> > \
+{ \
+private: \
+ typedef __gmp_expr<mpq_t, T> val1_type; \
+ typedef __gmp_expr<mpz_t, U> val2_type; \
+ \
+ __gmp_binary_expr<val1_type, val2_type, eval_fun> expr; \
+public: \
+ __gmp_expr(const val1_type &val1, const val2_type &val2) \
+ : expr(val1, val2) { } \
+ void eval(mpq_ptr q) const \
+ { \
+ mpq_class temp1(expr.val1); \
+ mpz_class temp2(expr.val2); \
+ eval_fun::eval(q, temp1.get_mpq_t(), temp2.get_mpz_t()); \
+ } \
+ const val1_type & get_val1() const { return expr.val1; } \
+ const val2_type & get_val2() const { return expr.val2; } \
+ unsigned long int get_prec() const { return mpf_get_default_prec(); } \
+};
+
+
+__GMPZQ_DEFINE_EXPR(__gmp_binary_plus)
+__GMPZQ_DEFINE_EXPR(__gmp_binary_minus)
+
+
+
+/**************** Macros for defining functions ****************/
+/* Results of operators and functions are instances of __gmp_expr<T, U>.
+ T determines the numerical type of the expression: it can be either
+ mpz_t, mpq_t, or mpf_t. When the arguments of a binary
+ expression have different numerical types, __gmp_resolve_expr is used
+ to determine the "larger" type.
+ U is either __gmp_unary_expr<V, Op> or __gmp_binary_expr<V, W, Op>,
+ where V and W are the arguments' types -- they can in turn be
+ expressions, thus allowing to build compound expressions to any
+ degree of complexity.
+ Op is a function object that must have an eval() method accepting
+ appropriate arguments.
+ Actual evaluation of a __gmp_expr<T, U> object is done when it gets
+ assigned to an mp*_class ("lazy" evaluation): this is done by calling
+ its eval() method. */
+
+
+// non-member unary operators and functions
+
+#define __GMP_DEFINE_UNARY_FUNCTION(fun, eval_fun) \
+ \
+template <class T, class U> \
+inline __gmp_expr<T, __gmp_unary_expr<__gmp_expr<T, U>, eval_fun> > \
+fun(const __gmp_expr<T, U> &expr) \
+{ \
+ return __gmp_expr<T, __gmp_unary_expr<__gmp_expr<T, U>, eval_fun> >(expr); \
+}
+
+#define __GMP_DEFINE_UNARY_TYPE_FUNCTION(type, fun, eval_fun) \
+ \
+template <class T, class U> \
+inline type fun(const __gmp_expr<T, U> &expr) \
+{ \
+ typename __gmp_resolve_temp<T, T, U>::temp_type temp(expr); \
+ return eval_fun::eval(temp.__get_mp()); \
+}
+
+
+// non-member binary operators and functions
+
+#define __GMPP_DEFINE_BINARY_FUNCTION(fun, eval_fun) \
+ \
+template <class T, class U, class V, class W> \
+inline __gmp_expr<typename __gmp_resolve_expr<T, V>::value_type, \
+__gmp_binary_expr<__gmp_expr<T, U>, __gmp_expr<V, W>, eval_fun> > \
+fun(const __gmp_expr<T, U> &expr1, const __gmp_expr<V, W> &expr2) \
+{ \
+ return __gmp_expr<typename __gmp_resolve_expr<T, V>::value_type, \
+ __gmp_binary_expr<__gmp_expr<T, U>, __gmp_expr<V, W>, eval_fun> > \
+ (expr1, expr2); \
+}
+
+#define __GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, bigtype) \
+ \
+template <class T, class U> \
+inline __gmp_expr \
+<T, __gmp_binary_expr<__gmp_expr<T, U>, bigtype, eval_fun> > \
+fun(const __gmp_expr<T, U> &expr, type t) \
+{ \
+ return __gmp_expr \
+ <T, __gmp_binary_expr<__gmp_expr<T, U>, bigtype, eval_fun> >(expr, t); \
+} \
+ \
+template <class T, class U> \
+inline __gmp_expr \
+<T, __gmp_binary_expr<bigtype, __gmp_expr<T, U>, eval_fun> > \
+fun(type t, const __gmp_expr<T, U> &expr) \
+{ \
+ return __gmp_expr \
+ <T, __gmp_binary_expr<bigtype, __gmp_expr<T, U>, eval_fun> >(t, expr); \
+}
+
+#define __GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \
+__GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, signed long int)
+
+#define __GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \
+__GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, unsigned long int)
+
+#define __GMPND_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \
+__GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, double)
+
+#define __GMPNLD_DEFINE_BINARY_FUNCTION(fun, eval_fun, type) \
+__GMPNN_DEFINE_BINARY_FUNCTION(fun, eval_fun, type, long double)
+
+#define __GMPN_DEFINE_BINARY_FUNCTION(fun, eval_fun) \
+__GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed char) \
+__GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned char) \
+__GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed int) \
+__GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned int) \
+__GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed short int) \
+__GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned short int) \
+__GMPNS_DEFINE_BINARY_FUNCTION(fun, eval_fun, signed long int) \
+__GMPNU_DEFINE_BINARY_FUNCTION(fun, eval_fun, unsigned long int) \
+__GMPND_DEFINE_BINARY_FUNCTION(fun, eval_fun, float) \
+__GMPND_DEFINE_BINARY_FUNCTION(fun, eval_fun, double) \
+__GMPNLD_DEFINE_BINARY_FUNCTION(fun, eval_fun, long double)
+
+#define __GMP_DEFINE_BINARY_FUNCTION(fun, eval_fun) \
+__GMPP_DEFINE_BINARY_FUNCTION(fun, eval_fun) \
+__GMPN_DEFINE_BINARY_FUNCTION(fun, eval_fun)
+
+
+#define __GMP_DEFINE_BINARY_FUNCTION_UI(fun, eval_fun) \
+ \
+template <class T, class U> \
+inline __gmp_expr \
+<T, __gmp_binary_expr<__gmp_expr<T, U>, unsigned long int, eval_fun> > \
+fun(const __gmp_expr<T, U> &expr, unsigned long int l) \
+{ \
+ return __gmp_expr<T, __gmp_binary_expr \
+ <__gmp_expr<T, U>, unsigned long int, eval_fun> >(expr, l); \
+}
+
+
+#define __GMPP_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \
+ \
+template <class T, class U, class V, class W> \
+inline type fun(const __gmp_expr<T, U> &expr1, \
+ const __gmp_expr<V, W> &expr2) \
+{ \
+ typedef typename __gmp_resolve_expr<T, V>::value_type eval_type; \
+ typename __gmp_resolve_temp<eval_type, T, U>::temp_type temp1(expr1); \
+ typename __gmp_resolve_temp<eval_type, V, W>::temp_type temp2(expr2); \
+ return eval_fun::eval(temp1.__get_mp(), temp2.__get_mp()); \
+}
+
+#define __GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, \
+ type2, bigtype) \
+ \
+template <class T, class U> \
+inline type fun(const __gmp_expr<T, U> &expr, type2 t) \
+{ \
+ typename __gmp_resolve_temp<T, T, U>::temp_type temp(expr); \
+ return eval_fun::eval(temp.__get_mp(), static_cast<bigtype>(t)); \
+} \
+ \
+template <class T, class U> \
+inline type fun(type2 t, const __gmp_expr<T, U> &expr) \
+{ \
+ typename __gmp_resolve_temp<T, T, U>::temp_type temp(expr); \
+ return eval_fun::eval(static_cast<bigtype>(t), temp.__get_mp()); \
+}
+
+#define __GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, \
+ type2, signed long int)
+
+#define __GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, \
+ type2, unsigned long int)
+
+#define __GMPND_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2, double)
+
+#define __GMPNLD_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, type2, long double)
+
+#define __GMPN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \
+__GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed char) \
+__GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned char) \
+__GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed int) \
+__GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned int) \
+__GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed short int) \
+__GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned short int) \
+__GMPNS_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, signed long int) \
+__GMPNU_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, unsigned long int) \
+__GMPND_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, float) \
+__GMPND_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, double) \
+__GMPNLD_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun, long double)
+
+#define __GMP_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \
+__GMPP_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun) \
+__GMPN_DEFINE_BINARY_TYPE_FUNCTION(type, fun, eval_fun)
+
+
+// member operators
+
+#define __GMPP_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \
+ \
+template <class T, class U> \
+inline type##_class & type##_class::fun(const __gmp_expr<T, U> &expr) \
+{ \
+ __gmp_set_expr(mp, __gmp_expr<type##_t, __gmp_binary_expr \
+ <type##_class, __gmp_expr<T, U>, eval_fun> >(*this, expr)); \
+ return *this; \
+}
+
+#define __GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, \
+ type2, bigtype) \
+ \
+inline type##_class & type##_class::fun(type2 t) \
+{ \
+ __gmp_set_expr(mp, __gmp_expr<type##_t, __gmp_binary_expr \
+ <type##_class, bigtype, eval_fun> >(*this, t)); \
+ return *this; \
+}
+
+#define __GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, \
+ type2, signed long int)
+
+#define __GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, \
+ type2, unsigned long int)
+
+#define __GMPND_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2, double)
+
+#define __GMPNLD_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2) \
+__GMPNN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, type2, long double)
+
+#define __GMPN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \
+__GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed char) \
+__GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned char) \
+__GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed int) \
+__GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned int) \
+__GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed short int) \
+__GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned short int) \
+__GMPNS_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, signed long int) \
+__GMPNU_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, unsigned long int) \
+__GMPND_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, float) \
+__GMPND_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, double) \
+/* __GMPNLD_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun, long double) */
+
+#define __GMP_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \
+__GMPP_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun) \
+__GMPN_DEFINE_COMPOUND_OPERATOR(type, fun, eval_fun)
+
+#define __GMPZ_DEFINE_COMPOUND_OPERATOR(fun, eval_fun) \
+__GMP_DEFINE_COMPOUND_OPERATOR(mpz, fun, eval_fun)
+
+#define __GMPQ_DEFINE_COMPOUND_OPERATOR(fun, eval_fun) \
+__GMP_DEFINE_COMPOUND_OPERATOR(mpq, fun, eval_fun)
+
+#define __GMPF_DEFINE_COMPOUND_OPERATOR(fun, eval_fun) \
+__GMP_DEFINE_COMPOUND_OPERATOR(mpf, fun, eval_fun)
+
+
+
+#define __GMP_DEFINE_COMPOUND_OPERATOR_UI(type, fun, eval_fun) \
+ \
+inline type##_class & type##_class::fun(unsigned long int l) \
+{ \
+ __gmp_set_expr(mp, __gmp_expr<type##_t, __gmp_binary_expr \
+ <type##_class, unsigned long int, eval_fun> >(*this, l)); \
+ return *this; \
+}
+
+#define __GMPZ_DEFINE_COMPOUND_OPERATOR_UI(fun, eval_fun) \
+__GMP_DEFINE_COMPOUND_OPERATOR_UI(mpz, fun, eval_fun)
+
+#define __GMPQ_DEFINE_COMPOUND_OPERATOR_UI(fun, eval_fun) \
+__GMP_DEFINE_COMPOUND_OPERATOR_UI(mpq, fun, eval_fun)
+
+#define __GMPF_DEFINE_COMPOUND_OPERATOR_UI(fun, eval_fun) \
+__GMP_DEFINE_COMPOUND_OPERATOR_UI(mpf, fun, eval_fun)
+
+
+
+#define __GMP_DEFINE_INCREMENT_OPERATOR(type, fun, eval_fun) \
+ \
+inline type##_class & type##_class::fun() \
+{ \
+ eval_fun::eval(mp); \
+ return *this; \
+} \
+ \
+inline type##_class type##_class::fun(int) \
+{ \
+ type##_class temp(*this); \
+ eval_fun::eval(mp); \
+ return temp; \
+}
+
+#define __GMPZ_DEFINE_INCREMENT_OPERATOR(fun, eval_fun) \
+__GMP_DEFINE_INCREMENT_OPERATOR(mpz, fun, eval_fun)
+
+#define __GMPQ_DEFINE_INCREMENT_OPERATOR(fun, eval_fun) \
+__GMP_DEFINE_INCREMENT_OPERATOR(mpq, fun, eval_fun)
+
+#define __GMPF_DEFINE_INCREMENT_OPERATOR(fun, eval_fun) \
+__GMP_DEFINE_INCREMENT_OPERATOR(mpf, fun, eval_fun)
+
+
+
+/**************** Arithmetic operators and functions ****************/
+
+// non-member operators and functions
+
+__GMP_DEFINE_UNARY_FUNCTION(operator+, __gmp_unary_plus)
+__GMP_DEFINE_UNARY_FUNCTION(operator-, __gmp_unary_minus)
+__GMP_DEFINE_UNARY_FUNCTION(operator~, __gmp_unary_com)
+
+__GMP_DEFINE_BINARY_FUNCTION(operator+, __gmp_binary_plus)
+__GMP_DEFINE_BINARY_FUNCTION(operator-, __gmp_binary_minus)
+__GMP_DEFINE_BINARY_FUNCTION(operator*, __gmp_binary_multiplies)
+__GMP_DEFINE_BINARY_FUNCTION(operator/, __gmp_binary_divides)
+__GMP_DEFINE_BINARY_FUNCTION(operator%, __gmp_binary_modulus)
+__GMP_DEFINE_BINARY_FUNCTION(operator&, __gmp_binary_and)
+__GMP_DEFINE_BINARY_FUNCTION(operator|, __gmp_binary_ior)
+__GMP_DEFINE_BINARY_FUNCTION(operator^, __gmp_binary_xor)
+
+__GMP_DEFINE_BINARY_FUNCTION_UI(operator<<, __gmp_binary_lshift)
+__GMP_DEFINE_BINARY_FUNCTION_UI(operator>>, __gmp_binary_rshift)
+
+__GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator==, __gmp_binary_equal)
+__GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator!=, __gmp_binary_not_equal)
+__GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator<, __gmp_binary_less)
+__GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator<=, __gmp_binary_less_equal)
+__GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator>, __gmp_binary_greater)
+__GMP_DEFINE_BINARY_TYPE_FUNCTION(bool, operator>=, \
+ __gmp_binary_greater_equal)
+
+__GMP_DEFINE_UNARY_FUNCTION(abs, __gmp_abs_function)
+__GMP_DEFINE_UNARY_FUNCTION(trunc, __gmp_trunc_function)
+__GMP_DEFINE_UNARY_FUNCTION(floor, __gmp_floor_function)
+__GMP_DEFINE_UNARY_FUNCTION(ceil, __gmp_ceil_function)
+__GMP_DEFINE_UNARY_FUNCTION(sqrt, __gmp_sqrt_function)
+__GMP_DEFINE_BINARY_FUNCTION(hypot, __gmp_hypot_function)
+
+__GMP_DEFINE_UNARY_TYPE_FUNCTION(int, sgn, __gmp_sgn_function)
+__GMP_DEFINE_BINARY_TYPE_FUNCTION(int, cmp, __gmp_cmp_function)
+
+// member operators for mpz_class
+
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator+=, __gmp_binary_plus)
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator-=, __gmp_binary_minus)
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator*=, __gmp_binary_multiplies)
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator/=, __gmp_binary_divides)
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator%=, __gmp_binary_modulus)
+
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator&=, __gmp_binary_and)
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator|=, __gmp_binary_ior)
+__GMPZ_DEFINE_COMPOUND_OPERATOR(operator^=, __gmp_binary_xor)
+
+__GMPZ_DEFINE_COMPOUND_OPERATOR_UI(operator<<=, __gmp_binary_lshift)
+__GMPZ_DEFINE_COMPOUND_OPERATOR_UI(operator>>=, __gmp_binary_rshift)
+
+__GMPZ_DEFINE_INCREMENT_OPERATOR(operator++, __gmp_unary_increment)
+__GMPZ_DEFINE_INCREMENT_OPERATOR(operator--, __gmp_unary_decrement)
+
+// member operators for mpq_class
+
+__GMPQ_DEFINE_COMPOUND_OPERATOR(operator+=, __gmp_binary_plus)
+__GMPQ_DEFINE_COMPOUND_OPERATOR(operator-=, __gmp_binary_minus)
+__GMPQ_DEFINE_COMPOUND_OPERATOR(operator*=, __gmp_binary_multiplies)
+__GMPQ_DEFINE_COMPOUND_OPERATOR(operator/=, __gmp_binary_divides)
+
+__GMPQ_DEFINE_COMPOUND_OPERATOR_UI(operator<<=, __gmp_binary_lshift)
+__GMPQ_DEFINE_COMPOUND_OPERATOR_UI(operator>>=, __gmp_binary_rshift)
+
+__GMPQ_DEFINE_INCREMENT_OPERATOR(operator++, __gmp_unary_increment)
+__GMPQ_DEFINE_INCREMENT_OPERATOR(operator--, __gmp_unary_decrement)
+
+// member operators for mpf_class
+
+__GMPF_DEFINE_COMPOUND_OPERATOR(operator+=, __gmp_binary_plus)
+__GMPF_DEFINE_COMPOUND_OPERATOR(operator-=, __gmp_binary_minus)
+__GMPF_DEFINE_COMPOUND_OPERATOR(operator*=, __gmp_binary_multiplies)
+__GMPF_DEFINE_COMPOUND_OPERATOR(operator/=, __gmp_binary_divides)
+
+__GMPF_DEFINE_COMPOUND_OPERATOR_UI(operator<<=, __gmp_binary_lshift)
+__GMPF_DEFINE_COMPOUND_OPERATOR_UI(operator>>=, __gmp_binary_rshift)
+
+__GMPF_DEFINE_INCREMENT_OPERATOR(operator++, __gmp_unary_increment)
+__GMPF_DEFINE_INCREMENT_OPERATOR(operator--, __gmp_unary_decrement)
+
+
+
+/**************** Class wrapper for gmp_randstate_t ****************/
+
+class __gmp_urandomb_value { };
+class __gmp_urandomm_value { };
+
+template <>
+class __gmp_expr<mpz_t, __gmp_urandomb_value>
+{
+private:
+ __gmp_randstate_struct *state;
+ unsigned long int bits;
+public:
+ __gmp_expr(gmp_randstate_t s, unsigned long int l) : state(s), bits(l) { }
+ void eval(mpz_ptr z) const { __gmp_rand_function::eval(z, state, bits); }
+ unsigned long int get_prec() const { return mpf_get_default_prec(); }
+};
+
+template <>
+class __gmp_expr<mpz_t, __gmp_urandomm_value>
+{
+private:
+ __gmp_randstate_struct *state;
+ mpz_class range;
+public:
+ __gmp_expr(gmp_randstate_t s, const mpz_class &z) : state(s), range(z) { }
+ void eval(mpz_ptr z) const
+ { __gmp_rand_function::eval(z, state, range.get_mpz_t()); }
+ unsigned long int get_prec() const { return mpf_get_default_prec(); }
+};
+
+template <>
+class __gmp_expr<mpf_t, __gmp_urandomb_value>
+{
+private:
+ __gmp_randstate_struct *state;
+ unsigned long int bits;
+public:
+ __gmp_expr(gmp_randstate_t s, unsigned long int l) : state(s), bits(l) { }
+ void eval(mpf_ptr f, mp_bitcnt_t prec) const
+ { __gmp_rand_function::eval(f, state, (bits>0) ? get_prec() : prec); }
+ unsigned long int get_prec() const
+ {
+ if (bits == 0)
+ return mpf_get_default_prec();
+ else
+ return bits;
+ }
+};
+
+extern "C" {
+ typedef void __gmp_randinit_default_t (gmp_randstate_t);
+ typedef void __gmp_randinit_lc_2exp_t (gmp_randstate_t, mpz_srcptr, unsigned long int, unsigned long int);
+ typedef int __gmp_randinit_lc_2exp_size_t (gmp_randstate_t, unsigned long int);
+}
+
+class gmp_randclass
+{
+private:
+ gmp_randstate_t state;
+
+ // copy construction and assignment not allowed
+ gmp_randclass(const gmp_randclass &);
+ void operator=(const gmp_randclass &);
+public:
+ // constructors and destructor
+ gmp_randclass(gmp_randalg_t alg, unsigned long int size)
+ {
+ switch (alg)
+ {
+ case GMP_RAND_ALG_LC: // no other cases for now
+ default:
+ gmp_randinit(state, alg, size);
+ break;
+ }
+ }
+
+ // gmp_randinit_default
+ gmp_randclass(__gmp_randinit_default_t* f) { f(state); }
+
+ // gmp_randinit_lc_2exp
+ gmp_randclass(__gmp_randinit_lc_2exp_t* f,
+ mpz_class z, unsigned long int l1, unsigned long int l2)
+ { f(state, z.get_mpz_t(), l1, l2); }
+
+ // gmp_randinit_lc_2exp_size
+ gmp_randclass(__gmp_randinit_lc_2exp_size_t* f,
+ unsigned long int size)
+ {
+ if (f (state, size) == 0)
+ throw std::length_error ("gmp_randinit_lc_2exp_size");
+ }
+
+ ~gmp_randclass() { gmp_randclear(state); }
+
+ // initialize
+ void seed(); // choose a random seed some way (?)
+ void seed(unsigned long int s) { gmp_randseed_ui(state, s); }
+ void seed(const mpz_class &z) { gmp_randseed(state, z.get_mpz_t()); }
+
+ // get random number
+ __gmp_expr<mpz_t, __gmp_urandomb_value> get_z_bits(unsigned long int l)
+ { return __gmp_expr<mpz_t, __gmp_urandomb_value>(state, l); }
+ __gmp_expr<mpz_t, __gmp_urandomb_value> get_z_bits(const mpz_class &z)
+ { return get_z_bits(z.get_ui()); }
+
+ __gmp_expr<mpz_t, __gmp_urandomm_value> get_z_range(const mpz_class &z)
+ { return __gmp_expr<mpz_t, __gmp_urandomm_value>(state, z); }
+
+ __gmp_expr<mpf_t, __gmp_urandomb_value> get_f(mp_bitcnt_t prec = 0)
+ { return __gmp_expr<mpf_t, __gmp_urandomb_value>(state, prec); }
+};
+
+
+/**************** #undef all private macros ****************/
+
+#undef __GMPP_DECLARE_COMPOUND_OPERATOR
+#undef __GMPN_DECLARE_COMPOUND_OPERATOR
+#undef __GMP_DECLARE_COMPOUND_OPERATOR
+#undef __GMP_DECLARE_COMPOUND_OPERATOR_UI
+#undef __GMP_DECLARE_INCREMENT_OPERATOR
+
+#undef __GMPZQ_DEFINE_EXPR
+
+#undef __GMP_DEFINE_UNARY_FUNCTION
+#undef __GMP_DEFINE_UNARY_TYPE_FUNCTION
+
+#undef __GMPP_DEFINE_BINARY_FUNCTION
+#undef __GMPNN_DEFINE_BINARY_FUNCTION
+#undef __GMPNS_DEFINE_BINARY_FUNCTION
+#undef __GMPNU_DEFINE_BINARY_FUNCTION
+#undef __GMPND_DEFINE_BINARY_FUNCTION
+#undef __GMPNLD_DEFINE_BINARY_FUNCTION
+#undef __GMPN_DEFINE_BINARY_FUNCTION
+#undef __GMP_DEFINE_BINARY_FUNCTION
+
+#undef __GMP_DEFINE_BINARY_FUNCTION_UI
+
+#undef __GMPP_DEFINE_BINARY_TYPE_FUNCTION
+#undef __GMPNN_DEFINE_BINARY_TYPE_FUNCTION
+#undef __GMPNS_DEFINE_BINARY_TYPE_FUNCTION
+#undef __GMPNU_DEFINE_BINARY_TYPE_FUNCTION
+#undef __GMPND_DEFINE_BINARY_TYPE_FUNCTION
+#undef __GMPNLD_DEFINE_BINARY_TYPE_FUNCTION
+#undef __GMPN_DEFINE_BINARY_TYPE_FUNCTION
+#undef __GMP_DEFINE_BINARY_TYPE_FUNCTION
+
+#undef __GMPZ_DEFINE_COMPOUND_OPERATOR
+#undef __GMPZN_DEFINE_COMPOUND_OPERATOR
+#undef __GMPZNN_DEFINE_COMPOUND_OPERATOR
+#undef __GMPZNS_DEFINE_COMPOUND_OPERATOR
+#undef __GMPZNU_DEFINE_COMPOUND_OPERATOR
+#undef __GMPZND_DEFINE_COMPOUND_OPERATOR
+#undef __GMPZNLD_DEFINE_COMPOUND_OPERATOR
+
+#undef __GMPP_DEFINE_COMPOUND_OPERATOR
+#undef __GMPNN_DEFINE_COMPOUND_OPERATOR
+#undef __GMPNS_DEFINE_COMPOUND_OPERATOR
+#undef __GMPNU_DEFINE_COMPOUND_OPERATOR
+#undef __GMPND_DEFINE_COMPOUND_OPERATOR
+#undef __GMPNLD_DEFINE_COMPOUND_OPERATOR
+#undef __GMPN_DEFINE_COMPOUND_OPERATOR
+#undef __GMP_DEFINE_COMPOUND_OPERATOR
+
+#undef __GMPQ_DEFINE_COMPOUND_OPERATOR
+#undef __GMPF_DEFINE_COMPOUND_OPERATOR
+
+#undef __GMP_DEFINE_COMPOUND_OPERATOR_UI
+#undef __GMPZ_DEFINE_COMPOUND_OPERATOR_UI
+#undef __GMPQ_DEFINE_COMPOUND_OPERATOR_UI
+#undef __GMPF_DEFINE_COMPOUND_OPERATOR_UI
+
+#undef __GMP_DEFINE_INCREMENT_OPERATOR
+#undef __GMPZ_DEFINE_INCREMENT_OPERATOR
+#undef __GMPQ_DEFINE_INCREMENT_OPERATOR
+#undef __GMPF_DEFINE_INCREMENT_OPERATOR
+
+#endif /* __GMP_PLUSPLUS__ */

Added: sandbox/multiprecision/test/linpack_test/libf2c/f2c.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/linpack_test/libf2c/f2c.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,234 @@
+// f2c.h -- Standard Fortran to C header file
+// Modified by Chris for improved portability.
+
+// barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
+// - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition)
+
+#ifndef F2C_INCLUDE
+ #define F2C_INCLUDE
+
+ typedef long int integer;
+ typedef unsigned long int uinteger;
+ typedef char* address;
+ typedef short int shortint;
+ typedef float real;
+ typedef double doublereal;
+ typedef struct struct_complex { real r, i; } complex;
+ typedef struct struct_doublecomplex { doublereal r, i; } doublecomplex;
+ typedef long int logical;
+ typedef short int shortlogical;
+ typedef char logical1;
+ typedef char integer1;
+ typedef signed long long longint; // Adjust for signed integer*8
+ typedef unsigned long long ulongint; // Adjust for unsigned integer*8
+ #define qbit_clear(a,b) ((a) & ~((ulongint)1 << (b)))
+ #define qbit_set(a,b) ((a) | ((ulongint)1 << (b)))
+
+ #define TRUE_ (1)
+ #define FALSE_ (0)
+
+ // Extern is for use with -E
+ #ifndef Extern
+ #define Extern extern
+ #endif
+
+ // I/O stuff
+ typedef long int flag;
+ typedef long int ftnlen;
+ typedef long int ftnint;
+
+ // external read, write
+ typedef struct struct_clist
+ {
+ flag cierr;
+ ftnint ciunit;
+ flag ciend;
+ char* cifmt;
+ ftnint cirec;
+ }
+ cilist;
+
+ // internal read, write
+ typedef struct struct_icilist
+ {
+ flag icierr;
+ char* iciunit;
+ flag iciend;
+ char* icifmt;
+ ftnint icirlen;
+ ftnint icirnum;
+ }
+ icilist;
+
+ // open
+ typedef struct struct_olist
+ {
+ flag oerr;
+ ftnint ounit;
+ char* ofnm;
+ ftnlen ofnmlen;
+ char* osta;
+ char* oacc;
+ char* ofm;
+ ftnint orl;
+ char* oblnk;
+ }
+ olist;
+
+ // close
+ typedef struct struct_cllist
+ {
+ flag cerr;
+ ftnint cunit;
+ char* csta;
+ }
+ cllist;
+
+ // rewind, backspace, endfile
+ typedef struct struct_alist
+ {
+ flag aerr;
+ ftnint aunit;
+ }
+ alist;
+
+ // inquire
+ typedef struct struct_inlist
+ {
+ flag inerr;
+ ftnint inunit;
+ char* infile;
+ ftnlen infilen;
+ ftnint* inex; // parameters in standard's order
+ ftnint* inopen;
+ ftnint* innum;
+ ftnint* innamed;
+ char* inname;
+ ftnlen innamlen;
+ char* inacc;
+ ftnlen inacclen;
+ char* inseq;
+ ftnlen inseqlen;
+ char * indir;
+ ftnlen indirlen;
+ char* infmt;
+ ftnlen infmtlen;
+ char* inform;
+ ftnint informlen;
+ char* inunf;
+ ftnlen inunflen;
+ ftnint* inrecl;
+ ftnint* innrec;
+ char* inblank;
+ ftnlen inblanklen;
+ }
+ inlist;
+
+ #define VOID void
+
+ typedef union union_Multitype
+ {
+ // for multiple entry points
+ integer1 g;
+ shortint h;
+ integer i;
+ //longint j;
+ real r;
+ doublereal d;
+ complex c;
+ doublecomplex z;
+ }
+ Multitype;
+
+ typedef struct struct_Vardesc
+ {
+ // for Namelist
+ char* name;
+ char* addr;
+ ftnlen* dims;
+ int type;
+ }
+ Vardesc;
+
+ typedef struct struct_Namelist
+ {
+ char* name;
+ Vardesc** vars;
+ int nvars;
+ }
+ Namelist;
+
+ #define abs(x) ((x) >= 0 ? (x) : -(x))
+ #define dabs(x) (doublereal)abs(x)
+ #ifndef min
+ #define min(a,b) ((a) <= (b) ? (a) : (b))
+ #endif
+ #ifndef max
+ #define max(a,b) ((a) >= (b) ? (a) : (b))
+ #endif
+ #define dmin(a,b) (doublereal)min(a,b)
+ #define dmax(a,b) (doublereal)max(a,b)
+ #define bit_test(a,b) ((a) >> (b) & 1)
+ #define bit_clear(a,b) ((a) & ~((uinteger)1 << (b)))
+ #define bit_set(a,b) ((a) | ((uinteger)1 << (b)))
+
+ // procedure parameter types for -A and -C++
+
+ #define F2C_proc_par_types 1
+
+ #ifdef __cplusplus
+ typedef int (*U_fp)(...); // Unknown procedure type
+ typedef shortint (*J_fp)(...);
+ typedef integer (*I_fp)(...);
+ typedef real (*R_fp)(...);
+ typedef doublereal (*D_fp)(...), (*E_fp)(...);
+ typedef VOID (*C_fp)(...); // Complex
+ typedef VOID (*Z_fp)(...); // Double Complex
+ typedef logical (*L_fp)(...);
+ typedef shortlogical (*K_fp)(...);
+ typedef VOID (*H_fp)(...); // Character
+ typedef int (*S_fp)(...); // Subroutine
+ #else
+ typedef int (*U_fp)(); // Unknown procedure type
+ typedef shortint (*J_fp)();
+ typedef integer (*I_fp)();
+ typedef real (*R_fp)();
+ typedef doublereal (*D_fp)(), (*E_fp)();
+ typedef VOID (*C_fp)(); // Complex
+ typedef VOID (*Z_fp)(); // Double Complex
+ typedef logical (*L_fp)();
+ typedef shortlogical (*K_fp)();
+ typedef VOID (*H_fp)(); // Character
+ typedef int (*S_fp)(); // Subroutine
+ #endif
+
+ // E_fp is for real functions when -R is not specified
+ typedef VOID C_f; // complex function
+ typedef VOID H_f; // character function
+ typedef VOID Z_f; // double complex function
+ typedef doublereal E_f; // real function with -R not specified
+
+ // undef any lower-case symbols that your C compiler predefines, e.g.:
+
+ #ifndef Skip_f2c_Undefs
+ #undef cray
+ #undef gcos
+ #undef mc68010
+ #undef mc68020
+ #undef mips
+ #undef pdp11
+ #undef sgi
+ #undef sparc
+ #undef sun
+ #undef sun2
+ #undef sun3
+ #undef sun4
+ #undef u370
+ #undef u3b
+ #undef u3b2
+ #undef u3b5
+ #undef unix
+ #undef vax
+ #endif
+
+#endif // F2C_INCLUDE

Added: sandbox/multiprecision/test/linpack_test/libf2c/vc9/p4/libf2c.lib
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/test/linpack_test/libf2c/vc9/x64/libf2c.lib
==============================================================================
Binary file. No diff available.

Added: sandbox/multiprecision/test/linpack_test/linpack-benchmark.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/linpack_test/linpack-benchmark.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,1250 @@
+///////////////////////////////////////////////////////////////////////////////
+// Copyright 2011 John Maddock. Distributed under the Boost
+// Software License, Version 1.0. (See accompanying file
+// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+/* 1000d.f -- translated by f2c (version 20050501).
+You must link the resulting object file with libf2c:
+on Microsoft Windows system, link with libf2c.lib;
+on Linux or Unix systems, link with .../path/to/libf2c.a -lm
+or, if you install libf2c.a in a standard place, with -lf2c -lm
+-- in that order, at the end of the command line, as in
+cc *.o -lf2c -lm
+Source for libf2c is available at, e.g.,
+http://netlib.sandia.gov/f2c/index.html
+*/
+
+// When using with Visual Studio, add this to the linker input options:
+// ../test/linpack_test/libf2c/vc9/x64/libf2c.lib
+
+#define TEST_EFLOAT_NATIVE
+//#define TEST_GMPXX
+
+#include <iostream>
+#include <iomanip>
+#include <cmath>
+
+#if defined(TEST_GMPXX)
+ #if defined(_MSC_VER)
+ #pragma warning(disable:4127)
+ #pragma warning(disable:4146)
+ #pragma warning(disable:4503)
+ #pragma warning(disable:4512)
+ #pragma warning(disable:4800)
+ #endif
+ #include "gmp/gmpxx.h"
+ typedef mpf_class real_type;
+ std::ostream & operator<<(std::ostream &o, const __mpf_struct*) { return o; } // TBD: Why the linker error? What should be done here?
+#elif defined(TEST_EFLOAT_NATIVE)
+ #include <boost/multiprecision/mp_float.hpp>
+ typedef mp_float real_type;
+#define CAST_TO_RT(x) real_type(x)
+#else
+ typedef double real_type;
+#endif
+
+#ifndef CAST_TO_RT
+#define CAST_TO_RT(x) x
+#endif
+
+#include "libf2c/f2c.h"
+
+extern "C" integer s_wsfe(cilist *);
+extern "C" integer e_wsfe(void);
+extern "C" integer do_fio(integer *, char *, ftnlen);
+extern "C" integer s_wsle(cilist *);
+extern "C" integer do_lio(integer *, integer *, char *, ftnlen);
+extern "C" integer e_wsle(void);
+extern "C" int s_stop(char *, ftnlen);
+
+#undef abs
+#undef dabs
+#define dabs abs
+#undef min
+#undef max
+#undef dmin
+#undef dmax
+#define dmin min
+#define dmax max
+
+#include <time.h>
+
+
+#if defined(TEST_EFLOAT_NATIVE)
+#include <boost/multiprecision/mp_float_functions.hpp>
+using namespace boost::multiprecision;
+#endif
+
+using std::min;
+using std::max;
+
+/* Table of constant values */
+
+static integer c__0 = 0;
+static real_type c_b7 = CAST_TO_RT(1);
+static integer c__1 = 1;
+static integer c__9 = 9;
+
+inline double second_(void)
+{
+ return ((double)(clock())) / CLOCKS_PER_SEC;
+}
+
+int dgefa_(real_type *, integer *, integer *, integer *, integer *), dgesl_(real_type *, integer *, integer *, integer *, real_type *, integer *);
+int dmxpy_(integer *, real_type *, integer *, integer *, real_type *, real_type *);
+int matgen_(real_type *, integer *, integer *, real_type *, real_type *);
+real_type epslon_(real_type *);
+real_type ran_(integer *);
+int dscal_(integer *, real_type *, real_type *, integer *);
+int daxpy_(integer *, real_type *, real_type *, integer *, real_type *, integer *);
+integer idamax_(integer *, real_type *, integer *);
+real_type ddot_(integer *, real_type *, integer *, real_type *, integer *);
+int daxpy_(integer *, real_type *, real_type *, integer *, real_type *, integer *);
+int dmxpy_(integer *, real_type *, integer *, integer *, real_type *, real_type *);
+
+
+extern "C" int MAIN__()
+{
+#if defined(TEST_GMPXX)
+ std::cout << "Testing mpf_class at 100 decimal digits" << std::endl;
+ mpf_set_default_prec(((115) * 1000L) / 301L);
+#elif defined(TEST_EFLOAT_NATIVE)
+ std::cout << "Testing native mp_float at " << std::numeric_limits<mp_float>::digits10 << " digits" << std::endl;
+#else
+ std::cout << "Testing double" << std::endl;
+#endif
+
+ /* Format strings */
+ static char fmt_1[] = "(\002 Please send the results of this run to:\002"
+ "//\002 Jack J. Dongarra\002/\002 Computer Science Department\002/"
+ "\002 University of Tennessee\002/\002 Knoxville, Tennessee 37996"
+ "-1300\002//\002 Fax: 615-974-8296\002//\002 Internet: dongarra_at_c"
+ "s.utk.edu\002/)";
+ static char fmt_40[] = "(\002 norm. resid resid mac"
+ "hep\002,\002 x(1) x(n)\002)";
+ static char fmt_50[] = "(1p5e16.8)";
+ static char fmt_60[] = "(//\002 times are reported for matrices of or"
+ "der \002,i5)";
+ static char fmt_70[] = "(6x,\002factor\002,5x,\002solve\002,6x,\002tota"
+ "l\002,5x,\002mflops\002,7x,\002unit\002,6x,\002ratio\002)";
+ static char fmt_80[] = "(\002 times for array with leading dimension o"
+ "f\002,i4)";
+ static char fmt_110[] = "(6(1pe11.3))";
+
+ /* System generated locals */
+ integer i__1;
+ real_type d__1, d__2, d__3;
+
+ /* Builtin functions */
+
+ /* Local variables */
+ static real_type a[1001000] /* was [1001][1000] */, b[1000];
+ static integer i__, n;
+ static real_type x[1000];
+ static double t1;
+ static integer lda;
+ static double ops;
+ static real_type eps;
+ static integer info;
+ static double time[6], cray, total;
+ static integer ipvt[1000];
+ static real_type resid, norma;
+ static real_type normx;
+ static real_type residn;
+
+ /* Fortran I/O blocks */
+ static cilist io___4 = { 0, 6, 0, fmt_1, 0 };
+ static cilist io___20 = { 0, 6, 0, fmt_40, 0 };
+ static cilist io___21 = { 0, 6, 0, fmt_50, 0 };
+ static cilist io___22 = { 0, 6, 0, fmt_60, 0 };
+ static cilist io___23 = { 0, 6, 0, fmt_70, 0 };
+ static cilist io___24 = { 0, 6, 0, fmt_80, 0 };
+ static cilist io___25 = { 0, 6, 0, fmt_110, 0 };
+ static cilist io___26 = { 0, 6, 0, 0, 0 };
+
+
+ lda = 1001;
+
+ /* this program was updated on 10/12/92 to correct a */
+ /* problem with the random number generator. The previous */
+ /* random number generator had a short period and produced */
+ /* singular matrices occasionally. */
+
+ n = 1000;
+ cray = .056f;
+ s_wsfe(&io___4);
+ e_wsfe();
+ /* Computing 3rd power */
+ d__1 = (real_type) n;
+ /* Computing 2nd power */
+ d__2 = (real_type) n;
+
+ #if defined(TEST_GMPXX)
+ ops = real_type(d__1 * (d__1 * d__1) * 2. / 3. + d__2 * d__2 * 2.).get_d();
+ #elif defined(TEST_EFLOAT_NATIVE)
+ ops = static_cast<double>(real_type(d__1 * (d__1 * d__1) * 2. / 3. + d__2 * d__2 * 2.));
+ #else
+ ops = static_cast<double>(real_type(d__1 * (d__1 * d__1) * 2. / 3. + d__2 * d__2 * 2.));
+ #endif
+
+ matgen_(a, &lda, &n, b, &norma);
+
+ /* ****************************************************************** */
+ /* ****************************************************************** */
+ /* you should replace the call to dgefa and dgesl */
+ /* by calls to your linear equation solver. */
+ /* ****************************************************************** */
+ /* ****************************************************************** */
+
+ t1 = second_();
+ dgefa_(a, &lda, &n, ipvt, &info);
+ time[0] = second_() - t1;
+ t1 = second_();
+ dgesl_(a, &lda, &n, ipvt, b, &c__0);
+ time[1] = second_() - t1;
+ total = time[0] + time[1];
+ /* ****************************************************************** */
+ /* ****************************************************************** */
+
+ /* compute a residual to verify results. */
+
+ i__1 = n;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ x[i__ - 1] = b[i__ - 1];
+ /* L10: */
+ }
+ matgen_(a, &lda, &n, b, &norma);
+ i__1 = n;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ b[i__ - 1] = -b[i__ - 1];
+ /* L20: */
+ }
+ dmxpy_(&n, b, &n, &lda, x, a);
+ resid = CAST_TO_RT(0);
+ normx = CAST_TO_RT(0);
+ i__1 = n;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ /* Computing MAX */
+ d__2 = resid, d__3 = (d__1 = b[i__ - 1], abs(d__1));
+ resid = max(d__2,d__3);
+ /* Computing MAX */
+ d__2 = normx, d__3 = (d__1 = x[i__ - 1], abs(d__1));
+ normx = max(d__2,d__3);
+ /* L30: */
+ }
+ eps = epslon_(&c_b7);
+ residn = resid / (n * norma * normx * eps);
+ s_wsfe(&io___20);
+ e_wsfe();
+ s_wsfe(&io___21);
+ /*
+ do_fio(&c__1, (char *)&residn, (ftnlen)sizeof(real_type));
+ do_fio(&c__1, (char *)&resid, (ftnlen)sizeof(real_type));
+ do_fio(&c__1, (char *)&eps, (ftnlen)sizeof(real_type));
+ do_fio(&c__1, (char *)&x[0], (ftnlen)sizeof(real_type));
+ do_fio(&c__1, (char *)&x[n - 1], (ftnlen)sizeof(real_type));
+ */
+ std::cout << std::setw(12) << std::setprecision(5) << residn << " " << resid << " " << eps << " " << x[0] << " " << x[n-1] << std::endl;
+ e_wsfe();
+
+ s_wsfe(&io___22);
+ do_fio(&c__1, (char *)&n, (ftnlen)sizeof(integer));
+ e_wsfe();
+ s_wsfe(&io___23);
+ e_wsfe();
+
+ time[2] = total;
+ time[3] = ops / (total * 1e6);
+ time[4] = 2. / time[3];
+ time[5] = total / cray;
+ s_wsfe(&io___24);
+ do_fio(&c__1, (char *)&lda, (ftnlen)sizeof(integer));
+ e_wsfe();
+ s_wsfe(&io___25);
+ for (i__ = 1; i__ <= 6; ++i__) {
+ // do_fio(&c__1, (char *)&time[i__ - 1], (ftnlen)sizeof(real_type));
+ std::cout << std::setw(12) << std::setprecision(5) << time[i__ - 1];
+ }
+ e_wsfe();
+ s_wsle(&io___26);
+ do_lio(&c__9, &c__1, " end of tests -- this version dated 10/12/92", (
+ ftnlen)44);
+ e_wsle();
+
+ s_stop("", (ftnlen)0);
+ return 0;
+} /* MAIN__ */
+
+/* Subroutine */ int matgen_(real_type *a, integer *lda, integer *n,
+ real_type *b, real_type *norma)
+{
+ /* System generated locals */
+ integer a_dim1, a_offset, i__1, i__2;
+ real_type d__1, d__2;
+
+ /* Local variables */
+ static integer i__, j;
+ static integer init[4];
+
+
+ /* Parameter adjustments */
+ a_dim1 = *lda;
+ a_offset = 1 + a_dim1;
+ a -= a_offset;
+ --b;
+
+ /* Function Body */
+ init[0] = 1;
+ init[1] = 2;
+ init[2] = 3;
+ init[3] = 1325;
+ *norma = CAST_TO_RT(0);
+ i__1 = *n;
+ for (j = 1; j <= i__1; ++j) {
+ i__2 = *n;
+ for (i__ = 1; i__ <= i__2; ++i__) {
+ a[i__ + j * a_dim1] = ran_(init) - .5f;
+ /* Computing MAX */
+ d__2 = (d__1 = a[i__ + j * a_dim1], abs(d__1));
+ *norma = max(d__2,*norma);
+ /* L20: */
+ }
+ /* L30: */
+ }
+ i__1 = *n;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ b[i__] = CAST_TO_RT(0);
+ /* L35: */
+ }
+ i__1 = *n;
+ for (j = 1; j <= i__1; ++j) {
+ i__2 = *n;
+ for (i__ = 1; i__ <= i__2; ++i__) {
+ b[i__] += a[i__ + j * a_dim1];
+ /* L40: */
+ }
+ /* L50: */
+ }
+ return 0;
+} /* matgen_ */
+
+/* Subroutine */ int dgefa_(real_type *a, integer *lda, integer *n, integer *
+ ipvt, integer *info)
+{
+ /* System generated locals */
+ integer a_dim1, a_offset, i__1, i__2, i__3;
+
+ /* Local variables */
+ static integer j, k, l;
+ static real_type t;
+ static integer kp1, nm1;
+
+
+ /* dgefa factors a double precision matrix by gaussian elimination. */
+
+ /* dgefa is usually called by dgeco, but it can be called */
+ /* directly with a saving in time if rcond is not needed. */
+ /* (time for dgeco) = (1 + 9/n)*(time for dgefa) . */
+
+ /* on entry */
+
+ /* a double precision(lda, n) */
+ /* the matrix to be factored. */
+
+ /* lda integer */
+ /* the leading dimension of the array a . */
+
+ /* n integer */
+ /* the order of the matrix a . */
+
+ /* on return */
+
+ /* a an upper triangular matrix and the multipliers */
+ /* which were used to obtain it. */
+ /* the factorization can be written a = l*u where */
+ /* l is a product of permutation and unit lower */
+ /* triangular matrices and u is upper triangular. */
+
+ /* ipvt integer(n) */
+ /* an integer vector of pivot indices. */
+
+ /* info integer */
+ /* = 0 normal value. */
+ /* = k if u(k,k) .eq. 0.0 . this is not an error */
+ /* condition for this subroutine, but it does */
+ /* indicate that dgesl or dgedi will divide by zero */
+ /* if called. use rcond in dgeco for a reliable */
+ /* indication of singularity. */
+
+ /* linpack. this version dated 08/14/78 . */
+ /* cleve moler, university of new mexico, argonne national lab. */
+
+ /* subroutines and functions */
+
+ /* blas daxpy,dscal,idamax */
+
+ /* internal variables */
+
+
+
+ /* gaussian elimination with partial pivoting */
+
+ /* Parameter adjustments */
+ a_dim1 = *lda;
+ a_offset = 1 + a_dim1;
+ a -= a_offset;
+ --ipvt;
+
+ /* Function Body */
+ *info = 0;
+ nm1 = *n - 1;
+ if (nm1 < 1) {
+ goto L70;
+ }
+ i__1 = nm1;
+ for (k = 1; k <= i__1; ++k) {
+ kp1 = k + 1;
+
+ /* find l = pivot index */
+
+ i__2 = *n - k + 1;
+ l = idamax_(&i__2, &a[k + k * a_dim1], &c__1) + k - 1;
+ ipvt[k] = l;
+
+ /* zero pivot implies this column already triangularized */
+
+ if (a[l + k * a_dim1] == 0.) {
+ goto L40;
+ }
+
+ /* interchange if necessary */
+
+ if (l == k) {
+ goto L10;
+ }
+ t = a[l + k * a_dim1];
+ a[l + k * a_dim1] = a[k + k * a_dim1];
+ a[k + k * a_dim1] = t;
+L10:
+
+ /* compute multipliers */
+
+ t = -1. / a[k + k * a_dim1];
+ i__2 = *n - k;
+ dscal_(&i__2, &t, &a[k + 1 + k * a_dim1], &c__1);
+
+ /* row elimination with column indexing */
+
+ i__2 = *n;
+ for (j = kp1; j <= i__2; ++j) {
+ t = a[l + j * a_dim1];
+ if (l == k) {
+ goto L20;
+ }
+ a[l + j * a_dim1] = a[k + j * a_dim1];
+ a[k + j * a_dim1] = t;
+L20:
+ i__3 = *n - k;
+ daxpy_(&i__3, &t, &a[k + 1 + k * a_dim1], &c__1, &a[k + 1 + j *
+ a_dim1], &c__1);
+ /* L30: */
+ }
+ goto L50;
+L40:
+ *info = k;
+L50:
+ /* L60: */
+ ;
+ }
+L70:
+ ipvt[*n] = *n;
+ if (a[*n + *n * a_dim1] == 0.) {
+ *info = *n;
+ }
+ return 0;
+} /* dgefa_ */
+
+/* Subroutine */ int dgesl_(real_type *a, integer *lda, integer *n, integer *
+ ipvt, real_type *b, integer *job)
+{
+ /* System generated locals */
+ integer a_dim1, a_offset, i__1, i__2;
+
+ /* Local variables */
+ static integer k, l;
+ static real_type t;
+ static integer kb, nm1;
+
+
+ /* dgesl solves the double precision system */
+ /* a * x = b or trans(a) * x = b */
+ /* using the factors computed by dgeco or dgefa. */
+
+ /* on entry */
+
+ /* a double precision(lda, n) */
+ /* the output from dgeco or dgefa. */
+
+ /* lda integer */
+ /* the leading dimension of the array a . */
+
+ /* n integer */
+ /* the order of the matrix a . */
+
+ /* ipvt integer(n) */
+ /* the pivot vector from dgeco or dgefa. */
+
+ /* b double precision(n) */
+ /* the right hand side vector. */
+
+ /* job integer */
+ /* = 0 to solve a*x = b , */
+ /* = nonzero to solve trans(a)*x = b where */
+ /* trans(a) is the transpose. */
+
+ /* on return */
+
+ /* b the solution vector x . */
+
+ /* error condition */
+
+ /* a division by zero will occur if the input factor contains a */
+ /* zero on the diagonal. technically this indicates singularity */
+ /* but it is often caused by improper arguments or improper */
+ /* setting of lda . it will not occur if the subroutines are */
+ /* called correctly and if dgeco has set rcond .gt. 0.0 */
+ /* or dgefa has set info .eq. 0 . */
+
+ /* to compute inverse(a) * c where c is a matrix */
+ /* with p columns */
+ /* call dgeco(a,lda,n,ipvt,rcond,z) */
+ /* if (rcond is too small) go to ... */
+ /* do 10 j = 1, p */
+ /* call dgesl(a,lda,n,ipvt,c(1,j),0) */
+ /* 10 continue */
+
+ /* linpack. this version dated 08/14/78 . */
+ /* cleve moler, university of new mexico, argonne national lab. */
+
+ /* subroutines and functions */
+
+ /* blas daxpy,ddot */
+
+ /* internal variables */
+
+
+ /* Parameter adjustments */
+ a_dim1 = *lda;
+ a_offset = 1 + a_dim1;
+ a -= a_offset;
+ --ipvt;
+ --b;
+
+ /* Function Body */
+ nm1 = *n - 1;
+ if (*job != 0) {
+ goto L50;
+ }
+
+ /* job = 0 , solve a * x = b */
+ /* first solve l*y = b */
+
+ if (nm1 < 1) {
+ goto L30;
+ }
+ i__1 = nm1;
+ for (k = 1; k <= i__1; ++k) {
+ l = ipvt[k];
+ t = b[l];
+ if (l == k) {
+ goto L10;
+ }
+ b[l] = b[k];
+ b[k] = t;
+L10:
+ i__2 = *n - k;
+ daxpy_(&i__2, &t, &a[k + 1 + k * a_dim1], &c__1, &b[k + 1], &c__1);
+ /* L20: */
+ }
+L30:
+
+ /* now solve u*x = y */
+
+ i__1 = *n;
+ for (kb = 1; kb <= i__1; ++kb) {
+ k = *n + 1 - kb;
+ b[k] /= a[k + k * a_dim1];
+ t = -b[k];
+ i__2 = k - 1;
+ daxpy_(&i__2, &t, &a[k * a_dim1 + 1], &c__1, &b[1], &c__1);
+ /* L40: */
+ }
+ goto L100;
+L50:
+
+ /* job = nonzero, solve trans(a) * x = b */
+ /* first solve trans(u)*y = b */
+
+ i__1 = *n;
+ for (k = 1; k <= i__1; ++k) {
+ i__2 = k - 1;
+ t = ddot_(&i__2, &a[k * a_dim1 + 1], &c__1, &b[1], &c__1);
+ b[k] = (b[k] - t) / a[k + k * a_dim1];
+ /* L60: */
+ }
+
+ /* now solve trans(l)*x = y */
+
+ if (nm1 < 1) {
+ goto L90;
+ }
+ i__1 = nm1;
+ for (kb = 1; kb <= i__1; ++kb) {
+ k = *n - kb;
+ i__2 = *n - k;
+ b[k] += ddot_(&i__2, &a[k + 1 + k * a_dim1], &c__1, &b[k + 1], &c__1);
+ l = ipvt[k];
+ if (l == k) {
+ goto L70;
+ }
+ t = b[l];
+ b[l] = b[k];
+ b[k] = t;
+L70:
+ /* L80: */
+ ;
+ }
+L90:
+L100:
+ return 0;
+} /* dgesl_ */
+
+/* Subroutine */ int daxpy_(integer *n, real_type *da, real_type *dx,
+ integer *incx, real_type *dy, integer *incy)
+{
+ /* System generated locals */
+ integer i__1;
+
+ /* Local variables */
+ static integer i__, m, ix, iy, mp1;
+
+
+ /* constant times a vector plus a vector. */
+ /* uses unrolled loops for increments equal to one. */
+ /* jack dongarra, linpack, 3/11/78. */
+
+
+ /* Parameter adjustments */
+ --dy;
+ --dx;
+
+ /* Function Body */
+ if (*n <= 0) {
+ return 0;
+ }
+ if (*da == 0.) {
+ return 0;
+ }
+ if (*incx == 1 && *incy == 1) {
+ goto L20;
+ }
+
+ /* code for unequal increments or equal increments */
+ /* not equal to 1 */
+
+ ix = 1;
+ iy = 1;
+ if (*incx < 0) {
+ ix = (-(*n) + 1) * *incx + 1;
+ }
+ if (*incy < 0) {
+ iy = (-(*n) + 1) * *incy + 1;
+ }
+ i__1 = *n;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ dy[iy] += *da * dx[ix];
+ ix += *incx;
+ iy += *incy;
+ /* L10: */
+ }
+ return 0;
+
+ /* code for both increments equal to 1 */
+
+
+ /* clean-up loop */
+
+L20:
+ m = *n % 4;
+ if (m == 0) {
+ goto L40;
+ }
+ i__1 = m;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ dy[i__] += *da * dx[i__];
+ /* L30: */
+ }
+ if (*n < 4) {
+ return 0;
+ }
+L40:
+ mp1 = m + 1;
+ i__1 = *n;
+ for (i__ = mp1; i__ <= i__1; i__ += 4) {
+ dy[i__] += *da * dx[i__];
+ dy[i__ + 1] += *da * dx[i__ + 1];
+ dy[i__ + 2] += *da * dx[i__ + 2];
+ dy[i__ + 3] += *da * dx[i__ + 3];
+ /* L50: */
+ }
+ return 0;
+} /* daxpy_ */
+
+real_type ddot_(integer *n, real_type *dx, integer *incx, real_type *dy,
+ integer *incy)
+{
+ /* System generated locals */
+ integer i__1;
+ real_type ret_val;
+
+ /* Local variables */
+ static integer i__, m, ix, iy, mp1;
+ static real_type dtemp;
+
+
+ /* forms the dot product of two vectors. */
+ /* uses unrolled loops for increments equal to one. */
+ /* jack dongarra, linpack, 3/11/78. */
+
+
+ /* Parameter adjustments */
+ --dy;
+ --dx;
+
+ /* Function Body */
+ ret_val = CAST_TO_RT(0);
+ dtemp = CAST_TO_RT(0);
+ if (*n <= 0) {
+ return ret_val;
+ }
+ if (*incx == 1 && *incy == 1) {
+ goto L20;
+ }
+
+ /* code for unequal increments or equal increments */
+ /* not equal to 1 */
+
+ ix = 1;
+ iy = 1;
+ if (*incx < 0) {
+ ix = (-(*n) + 1) * *incx + 1;
+ }
+ if (*incy < 0) {
+ iy = (-(*n) + 1) * *incy + 1;
+ }
+ i__1 = *n;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ dtemp += dx[ix] * dy[iy];
+ ix += *incx;
+ iy += *incy;
+ /* L10: */
+ }
+ ret_val = dtemp;
+ return ret_val;
+
+ /* code for both increments equal to 1 */
+
+
+ /* clean-up loop */
+
+L20:
+ m = *n % 5;
+ if (m == 0) {
+ goto L40;
+ }
+ i__1 = m;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ dtemp += dx[i__] * dy[i__];
+ /* L30: */
+ }
+ if (*n < 5) {
+ goto L60;
+ }
+L40:
+ mp1 = m + 1;
+ i__1 = *n;
+ for (i__ = mp1; i__ <= i__1; i__ += 5) {
+ dtemp = dtemp + dx[i__] * dy[i__] + dx[i__ + 1] * dy[i__ + 1] + dx[
+ i__ + 2] * dy[i__ + 2] + dx[i__ + 3] * dy[i__ + 3] + dx[i__ +
+ 4] * dy[i__ + 4];
+ /* L50: */
+ }
+L60:
+ ret_val = dtemp;
+ return ret_val;
+} /* ddot_ */
+
+/* Subroutine */ int dscal_(integer *n, real_type *da, real_type *dx,
+ integer *incx)
+{
+ /* System generated locals */
+ integer i__1, i__2;
+
+ /* Local variables */
+ static integer i__, m, mp1, nincx;
+
+
+ /* scales a vector by a constant. */
+ /* uses unrolled loops for increment equal to one. */
+ /* jack dongarra, linpack, 3/11/78. */
+
+
+ /* Parameter adjustments */
+ --dx;
+
+ /* Function Body */
+ if (*n <= 0) {
+ return 0;
+ }
+ if (*incx == 1) {
+ goto L20;
+ }
+
+ /* code for increment not equal to 1 */
+
+ nincx = *n * *incx;
+ i__1 = nincx;
+ i__2 = *incx;
+ for (i__ = 1; i__2 < 0 ? i__ >= i__1 : i__ <= i__1; i__ += i__2) {
+ dx[i__] = *da * dx[i__];
+ /* L10: */
+ }
+ return 0;
+
+ /* code for increment equal to 1 */
+
+
+ /* clean-up loop */
+
+L20:
+ m = *n % 5;
+ if (m == 0) {
+ goto L40;
+ }
+ i__2 = m;
+ for (i__ = 1; i__ <= i__2; ++i__) {
+ dx[i__] = *da * dx[i__];
+ /* L30: */
+ }
+ if (*n < 5) {
+ return 0;
+ }
+L40:
+ mp1 = m + 1;
+ i__2 = *n;
+ for (i__ = mp1; i__ <= i__2; i__ += 5) {
+ dx[i__] = *da * dx[i__];
+ dx[i__ + 1] = *da * dx[i__ + 1];
+ dx[i__ + 2] = *da * dx[i__ + 2];
+ dx[i__ + 3] = *da * dx[i__ + 3];
+ dx[i__ + 4] = *da * dx[i__ + 4];
+ /* L50: */
+ }
+ return 0;
+} /* dscal_ */
+
+integer idamax_(integer *n, real_type *dx, integer *incx)
+{
+ /* System generated locals */
+ integer ret_val, i__1;
+ real_type d__1;
+
+ /* Local variables */
+ static integer i__, ix;
+ static real_type dmax__;
+
+
+ /* finds the index of element having max. dabsolute value. */
+ /* jack dongarra, linpack, 3/11/78. */
+
+
+ /* Parameter adjustments */
+ --dx;
+
+ /* Function Body */
+ ret_val = 0;
+ if (*n < 1) {
+ return ret_val;
+ }
+ ret_val = 1;
+ if (*n == 1) {
+ return ret_val;
+ }
+ if (*incx == 1) {
+ goto L20;
+ }
+
+ /* code for increment not equal to 1 */
+
+ ix = 1;
+ dmax__ = abs(dx[1]);
+ ix += *incx;
+ i__1 = *n;
+ for (i__ = 2; i__ <= i__1; ++i__) {
+ if ((d__1 = dx[ix], abs(d__1)) <= dmax__) {
+ goto L5;
+ }
+ ret_val = i__;
+ dmax__ = (d__1 = dx[ix], abs(d__1));
+L5:
+ ix += *incx;
+ /* L10: */
+ }
+ return ret_val;
+
+ /* code for increment equal to 1 */
+
+L20:
+ dmax__ = abs(dx[1]);
+ i__1 = *n;
+ for (i__ = 2; i__ <= i__1; ++i__) {
+ if ((d__1 = dx[i__], abs(d__1)) <= dmax__) {
+ goto L30;
+ }
+ ret_val = i__;
+ dmax__ = (d__1 = dx[i__], abs(d__1));
+L30:
+ ;
+ }
+ return ret_val;
+} /* idamax_ */
+
+real_type epslon_(real_type* x)
+{
+ static_cast<void>(x);
+
+#ifdef TEST_BIG_NUMBER
+ return std::ldexp(1.0, 1 - ((100 + 1) * 1000L) / 301L);
+#elif defined(TEST_GMPXX)
+ return std::ldexp(1.0, 1 - ((100 + 1) * 1000L) / 301L);
+#else
+ return CAST_TO_RT(std::numeric_limits<real_type>::epsilon());
+#endif
+} /* epslon_ */
+
+/* Subroutine */ int mm_(real_type *a, integer *lda, integer *n1, integer *
+ n3, real_type *b, integer *ldb, integer *n2, real_type *c__,
+ integer *ldc)
+{
+ /* System generated locals */
+ integer a_dim1, a_offset, b_dim1, b_offset, c_dim1, c_offset, i__1, i__2;
+
+ /* Local variables */
+ static integer i__, j;
+
+
+ /* purpose: */
+ /* multiply matrix b times matrix c and store the result in matrix a. */
+
+ /* parameters: */
+
+ /* a double precision(lda,n3), matrix of n1 rows and n3 columns */
+
+ /* lda integer, leading dimension of array a */
+
+ /* n1 integer, number of rows in matrices a and b */
+
+ /* n3 integer, number of columns in matrices a and c */
+
+ /* b double precision(ldb,n2), matrix of n1 rows and n2 columns */
+
+ /* ldb integer, leading dimension of array b */
+
+ /* n2 integer, number of columns in matrix b, and number of rows in */
+ /* matrix c */
+
+ /* c double precision(ldc,n3), matrix of n2 rows and n3 columns */
+
+ /* ldc integer, leading dimension of array c */
+
+ /* ---------------------------------------------------------------------- */
+
+ /* Parameter adjustments */
+ a_dim1 = *lda;
+ a_offset = 1 + a_dim1;
+ a -= a_offset;
+ b_dim1 = *ldb;
+ b_offset = 1 + b_dim1;
+ b -= b_offset;
+ c_dim1 = *ldc;
+ c_offset = 1 + c_dim1;
+ c__ -= c_offset;
+
+ /* Function Body */
+ i__1 = *n3;
+ for (j = 1; j <= i__1; ++j) {
+ i__2 = *n1;
+ for (i__ = 1; i__ <= i__2; ++i__) {
+ a[i__ + j * a_dim1] = CAST_TO_RT(0);
+ /* L10: */
+ }
+ dmxpy_(n2, &a[j * a_dim1 + 1], n1, ldb, &c__[j * c_dim1 + 1], &b[
+ b_offset]);
+ /* L20: */
+ }
+
+ return 0;
+} /* mm_ */
+
+/* Subroutine */ int dmxpy_(integer *n1, real_type *y, integer *n2, integer *
+ ldm, real_type *x, real_type *m)
+{
+ /* System generated locals */
+ integer m_dim1, m_offset, i__1, i__2;
+
+ /* Local variables */
+ static integer i__, j, jmin;
+
+
+ /* purpose: */
+ /* multiply matrix m times vector x and add the result to vector y. */
+
+ /* parameters: */
+
+ /* n1 integer, number of elements in vector y, and number of rows in */
+ /* matrix m */
+
+ /* y double precision(n1), vector of length n1 to which is added */
+ /* the product m*x */
+
+ /* n2 integer, number of elements in vector x, and number of columns */
+ /* in matrix m */
+
+ /* ldm integer, leading dimension of array m */
+
+ /* x double precision(n2), vector of length n2 */
+
+ /* m double precision(ldm,n2), matrix of n1 rows and n2 columns */
+
+ /* ---------------------------------------------------------------------- */
+
+ /* cleanup odd vector */
+
+ /* Parameter adjustments */
+ --y;
+ m_dim1 = *ldm;
+ m_offset = 1 + m_dim1;
+ m -= m_offset;
+ --x;
+
+ /* Function Body */
+ j = *n2 % 2;
+ if (j >= 1) {
+ i__1 = *n1;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ y[i__] += x[j] * m[i__ + j * m_dim1];
+ /* L10: */
+ }
+ }
+
+ /* cleanup odd group of two vectors */
+
+ j = *n2 % 4;
+ if (j >= 2) {
+ i__1 = *n1;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ y[i__] = y[i__] + x[j - 1] * m[i__ + (j - 1) * m_dim1] + x[j] * m[
+ i__ + j * m_dim1];
+ /* L20: */
+ }
+ }
+
+ /* cleanup odd group of four vectors */
+
+ j = *n2 % 8;
+ if (j >= 4) {
+ i__1 = *n1;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ y[i__] = y[i__] + x[j - 3] * m[i__ + (j - 3) * m_dim1] + x[j - 2]
+ * m[i__ + (j - 2) * m_dim1] + x[j - 1] * m[i__ + (j - 1) *
+ m_dim1] + x[j] * m[i__ + j * m_dim1];
+ /* L30: */
+ }
+ }
+
+ /* cleanup odd group of eight vectors */
+
+ j = *n2 % 16;
+ if (j >= 8) {
+ i__1 = *n1;
+ for (i__ = 1; i__ <= i__1; ++i__) {
+ y[i__] = y[i__] + x[j - 7] * m[i__ + (j - 7) * m_dim1] + x[j - 6]
+ * m[i__ + (j - 6) * m_dim1] + x[j - 5] * m[i__ + (j - 5) *
+ m_dim1] + x[j - 4] * m[i__ + (j - 4) * m_dim1] + x[j - 3]
+ * m[i__ + (j - 3) * m_dim1] + x[j - 2] * m[i__ + (j - 2)
+ * m_dim1] + x[j - 1] * m[i__ + (j - 1) * m_dim1] + x[j] *
+ m[i__ + j * m_dim1];
+ /* L40: */
+ }
+ }
+
+ /* main loop - groups of sixteen vectors */
+
+ jmin = j + 16;
+ i__1 = *n2;
+ for (j = jmin; j <= i__1; j += 16) {
+ i__2 = *n1;
+ for (i__ = 1; i__ <= i__2; ++i__) {
+ y[i__] = y[i__] + x[j - 15] * m[i__ + (j - 15) * m_dim1] + x[j -
+ 14] * m[i__ + (j - 14) * m_dim1] + x[j - 13] * m[i__ + (j
+ - 13) * m_dim1] + x[j - 12] * m[i__ + (j - 12) * m_dim1]
+ + x[j - 11] * m[i__ + (j - 11) * m_dim1] + x[j - 10] * m[
+ i__ + (j - 10) * m_dim1] + x[j - 9] * m[i__ + (j - 9) *
+ m_dim1] + x[j - 8] * m[i__ + (j - 8) * m_dim1] + x[j - 7]
+ * m[i__ + (j - 7) * m_dim1] + x[j - 6] * m[i__ + (j - 6) *
+ m_dim1] + x[j - 5] * m[i__ + (j - 5) * m_dim1] + x[j - 4]
+ * m[i__ + (j - 4) * m_dim1] + x[j - 3] * m[i__ + (j - 3)
+ * m_dim1] + x[j - 2] * m[i__ + (j - 2) * m_dim1] + x[j -
+ 1] * m[i__ + (j - 1) * m_dim1] + x[j] * m[i__ + j *
+ m_dim1];
+ /* L50: */
+ }
+ /* L60: */
+ }
+ return 0;
+} /* dmxpy_ */
+
+real_type ran_(integer *iseed)
+{
+ /* System generated locals */
+ real_type ret_val;
+
+ /* Local variables */
+ static integer it1, it2, it3, it4;
+
+
+ /* modified from the LAPACK auxiliary routine 10/12/92 JD */
+ /* -- LAPACK auxiliary routine (version 1.0) -- */
+ /* Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., */
+ /* Courant Institute, Argonne National Lab, and Rice University */
+ /* February 29, 1992 */
+
+ /* .. Array Arguments .. */
+ /* .. */
+
+ /* Purpose */
+ /* ======= */
+
+ /* DLARAN returns a random double number from a uniform (0,1) */
+ /* distribution. */
+
+ /* Arguments */
+ /* ========= */
+
+ /* ISEED (input/output) INTEGER array, dimension (4) */
+ /* On entry, the seed of the random number generator; the array */
+ /* elements must be between 0 and 4095, and ISEED(4) must be */
+ /* odd. */
+ /* On exit, the seed is updated. */
+
+ /* Further Details */
+ /* =============== */
+
+ /* This routine uses a multiplicative congruential method with modulus */
+ /* 2**48 and multiplier 33952834046453 (see G.S.Fishman, */
+ /* 'Multiplicative congruential random number generators with modulus */
+ /* 2**b: an exhaustive analysis for b = 32 and a partial analysis for */
+ /* b = 48', Math. Comp. 189, pp 331-344, 1990). */
+
+ /* 48-bit integers are stored in 4 integer array elements with 12 bits */
+ /* per element. Hence the routine is portable across machines with */
+ /* integers of 32 bits or more. */
+
+ /* .. Parameters .. */
+ /* .. */
+ /* .. Local Scalars .. */
+ /* .. */
+ /* .. Intrinsic Functions .. */
+ /* .. */
+ /* .. Executable Statements .. */
+
+ /* multiply the seed by the multiplier modulo 2**48 */
+
+ /* Parameter adjustments */
+ --iseed;
+
+ /* Function Body */
+ it4 = iseed[4] * 2549;
+ it3 = it4 / 4096;
+ it4 -= it3 << 12;
+ it3 = it3 + iseed[3] * 2549 + iseed[4] * 2508;
+ it2 = it3 / 4096;
+ it3 -= it2 << 12;
+ it2 = it2 + iseed[2] * 2549 + iseed[3] * 2508 + iseed[4] * 322;
+ it1 = it2 / 4096;
+ it2 -= it1 << 12;
+ it1 = it1 + iseed[1] * 2549 + iseed[2] * 2508 + iseed[3] * 322 + iseed[4]
+ * 494;
+ it1 %= 4096;
+
+ /* return updated seed */
+
+ iseed[1] = it1;
+ iseed[2] = it2;
+ iseed[3] = it3;
+ iseed[4] = it4;
+
+ /* convert 48-bit integer to a double number in the interval (0,1) */
+
+ ret_val = ((real_type) it1 + ((real_type) it2 + ((real_type) it3 + (
+ real_type) it4 * 2.44140625e-4) * 2.44140625e-4) * 2.44140625e-4)
+ * 2.44140625e-4;
+ return ret_val;
+
+ /* End of RAN */
+
+} /* ran_ */
+
+/*
+
+double x64 release results:
+~~~~~~~~~~~~~~~~~~
+
+times are reported for matrices of order 1000
+factor solve total mflops unit ratio
+times for array with leading dimension of1001
+0.936 0.015 0.951 703.12 0.0028445 16.982
+
+efx::mp_float x64 release (from sandbox) results:
+~~~~~~~~~~~~~~~~~~
+
+times are reported for matrices of order 1000
+factor solve total mflops unit ratio
+times for array with leading dimension of1001
+181.01 0.546 181.55 3.683 0.54303 3242
+
+mpfr::mp_float x64 release (from sandbox) results:
+~~~~~~~~~~~~~~~~~~
+
+times are reported for matrices of order 1000
+factor solve total mflops unit ratio
+times for array with leading dimension of1001
+184.36 0.561 184.92 3.6159 0.55311 3302.2
+
+gmp::mp_float x64 release (from sandbox) results:
+~~~~~~~~~~~~~~~~~~
+
+times are reported for matrices of order 1000
+factor solve total mflops unit ratio
+times for array with leading dimension of1001
+258.86 0.787 259.65 2.5753 0.77662 4636.6
+
+mpf_class x64 release results:
+~~~~~~~~~~~~~~~~~~
+
+times are reported for matrices of order 1000
+factor solve total mflops unit ratio
+times for array with leading dimension of1001
+173 0.515 173.52 3.8536 0.519 3098.6
+
+*/

Added: sandbox/multiprecision/test/naive_test/naive_test.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/naive_test/naive_test.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,515 @@
+//! \file
+// naive_test.cpp
+
+// Copyright Paul A. Bristow 2011.
+// Copyright Christopher Kormanyos 2011.
+
+// Use, modification and distribution are subject to the
+// Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt
+// or copy at http://www.boost.org/LICENSE_1_0.txt)
+
+// Really naive test of using mp_float.
+
+#define BOOST_TEST_MAIN
+#define BOOST_LIB_DIAGNOSTIC "on"// Show library file details.
+// Linking to lib file: libboost_unit_test_framework-vc100-mt-gd-1_48.lib (trunk at Jul 11)
+
+// #define BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10 50 as command line using MSVC or in jamfile (but needs b2 -a option?)
+
+#include <iostream>
+using std::cout;
+using std::cin;
+using std::endl;
+using std::dec;
+using std::hex;
+using std::boolalpha;
+using std::scientific;
+using std::fixed;
+using std::defaultfloat;
+using std::showpos;
+using std::showpoint;
+
+#include <iomanip>
+using std::setprecision;
+using std::setw;
+#include <string>
+using std::string;
+#include <sstream>
+//using std::istringstream;
+//using std::ostringstream
+
+#include <boost/test/unit_test.hpp> // Enhanced for unit_test framework autolink.
+#include <boost/test/floating_point_comparison.hpp>
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_constants.hpp>
+
+//Macros to Check using manips output expected string result, for example:
+// CHECK_OUT(hex << showbase << setw(10) << i, " 0xf")
+// CHECK_OUT(scientific << setw(20) << d, " 1.234568e+001");
+
+// Compare a output with expected result.
+#define CHECK_OUT(manips, result)\
+{ \
+ std::ostringstream oss;\
+ oss << manips;\
+ BOOST_CHECK_EQUAL(oss.str(), result);\
+}
+
+#define CHECK_LENGTH(manips, result)\
+{\
+ BOOST_CHECK_EQUAL(oss.str().length(), strlen(result));\
+}\
+
+// Compare results of reading string in,
+#define CHECK_IN(in, value)\
+{\
+ mp_float r;\
+ std::istringstream iss(in);\
+ iss >> r;\
+ BOOST_CHECK_CLOSE_FRACTION(r, value, std::numeric_limits<mp_float>::epsilon());\
+} // #define CHECK_IN(in, value, sd, df, types)
+
+// CHECK_OUT_IN Output via manips, and read back in, check is same. 'Loopback'.
+#define CHECK_OUT_IN(manips, result, value)\
+{\
+ std::stringstream ss;\
+ ss << manips;\
+ BOOST_CHECK_EQUAL(ss.str(), result);\
+ mp_float r;\
+ ss >> r;\
+ BOOST_CHECK_CLOSE_FRACTION(r, value, std::numeric_limits<mp_float>::epsilon());\
+}// #define CHECK_OUT_IN(manips, result)
+
+
+// Must #define BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX; in project properties.
+
+// Note: exact double means exactly representable as double, for example: 0.5,
+// but NOT 0.1.
+// Integral may be an integer or a double having an integral value.
+
+BOOST_AUTO_TEST_CASE(e_float_test_template)
+{ // These are just examples of using Boost.Test.
+ // Need to be removed when no longer helpful.
+ BOOST_TEST_MESSAGE("Test Boost.mp_float"); // Only appears if command line has --log_level="message"
+
+ string m = "Test with ";
+ m+= __FILE__;
+ m+= " edited ";
+ m += __TIMESTAMP__ ".\n";
+ BOOST_TEST_MESSAGE(m);
+ BOOST_CHECK(true);
+ BOOST_CHECK_EQUAL(1, 1);
+ BOOST_CHECK_NE(1, -1);
+ BOOST_CHECK_CLOSE_FRACTION(1.0, 1.0+std::numeric_limits<double>::epsilon(), std::numeric_limits<double>::epsilon());
+ double d = 123.456789;
+ // cout << scientific << d << endl; // Outputs: "1.234568e+003"
+ CHECK_OUT(d, "123.457"); // Default. == << std::defaultfloat
+ CHECK_OUT(defaultfloat << d, "123.457"); // Default. == << std::defaultfloat
+ string ddef = "123.457"; // default float output.
+ CHECK_OUT(d, ddef); // Default. == << std::defaultfloat
+ CHECK_OUT(defaultfloat << d, ddef); // Default. == << std::defaultfloat
+ CHECK_OUT(scientific << d, "1.234568e+002");
+ CHECK_OUT(fixed << d, "123.456789");
+ int m1 = -1; // negative variable.
+ CHECK_OUT(m1, "-1"); // negative constant.
+ CHECK_OUT(hex << m1, "ffffffff"); // with hex manipulator.
+ // Checking input with inline.
+ mp_float r;
+ std::istringstream iss("123.456");
+ iss >> r;
+ BOOST_CHECK_CLOSE_FRACTION(r, mp_float("123.456"), std::numeric_limits<mp_float>::epsilon());
+ BOOST_CHECK_EQUAL(r, mp_float("123.456")); // Also works
+ // Repeat same test using CHECK_IN macro defined above.
+ CHECK_IN("123.456", mp_float("123.456"));
+
+ //CHECK_IN("123.456", mp_float(123.456)); // Mistaken conversion from less accurate double.
+ // Fails r{123.456} and mp_float(123.456){123.4560000000000030695446184836328029632568359375}
+ // differ by more than 1e-49.
+
+ // CHECK_OUT_IN Output via manips, and read back in, check is same. 'Loopback'.
+ // #define CHECK_OUT_IN(manips, result, value)
+ { // Integer example.
+ int i = 255;
+ std::string result = "ff";
+ int value = 255;
+ std::stringstream ss;
+ ss << hex << i;
+ BOOST_CHECK_EQUAL(ss.str(), result);
+ int read;
+ ss >> read;
+ BOOST_CHECK_EQUAL(read, value);
+ }
+ { // double example
+ double w = 123.456;
+ std::string result = "123.456000";
+ double value = 123.456;
+ std::stringstream ss;
+ ss << std::fixed << w;
+ //cout << ss.str() << endl;
+ BOOST_CHECK_EQUAL(ss.str(), result);
+ double read;
+ ss >> read;
+ BOOST_CHECK_EQUAL(read, value);
+ BOOST_CHECK_CLOSE_FRACTION(read, value, std::numeric_limits<double>::epsilon());
+ }
+ { // mp_float example
+ mp_float w("123.456");
+ std::string result = "123.456000"; // double result was "123.456000";
+ mp_float value("123.456");
+ std::stringstream ss;
+ ss << std::fixed << w;
+ //cout << ss.str() << endl;
+ BOOST_CHECK_EQUAL(ss.str(), result);
+ mp_float read;
+ ss >> read;
+ BOOST_CHECK_EQUAL(read, value);
+ BOOST_CHECK_CLOSE_FRACTION(read, value, std::numeric_limits<mp_float>::epsilon());
+
+ CHECK_OUT_IN(std::fixed << w, result, value);
+ }
+
+} // BOOST_AUTO_TEST_CASE(e_float_template)
+
+BOOST_AUTO_TEST_CASE(e_float_test_macros)
+{ // Check some macro values.
+ //
+ BOOST_CHECK_EQUAL(BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10, 50); // Assumes we are testing at 50 digits, NOT the default.
+} // BOOST_AUTO_TEST_CASE(e_float_test_macros)
+
+
+BOOST_AUTO_TEST_CASE(e_float_test_ios)
+{ // Check some IOS defaults.
+ BOOST_CHECK_EQUAL(cout.precision(), 6);
+ std::ostringstream oss;
+ BOOST_CHECK_EQUAL(oss.precision(), 6);
+ }
+
+BOOST_AUTO_TEST_CASE(e_float_test_input)
+{ //
+ BOOST_TEST_MESSAGE("Test Boost.mp_float input.");
+
+ CHECK_IN("2", mp_float("2"));
+ CHECK_IN("-2", mp_float("-2"));
+ CHECK_IN("+2", mp_float("+2"));
+ CHECK_IN("-2.", mp_float("-2."));
+
+ CHECK_IN("123.456", mp_float("123.456"));
+ CHECK_IN("0.0123456", mp_float("0.0123456"));
+ CHECK_IN("1e-6", mp_float("1e-6"));
+ CHECK_IN("-1e-6", mp_float("-1e-6"));
+} // BOOST_AUTO_TEST_CASE(e_float_test_input)
+
+BOOST_AUTO_TEST_CASE(e_float_test_output)
+{ //
+
+ BOOST_TEST_MESSAGE("Test Boost.mp_float output.");
+
+ double double_four = 4.;
+
+ cout << "cout << showpoint << double_four outputs: " << showpoint << double_four << endl;
+ cout << "cout << setprecision(17) << showpoint << double_four outputs: " << setprecision(17) << showpoint << double_four << endl;
+
+ mp_float my_float;
+ mp_float e_four(4); // Note integer value.
+ mp_float e_m1(-1); // Note integer value.
+
+
+ my_float = mp_float(2) + mp_float(2); // OK
+ BOOST_CHECK_EQUAL(my_float, e_four);
+
+ double d_four(4.); //
+ CHECK_OUT(d_four, "4"); // Default is no decimal point.
+ CHECK_OUT(defaultfloat << d_four, "4"); // Default is no decimal point.
+ CHECK_OUT(std::showpos << d_four, "+4"); // OK
+
+ CHECK_OUT(e_four, "4"); // No decimal point.
+ CHECK_OUT(defaultfloat << e_four, "4"); // No decimal point.
+ CHECK_OUT(std::showpos << e_four, "+4"); // Expect +
+
+ // http://www.cplusplus.com/reference/iostream/manipulators/setprecision/ says
+ // On the default floating-point notation,
+ // the precision field specifies the maximum number of meaningful digits to display in total
+ // counting both those before and those after the decimal point.
+ // Notice that it is not a minimum and therefore it does not pad the displayed number
+ // with trailing zeros if the number can be displayed with less digits than the precision.
+
+ // In both the fixed and scientific notations, the precision field specifies exactly
+ // how many digits to display after the decimal point, even if this includes trailing decimal zeros.
+ // The number of digits before the decimal point does not matter in this case.
+
+ CHECK_OUT(std::showpoint << d_four, "4.00000"); // Should be 4. - no + and 6-1 = 5 trailing zeros.
+ CHECK_OUT(defaultfloat<< setprecision(4) << std::showpoint << d_four, "4.000"); // Should be 4. - no + and 4-1 = 3 trailing zeros.
+ CHECK_OUT(setprecision(4) << std::showpoint << d_four, "4.000"); // Should be 4. - no + and 4-1 = 3 trailing zeros.
+ CHECK_OUT(setprecision(10) << std::showpoint << d_four, "4.000000000"); // Should be 4. - no + and 10-1 = 9 trailing zeros.
+ CHECK_OUT(setprecision(std::numeric_limits<double>::max_digits10) << std::showpoint << d_four, "4.0000000000000000"); // Should be 4. with 17-1 = 16 trailing zeros.
+ // Is specify fixed for floatfield, the number of digits of precision is the number after the decimal point,
+ // so the number of trailing zeros is increased by one in this case.
+ CHECK_OUT(fixed << setprecision(4) << std::showpoint << d_four, "4.0000"); // Should be 4. and 4 trailing zeros.
+ CHECK_OUT(scientific << setprecision(4) << std::showpoint << d_four, "4.0000e+000"); // Should be 4. and 4 trailing zeros, and exponent.
+
+ // mp_float tests.
+
+ CHECK_OUT(std::showpoint << e_four, "4.00000"); // Should be 4.0000 as double.
+ CHECK_OUT(setprecision(std::numeric_limits<mp_float>::max_digits10) << std::showpoint << e_four, "4."); // Should be 4. and max_digits10-1 = 49 trailing zeros.
+ CHECK_OUT(fixed << setprecision(std::numeric_limits<mp_float>::max_digits10) << std::showpoint << e_four, "4.000000000000000000000000000000000000000000000000000"); // Should be 4. and max_digits10 = 51 trailing zeros.
+ CHECK_OUT(scientific << setprecision(std::numeric_limits<mp_float>::max_digits10) << std::showpoint << e_four, "4.000000000000000000000000000000000000000000000000000e+000"); // Should be 4. and max_digits10 = 51 trailing zeros.
+
+ CHECK_OUT(std::showpos << std::showpoint << d_four, "+4.00000"); // Should be +4. and 6 digits including 5 trailing zeros.
+ CHECK_OUT(std::showpos << std::showpoint << e_four, "+4."); // Should be +4. and BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10, BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10-1 trailing zeros.
+
+ CHECK_OUT(scientific << e_four, "4.000000e+000"); // 6 trailing zeros & 3 exponent digits.
+ CHECK_OUT(fixed << e_four, "4.000000"); // // 6 trailing zeros.
+ CHECK_OUT(defaultfloat << e_four, "4"); //
+ CHECK_OUT(defaultfloat << e_m1, "-1"); //
+
+ CHECK_OUT(defaultfloat << e_m1, "-1"); //
+ CHECK_OUT(fixed << e_m1, "-1.000000"); // Default precision 6
+ CHECK_OUT(scientific << e_m1, "-1.000000e+000"); // Default precision 6, and 3 exponent digits.
+
+ double d_fifth = 1./5.;
+ // defaultfloat
+ CHECK_OUT(showpoint << setprecision(1) << d_fifth, "0.2");
+ CHECK_OUT(setprecision(1) << boost::multiprecision::fifth(), "0.2"); //
+ // fixed << showpos << showpoint << setprecision(n) should give a total of n (precision) digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(1) << boost::multiprecision::fifth(), "+0.2"); // 1 digits after decimal point, so no trailing zeros.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(2) << boost::multiprecision::fifth(), "+0.20"); // 1 digit after decimal point, 1 trailing zero.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(10) << boost::multiprecision::fifth(), "+0.2000000000"); // 1 digit after decimal point, 9 trailing zeros.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(20) << boost::multiprecision::fifth(), "+0.20000000000000000000"); // 1 digit after decimal point, 19 trailing zeros.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(50) << boost::multiprecision::fifth(), "+0.20000000000000000000000000000000000000000000000000"); // 1 digit after decimal point, 50-1 trailing zeros.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(std::numeric_limits<mp_float>::max_digits10) << boost::multiprecision::fifth(), "+0.200000000000000000000000000000000000000000000000000"); // 50 trailing zeros.
+
+ double pi = 3.14159265358979323846264338327950288419716939937511;
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(2) << pi, "+3.14"); // 2 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(3) << pi, "+3.142"); // 3 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(6) << pi, "+3.141593"); // 6 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(10) << pi, "+3.1415926536"); // 10 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(11) << pi, "+3.14159265359"); // 11 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(12) << pi, "+3.141592653590"); // 12 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(20) << pi, "+3.14159265358979310000"); // setprecision(20) more than max_digits10 (17!) so 4 trailing zeros.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(std::numeric_limits<double>::max_digits10) << pi, "+3.14159265358979310"); // max_digits10.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(std::numeric_limits<double>::digits10) << pi, "+3.141592653589793"); // digits10 'guaranteed' no noisy digits.
+
+ // With showpoint for decimal point and trailing zeros.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(2) << boost::multiprecision::pi(), "+3.14"); // 2 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(3) << boost::multiprecision::pi(), "+3.142"); // 3 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(6) << boost::multiprecision::pi(), "+3.141593"); // 6 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(10) << boost::multiprecision::pi(), "+3.1415926536"); // 10 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(20) << boost::multiprecision::pi(), "+3.14159265358979323846"); // 20 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(50) << boost::multiprecision::pi(), "+3.14159265358979323846264338327950288419716939937511"); // 50 digits after decimal point.
+ CHECK_OUT(fixed << showpos << showpoint << setprecision(std::numeric_limits<mp_float>::max_digits10) << boost::multiprecision::pi(), "+3.141592653589793238462643383279502884197169399375106"); // 50 +1 digits after decimal point.
+
+ // Fixed without showpoint for decimal point and trailing zeros, and negative.
+ CHECK_OUT(fixed << setprecision(2) << -boost::multiprecision::pi(), "-3.14"); //
+ CHECK_OUT(fixed << setprecision(3) << -boost::multiprecision::pi(), "-3.142"); //
+ CHECK_OUT(fixed << setprecision(6) << -boost::multiprecision::pi(), "-3.141593"); //
+ CHECK_OUT(fixed << setprecision(10) << -boost::multiprecision::pi(), "-3.1415926536"); //
+ CHECK_OUT(fixed << setprecision(11) << -boost::multiprecision::pi(), "-3.14159265359"); //
+ CHECK_OUT(fixed << setprecision(12) << -boost::multiprecision::pi(), "-3.141592653590"); //
+
+
+ CHECK_OUT(fixed << setprecision(20) << -boost::multiprecision::pi(), "-3.14159265358979323846");
+ CHECK_OUT(fixed << setprecision(50) << -boost::multiprecision::pi(), "-3.14159265358979323846264338327950288419716939937511");
+ CHECK_OUT(fixed << setprecision(std::numeric_limits<mp_float>::max_digits10) << -boost::multiprecision::pi(), "-3.141592653589793238462643383279502884197169399375106");
+
+} // BOOST_AUTO_TEST_CASE(e_float_test_output)
+
+BOOST_AUTO_TEST_CASE(e_float_test_int_arith)
+{ //
+
+ BOOST_TEST_MESSAGE("Test Boost.mp_float integer arithmetic.");
+
+ mp_float my_float;
+ mp_float e_four(4); // Note integer value.
+ BOOST_CHECK_EQUAL(my_float, my_float); // OK
+
+ my_float = mp_float(2) + mp_float(2); // OK
+
+ BOOST_CHECK_EQUAL(my_float, e_four);
+} // BOOST_AUTO_TEST_CASE(e_float_test_int_arith)
+
+
+BOOST_AUTO_TEST_CASE(e_float_test_float_arith)
+{ //
+
+ BOOST_TEST_MESSAGE("Test Boost.mp_float float arithmetic.");
+ const mp_float eps = std::numeric_limits<mp_float>::epsilon();
+ //cout << " std::numeric_limits<mp_float>::epsilon() " << eps << endl; // Ugly TODO.
+ // std::numeric_limits<mp_float>::epsilon() 1.000000000e-0000000000000000049 for digits = 50
+
+ BOOST_CHECK(std::numeric_limits<mp_float>::is_specialized); // Must be specialized for mp_float.
+
+ BOOST_CHECK(!std::numeric_limits<mp_float>::is_iec559); // iec559 == IEEE754 (or ieee854 or IEEE754r?).
+ // Must NOT claim IEEE754 because that is a binary radix.
+
+ BOOST_CHECK_EQUAL(mp_float(2), mp_float(2)); // Constructed from two ints.
+ BOOST_CHECK_EQUAL(mp_float(2), mp_float(2.)); // Constructed from one int and exact double.
+ BOOST_CHECK_EQUAL(mp_float(2.), mp_float(2)); // Constructed from one int and exact double.
+ BOOST_CHECK_EQUAL(mp_float(2.), mp_float(2.)); // Constructed from two integral value doubles.
+ BOOST_CHECK_EQUAL(mp_float(0.5), mp_float(0.5)); // Constructed from two exact doubles.
+
+ const mp_float e_float_max = boost::multiprecision::value_max(); // mp_float
+
+
+ mp_float my_float;
+ BOOST_CHECK_EQUAL(my_float, static_cast<mp_float>(0));
+ BOOST_CHECK_EQUAL(my_float, my_float); // OK
+ my_float = mp_float(2.2) + mp_float(2.2);
+
+ mp_float e_four(4.4); // Construct from double.
+ BOOST_CHECK_EQUAL(my_float, e_four); // OK
+
+ cout << " difference my_float - e_four = " << my_float - e_four << endl;
+ // difference my_float - e_four = 0
+
+ mp_float e_diff;
+ e_diff = my_float - e_four;
+
+ cout << " difference my_float - e_four = " << e_diff << endl;
+ cout << " mp_float(0.0) = " << mp_float(0.0) << endl; //
+ cout << " mp_float(0) = " << mp_float(0) << endl; // 0 = Phew!
+
+ BOOST_CHECK_EQUAL(e_diff, mp_float(static_cast<boost::int32_t>(0.0)));
+ BOOST_CHECK_EQUAL(e_diff, mp_float(0.0));
+ BOOST_CHECK_EQUAL(e_diff, mp_float(0.0));
+ BOOST_CHECK_EQUAL(e_diff, boost::multiprecision::zero());
+ BOOST_CHECK_EQUAL(my_float - e_four, boost::multiprecision::zero());
+
+ BOOST_CHECK_CLOSE_FRACTION(my_float, e_four, eps);
+
+ BOOST_CHECK_NE(mp_float(2), mp_float(2.1)); // Different values - expect to fail.
+
+ BOOST_CHECK_EQUAL(mp_float(0.5), boost::multiprecision::half()); // Compare mp_float constant.
+ BOOST_CHECK_EQUAL(boost::multiprecision::half(), mp_float(0.5)); // Compare other way.
+ // BOOST_CHECK_EQUAL(boost::multiprecision::half(), 0.5); // Compare with exact double. Warning C4244 and fails
+ BOOST_CHECK_EQUAL(mp_float(0.5), mp_float(1)/static_cast<boost::int32_t>(2)); //
+
+// Compare exact double.
+
+} // BOOST_AUTO_TEST_CASE(e_float_test_float_arith)
+
+BOOST_AUTO_TEST_CASE(e_float_test_numeric_limits)
+{
+ BOOST_CHECK(BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX);
+ BOOST_CHECK_EQUAL(BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_TYPE_EFX, 1);
+ BOOST_TEST_MESSAGE("Test Boost.mp_float numeric_limits.");
+
+ BOOST_CHECK(std::numeric_limits<mp_float>::is_specialized); // Must be specialized for mp_float.
+ BOOST_CHECK(std::numeric_limits<mp_float>::is_signed); // Must be signed for mp_float.
+
+ BOOST_CHECK(!std::numeric_limits<mp_float>::traps);
+
+ BOOST_CHECK(!std::numeric_limits<mp_float>::tinyness_before);
+ BOOST_CHECK(!std::numeric_limits<mp_float>::is_modulo);
+ BOOST_CHECK(std::numeric_limits<mp_float>::has_infinity);
+ BOOST_CHECK(std::numeric_limits<mp_float>::has_quiet_NaN);
+ BOOST_CHECK(!std::numeric_limits<mp_float>::has_signaling_NaN);
+ BOOST_CHECK(!std::numeric_limits<mp_float>::has_denorm_loss);
+
+ // BOOST_CHECK(!std::numeric_limits<mp_float>::float_denorm_style, 0); // TODO
+
+ BOOST_CHECK(!std::numeric_limits<mp_float>::is_iec559); // iec559 == IEEE754 (or ieee854 or IEEE754r?).
+ // Must NOT claim IEEE754 because that has a binary radix.
+ BOOST_CHECK(!std::numeric_limits<mp_float>::is_integer); // Is floating point!
+ BOOST_CHECK(!std::numeric_limits<mp_float>::is_exact); // Is floating point!
+
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::digits, BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10);
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::radix, 10); // radix = 10
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::digits10, BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10); // Same because is decimal.
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::max_digits10, BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10+1); // One noisy digit.
+
+ BOOST_CHECK_EQUAL(std::numeric_limits<double>::epsilon(), static_cast<double>(2.2204460492503131e-016) );
+ // Just to check it works for double.
+
+ //BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::epsilon(), static_cast<mp_float>(1e-49) ); // BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10 = 50
+ // [1.00000000000000000000000000000000000000000000000000e-0000000000000000049 != 9.99999999999999936399465612583852251549992142478035e-0000000000000000050]
+
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::epsilon(), static_cast<mp_float>("1e-49") ); // BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10 = 50
+
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::round_error(), static_cast<mp_float>(0.5));
+ // TODO formulae for these...
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::min_exponent, -9223372036854775795);
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::max_exponent, +9223372036854775795);
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::min_exponent10, -3063937869882635616);
+ BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::max_exponent10, +3063937869882635616);
+
+ BOOST_CHECK_EQUAL((std::numeric_limits<mp_float>::min)(), mp_float("1.0e-3063937869882635616"));
+ BOOST_CHECK_EQUAL((std::numeric_limits<mp_float>::max)(), mp_float("1.0e+3063937869882635616"));
+
+ // BOOST_CHECK_EQUAL((std::numeric_limits<mp_float>::lowest)(), 0);
+ // A finite value x such that there is no other finite value y where y < x.
+
+ // Double versions for comparison
+ BOOST_CHECK_EQUAL((std::numeric_limits<double>::lowest)(), -1.7976931348623157e+308);
+ BOOST_CHECK_EQUAL((std::numeric_limits<double>::min)(), 2.2250738585072014e-308);
+ BOOST_CHECK_EQUAL((std::numeric_limits<double>::denorm_min)(), 4.9406564584124654e-324);
+
+ //BOOST_CHECK_EQUAL((std::numeric_limits<mp_float>::denorm_min)(), 0); // TODO
+
+ // BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::quiet_NaN(),"NaN");
+ //BOOST_CHECK_EQUAL(-std::numeric_limits<mp_float>::quiet_NaN(),"NaN");
+
+ //BOOST_CHECK_EQUAL(std::numeric_limits<mp_float>::infinity(), "INF");
+ //BOOST_CHECK_EQUAL(-std::numeric_limits<mp_float>::infinity(), "INF");
+
+} // BOOST_AUTO_TEST_CASE(e_float_test_numeric_limits)
+
+BOOST_AUTO_TEST_CASE(e_float_test_constants)
+{ //
+ BOOST_CHECK_EQUAL(boost::multiprecision::one(), mp_float(1)); // Integer.
+ BOOST_CHECK_EQUAL(boost::multiprecision::one_minus(), mp_float(-1)); // Negative Integer.
+
+ BOOST_CHECK_EQUAL(boost::multiprecision::half(), mp_float(0.5)); // Exactly representable as double.
+ BOOST_CHECK_EQUAL(boost::multiprecision::sixteenth(), mp_float(0.0625)); // Exactly representable as double.
+
+ //BOOST_CHECK_EQUAL(boost::multiprecision::tenth(), mp_float(0.1)); // NOT exactly representable as double.
+ // naive_test.cpp(319): error in "e_float_test_constants": check boost::multiprecision::tenth() == mp_float(0.1) failed [0.1 != 0.100000000000000005551115123125782702118158340454102]
+ BOOST_CHECK_EQUAL(boost::multiprecision::tenth(), mp_float("0.1")); // OK, exactly representable as mp_float.
+
+ double my_pi = 3.141592653589793238462643383279502884197169399375105820974944;
+ cout <<"double pi = " << setprecision(std::numeric_limits<double>::max_digits10) << my_pi << endl; // 3.1415926535897931
+ mp_float pi_as_double("3.1415926535897931");
+ cout << "pi_as_double = " << pi_as_double << endl; // 3.1415926535897931
+
+ BOOST_CHECK_NE(boost::multiprecision::pi(), mp_float(my_pi)); // From pi with only double accuracy.
+ // [ 3.141592653589793238462643383279502884197169399375106 !=
+ // 3.141592653589793115997963468544185161590576171875 ]
+ // differ here ^ as expected at 17th decimal place.
+ // 1st is accurate, the 2nd is the expected truncated from double (in)accurate version.
+
+ BOOST_CHECK_NE(boost::multiprecision::pi(), pi_as_double);
+ // [ 3.141592653589793238462643383279502884197169399375106
+ //!= 3.1415926535897931]
+ // Loss of accuracy at 17th reported correctly, unlike when explicit in BOOST_CHECK_EQUAL macro parameter.
+
+ cout << "mp_float(3.1459.....) " << mp_float(3.141592653589793238462643383279502884197169399375105820974944) << endl;
+ // mp_float(3.1459.....) differs at 17th! 3.141592653589793115997963468544185161590576171875
+
+ // BOOST_CHECK_CLOSE_FRACTION(boost::multiprecision::pi(), pi_as_double, std::numeric_limits<mp_float>::epsilon() ); // Fails as expected.
+ BOOST_CHECK_CLOSE_FRACTION(boost::multiprecision::pi(), pi_as_double, std::numeric_limits<double>::epsilon() ); // OK with bigger double tolerance.
+
+ //BOOST_CHECK_EQUAL(boost::multiprecision::pi(), mp_float("3.141592653589793238462643383279502884197169399375105820974944")); // More than 50 == BOOST_MULTIPRECISION_BACKEND_MP_FLOAT_DIGITS10 fails as expected.
+ BOOST_CHECK_CLOSE_FRACTION(boost::multiprecision::pi(), mp_float("3.141592653589793238462643383279502884197169399375105820974944"), std::numeric_limits<mp_float>::epsilon() ); // OK with mp_float tolerance.
+
+ //BOOST_CHECK_EQUAL(boost::multiprecision::pi(), mp_float("3.141592653589793238462643383279502884197169399375106")); //
+ // 3.141592653589793238462643383279502884197169399375106 !=
+ // 3.141592653589793238462643383279502884197169399375106]
+ // which is apparent nonsense, but is actually as expected?
+ BOOST_CHECK_CLOSE_FRACTION(boost::multiprecision::pi(), mp_float("3.141592653589793238462643383279502884197169399375106"), std::numeric_limits<mp_float>::epsilon()); //
+
+
+ BOOST_CHECK_EQUAL(boost::multiprecision::pi(), mp_float("3.14159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196")); //
+
+
+ //double ddd = 1/2; // easy but BIG mistake 0!
+ //double ddd = 1./2; // 0.5 as expected.
+
+
+
+} // BOOST_AUTO_TEST_CASE(e_float_test_constants)
+//3.14159265358979323846264338327950288419716939937511
+//3.14159265358979323846264338327950288419716939937511
+//3.141592653589793238462643383279502884197169399375105820974944
+//3.141592653589793115997963468544185161590576171875
+// ^ differs from double at 17th digit.

Added: sandbox/multiprecision/test/real/cases/test_case_0000x_overflow_underflow.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_0000x_overflow_underflow.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,230 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCaseOverflowUnderflowBase : public TestCaseReal
+ {
+ protected:
+ static const boost::int32_t kmax = static_cast<boost::int32_t>(1000);
+
+ mutable bool my_test_result;
+
+ TestCaseOverflowUnderflowBase() : my_test_result(false) { }
+
+ private:
+
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const std::vector<mp_float> dummy(1u, boost::multiprecision::one());
+ return dummy;
+ }
+
+ public:
+
+ virtual ~TestCaseOverflowUnderflowBase() { }
+
+ virtual bool execute(const bool b_write_output) const
+ {
+ std::cout << name() << " : ";
+
+ std::vector<mp_float> e_float_data;
+
+ // Calculate the mp_float test data.
+ e_float_test(e_float_data);
+
+ // Optionally write the mp_float test data to an output file.
+ if(b_write_output)
+ {
+ if(!write_output_file(e_float_data))
+ {
+ std::cout << "Can not write output: FAIL" << std::endl;
+ return false;
+ }
+ }
+
+ if(my_test_result)
+ {
+ std::cout << "Numerical compare OK: PASS" << std::endl;
+ return true;
+ }
+ else
+ {
+ std::cout << "Numerical compare not OK: FAIL" << std::endl;
+ return false;
+ }
+ }
+ };
+
+ class TestCase_case_00001_overflow_mul_x : public TestCaseOverflowUnderflowBase
+ {
+ public:
+ TestCase_case_00001_overflow_mul_x() { }
+ virtual ~TestCase_case_00001_overflow_mul_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00001_overflow_mul_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ mp_float y = boost::multiprecision::googol() * boost::multiprecision::euler_gamma();
+
+ data.push_back(y);
+
+ boost::int32_t k;
+ for(k = static_cast<boost::int32_t>(0); k < kmax; k++)
+ {
+ y = y * y;
+
+ data.push_back(y);
+
+ if(boost::multiprecision::isinf(y)) { break; }
+ }
+
+ my_test_result = (k > static_cast<boost::int32_t>(1)) && (k < kmax);
+ }
+ };
+
+ class TestCase_case_00002_underflow_mul_x : public TestCaseOverflowUnderflowBase
+ {
+ public:
+ TestCase_case_00002_underflow_mul_x() { }
+ virtual ~TestCase_case_00002_underflow_mul_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00002_underflow_mul_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ mp_float y = boost::multiprecision::one() / (boost::multiprecision::googol() * boost::multiprecision::euler_gamma());
+
+ data.push_back(y);
+
+ boost::int32_t k;
+ for(k = static_cast<boost::int32_t>(0); k < kmax; k++)
+ {
+ y = y * y;
+
+ data.push_back(y);
+
+ if(boost::multiprecision::iszero(y)) { break; }
+ }
+
+ my_test_result = (k > static_cast<boost::int32_t>(1)) && (k < static_cast<boost::int32_t>(1000));
+ }
+ };
+
+ class TestCase_case_00003_overflow_x_mul_by_n : public TestCaseOverflowUnderflowBase
+ {
+ public:
+ TestCase_case_00003_overflow_x_mul_by_n() { }
+ virtual ~TestCase_case_00003_overflow_x_mul_by_n() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00003_overflow_x_mul_by_n");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ mp_float y = (std::numeric_limits<mp_float>::max)() / static_cast<boost::int32_t>(100);
+
+ data.push_back(y);
+
+ boost::int32_t k;
+
+ for(k = static_cast<boost::int32_t>(0); k < kmax; k++)
+ {
+ y = y * static_cast<boost::int32_t>(3);
+
+ data.push_back(y);
+
+ if(boost::multiprecision::isinf(y)) { break; }
+ }
+
+ my_test_result = (k > static_cast<boost::int32_t>(1)) && (k < kmax);
+ }
+ };
+
+ class TestCase_case_00004_underflow_x_div_by_n : public TestCaseOverflowUnderflowBase
+ {
+ public:
+ TestCase_case_00004_underflow_x_div_by_n() { }
+ virtual ~TestCase_case_00004_underflow_x_div_by_n() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00004_underflow_x_div_by_n");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ static const std::string str_tiny_exp = boost::lexical_cast<std::string>(std::numeric_limits<mp_float>::min_exponent10 + static_cast<boost::int64_t>(2));
+ static const std::string str_tiny = "1e" + str_tiny_exp;
+
+ mp_float y(str_tiny);
+
+ data.push_back(y);
+
+ boost::int32_t k;
+ for(k = static_cast<boost::int32_t>(0); k < kmax; k++)
+ {
+ y = y / static_cast<boost::int32_t>(3);
+
+ data.push_back(y);
+
+ const bool is_zero_or_lt_min = (boost::multiprecision::iszero(y) || (y < (std::numeric_limits<mp_float>::min)()));
+
+ if(is_zero_or_lt_min) { break; }
+ }
+
+ my_test_result = (k > static_cast<boost::int32_t>(1)) && (k < kmax);
+ }
+ };
+
+ bool test_case_00001_overflow_mul_x (const bool b_write_output)
+ {
+ return TestCase_case_00001_overflow_mul_x().execute(b_write_output);
+ }
+ bool test_case_00002_underflow_mul_x(const bool b_write_output)
+ {
+ return TestCase_case_00002_underflow_mul_x().execute(b_write_output);
+ }
+ bool test_case_00003_overflow_x_mul_by_n(const bool b_write_output)
+ {
+ return TestCase_case_00003_overflow_x_mul_by_n().execute(b_write_output);
+ }
+ bool test_case_00004_underflow_x_div_by_n(const bool b_write_output)
+ {
+ return TestCase_case_00004_underflow_x_div_by_n().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_0000y_write_to_ostream.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_0000y_write_to_ostream.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,530 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <sstream>
+#include <string>
+#include <iomanip>
+
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace
+{
+ std::string make_pi_string(const std::size_t number_of_digits)
+ {
+ // 1100 digits of pi
+ static const std::string str =
+ std::string("3.")
+ + std::string("1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679")
+ + std::string("8214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196")
+ + std::string("4428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273")
+ + std::string("7245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094")
+ + std::string("3305727036575959195309218611738193261179310511854807446237996274956735188575272489122793818301194912")
+ + std::string("9833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132")
+ + std::string("0005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235")
+ + std::string("4201995611212902196086403441815981362977477130996051870721134999999837297804995105973173281609631859")
+ + std::string("5024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303")
+ + std::string("5982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989")
+ + std::string("3809525720106548586327886593615338182796823030195203530185296899577362259941389124972177528347913152")
+ ;
+
+ std::string str_pi(str.begin(), str.begin() + (number_of_digits + 3u));
+
+ const bool b_round_up = (*(str_pi.end() - 1u) >= static_cast<char>('5'));
+ str_pi.erase(str_pi.end() - 1u, str_pi.end());
+
+ if(b_round_up)
+ {
+ std::string::iterator it = str_pi.end() - 1u;
+
+ bool b_break = false;
+
+ while(!b_break)
+ {
+ if(*it == static_cast<char>('9'))
+ {
+ *it = static_cast<char>('0');
+ }
+ else
+ {
+ *it = static_cast<char>(*it + static_cast<char>(1));
+ b_break = true;
+ }
+
+ --it;
+ }
+ }
+
+ return str_pi;
+ }
+
+ const std::size_t& default_prec(void)
+ {
+ static std::stringstream the_ss;
+ static const std::size_t the_default_prec = static_cast<std::size_t>(the_ss.precision());
+ return the_default_prec;
+ }
+}
+
+namespace test
+{
+ namespace real
+ {
+ class TestCaseWriteToOstreamBase : public TestCaseReal
+ {
+ protected:
+
+ mutable bool my_test_result;
+
+ TestCaseWriteToOstreamBase() : my_test_result(false) { }
+
+ private:
+
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const std::vector<mp_float> dummy(1u, boost::multiprecision::one());
+ return dummy;
+ }
+
+ public:
+
+ virtual ~TestCaseWriteToOstreamBase() { }
+
+ virtual bool execute(const bool b_write_output) const
+ {
+ std::cout << name() << " : ";
+
+ std::vector<mp_float> e_float_data;
+
+ // Calculate the mp_float test data.
+ e_float_test(e_float_data);
+
+ // Optionally write the mp_float test data to an output file.
+ if(b_write_output)
+ {
+ if(!write_output_file(e_float_data))
+ {
+ std::cout << "Can not write output: FAIL" << std::endl;
+ return false;
+ }
+ }
+
+ if(my_test_result)
+ {
+ std::cout << "Numerical compare OK: PASS" << std::endl;
+ return true;
+ }
+ else
+ {
+ std::cout << "Numerical compare not OK: FAIL" << std::endl;
+ return false;
+ }
+ }
+ };
+
+ class TestCase_case_00006_write_os_floatfield_fixed : public TestCaseWriteToOstreamBase
+ {
+ public:
+ TestCase_case_00006_write_os_floatfield_fixed() { }
+ virtual ~TestCase_case_00006_write_os_floatfield_fixed() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00006_write_os_floatfield_fixed");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ my_test_result = true;
+
+ std::string str;
+ std::stringstream ss;
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(0) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ std::string str_pi = std::string("+") + ::make_pi_string(::default_prec());
+ my_test_result &= (str == str_pi);
+ ss.clear();
+ ss.str("");
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(1) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.1"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(2) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.14"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(10) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.1415926536"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(20) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.14159265358979323846"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(std::numeric_limits<mp_float>::digits10) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ str_pi = ::make_pi_string(static_cast<std::size_t>(std::numeric_limits<mp_float>::digits10));
+ my_test_result &= (str == (std::string("+") + str_pi));
+ ss.clear();
+ ss.str("");
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(1000) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ str_pi = ::make_pi_string(static_cast<std::size_t>(std::numeric_limits<mp_float>::max_digits10));
+ const std::string str_zero_fill(1002u - str_pi.length(), static_cast<char>('0'));
+ my_test_result &= (str == (std::string("+") + (str_pi + str_zero_fill)));
+ ss.clear();
+ ss.str("");
+
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(29) << boost::multiprecision::pi() / mp_float("1e10");
+ str = ss.str();
+ data.push_back(mp_float(str));
+ str_pi = ::make_pi_string(static_cast<std::size_t>(19u));
+ str_pi.erase(str_pi.begin() + 1u);
+ my_test_result &= (str == (std::string("+0.") + (std::string(9u, static_cast<char>('0')) + str_pi)));
+ ss.clear();
+ ss.str("");
+
+ // Note the negative sign.
+ ss << std::fixed << std::showpos << std::showpoint << std::setprecision(19) << -boost::multiprecision::pi() * mp_float("1e10");
+ str = ss.str();
+ data.push_back(mp_float(str));
+ str_pi = ::make_pi_string(static_cast<std::size_t>(29u));
+ str_pi.erase(str_pi.begin() + 1u);
+ str_pi.insert(str_pi.begin() + 11u, 1u, static_cast<char>('.'));
+ my_test_result &= (str == (std::string("-") + str_pi));
+ ss.clear();
+ ss.str("");
+
+ // Test right-justify and fill.
+ ss << std::fixed << std::noshowpos << std::showpoint << std::setprecision(20) << std::setw(100) << std::setfill(static_cast<char>('$')) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ static const std::string str_dollar(static_cast<std::size_t>(78u), static_cast<char>('$'));
+ my_test_result &= (str == (str_dollar + std::string("3.14159265358979323846")));
+ ss.clear();
+ ss.str("");
+
+ // Test left-justify and fill.
+ ss << std::fixed << std::noshowpos << std::showpoint << std::setprecision(20) << std::setw(100) << std::setfill(static_cast<char>('*')) << std::left << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ static const std::string str_star(static_cast<std::size_t>(78u), static_cast<char>('*'));
+ my_test_result &= (str == (std::string("3.14159265358979323846") + str_star));
+ ss.clear();
+ ss.str("");
+ }
+ };
+
+ class TestCase_case_00007_write_os_floatfield_scientific : public TestCaseWriteToOstreamBase
+ {
+ public:
+ TestCase_case_00007_write_os_floatfield_scientific() { }
+ virtual ~TestCase_case_00007_write_os_floatfield_scientific() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00007_write_os_floatfield_scientific");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ my_test_result = true;
+
+ std::string str;
+ std::stringstream ss;
+
+ ss << std::scientific << std::showpos << std::showpoint << std::setprecision(1) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.1e+000"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::scientific << std::showpos << std::showpoint << std::setprecision(2) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.14e+000"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::scientific << std::showpos << std::showpoint << std::setprecision(20) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.14159265358979323846e+000"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::scientific << std::showpos << std::showpoint << std::setprecision(std::numeric_limits<mp_float>::digits10) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ std::string str_pi = ::make_pi_string(static_cast<std::size_t>(std::numeric_limits<mp_float>::digits10));
+ my_test_result &= (str == (std::string("+") + (str_pi + std::string("e+000"))));
+ ss.clear();
+ ss.str("");
+
+ ss << std::scientific << std::showpos << std::showpoint << std::setprecision(1000) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ str_pi = ::make_pi_string(static_cast<std::size_t>(std::numeric_limits<mp_float>::max_digits10));
+ const std::string str_zero_fill(1002u - str_pi.length(), static_cast<char>('0'));
+ my_test_result &= (str == (std::string("+") + ((str_pi + str_zero_fill) + std::string("e+000"))));
+ ss.clear();
+ ss.str("");
+
+ ss << std::scientific << std::showpos << std::showpoint << std::setprecision(20) << boost::multiprecision::pi() * mp_float("1e43");
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.14159265358979323846e+043"));
+ ss.clear();
+ ss.str("");
+
+ // Note negative sign.
+ ss << std::scientific << std::showpos << std::showpoint << std::setprecision(20) << -boost::multiprecision::pi() * mp_float("1e-43");
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("-3.14159265358979323846e-043"));
+ ss.clear();
+ ss.str("");
+
+ // Note uppercase.
+ ss << std::scientific << std::showpos << std::showpoint << std::uppercase << std::setprecision(20) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.14159265358979323846E+000"));
+ ss.clear();
+ ss.str("");
+ }
+ };
+
+ class TestCase_case_00008_write_os_floatfield_not_set : public TestCaseWriteToOstreamBase
+ {
+ public:
+ TestCase_case_00008_write_os_floatfield_not_set() { }
+ virtual ~TestCase_case_00008_write_os_floatfield_not_set() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00008_write_os_floatfield_not_set");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ my_test_result = true;
+
+ std::string str;
+ std::stringstream ss;
+
+ ss << boost::multiprecision::zero();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("0"));
+ ss.clear();
+ ss.str("");
+
+ ss << boost::multiprecision::one_minus();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("-1"));
+ ss.clear();
+ ss.str("");
+
+ ss << boost::multiprecision::ten();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("10"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpoint << boost::multiprecision::ten();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ static const std::string str_10 = std::string("10.")
+ + std::string(static_cast<std::size_t>(default_prec() - 2u), static_cast<char>('0'));
+ my_test_result &= (str == str_10);
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpoint << mp_float("1e1000");
+ str = ss.str();
+ data.push_back(mp_float(str));
+ static const std::string str_1e1000 = (std::string("1.")
+ + std::string(static_cast<std::size_t>(default_prec() - 1u), static_cast<char>('0')))
+ + std::string("e+001000");
+ my_test_result &= (str == str_1e1000);
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpoint << mp_float("1e" + boost::lexical_cast<std::string>(default_prec()));
+ str = ss.str();
+ data.push_back(mp_float(str));
+ static const std::string str_1ePrec = (std::string("1.")
+ + std::string(static_cast<std::size_t>(default_prec() - 1u), static_cast<char>('0')))
+ + (std::string("e+00")
+ + boost::lexical_cast<std::string>(default_prec()));
+ my_test_result &= (str == str_1ePrec);
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpoint << mp_float("1e" + boost::lexical_cast<std::string>(default_prec() - 1u));
+ str = ss.str();
+ data.push_back(mp_float(str));
+ static const std::string str_1ePm1 = (std::string("1")
+ + std::string(static_cast<std::size_t>(default_prec() - 1u), static_cast<char>('0')))
+ + std::string(".");
+ my_test_result &= (str == str_1ePm1);
+ ss.clear();
+ ss.str("");
+
+ ss << std::noshowpoint;
+
+ ss << mp_float(100000000000uLL); // 10^11
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("1e+011"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpoint << boost::multiprecision::googol();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("1.00000e+100"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::noshowpoint << boost::multiprecision::googol();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("1e+100"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::noshowpoint << (static_cast<boost::int32_t>(1) / boost::multiprecision::googol());
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("1e-100"));
+ ss.clear();
+ ss.str("");
+
+ ss << mp_float("1e1234");
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("1e+001234"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpoint << boost::multiprecision::eight();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ static const std::string str_8_point_zeros = std::string("8.")
+ + std::string(static_cast<std::size_t>(default_prec() - 1u), static_cast<char>('0'));
+ my_test_result &= (str == str_8_point_zeros);
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpoint << -boost::multiprecision::eight();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == ("-" + str_8_point_zeros));
+ ss.clear();
+ ss.str("");
+
+ ss << std::noshowpoint << boost::multiprecision::eight();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("8"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::noshowpos << std::noshowpoint << std::setprecision(0) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ std::string str_pi = ::make_pi_string(::default_prec() - 1u);
+ my_test_result &= (str == str_pi);
+ ss.clear();
+ ss.str("");
+
+ ss << std::noshowpos << std::noshowpoint << std::setprecision(0) << (boost::multiprecision::pi() * static_cast<boost::int32_t>(100));
+ str = ss.str();
+ data.push_back(mp_float(str));
+ str_pi = ::make_pi_string(::default_prec() - 1u);
+ str_pi.erase(str_pi.begin() + 1u, str_pi.begin() + 2u);
+ str_pi.insert(str_pi.begin() + 3u, static_cast<std::size_t>(1u), static_cast<char>('.'));
+ my_test_result &= (str == str_pi);
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpos << std::showpoint << std::setprecision(1) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3."));
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpos << std::showpoint << std::setprecision(20) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ my_test_result &= (str == std::string("+3.1415926535897932385"));
+ ss.clear();
+ ss.str("");
+
+ ss << std::showpos << std::showpoint << std::setprecision(1000) << boost::multiprecision::pi();
+ str = ss.str();
+ data.push_back(mp_float(str));
+ str_pi = std::string("+") + ::make_pi_string(static_cast<std::size_t>(std::numeric_limits<mp_float>::max_digits10 - 1));
+ static const std::string str_zero_fill(static_cast<std::size_t>(1000 - std::numeric_limits<mp_float>::max_digits10), static_cast<char>('0'));
+ str_pi += str_zero_fill;
+ my_test_result &= (str == str_pi);
+ ss.clear();
+ ss.str("");
+ }
+ };
+
+ bool test_case_00006_write_os_floatfield_fixed(const bool b_write_output)
+ {
+ return TestCase_case_00006_write_os_floatfield_fixed().execute(b_write_output);
+ }
+ bool test_case_00007_write_os_floatfield_scientific(const bool b_write_output)
+ {
+ return TestCase_case_00007_write_os_floatfield_scientific().execute(b_write_output);
+ }
+ bool test_case_00008_write_os_floatfield_not_set(const bool b_write_output)
+ {
+ return TestCase_case_00008_write_os_floatfield_not_set().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_0000z_global_ops_pod.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_0000z_global_ops_pod.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,268 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <sstream>
+#include <string>
+#include <limits>
+#include <iomanip>
+
+#include <boost/array.hpp>
+#include <boost/lexical_cast.hpp>
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace
+{
+ struct e_float_equate_to
+ {
+ static mp_float the_value_min;
+ static mp_float the_value_max;
+
+ template<typename TYPE, typename CAST_TYPE>
+ inline static bool check_type(void)
+ {
+ the_value_min = (std::numeric_limits<TYPE>::min)();
+ the_value_max = (std::numeric_limits<TYPE>::max)();
+
+ std::stringstream ss;
+
+ ss << static_cast<CAST_TYPE>((std::numeric_limits<TYPE>::min)());
+ std::string str_min = ss.str();
+
+ ss.clear();
+ ss.str("");
+
+ ss << static_cast<CAST_TYPE>((std::numeric_limits<TYPE>::max)());
+ std::string str_max = ss.str();
+
+ return ((the_value_min == mp_float(str_min)) && (the_value_max == mp_float(str_max)));
+ }
+ };
+
+ mp_float e_float_equate_to::the_value_min;
+ mp_float e_float_equate_to::the_value_max;
+}
+
+namespace test
+{
+ namespace real
+ {
+ class TestCaseGlobalOpsPodBase : public TestCaseReal
+ {
+ protected:
+ mutable bool my_test_result;
+
+ TestCaseGlobalOpsPodBase() : my_test_result(false) { }
+
+ private:
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const std::vector<mp_float> dummy(1u, boost::multiprecision::one());
+ return dummy;
+ }
+
+ public:
+ virtual ~TestCaseGlobalOpsPodBase() { }
+
+ virtual bool execute(const bool b_write_output) const
+ {
+ std::cout << name() << " : ";
+
+ std::vector<mp_float> e_float_data;
+
+ // Calculate the mp_float test data.
+ e_float_test(e_float_data);
+
+ // Optionally write the mp_float test data to an output file.
+ if(b_write_output)
+ {
+ if(!write_output_file(e_float_data))
+ {
+ std::cout << "Can not write output: FAIL" << std::endl;
+ return false;
+ }
+ }
+
+ if(my_test_result)
+ {
+ std::cout << "Numerical compare OK: PASS" << std::endl;
+ return true;
+ }
+ else
+ {
+ std::cout << "Numerical compare not OK: FAIL" << std::endl;
+ return false;
+ }
+ }
+ };
+
+ class TestCase_case_00009_global_ops_pod_equate : public TestCaseGlobalOpsPodBase
+ {
+ public:
+ TestCase_case_00009_global_ops_pod_equate() { }
+ virtual ~TestCase_case_00009_global_ops_pod_equate() { }
+
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00009_global_ops_pod_equate");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ my_test_result = true;
+
+ my_test_result &= (std::numeric_limits<char>::is_signed ? ::e_float_equate_to::check_type<char, signed long long>()
+ : ::e_float_equate_to::check_type<char, unsigned long long>());
+ my_test_result &= (std::numeric_limits<wchar_t>::is_signed ? ::e_float_equate_to::check_type<wchar_t, signed long long>()
+ : ::e_float_equate_to::check_type<wchar_t, unsigned long long>());
+
+ my_test_result &= ::e_float_equate_to::check_type<signed char, signed long long>();
+ my_test_result &= ::e_float_equate_to::check_type<signed short, signed long long>();
+ my_test_result &= ::e_float_equate_to::check_type<signed int, signed long long>();
+ my_test_result &= ::e_float_equate_to::check_type<signed long, signed long long>();
+ my_test_result &= ::e_float_equate_to::check_type<signed long long, signed long long>();
+
+ my_test_result &= ::e_float_equate_to::check_type<unsigned char, unsigned long long>();
+ my_test_result &= ::e_float_equate_to::check_type<unsigned short, unsigned long long>();
+ my_test_result &= ::e_float_equate_to::check_type<unsigned int, unsigned long long>();
+ my_test_result &= ::e_float_equate_to::check_type<unsigned long, unsigned long long>();
+ my_test_result &= ::e_float_equate_to::check_type<unsigned long long, unsigned long long>();
+
+ mp_float x(123u); // Initialize x with something.
+
+ // Reassign x to some floating-point POD values and check some equalities.
+ x = static_cast<float>(4.0f); my_test_result &= (x == mp_float(4u));
+ x = static_cast<double>(4.0); my_test_result &= (x == mp_float(4u));
+ x = static_cast<long double>(4.0); my_test_result &= (x == mp_float(4u));
+
+ my_test_result &= (mp_float(0.0f) == boost::multiprecision::zero());
+ my_test_result &= (mp_float(0.0) == boost::multiprecision::zero());
+ my_test_result &= (mp_float(static_cast<long double>(0.0)) == boost::multiprecision::zero());
+ }
+ };
+
+ class TestCase_case_00010_global_ops_pod_operations : public TestCaseGlobalOpsPodBase
+ {
+ public:
+ TestCase_case_00010_global_ops_pod_operations() { }
+ virtual ~TestCase_case_00010_global_ops_pod_operations() { }
+
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00010_global_ops_pod_operations");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+
+ my_test_result = true;
+
+ my_test_result &= (+boost::multiprecision::four() == static_cast<float>(+4.0f));
+ my_test_result &= (-boost::multiprecision::four() == static_cast<float>(-4.0f));
+ my_test_result &= (+boost::multiprecision::four() == static_cast<double>(+4.0));
+ my_test_result &= (-boost::multiprecision::four() == static_cast<double>(-4.0));
+ my_test_result &= (+boost::multiprecision::four() == static_cast<long double>(+4.0));
+ my_test_result &= (-boost::multiprecision::four() == static_cast<long double>(-4.0));
+
+ my_test_result &= (mp_float(11.1f) == mp_float("11.1000003814697265625"));
+ my_test_result &= (mp_float(11.1) == mp_float("11.0999999999999996447286321199499070644378662109375"));
+
+ my_test_result &= (+boost::multiprecision::pi() > static_cast<float>(+3.14f));
+ my_test_result &= (-boost::multiprecision::pi() < static_cast<float>(-3.14f));
+ my_test_result &= (+boost::multiprecision::pi() > static_cast<double>(+3.14));
+ my_test_result &= (-boost::multiprecision::pi() < static_cast<double>(-3.14));
+ my_test_result &= (+boost::multiprecision::pi() > static_cast<long double>(+3.14));
+ my_test_result &= (-boost::multiprecision::pi() < static_cast<long double>(-3.14));
+
+ my_test_result &= (static_cast<float> (0.5f) < boost::multiprecision::euler_gamma());
+ my_test_result &= (static_cast<double> (0.5) < boost::multiprecision::euler_gamma());
+ my_test_result &= (static_cast<long double>(0.5) < boost::multiprecision::euler_gamma());
+
+ my_test_result &= (mp_float(static_cast<char>('1')) == static_cast<char>(0x31));
+ my_test_result &= (mp_float(static_cast<char>('2')) > static_cast<char>('1'));
+ my_test_result &= (mp_float(static_cast<char>('1')) < static_cast<char>('2'));
+ my_test_result &= (mp_float(static_cast<char>('2')) <= static_cast<char>('2'));
+ my_test_result &= (mp_float(static_cast<char>('2')) >= static_cast<char>('2'));
+ my_test_result &= (3.14 != boost::multiprecision::pi());
+
+ my_test_result &= (mp_float("1e1000") > (std::numeric_limits<unsigned long long>::max)());
+ my_test_result &= (boost::multiprecision::zero() == 0);
+ my_test_result &= (std::numeric_limits<mp_float>::epsilon() > 0);
+
+ my_test_result &= ((boost::multiprecision::one() * 4.0) == 4);
+ my_test_result &= ((4.0 * boost::multiprecision::one()) == 4);
+
+ my_test_result &= (std::numeric_limits<mp_float>::quiet_NaN() != 0);
+ my_test_result &= (std::numeric_limits<mp_float>::quiet_NaN() != boost::multiprecision::one());
+ my_test_result &= (std::numeric_limits<mp_float>::quiet_NaN() != std::numeric_limits<mp_float>::quiet_NaN());
+
+ static const mp_float huge("1e12345678");
+ static const mp_float tiny("1e-12345678");
+
+ my_test_result &= (huge < +std::numeric_limits<mp_float>::infinity());
+ my_test_result &= (tiny > -std::numeric_limits<mp_float>::infinity());
+ my_test_result &= (+std::numeric_limits<mp_float>::infinity() == (+1 / boost::multiprecision::zero()));
+ my_test_result &= (-std::numeric_limits<mp_float>::infinity() == (-1 / boost::multiprecision::zero()));
+ my_test_result &= (-std::numeric_limits<mp_float>::infinity() != +std::numeric_limits<mp_float>::infinity());
+ my_test_result &= (+std::numeric_limits<mp_float>::infinity() > -std::numeric_limits<mp_float>::infinity());
+ my_test_result &= (-std::numeric_limits<mp_float>::infinity() < +std::numeric_limits<mp_float>::infinity());
+
+ float f = huge;
+ double d = huge;
+ long double ld = huge;
+
+ my_test_result &= (f == std::numeric_limits<float>::infinity());
+ my_test_result &= (d == std::numeric_limits<double>::infinity());
+// TBD: Why does this not work for GCC on cygwin with unusual 10-byte long double?
+// my_test_result &= (ld == std::numeric_limits<long double>::infinity());
+
+ f = tiny;
+ d = tiny;
+ ld = tiny;
+
+ my_test_result &= (f == 0.0f);
+ my_test_result &= (d == 0.0);
+ my_test_result &= (ld == static_cast<long double>(0.0));
+
+ static const mp_float min_value("1e" + boost::lexical_cast<std::string>(std::numeric_limits<mp_float>::min_exponent10));
+
+ my_test_result &= ((std::numeric_limits<mp_float>::min)() == min_value);
+ my_test_result &= ((std::numeric_limits<mp_float>::min)() != 0);
+ my_test_result &= ((std::numeric_limits<mp_float>::min)() != boost::multiprecision::zero());
+ my_test_result &= (0 != (std::numeric_limits<mp_float>::min)());
+ my_test_result &= (boost::multiprecision::zero() != (std::numeric_limits<mp_float>::min)());
+ my_test_result &= (0 < +(std::numeric_limits<mp_float>::min)());
+ my_test_result &= (0 > -(std::numeric_limits<mp_float>::min)());
+
+ static const mp_float a_little_more_than_min_value("1e" + boost::lexical_cast<std::string>(std::numeric_limits<mp_float>::min_exponent10 + static_cast<boost::int64_t>(1)));
+
+ my_test_result &= (a_little_more_than_min_value != 0);
+ my_test_result &= (a_little_more_than_min_value > (std::numeric_limits<mp_float>::min)());
+ }
+ };
+
+ bool test_case_00009_global_ops_pod_equate(const bool b_write_output)
+ {
+ return TestCase_case_00009_global_ops_pod_equate().execute(b_write_output);
+ }
+ bool test_case_00010_global_ops_pod_operations(const bool b_write_output)
+ {
+ return TestCase_case_00010_global_ops_pod_operations().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00011_various_elem_math.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00011_various_elem_math.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,73 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00011_various_elem_math : public TestCaseReal
+ {
+ public:
+ TestCase_case_00011_various_elem_math() { }
+ virtual ~TestCase_case_00011_various_elem_math() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00011_various_elem_math");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+ data.push_back(boost::multiprecision::floor(boost::multiprecision::pi()));
+ data.push_back(boost::multiprecision::ceil (boost::multiprecision::pi()));
+ data.push_back(boost::multiprecision::floor(-100 - boost::multiprecision::euler_gamma()));
+ data.push_back(boost::multiprecision::ceil (-100 - boost::multiprecision::euler_gamma()));
+ data.push_back(mp_float(boost::multiprecision::to_int32(mp_float("1e9"))));
+ data.push_back(mp_float(boost::multiprecision::to_int64(mp_float("1e18"))));
+ data.push_back(mp_float(boost::multiprecision::to_int32(mp_float("1e29"))));
+ data.push_back(mp_float(boost::multiprecision::to_int64(mp_float("1e29"))));
+ data.push_back(mp_float(boost::multiprecision::to_int32(mp_complex(boost::multiprecision::pi(), boost::multiprecision::euler_gamma()))));
+ data.push_back(mp_float(boost::multiprecision::to_int64(mp_complex(boost::multiprecision::pi(), boost::multiprecision::euler_gamma()))));
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 10u> a =
+ {{
+ mp_float("3"),
+ mp_float("4"),
+ mp_float("-101"),
+ mp_float("-100"),
+ mp_float("1000000000"),
+ mp_float("1000000000000000000"),
+ mp_float("2147483647"),
+ mp_float("9223372036854775807"),
+ mp_float("3"),
+ mp_float("3"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00011_various_elem_math(const bool b_write_output)
+ {
+ return TestCase_case_00011_various_elem_math().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00021_bernoulli.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00021_bernoulli.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00021_bernoulli : public TestCaseReal
+ {
+ public:
+ TestCase_case_00021_bernoulli() { }
+ virtual ~TestCase_case_00021_bernoulli() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00021_bernoulli");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::uint32_t k = static_cast<boost::uint32_t>(0u); k < static_cast<boost::uint32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::bernoulli(10u * k);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("1."),
+ mp_float("0.075757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575758"),
+ mp_float("-529.12424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242424242"),
+ mp_float("6.015808739006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714006423683843038681748359167714e8"),
+ mp_float("-1.9296579341940068148632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486326681448632668144863266814486e16"),
+ mp_float("7.5008667460769643668557200757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575758e24"),
+ mp_float("-2.1399949257225333665810744765191097392674151161723874574218307692659887265915822235229956012610692674151161723874574218307692659887265915822235229956012610692674151161723874574218307692659887265915822235229956012610692674151161723874574218307692659887265915822235229956012610692674151161723874574218307692659887265915822235229956012610692674151161723874574218307692659887265915822235229956012610692674e34"),
+ mp_float("3.2125082102718032518204792304264985243521941106167306871532223644899701237729406743491250533504054630815194195475885616730687153222364489970123772940674349125053350405463081519419547588561673068715322236448997012377294067434912505335040546308151941954758856167306871532223644899701237729406743491250533504054630815194195475885616730687153222364489970123772940674349125053350405463081519419547588561673e44"),
+ mp_float("-2.0015583233248370274925329198813298768724220132825915915207456197556627972696839267857919220903438980913873309856093213338550497804443285074561975566279726968392678579192209034389809138733098560932133385504978044432850745619755662797269683926785791922090343898091387330985609321333855049780444328507456197556627972696839267857919220903438980913873309856093213338550497804443285074561975566279726968393e55"),
+ mp_float("4.3328896986641192419616613059379206218451368511809109144986557880328480107894369354471222043378240322213157527249208064148641398216949999632512365958885483503480107894369354471222043378240322213157527249208064148641398216949999632512365958885483503480107894369354471222043378240322213157527249208064148641398216949999632512365958885483503480107894369354471222043378240322213157527249208064148641398217e66"),
+ mp_float("-2.8382249570693706959264156336481764738284680928012882128228531714464865111070281341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143414341434143e78"),
+ mp_float("5.0368859950492377419289421915180154812442374264903214141525651322528310976742989327917853870322793148880105401844532279314888010540184453227931488801054018445322793148880105401844532279314888010540184453227931488801054018445322793148880105401844532279314888010540184453227931488801054018445322793148880105401844532279314888010540184453227931488801054018445322793148880105401844532279314888010540184453e90"),
+ mp_float("-2.2122776912707834942288323456712932445573185054987780150566552693027736635002572659102528031391154956836417064395064162898964462210131684277509818261259620199915049717064395064162898964462210131684277509818261259620199915049717064395064162898964462210131684277509818261259620199915049717064395064162898964462210131684277509818261259620199915049717064395064162898964462210131684277509818261259620199915e103"),
+ mp_float("2.2301817894241625209869298198838728143738272150875878542490550781038036345171224596289317738768145763813725828620893106812398797131621559102475133009484154522322461253758963682627804765209345362017117742308582003238491788110108720795743696507055285681239879713162155910247513300948415452232246125375896368262780476520934536201711774230858200323849178811010872079574369650705528568123987971316215591025e116"),
+ mp_float("-4.8412600798208880508789196709963412761130549942324620385115856258002631506521525552178309537216871114312353272795725262246673092291728096899053674187234167807261542084271564601822008330021928856314480403844172663988108378589194519257656703018529147718074381503230459034247280968990536741872341678072615420842715646018220083300219288563144804038441726639881083785891945192576567030185291477180743815032e129"),
+ mp_float("2.1426101250665291550871323135148272096660152602965095141559634893447829324846057506121300660480116095571727001472643102109060678384924129331338489401985182801247744635909557934766223593397274234702134723497680130878165486155231936048000991389156311181519470346644027481455381476744433377631412239401985182801247744635909557934766223593397274234702134723497680130878165486155231936048000991389156311182e143"),
+ mp_float("-1.8437723552033869727688202653628785487541402926335260270034458408149393245849484726102903484283419354319667413610910191555877583414761557944288440165302368315207456197556627972696839267857919220903438980913873309856093213338550497804443285074561975566279726968392678579192209034389809138733098560932133385504978044432850745619755662797269683926785791922090343898091387330985609321333855049780444328507e157"),
+ mp_float("2.9596092064642050062875269581585187042637929901664913214415150864749542291619230040558813869144340995838686419669420754538171435973878011027730113620408963320876130308468800757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757575757576e171"),
+ mp_float("-8.5432893578833707718598254629908277459327010789872701906044242968524697462056996355108348662792070045654894333747091988976565454621694124070630607217777404605240645634756508130707910492447785761901457236132791006283832605357761862710465302840166156384191677554938953378386336173402101001176464463558146941381740399877613095394204207795900066829119815603748233924783777785761901457236132791006283832605e185"),
+ mp_float("4.2928413791402981089416829654107466904552098101211773632787098118229333448449227421334515845766966132843879793929098617107109337670402931788376787449343197582408610819905444019466159172774476992178165107052197366333491987942249722354434396319213073139774710455338727590036490560050769474853244486752340155481516738061240679041726162145010312549579565286371569094082183087418689512930350626685705219737e200"),
+ mp_float("-3.6470772645191354362138308865549944904868234686191058737682730903621850206107709861390953897990603874968087981794273041284029953762108443710719800551618065493095862101213464712665237801062630150840451297095408703496715853365824387316780458533658243873167804585336582438731678045853365824387316780458533658243873167804585336582438731678045853365824387316780458533658243873167804585336582438731678045853e215"),
+ mp_float("5.1031725772629575927919818510649676853975996289216196314852298959297983492515877272044896127090496935068960878322016954404553092124521002403101596993511088954708582718988624591824851689483118747039916204260128197938441124072575224285856271089567097969438859046816072451895331919456500765368466907695917605093383785403429390589320549115083557385141392050268324807221863773565947156871755386713543514609e230"),
+ mp_float("-1.1484933873465183993849859920680559254835379696471413978842101139495708268220839973893499744525497367883712946129053507938903702921608803130701271106954606862596755565224957799670899084263152138601385537581171191532923110885047640186709253553054421677206851119894598155467720685111989459815546772068511198945981554677206851119894598155467720685111989459815546772068511198945981554677206851119894598155e246"),
+ mp_float("4.0685806076433973442401212412493731863368431075452165580263344845463077529803699331020735696818015149874671107964869898086324006447419617409859552136116222306460721850603786948409495282097795104907812282479879036766930393499658467956084050515421086551206574248430544809800128949065119277885235332043842682140554480980012894906511927788523533204384268214055448098001289490651192778852353320438426821406e261"),
+ mp_float("-2.2244891682179834667660234886504851082483512780169019320578856338459117898256476467190731955204204326255512695754366497661464998007267332409437967916800349276667581421295454644191440291140188263808762356322626097467497021978113685682538449175520779512092614395530247138574463722480037302069288600697437557947159015122705739902529645851100485919655010465071285672852064806073946235151667235528204041662e277"),
+ mp_float("1.8435261467838939412664620159770223239649247700003442945697589715176258684233534837776558440474285697821832922003969788359056020603056358044856819735659151510513686831683786752266530942856333382862289075957996933971198209110928564393961812953609407215690862253521742864077383938476752525488157107177351201255583725703247615598213207774960763008571773512012555837257032476155982132077749607630085717735e293"),
+ mp_float("-2.2776406496019595938750589835069380370187263493260088971518639411379886874558813122651399909378858142427133813872435833793287580177928866469737668914454242402643059579159527351851709964178612790612618203228833871204461679307297524526992180322187672666247034148413862100977816584301412134216109978704555314092411507439365569856712014280788585844037377956433119907122499661747825365857916628476905014425e309"),
+ mp_float("4.1312131760738423597325116394896694042661684263765701768146935396335825435641026127901400289712928442719568182762644234376971088041629058399848368832652903563479387602324008882282653253951617180829818312070901495294807172135772304662117499178427339936394830424539396262030330964230432412400191944858320642545298205945811918403844320752536566443432167437455028531278852355917116377963770818004963062882e325"),
+ mp_float("-1.0845732840876861105181252911860796163202480099707850406069703649224447241646965545159634865039437196476738931820619994064182929237151149928627493816443185871256316241654682917407113046352087611365553794062286838871389856813836925854238198770341945501884286221253891604346448050358391421952792218585519576146920034896323918904966987954590492472007586526690164075264720710655344705571798956478722156947e342"),
+ mp_float("4.0672563035422122586988360036820160406288243112994378892537751818435167988020728155020423377297803084684648105487329512603738588653615135137617100343594180909364785949177594131739074246615189089734835514593074140931529528938273070688979490644710943201762606828504921272301542980868403127177932886534172744902520846525078846739935933954219555217135811346394379058808423215202876219825372367745249101181e358"),
+ mp_float("-2.1521499732799868297198173767560881985734565727838067018493439258467969958243434747665570859768285311824175777998234967126951372030306532613711572150699858846633724693137811577325226590243532627817835819047273097459806434605278294634103040263306422135204224628525102013793319004047349439722630091062338904573288757384392938574084338785252161198731111842810037550618267765490454091976578170251662927941e375"),
+ mp_float("1.5885249124412214728146921210698216955471376348874976688357755510140681803889829064391046223959740449379408979241148702710298404886061574012910650658195542354096006813545952155105143531177491373596648856257775623696369142942192372606436021401396736455236196035297346478950727173168718612287218528399428270386146036586283540070566795315625546292572077805479396131973767970756569054626334149269107254214e392"),
+ mp_float("-1.6181135520838065925279895316369550844204147199850022952162114084094459767900117208018085961002536788653678264412815278812462327380799600098265285761556936513447252326685190315938108987993794012470661259182391633780082699854068610664051619170067459765030668158650369726513573761139991102084775043031685475470774108746642145192553898182868256539614687773498231202005627808385194938353747606525127522939e409"),
+ mp_float("2.2519105913367168091539581467257757187072044017748030856388342851119000703417191482325787523804907166264078366840381497274845243587281583670035117260407804065514157769785137764679380628969903945517306916597549888866611635464351809129010827389647021610503114386722924241424052134815639613818053861507434932638458772145817100846170481520095562615896588240789688283687381540299554706952575557102016017168e426"),
+ mp_float("-4.2414908901301373390524149606841515151656262101324599707845433950887037160792473294245020684472987301078852415441064259995060692395193837269332264117831466034746930708793114798340883560823354537420533379613020110031266826405817957900896729078960790152832022022737402063927057194391058078222151272011258103440804157408725835001551710119444610367820253874305341235754917085862052855237516925645083292317e443"),
+ mp_float("1.071643382649675572086865465873916611536594860884232094371266192006684962684692151386814692953031930848054465974098142426112886654557234172825489848481554561468954762306606219007046664508710492481393477753458624821123636998138258741999817057439020363295111386848649530967020818351552719935716027877767950259267068228049786302295622049964869525763264076409231481869062849905225388267106313180890272988e461"),
+ mp_float("-3.601686379213993374332690210094863486472132189343015017421868286898192361150735738563964085330880865454166855485955208939877044866544668051875199958279503675696471026214854000232857390744808580879935764950303448621426845318955206874010627044560480299831970651597232817244103455559276193502081027655825152685853446233562332234390478609141018904827652845992775077144019431452158153557761802997156607754e478"),
+ mp_float("1.5975222439685865482275146399597276966942810312936088471957256372144784951715182276803080383257420971275961968036762613785274544248480495290714918935025597209625460374560529998094436316065734447329350550685504379095398672286004194792472097033715540170059284927809617511881079328418018279150982739443739051330416375923687199185298837492790105280142695213917240187681467072037079491956870919948803660047e496"),
+ mp_float("-9.2815515952586152059274433672899481503446504234776778309881177450526281216807252684635602261576688279639881005299357505986143058813152778527327172199066212796922256236405043420138480782260913685870894350673891428352437091170603349483822784459884457176435843571132474469938985739024273168070542488744169983776769800155014749970041330923435336811031380237575585655047380053219621601721993583843162751864e513"),
+ mp_float("7.0136674428072884524417779814250556139822164032150252720389451158659501067543851836381368510499567915669238248898088315970807718987191841464942435521549422496748940696074607389277538938531933151791091822399180035839200564502138122265600638250823586093664889977138703822312811779672548271490002591251742293319065928781989271180632117540106892699406317217244484953226050324167352123918880627916344919023e531"),
+ mp_float("-6.8469448558064533606162585823108835976782300971806257424147811503113571978345899503289905736818864420989394962086906601394567974900458878600657308679081450376386606494905531641419562386834668359517963162627520026827084022006094525108963495747310580188137779648226732579688577039462338550646311248456026576778469708801288158593525274157301225996009017937543573262495196730516980749990770247731291131479e549"),
+ mp_float("8.5802072350326178560592506430950197609675459283173034170736379302261878916315974643588282084631626259603439498644902043885869696606563580459732394732019123511701627490739294984890042194164291298058110694980477058006865339949849315804753111314790672988546736681696455555061699896246082026955341047929597563364263716633991277862123256163346060885510319047612295210496728141447136895288403303253800785186e567"),
+ mp_float("-1.3718467600528878889260554172973421066138312611641999631890044958667569017248523160040132010778228051590516236810101519136609303220389224294664096970140411350788082358862558706675027075883000790952766661472935307556140616411727720268397027958699098705430326237943870103269131670481149061643859774245963133378558190027576483308435757205997441721008452822239522252114653792708854850833230658949706193413e586"),
+ mp_float("2.7822977852787564261775422708549840914058190155714314219074647345319681738861270695351477948624681848820066815997935445418372051031488640758505301413315148218266683445151042459517991588017217858437842523581004585900693289152538733495813351722522361022020539323205567644271785754294399676716792424678984674852214410496209160057981610584253784302367926432413027126577803147452892087605468952118927260554e604"),
+ mp_float("-7.1185585218738003046127811210440773572778522851224935749975370916659125302360166484091747200440389864076089368968800523554415463016657779440883823555593513265783381322652450864999224455425508633798292058616165621410520089854417113044622369822513434112141079327896534109703955532879109549433035488936177459813381729988117132580636289693606707276407242581154719141250407800269306404410461836456602261332e622"),
+ mp_float("2.2854945652875306814657577985170335428884547909609892069299409063163637252901643617679247021013992990200575156207998673008127778624068113122016145368894209701415009816890214075574219557238977671957915727861136351708597941803276252945607386235584918449634297327295405000447887684698136928824412191148925896913174659002659806559377374678250567928654835046141383907814512513612995321358792395820401586004e641"),
+ mp_float("-9.1617613632706489205376134357718828980510024451796117430981396746500492967874850883186586531354265024472844389033876232776920208408352271851909161034227542653986014864589832837863367808571424738344916515251057973172021342680340052609149061654774512869784077892179741921245541828742333165183960498634557258288775014851967196532071528457996888548040301785487688556566566908602202311631763317927499374162e659"),
+ mp_float("4.5634623131905213632351824201787844595800642116103694954734204328091843095254702443776676220620584171541513857951181769913524378490548145245906960865299429633021751378827240444314519755147051059896491729130044734354996882754823215964757347243984122739126304822052612785701473592257878107388872301644183743247234311613713772064596208607597206123738276506861508142751135935480616399958213447632911941592e678"),
+ mp_float("-2.8113943110814931667934141570619501324032589175175732994213150200375524476825812863034932942103951872049992371273075555982897516311195860710946237410922106777275875415970220332742861008196196867903099942357389537858722698749939037809552732399342576987782946000484048258327366623220548036747819801768318304422777578710486671956447162387133503578798009109158574994279860498332394862743294295643333233361e697"),
+ mp_float("2.1327473713601905075957484445369110787880193539718207761580439146366271443331352356231618466382935889460896356291753395124002044153842335386802931275221754703957734405727340990379987938958124502044930601048600481699924611266210105196554814350472619113903644877965621147698531484031213852298695891588366162718380031469681330995164948142686081538273746138051678915986808842227578316461232153452562687162e716"),
+ mp_float("-1.9838295352127113782914693566660013658726826032571390874967159257545672863566388611787421078525108592291530337029092400696473622892424856569225941011347853031330965565241865631367095715329644498785189089774812431217939917109217088908065600473155379204598591294227027120692725766683900900349671358071820289116601173816247567076328078381349393263946718375394568412317419417687153563974804965050546375342e735"),
+ mp_float("2.2534460118343527332799463068359407298584818345085015529951596351949384592100355435663580001598401952338902584173341759899871946100647483033733680748737117793579681214583983952611411952396480324565867861331108727400135951055161893717377099296327728626303652515618466297247400330440809905907322025804522863583805446119417782039090337734883889602484023972267663437681354792633158109238521872496443961361e754"),
+ mp_float("-3.1136353860232201278341029803852753795332603697573910142394141559799266515137845748586926336609510305786696558265560566406575444448748649290619007503982263335973110899490148796721242457490145699540283937817631325216817279810045880211589565314318391272684652339983210731230540392648233864511603921118111291398416240313410212757074176743034602669972623589469347724020083241386113474569988458823872260982e773"),
+ mp_float("5.21352427258719957498011735101632251842788542991838718320837121638451862088576682943530492502327470052093449990717451158999084250303115725221816680074753676105157215206881311149835595634649665956061234949748091313501895638926911152764549022292592011796757961002447216586109322395566641275784917820523245179188023392645664490143229867905527406059367609715404360213447555195611216448321322911209279834e792"),
+ mp_float("-1.0540591770954886398360630730705368256752592812691969635102380046780202591310191799283361340420951117594448266219267293531835535494164548078804545928915639671857996266426365628951128613445949203054419452312442794641836045708606188235902532390860212474158158938033120472530999432887702244074382992856119004823166982057320173278246173866715847357632730068567749017234889584524118332538142312582400216168e812"),
+ mp_float("2.5642103857192240001565482409341089744469639865497255717514438937453839377353131036440633061249625364727643375796566985536188279678219769976060096592074416003032743809654502400082504950790178253308588625329188024728325149059515675214831072662515878244659810543723666079617600834834918224416378805057280085904888658776325276293728448161569283210365672479093936975539791128757000689202424941735697165943e831"),
+ mp_float("-7.4806192000385053684684838922468064888786393127199204150298619736213164661873573042478642812267049667761726658341663963378269520792681483843632369534434167482005523788601926377674019595527497671581909930301124797838336213459576454843120708385867683546050498115917677865740922019303130854955840516623343174310588732912211499667247837210859399278993345347749746126390775397129758997682615034459592173144e850"),
+ mp_float("2.6086086819393223935810691882716261225185941046751731194997750067036147135908047128931252394837476780484850064310121668856246084039789502765468228198130132091033852988353694224684114844505603757195286115543468835791319250883315601849681064272443255026036333201304339301542519136186509865997551561992030486713488703792411803725623394951246637494748281709638258429388635051485673485709361498110769247376e870"),
+ mp_float("-1.0839504753531719867482331579093973701925561452676204592714015798791364128542724072151939261965212470080225699817236991923477893137480477100639907273139882367022386186781883166397713746506135867465898928787990671924868123425154372054861147084978216158718612316842573765863185804719431029449234814023818341825864434391425531181006815993954665663015474115962373162386592900132609580696522597288153426783e890"),
+ mp_float("5.3509080897109642446713342247080578126332479242818080426639644776797510805595107645155989131519020746017215678455294864412628302641992284284393759699005400019183384881100753199874499731869149428894367075640455925506629841328566433038207667633924313912561893681656947560895323386676957335504160859930494386202963175338826820851436227255746517390905424909003047534830106695742286334275477141079935752724e909"),
+ mp_float("-3.1289307189936583563984827053173818083014991611933945180875917739917074527737578994718922030096282129076387842049875250631717676102262223091853727277142346679857954552454926006631815331910736310098144838480436962901567910528692729050169553294346300333761489275759191208394762229191905498384780450323608093272495312645957700325115874835463379045839252442219399148504005951697822006078429092381445562747e929"),
+ mp_float("2.1611746976997932657151820917646766664569511756028011908405837091008934823743188264971995971072365882783659291268615337502234669324129458029875480801956075443463770692310291895153381896083155956790870713679080180328372807403661618321658162031212242455510680438104570355803398076615731931870012874152291214661215994356186342586733190099956435568742947674048804036018533703059623174846735252077519054129e949"),
+ mp_float("-1.7584275296346096133993277445952574971876834832637145603183420197398496322329977493287448647245317777096015818897939230667466854120707511420613613846027886827098837331800958054495818205438488408653112989780459553113134517071104889487660339437976743186719992006808644498595853440684910089905960772543702251837714492934368037210532892914166502558178814214811073967134506726806370068102366361945988372897e969"),
+ mp_float("1.6809436001478583221487678069875274121122099400953558480328965080276354041050891212149833472657684529305068878122682008000133623019251881068299156520850241895972814285180873562409716402937006077300388853476808970760559967850499710063388208279147849221856667268409858733720252291837748396064639931328530681100261427856193317033991606312703209770399744467218773452190316272023933525977789718789598267705e989"),
+ mp_float("-1.8830664597658071289448973779146696003741797915458891307113056022641466520308169098659666390055426212784522187063860034622937408259710709457275651856820037067124007956343989407593132330504854269103350541540375350206900038666924422499427514110292354972716812214033975990378316814463758459373128232239962986611189515022112487753484174766628579466757618854037248077559115264317285021819358884997443832276e1009"),
+ mp_float("2.465962312241418731528973526597433097255547444279149962309704919973944936220300961921670282968225375727616522458015003481236911744534207184666483420130170130237084309080846185587945026482262014223688946253085971167297236761076331817427124715765956836356762080602521216336778096603410528109183343759063898957558979207378157609581082260168048782614973730751664798115018337321880144130069995266591199438e1029"),
+ mp_float("-3.7659367175924829287969206752829300340178733243582817024414124501030473280162895824637436675685127438854384856164039516173298911657490322933965643025035449318216687171868159909199484190960855903814829520311559935691864064001888122517348475312234349633865655292732889094059630445193989187690504429649531328280051562641709403120176416405267990169406513317474257076726968244988282777148869590635229511879e1049"),
+ mp_float("6.691361332576333738130720616841706994101031015273191043639467001232985990275833174388418677492492835869543047502458560575641749852752939596807064381078998326450785175940314600802932622704038775230361655847574297269238671733777006247048974901509195177067545204800132240426439401790528124812146628711696919108600939369987430337863124048780938147842784553153296449771866217759886226532727963051117008592e1069"),
+ mp_float("-1.3801620167216602413080466926464527324457875723894365447147582103371295115478190492232974835070606847657559497695034376984672637749599442605065144271967816867764709370477285710893303281655886087721328548761205128772028832951457730156499397518579882453605112484702433565703915976233067347650984423906980546329956883387346900221019507533969852030680246982394313468130504844919927122305149214325342956068e1090"),
+ mp_float("3.2973713078486431615322274599013867258014183773756289890072116807922795821376499460951022298551146412475535459670808151748921607259232413567274022905733886865203041449331265539507136745154406144658654769226172318345501259465537055633862040322253772018849808217205797748967784857667303503750057200907372874263696832146295540439652886146690163591279866353775294884244219909396735861950103405118284629644e1110"),
+ mp_float("-9.1054932884599086206367127487273956379646149557830220110552894216435686563534922411733906628494815551325376383474289407246040587026379065372287526079130040961003807747485644644050503531810476284023160091290144665700378743655364442544894003582310792497306541453658445110715589674875316327106097139997168675156942840111599194566912690646600176659537420480863240511694210236996874940973711103979316066666e1130"),
+ mp_float("2.9002736888099876941288576550367832619913851072276556671118767858495700023335972925071763630978222844656597562999497670685325693047147199120677644785803662746791521519771194119362131029931261030118787464474756683978897277064233894869769569835489822386720025197267922237194089011699018515614296164482295887310006909982910482547187068850268866712071103558037626381886326293846250664447923744430552516004e1151"),
+ mp_float("-1.0634123163034402165397972153541411585887430659714313256460791923718197167432638517250046579815640603431122093854207968093201940671637005734419321251944874186342706692908477286317907622798534576392706374169638162753208221409629932152280657338462677118803747524392343929810656176538477730603370483720435132098938208222484733751433849806315968898902974529136110878907519223028790955460902207753861333427e1172"),
+ mp_float("4.4796402073124770929385415467769159565802603864215063361318225209468479997888304646033580760242137679852665318845323179700545509700404556379971006601698714029953710066055825966430652395517818241011241313427273248643068096501275748058448705147987711902989877774713863324248798014235157135021984339618069205125540217029475218614029265107603177954756825836006143015740457200234690090797731327239452608299e1192"),
+ mp_float("-2.1639045707247504595923521734714468317516324768614412378942780879378806960260193700859545569787575084543511787485794961965437385883425460788691619113156685116462135413531480224839383800995697091994530035391924805237355711709180356628046372890229990801794494320820889094258505095891030880381899723768850007570383852665080879211688806551016223880298025075653458457175719832310497991118437121828326075906e1213"),
+ mp_float("1.1964199997474119091441443154996544707152232288874118527999144928883054674610898347124937826860854531790529710010499091864734130090653833087992824338564625863030130358356076022936220198359914735807261453736377016699975358960852138091586999204127314064237264486685930274263035172584758659545944652760444352898886238348023455996233602126800794175731959451945119848455110571122892525392933821396860485592e1234"),
+ mp_float("-7.5578502173763236219847843087744769177530035119334987145985081706666940070292135229748473309960065345014016993311149534400988583033517271681569177662073474956320395073937651501790380242982179792961060802724638095279154277038324555708072903968012112317004802886844064856292851616432371608948263975697920802709872366254622537405060819633985387533556447528159213503729844294061395955275403290793333732084e1254"),
+ mp_float("5.4452895186363069929426047755859777794176522823516449920221551206579514000686310015076143663311795238464199411272091257124737647571796250673831500992631872609693476208140966167638603379427829008066805307965908287142204861982379338951959336832965076474995122482407073572128556887361651026846118910245631076515593718620385501978162132001308897449940155020833300830625394379518939380034109125929656227564e1275"),
+ mp_float("-4.4669441740250266251370327393176508625934888399583096020720567788914875312715192869776170231984739971950468187279127675014588190765977714905547495289774762403351276250854602300221599083997294008846340514786448490548119737453964595049382106920607473115936264135826924896932817523061010490066010209637824040169054755920713749780098295463947694047611247310267830030118282466864137328048455738151188490485e1296"),
+ mp_float("4.1652847866326541685630968506101853782332066076040386113206995372655731591900798966175273291284137622011708392039277456267413644635055538360415107083581120613488245189654674152965297359776566614159241127098467976394996733700240128611314025228910195607443750496657000806345394711734926853137564595080437236817743968466284940048411707832800110821729884462146225183730541391656304558290864431467538732287e1317"),
+ mp_float("-4.4077763139644032336768101788510051637249465844768523072661320016220362689105275169698481474870241148665822645816847485811515205080205164569864064529606780097687736776735284103376331643781711055207581033364289165628924593934786693935978074046169107360986209199945757431294466849447948686474148284234697085600546016753115567187709655336334411861943447829158151396897553968901907825526380911169850655687e1338"),
+ mp_float("5.2850451251258323412638972334051968080960509425180025566956629975953065506908936699832543092143801144553739733584284270783936603251883136070085856744865350574048084025091297955498989825238434358012009527922985371628604508448001308693528927411059866127075491429891123374912360442107526772654225011257297462395641065124376161139625292518471838653622885222628785179055752281211536829495153678366628585508e1359"),
+ mp_float("-7.169068531615459070909644981451297906219846343751504295796066338726990626027651213615369026028001570454884524331202087418261362122625085707522420096532727596312866491691638099619263204052464238836986480263184005092885496040412181139702094700715053532668007509668041537142378462443372075561489988690437925448094816070710185164781663230801713972346681522536299772687144610377653663982529230181842233536e1380"),
+ mp_float("1.0985214338602996334814496853649141154684149273662882417441850971303887141105426784585246984880717552087838613287031369453689834544315818357398510737481127206297517421736017166103006880895892260725193895959628173257330940818732529277781281807495460720184260215205490016563173339989395116878374555519920055226395969466300758938890235878651646912634559617599673051613251062188070099443585250471040045443e1402"),
+ mp_float("-1.8986666848764927952339071744937575722902614204616059355687312900780793630126511004088477476690679723609322863685036790246291081213924562720005640422216971779052924343058141836033114691634030514510409266844163555874518782998947141533322894630251346243045078765113597298650544577425477228652444686154998941554550997421287885526393486599535747817140662763613782827751693749416817070639154273309803959201e1423"),
+ mp_float("3.6962480258171446908405391321035388341077143565408362766119774579623421006673549143973354799886790319636626650447277179679383891511883723784029434874584963805873407371658440855000451898314703084092431496598462234288068290232247074911557817132769720912626312541589955582078233428504043027678862141574603562018299478964383102779011065760059516682728935457322309948848207643322638838844163976606381346287e1444"),
+ mp_float("-8.0935319030118801186992182693695701788119715943316128736349635811189616033792473221384685235229036702986037377206250189872639721822029500286498221572269172729839366535289724977916109249528597532657259815820494733442723187787940802737105413905733498933652315514478286239029236200191440565787898230638228870803379788296377248973424023484065418021360206216817461669745042156788497861013253995243123285849e1465"),
+ mp_float("1.9906101127247151268950087930142145057598175795335978934795954416177045453057451488017398906804563604097384073117644381079946911551950680958078637922457896337486450160487057032206853550463748270437421549695997164479532663966172148469635393256207969535130061519154103333671875126793280852597720984189878373542691920521227384255757569352411344409651974885954843011230717094637240986314587748971711600681e1487"),
+ mp_float("-5.4919383630676133213643352494953941644297738291570186195191493547241387902520542008500658514286266161715220313016323093808618400185878714093827629452428744716836257888750808732043806534009893876326349091953588502400324487510258202476622975228714973871591881822500880471243589012061199162182936754558311564273053333076700754624503357897934607479022497358345812231389978356575917437679357042034365884804e1508"),
+ mp_float("1.697421812794203793865032206191322699260580877520987079195771191709038800940147378669568126235748089878197547941843689280474061382674986005815177295917008230197871160223308295970046862575755341809680649370783030155245397237442996426724269631523691154296083549010350251040842527901823559251770737145788732893121856994711136193205057394785554087746810393815238913209011442958145238995499373590360750258e1530"),
+ mp_float("-5.8698182903848113531824232865430865307284559678156716370956329621614599326521937762273474736369519536921976917811247229601248470210462839274127633101915922196011145963677389237692917770921335868285519045504274752459419853613072670442501778216994593574605805524812032057346929843813865180110933383545675847567109658598413296196124754389561254302373634308014833626766681716618507480055524503424061884183e1551"),
+ mp_float("2.2682382557514213125598061229809329527056431589030675493974652186362823864112647955244614835930775839037053911734887503401556221574774484049126480326824602322889410011305133212783574032996463771884705966943468821589724045892889445086231527592091151445142464796732816956730699485710642843787741673723441817415192561231725040666076238224911953324493763317526175372918662323848798491690702599350430999265e1573"),
+ mp_float("-9.7825505162048031953984286112218994693448508370347634136769662774789754155999695192946998091735111881538184428853321333858728132737633874695918673496291816005612246025688267078484762883639399888695039109648996557471593951629943915703744688740915633562762319303545955595088499984816431575367651356722794577481100770914650471682176661291351518328181188769791178215542018144365703886114583456044204463415e1594"),
+ mp_float("4.7032355675438881520496284113545425091562017841467781148925786517900588377268150700246259431992304118688676025578951611979069188001346879824505128680016354388299087762887277478740377322774056944815371944277855272769369087944195847280819990296740471011170409615988774030524320638888787555369005312764790792997132709779004604734594357058850745006582941904123699319423171916898357472960391468860291280348e1616"),
+ mp_float("-2.5177667619876795777067796898806577773427662136923726854693318625501341057551709345780604707011453528268930540940042128561136288973086815945240180365279461369518788375371721857556263782294826279748668153498486705312622833213174567386799461387858577704011391612946960164810837163391887279347427002010025555029468062914940348545177781617089433796801879501779689032058181807531719714516615837126171264423e1638"),
+ mp_float("1.499036144473064593308260681782048262300672522476183403023097435402319191460916196077737591701317369079053994984060167158102438239381295972273818468893930590617749304455039285284768080619535820008759589815609164579714630691087894951352216541122022564292480382960492128277237628872943242683691747216104710100020946462752878630130003491660064655289328517853200418316098213992030653406582452825880631906e1660"),
+ mp_float("-9.9151825072869898180331466239955071081341254114633121177671182437090773585552809597031837356076617744112441621771083602340992098305103448691734201561186331336057433666646592204872092806165370864602951678757586197103821266085102127041249320425311904739853502923248628006903219797432909556310700117917367334734459813406452823072643961789192994179947831903391267221745330289050888969050854843939209089938e1681"),
+ mp_float("7.2778917591427252941729262583644559413645247874537434352476160764414594836246120615027404697484993691974903660309113493930678824337506522361671491144888198803648804316502159054664555093370708884911194073308859318639294054992499949310154609533113480585998555710196339550084534915308937046330509531127454006403283881901622157836185176072028044297015441225826239286391560679588933738971078506982735730487e1703"),
+ mp_float("-5.9218965990284987157744584931170793401547002191016590006016543316177351745141157658457445491180438692002374420752667896786007841205834198762552010697654851687730933420823122885782179819699575893598063984287673532758185926070449127925395617524477580185842159834345773332339683784951856606936296387280557747896402386146926947935240829977902591111523021033784915138979666976024238014844016233537531008606e1725"),
+ mp_float("5.335928195512405709733771642389502809087236433810937269494669506697449447861725441499387684318372308757531137462854190016067740286769650854313062988105349115318824334799248168593432440564092198662831296155845320544714023813410990981304006847082075065281769068059801703654699231916585940179098199398002098403664094395136476876926937245598606760475772161517183839104028107855704400472606862796004879052e1747"),
+ mp_float("-5.3187044694155220364829137437670855452093660052166637474739092287348819200049898438096886914613452320729737901774094090851536078192273446134466286029503977071553021512748444624238225391802292184284892136641078576204473922933138989759768559610802051088789692615636179352160034447083550583732169814766537275706072926812188518221562566169939596222318074505442019074535078167017210417947036637892446040209e1769"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00021_bernoulli(const bool b_write_output)
+ {
+ return TestCase_case_00021_bernoulli().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00051_factorial.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00051_factorial.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00051_factorial : public TestCaseReal
+ {
+ public:
+ TestCase_case_00051_factorial() { }
+ virtual ~TestCase_case_00051_factorial() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00051_factorial");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::uint32_t k = static_cast<boost::uint32_t>(0u); k < static_cast<boost::uint32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::factorial(10u * k);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("1."),
+ mp_float("3.6288e6"),
+ mp_float("2.43290200817664e18"),
+ mp_float("2.6525285981219105863630848e32"),
+ mp_float("8.15915283247897734345611269596115894272e47"),
+ mp_float("3.0414093201713378043612608166064768844377641568960512e64"),
+ mp_float("8.3209871127413901442763411832233643807541726063612459524492776964096e81"),
+ mp_float("1.197857166996989179607278372168909873645893814254642585755536286462800958278984531968e100"),
+ mp_float("7.156945704626380229481153372318653216558465734236575257710944505822703925548014884266894486728081408e118"),
+ mp_float("1.485715964481761497309522733620825737885569961284688766942216863704985393094065876545992131370884059645617234469978112e138"),
+ mp_float("9.3326215443944152681699238856266700490715968264381621468592963895217599993229915608941463976156518286253697920827223758251185210916864e157"),
+ mp_float("1.58824554152274294042537031270907728717244102344735632075817483184445671629481830309599601315176785204792436726381799902085211486234222668767576239112192e178"),
+ mp_float("6.68950291344912705758811805409037258675274633313802981029567135230163355724496298936687416527198498130815763789321409055253440858940812185989848111438965000596496052125696e198"),
+ mp_float("6.4668554892204736725073043955364852531553594478280496089759523229447819611855261655127070472292684529256839692403980271491207400740421058447377477994593100296357809917746129838031509651456e219"),
+ mp_float("1.346201247571752460587607385894161555835585114819396719005139146805746036709053569679792094662968183668086909704195898370226404837090287111401357994137076640037432774170113989560487154525481078806098932137984e241"),
+ mp_float("5.713383956445854590478932865261054003189553578601126418254837583317982912484539839312657448867531114537710787874685420416266625019868450446635594919592206657494259209573577892932535729044496247240541679072211844543712226967552e262"),
+ mp_float("4.71472363599206132240694321176194377951192623045460204976904578317542573467421580346978030238114995699562728104819596262106947389303901748942909887857509625114880781313585012959529941660203611234871833992565791817698209861793313332044734813700096e284"),
+ mp_float("7.2574156153079989673967282111292631147169916812964513765435777989005618434017061578523507492426174595114909912378385207766660225654427530253289007732075109024004302800582956039666125996582571043985582942575689663134396122625710949468067112055688804571933402126614528e306"),
+ mp_float("2.008960624991342996569513368984668389175403407988677779404353351600448609533959809411801381120973097356315941010373996096710321321863314952736095985319667309729456535588198064750643538568581574450408092095603584633196446648911142564300178241417967538181923386423026933278187319860396032e329"),
+ mp_float("9.68032267525524915612334651461533120541816126046287336075085991994410462342522820764047067493354016942468236052599198291616159698344959404552555370425360228744319778327465695705654633878300134043409479509755322962027305744027229877317936593591410512862942634895874863822608410681848432800485117416175566848e351"),
+ mp_float("7.8865786736479050355236321393218506229513597768717326329474253324435944996340334292030428401198462390417721213891963883025764279024263710506192662495282993111346285727076331723739698894392244562145166424025403329186413122742829485327752424240757390324032125740557956866022603190417032406235170085879617892222278962370389737472e374"),
+ mp_float("1.05823620292236563784274284243348353057589905787169019562352737522144487532400210147849369011714673954768265316577892528273760626189481169051055226066650741189573897273684791411180134039439160066561895838501000817711682625725670477616267598661259194975646029749546282594356217374097544153589482020891750774735012558313460846824864172030239122128896e398"),
+ mp_float("2.28386033591464145739726586511533372704297307154622870177363471612602769260302484587777654979192110294570655819607477957500955052322419704995617697230205658766722616606097632340497755473254301355713314682574755379945084952337706589453102105527251633427846687561490492136580783384585342855715518008495788482264298986700329455138599299386217835234902726469669185449361408e421"),
+ mp_float("7.7585873046867252018131742988927814424139521309955333653039645243449444126413897396031520006445159574088140023194920323212342505069680284555944456899723133743053010193409497892911899721494504050251596241558271523296765804409594286158028936381465581632354831421365407836878119979276153468596584172058329541259158619833071772325875958215127234296986277805302558741676020777553565928248049664e444"),
+ mp_float("4.0678853636470581204935759214868853101720512591828271460697559690814869189255851040091007297283485229238208902458700986591471560519057325631473815990984592447524630276881157053717046282863266212384565433072676086125451683377796691387594517603959682174236179543307370341645964969639868177222522210597680808524899409956055791719996669160040429652938967998005980799852641951195066815776220562150448516182e468"),
+ mp_float("3.2328562609091077323208145520243684709948437176737806667479424271128237475551112094888179153710281994509285073531894329267309317128089908227910302790712819216765272401892647332180411862610068329253651336789390895699357135301750405131787600772479330654023390061648255522488194365725860573992226412548329822048491377217766506412768588071531289787776729519139908443774787025891729732551502832417873206582e492"),
+ mp_float("3.830195860836169235117497985604491875279556752309096960191300817480651475135399533485285838275429773913773383359294010103333339344249624060099745511339849626153802980398232848965472622820196848860832049579523313702327662760125732592551956622024712475139889122106940319324041688318583612166708334763727216738353107304842707002261430265483385206376839110078156900663427220806900528365808580136352143714e516"),
+ mp_float("6.6621141046691026594410219757361346277694489302798629336532186305519480035110878325654158284486782802739787536172111053304795032153913950512859414116769528074686592856396963031940163564261029052932460928744747616459128566956442406652459826044851913275808949842616405128554842438413843358493626951236150357509357068783245747378584895128610922190298993737266945556429151868323319322932721629219691088377e540"),
+ mp_float("1.6772277799452185316008559642481690996154162653443224216229144166533010495138176552175779628900866154937655467080893509725117402094786797430449965992591855047863335070498197537053948882096262565780315504934744482331080425680552490971597062111349307447058139219943834846427081475234675780303186241495364354473220247981334182737896146496569057168205263172422932268545207065230644665792052186286503978375e565"),
+ mp_float("6.0316116183878209766117976235613285674586630483425933084029202472047670485819885245164731849642810548475941525840095286214179522721593990128930118982329294365767928511440729849320802184711774330495375545958604447485894133813040753046757845833254416671760299033093062086252031499964109155039154660288221882477747977319966161835146771580496981591719779344293705580123767115637822100135690925946157620356e589"),
+ mp_float("3.0605751221644063603537046129726862938858880417357699941677674125947653317671686746551529142247757334993914788870172636886426390775900315422684292790697455984122547693027195460400801221577625217685425596535690350678872526432189626429936520457644883038890975394348962543605322598077652127082243763944912012867867536830571229368194364995646049816645022771650018517654646934011222603472972406633325858351e614"),
+ mp_float("2.166323073961557382463235264778187954767951899579521884911749141815166917768056633646824067318712225871550633171925355564906025115638044857878569891843414846307413324707511313247266239236774741772624822915918442537622628917260707314565701879241499870498583771093167297022939238794527693358867266016175252639871156716646566862026946552693688226163413890167864080356863316871962066199873051047909315137e639"),
+ mp_float("2.1161033472192524829557170410776298658794639108376130676557783015578090330844472167861788371083170940722591241807108382859295872641348645166391260040395583908986502774347856154314632614857393087562331369896964916313777278292965202780626304839725254323083321245935920345445760469315716688808181386083935737705284353395869520861742156127496385090743602309049820934917134755461873012945704938955132724663e664"),
+ mp_float("2.8240846225838710865601065535098442135823061554844791712597381906120408795341067513167173456488587183699485758424051605240860430734116506705261823551533559258491538012488850144424176471527010285806240484110526907253071690361234188056781083955225765449360114949222604307544628677076900025355074672950342497308281617049371682730704925445700543334270975125277956188775073181736313034579696036350067170104e689"),
+ mp_float("5.1008644721037110809301932839272933630344671982885376039468582437981130708498852292131363729546498990203510117610597788061337889364935774345003616834151889824724013463388848611414227407131388805908338112936942713654312102013237233708574388954023204119295061839695988633829528183893692358325009116412814178085996438696887269886990263126005411391824906115932394760450675523753157387123915179975205016239e714"),
+ mp_float("1.2358740582654887501439519976654645722453207394691951587942933023009303535749131421693458329501117844594155210943276153244976776189223704344494221396409009166949054566125511133453306982545560785278983645158512290209964997730422679487484060181101776413758486813750497539732592588254177711770661949023836340925458999407933462689319460801688898694968499433345902936521455578486235393910256726674571284682e740"),
+ mp_float("3.9831669221188106782059903365647184342241206056641437011836087681419052507877828777197836786790614849623650815370930359235012970451643257831407447009876949575323891584008581164429335764558987537599253484560326086502781503271101808348167605963030972865236052804284294361064452529813599103779308187748551124524743322498734122591361323687319174150539832960422913966914391504332796003064686903067076824896e765"),
+ mp_float("1.6942137841497677149803436030075057517988498526656202856719083857397583414630442712845769099105564573438389636920762959736205385299249859151725329116045506052492512753306483929155304307254424410170096221327709589011102167266208376408632680159577693793831169490854321854848497343874643632330529579330285233123963371425930720889073797302452831533903673636109094054896196268725563178356915428332141796856e791"),
+ mp_float("9.4393168351665886793554228175829937281475850403264861536294867440001070424512734225968904784336560504559134730512884707573002822595788279111896522659296183926703477685657760564561788800392693083412398664314990780985234900785061901304079852525256361351937861988290906418153623632161178883769938621502531415986813192533198006266430114951917984661048592587828555685832339613792777097590401865022734476038e816"),
+ mp_float("6.8401217773822066239061896487020494763148132747702853506611179202824743590161456302595815813557640070957506241223099480621161478659715395889446969132612296899088116302049059705574128294081129244511376907422518614811902283222676389594083409538167168473690144166571294947309191744813932033971026219566770513534166536533055752328274776270569216310894640502449534064526417380810191996248929231724797537688e842"),
+ mp_float("6.403452284662389526234797031950300585070258302600295945868444594280239716918683143627847864746326467629435057503585681084829816288351743522896198864680299793734165415083816242646194235230704624432501511444867089066277391491811733195599644070954967134529047702032243491121079759328079510154537266725162787789000934976376571032635033153396534986838683133935202437378815778679150631185870261827016981974e868"),
+ mp_float("7.6950918588667633662634386556689644984871950792350070913747905777950041895932540644009028242721648765009379053940741552827255513576622685582156113545461753231364849919773857857052381801253820138506309028542446019961148177839185279600110511009358448318518025293137705450607335573389962709276378814084031328892146259205941035217998575436585792511310143770111437627499248635309480207239685907153937095329e894"),
+ mp_float("1.1798323952931782591485877784439827674239081636296676897992109695508842313511693478047667995005102940503883496965320847293740875333842040193228929611788194646981212635330126853352730042947893826524773244654270017013262301459114663160296447143717488238611280042148060817707142773745446328801800090633253108676114668145595621756094143401774174785802909812926615867007680755447883602420534368994391860099e921"),
+ mp_float("2.294652936781292116271730560991890688493520741404433340920090228689996425176193757286874683441604744705791219417005577535027240790821826889284723914882392201525501706334274804618418250919490941979442888013577941566013670907024572195515146947950413830149024975779440770362364889298137709827424764586374640142721449771088523730425178927996603810907767773453718741175285937669394045150222945855792299229e947"),
+ mp_float("5.6299448635663384211410188122316651841036248999122041309595746313692050999137594530505862585076461215223021983008336995777832707201314930846052067516257405228873705655160977518966047397236764107270500174639536046132430305499860256769856967603324233062680461494847143129164004203088468524557842011599069239234358828964614952717114638314523227959953631175758992769027159282689926311161722079132465458085e973"),
+ mp_float("1.7333687331126326593447131461045793996778112652090510155692075095553330016834367506046750882904387106145811284518424097858618583806301650208347296181351667570171918700422280962237272230663528084038062312369342674135036610101508838220494970929739011636793766165023730853896403901590836144149594432684204513784716402303182604094683993315061302563918385303341510606761462420205820006936352095967417183192e1000"),
+ mp_float("6.6632855430628135680954352951708640385498155531230324480728891395876824424437944307202536884083669691480313711377230781961568195061940405487599854501783542049183403260603350413785883172041616866901871669314236504316128923474016774276612136718793302402295451834802243062613095056087352608542865267572700441649999568192520480726968406619104227676356137980213293834333581964841629200236134962403614168507e1026"),
+ mp_float("3.1827505434030270123367061567829135361457330168936413441263627651440268169501764834337084988179382322408036236266717998276089499520772226449599644798963929098918702154574264517091463699176364376913963557047353473751863559554867466924195160823347808447432481786906286789030752824205821445601705774036433670118861483165514127987919823727196124062917518895073539766873447964527482373313833577228813744211e1053"),
+ mp_float("1.8803061994017742522309094612021230852562035603803293131485640229757622125071436634210139305813969502178382179366990366443181140825530092831194306545091151371135589467822485364756990104255312373802603886183703625853691465286638197325393984118342724105884666127375352820666080947071975897665043221857799683426911229564033711129072556234814419472894065438647034758516263030364616202874906458565150290538e1080"),
+ mp_float("1.3678702847856840267729917378620749034376250253831391017360844697134069180472475941057047908150291482939899278053726184692980498686468432309573369390452428690089243751395176492320165428162161447325476334649280017783927134164396533098887851834536649805211446897767424173551757043161633830820832885417090043231030788434879490107917048039070180158540854926630787328160593946568046882840235481182073937378e1107"),
+ mp_float("1.2201368259911100687012387854230469262535743428031928421924135883858453731538819976054964475022032818630136164771482035841633787220781772004807852051593292854779075719393306037729608590862704291745478824249127263443056701732707694610628023104526442188787894657547771498634943677810376442740338273653974713864778784954384895955375379904232410612713269843277457155463099772027810145610811883737095310164e1134"),
+ mp_float("1.3290766393761486986618784848740233274187601882199098620743925940067004082323081822839751446075030017904241197981187108048518594899326879482026400182735213634368573570691512768355587220122055460631279138494334348436448156068647555540628153745167098142494373258761191262787081059932730967086649002361644314735201381570812059566862615466216704143602628553610676124660316728016083175530605192476521402875e1161"),
+ mp_float("1.7610403417821111561460117109879578542911478279626825158356419020266350135316290492507452894055179921749200005291146070085155438850638417965728154324846728407158333741072487686882930286404967263861328009051100613515481700246220249838510289801823172689568139770942545337507101048688685272896705812596362498604753026067474836458847095056257533018986923327002140429816632192746245464828742608012561527824e1188"),
+ mp_float("2.8276889451180688404069331749473537087028619704607286430202820774127111338611703385246622293347212278677268235002015265099991997053306122138632331388230593401146230785544905092856613368741029303642248786039938406884579004686304554018094198854195718825453268720279151908236730972819147016998077829275755343167497733526524347571353438258174932160268291144745329067097323813970955104297149235174973396863e1215"),
+ mp_float("5.4823140670823195089602024548824085342976952564918559820409967769788357279154881709056835932509769719953194572871723382018875445174658418707185995679901241244985812191750246282714136230779328158875326593388173397572844237953895643903527927554547845319870719193317865923317106271234337487730631177673438105397872039035095263109403861520488642086176257856936852152100782657418436237356624476510424764641e1242"),
+ mp_float("1.2789431970371636606966620734791313516604437860464878229575155395257656153529144509770146781023755836666984342522223668276487104935057419157191303316572641730844442916621884079259664744503530060106462229406709913795896382483051752421457376925139375918554742142277084109072075415472744773895909513758702137196402197602987575610953689410300363603347469264966415853466714416517106192691686307844235819017e1270"),
+ mp_float("3.5779464182863193446023936590126501250708882394147338254286613910039652390804588748564243039049292563772898742555569021663858871347448419208794788785069890505960509870304745484158208895769504084658282911667045794019878293893080053697689930267837124911057480489073051004943198559575800853855757336478383911387330479481027965215316885151132774024212533761102767874392278247855946883616631150154012011935e1297"),
+ mp_float("1.1964757582667999252131509716061119850305662190076833994840099123766158727034181038947821335345309069925415445432071961454875091186263490869668682030500437930624779710348867904342138322132459484149833269028204408518702722361765923095184280949459792149405670968527026388787443575354770916708426292662033327413877051484114622712309517575730444877209319437327949030120708996578766485751275667245135757155e1325"),
+ mp_float("4.7676360194261430014675104919353730444095235391747191526549794124205739709234849156951289416039376950432948916541553077325203601593290066774437521463840177496720975209054238119531000283781749531787456087894594953293601024269602330603546865850959063634946731227370896406287482151404488969905389064895931171232820498217732687247620283775363019958734030133495169407372077490429676714043054288165032624037e1352"),
+ mp_float("2.2569390298234942299814033608633333267114767898214891133295432503616488985155418388632023474987945611421864815635870268864859053388211576460365445324180204446025721315141395048282282745004769849831439005038762801944174103877101980371639331896578273267052082186785505226992141523156260429328111666968664757431281986985272905942437877808006499658059942552773415002057914699888572665502981708989041793219e1380"),
+ mp_float("1.2655723162254307425418678245150829297671403862274660768187828858528140823147351237817802795619571074765208532598060224803240903782164769430795025578054271906283387643826088448124626488332623608376164081221171179439885840257818732919037889603719186743943363062139593784473922231852782547619771723889252476871186000174697934549112845662596182308280390615184691924446215552586523740084932807259056238962e1408"),
+ mp_float("8.3826160990316653882862988443391267190206704514369366239959262845808616271019302063844780283986411640516049649319606454251565946173459983677527230372847467574319899062060444464682132812526971645908888073731400794646098061235405731639210841114991372956370937804083319861037348765631387426181517619369367855867851715139135878078975885036384253099126541511411609027176159775699281765939102326857676736962e1435"),
+ mp_float("6.5405287759404082839796769112162319469748057995713927282569708844722217991462478537684391088080180298847870502173383871019062273624700235505448733484109288478286522573052248483817980340259958821502322771030087405157580097459176989657076458237216558730315068396328396913038213593832660758638843596778545713147378010146113745851041627769906006259100740696476178419998613238313473071379665214902873763962e1463"),
+ mp_float("5.9957043839244381599018111443659072152319591783902705404606803305259697949097402039461604114755896574508016179003200872801715128672158203442693763489877074532108397099182859650735121434471993116526092775973089236993137878241456366190222370996700817500625538474536310849168443621933853354736640784592394109505795005261518500099286408891039917114215227290311182063672032854980222429867341821268200250751e1491"),
+ mp_float("6.4409718565200018055131800965981532721782172857809350501197690249179126493865567364359901759424828815083117320871816463020106140978012140712246136492458377710508516955614515870499288921594586346123434331807801705332376438583499830732112050850081772212333495548954853961346428711348679625478228038619242902556432022520662136294311646067063179388639341640855877438120216959063800708753411615928938573254e1519"),
+ mp_float("8.0885536793881448790173309686591401920529333829767826953404205796787238274159610290295795694965822494681824457313664611672938772472085191711929989188267498833056309171857004540914029745350734551893232892780606680389375776054260971291095830300504823787614546385136927138253022105327461688130330214538654023022904438977861323013211694629499328346375588192828906121769406597293635186489792056580390068905e1547"),
+ mp_float("1.1845574776103298668108996611464848941298114758752849955839899515943785936771277621868784031678851459697654158282068706909975320139600711043510969878851972867066637303859577102038629568864882113293677344271316754018351837011502130166812019953728371406583077111886117124196679437327967894798492878091517527904897031301318471314068480796311216464897234263828412545873076852790938835071294503481398081099e1576"),
+ mp_float("2.0183491060019763788800607386207983259144505893244096791161214917548293524525377059826805087921688433345200814318394823168697265850536692893548719001841016602629506215064288513312650615958441400762338302723605854391749637247065039691646466920350433169660638224172690149162000249910137779225739192551076429669090433355063627035467832870307842107201865715311074911999714290061563990844629425628855809255e1604"),
+ mp_float("3.9921840844355408853383212201990434314678845252568736340188545811286614665092139678957118194169153652256313263278997483951852426824687572995647634935765284201263435347521301111472739811169949230313621617192704694734091619076799755945434117622788430033574519518522266305690539245917836969739588104949360051971047957963435626324835584772411153747949512534471174724974764976153086606179126677031298742775e1632"),
+ mp_float("9.1463333557104838838672215246427549750087477396334744546711063371914565851935596921647346198157624427118693528005625493296350262948940542076926282738460604883503287215522042261617376446095275739863037463948294907676288128954882472584389153845147511990492540659111218200288982965327157293979429103096957766036927255618792661845683968415628008783737307277867800286997953491724415531185030789561152563598e1660"),
+ mp_float("2.422040124750272179867875093812352218590983385729207299450679664929938160215647420444519051666484819249321456671497049842327525093874817343838393757631459228450828499972271274140160311057830558463636337124079332447820739281101037112665387537180790257577919273108262916904750405235055060084012219492892375635136296622020023178109619818046179906897450420548912610870589088056503913584562211037693288783e1689"),
+ mp_float("7.3980203447224978807121404344491999585061171902164333035701898547759213584415790590665220556815512528497875560160322943975021929902571120663615922799695253704956317743345569295156212998914811127813197617716855313121248608990878184242027072168158319973962813227630328863068809858256048259083123858125879001187255494908653037626051677956023773725396792399876351646121040098292270471327717008834027225309e1717"),
+ mp_float("2.6012189435657951002049032270810436111915218750169457857275418378508356311569473822406785779581304570826199205758922472595366415651620520158737919845877408325291052446903888118841237643411919510455053466586162432719401971139098455367272785370993456298555867193697740700037004307837589974206767840169672078462806292290321071616698672605489884455142571939854994489395944960640451323621402659861930732494e1746"),
+ mp_float("1.0507926825048197528363587319990612687670456488047396621179593464860765742321485133003589251390022681402065971207334118415614743214925432991919644428075781244027981141689266396021312910078375089367290474335290787975811667634937258346999731413302084840179334053144189068479836665684778367474399513886026057436556849845979165637858418541415968875918527604190088995092044899947462903907256504812057378617e1775"),
+ mp_float("4.8675530514654859402814171375320923550705064309933587102958846537802405993833680314178867767168997961087792692962381597005903900460848747568176692666485715613987773547071005949921950302498899703528111271213273906516435965885003158421406060162762647932748062955355636910109564085959295800261834485435462457405600577503501427220155806332873414928710105312195483614567978398138277081339418487630044728659e1803"),
+ mp_float("2.5808034888851509959233216448446275633987313846543957343030778319741629924302715595417766278237798812178633024170420589569662386351213606007331239964290321498120867731433271817915314197805096691294904466728565450938289350574260732042113813248931597523102481045500756116902726146751201676821952094953552354624585458748830030158718383177130698323011770200854184058804986801626236753094205045967918995946e1832"),
+ mp_float("1.5633932669581298633929322162542533813347386373960141575132734734492349675200920147549614945198771934640279436983962739665178517959822451164946926531122922528510089310366500543976021115401620321522201720287847149112982146772183832406816334901289283249283307898270097915193020853091140582697571159209655688612574531184626882685711208681774764127224708505034976647942333750293370478435503139678433200869e1861"),
+ mp_float("1.0801637929071119739026842520721128479176158837890689980957843771414921546448452370934204394173470009654887204119520380920627549247785761056713078045667384023118516577445644331177384326473101472099888613297165842697903793998969505016165369186503903478576388462500007755049204730564171951753881856268689235793003346984858590895706546254008880937981002787495219492423173581145633288211601135974316069298e1890"),
+ mp_float("8.4972392897964072098249533940415832032901226147549483885937628906393387016759749166779390912108512193770727396731176148684817099219862241070518329897737419790700834153338358789804054247254662503406001643932256413944181262536626134781963753899870200241216683120301369375204827350328695627459108294334206019027913654171970749305552969884823232609436511764040695691647958710090181422374514248844937618455e1918"),
+ mp_float("7.5981997634092450194330119110404106514679873250205652953516519108726693027429848669319619072459992433853371989586706563303914622785309276124965343515114384346336366037180741876769231703282762131093912098438259403102301028152979772816093672761018579653371990569407324738683491431721011322977390742916335187516459264408833665120582505291973060065902138453466463767485592665656379805084354482165868440444e1947"),
+ mp_float("7.7105301133538600414463939777502836059555640181601023916341099403397085182709306936709076979553903309264786122423067744465978515263974540148018465317490976250447063827425912017330970170261087509291881684698584215059362371860386164206307883411723409851372526504540252305657565886062123887041264021962997102468682662471338366096312704819557227970771168835262025986914099490128789574729041072249610615195e1976"),
+ mp_float("8.8656804587967779433619846106232660654596838207503103738865198813411371106068998076210739016190706950353328733153852607170309774497560631177837307000827197649856269110668607598439101017920714466104826886158864825795148499046742370510244849775664626110798445873301575564152322363261020169947441890731137729267161124044275373454898884387857937992418046039131432636348268665244591674658445269936551190895e2005"),
+ mp_float("1.1532535229665107474635688916429171810843808886873680239124624106340700998423537482114208063655145415768538794655719329183070881587725524624339491128673864119889997508057513104647615773284154926997614329375157748992784073300328685882824361905445081600196074547497804216289335603119963133037532172851195926221323594361042386450004729698002187082064626481742282550760028615510453794427646135872788171108e2035"),
+ mp_float("1.6946080950273457183444835406966804165550715902354876543052597293543510239355545570029672100584703054355838387076524485865372712699600170443840100181246081527240591422863011784737811976656058443499687040402488852297171064748475921043396921980909425482680020315282816160276676671201153454578844076386465987133721729277333348622886171381803016178591940671798599841643909004247320916784315433527237653681e2064"),
+ mp_float("2.8087181146742502039227684727111870467827295347439941966992743213630862187821847608789708328827145946617268540116169472616264306113457109073336638890294624791409628698386918347406512091031450612524423544060906434422625294166739500645622101042251106308362504396243487846395822364359656905456010183888733476785985893375904758553707144025111719679888427556656452546555424048656314917015645139205908297378e2093"),
+ mp_float("5.2434751522060149269696758009111366494594006149283971551118518704361064639661011262327769680210270052405196789850366740433480742081853431690138814839247096312393098508601663171386622962201449494651694232294447165511801941404582111464552094033017415943152746288180465697972482714766701591182776216378597637016012582764527433363037287892386862534832329869493630145056976279925089778568129223896723943726e2122"),
+ mp_float("1.1010191564854388007930455240681198187559188702388956535952134307444003098191878109499411075546642356894447821766757073219457963373009603967326192408683670983465309561114654245240271034197073297893522752972197628163968343706840722488868460977327739899312102344821191344832906135954618976038059750851144960292440904382504598250923001507135323631431971052665383349173640002213585660956333602535798006503e2152"),
+ mp_float("2.5968190111934037858618813593014828907106279244193050296111349584699159538232390214281652859265804298129950705045539216876420230337179812191943310708307639456362968331374962493937500401690295860609460925139594768920237867157882587713392610794153505814785627583292407214446089359267492355974251261020445763775377683693770017870929080652335885691967004747090605907643472212500744517033499018381900961313e2181"),
+ mp_float("6.8703650568568003698056399130482768919022606819116551587330958237153165376156083835788756547301496085106107905238714519925897277894017352501754287967430525282345399190059543746814435200500688112961295169975094902663620628257472084017811634151703899860951772430744838464738013327376136008401911350509172096143765814904247982698297319693368456338087727661288360848199657988476270639109899512338448583787e2210"),
+ mp_float("2.0363040351179084699873194754033082824110396277765402964278399999807251418312114829141516273143940679864522186532781074994340992730425431568164921648104551317277228666999757305501127166972448864104125718626177188719590472606560634377077182110922274387488575191032784459291684131780673855461581766365126667095247338393416730441896754513040093600580658748112967502598389135013120458090247061817702193472e2240"),
+ mp_float("6.7526802209645841583879061361800814224269427869589384312198268703685091643180416969132446952698303794226010370578672908593198347699886928591906501031587651846976759681112609524787093848004428636186893395272784450630354080243217646658024696659065951793757223520229235577548653833681102170973893746054649126415909143150172860721156685810655759230011450132992176454983227538696340112610447029002337004888e2269"),
+ mp_float("2.5022971491776594488705990054646785118846462686726221664364774234373195063810259596067759452488639193058003739344012295253349838731140406548346566384229644817789112859996359809161273835372293271365226265316479202714731587029026581794053181912664424106721725470177440631191161022014842313257273037101181582471024170444105747792437358053472940067254951097568768093649504846862244524026153033397414442523e2299"),
+ mp_float("1.0349062101922404990829182916756412911972788499117769572250963715038226297462309706234749187106172295051847660908809339928170607860373539658715904374589498666841548933492718011979376320594015450183928434109808011781836435308231472399495350372281976736764160727348353192173223874822656894011592697146852159717517196573413921573043678938953826660131141525019843559311299612030801125834257414170544274408e2329"),
+ mp_float("4.7713833294969032666897275133756877054962445837773210823797137051648428926804331353911068081915030721693890621597870264801212492233264221841477821316337728708319519334092886216586265829212330500732965271617102829342966348146383572563086532348705375314214429305473440733364855825936109887798604396031365727302705256699265207891048037075795106880532146770323244773367182459402829858473804688893812219547e2358"),
+ mp_float("2.4494115247874388286900912225574375371097996154542016829634110161710440875118268120392121477493822203768033205508124878259576451738057282905742883656038185558117888582834558546895693074110134826969660821248215590610008506894763063317907641249169182165396229490380765626456696218309217990117679791999424650078259034339341085112327848894343449162820637782605167423175107459395266816321673278293202913757e2388"),
+ mp_float("1.3984825417829356438040766915604808899159984401558172891844243614710885548319454267696277935644221824170551061646873289688003378380150920919024267080625857545757587618406291011480222020886167919124890534828668453684926893626803486537962054835553738545924562180706946917055257403967987059408686467248242842070931516111095761107205484443293177102161106478779918962264224915218508285955404048580220759497e2418"),
+ mp_float("8.8704232123729413349621085789494963768577373616440183605980982300520793595650371093743148413781442710279703073851842375919194681786404376151252936336159828557978357115122976890751778458814920607607709100129067224950658069769330706119917868990165146272329876327004374490961063241068122468445757829179291044474909354577886195130959778560979674956846697972611984424044566149235072431374557421398064554104e2447"),
+ mp_float("6.2437844808488742164427620115537153381313331451377895691704330795401355313228681182602530481129163355744521659423539913724433939379524322442706398387692278409257974412438043949849465863271635684881126558539038292848480526493016938183011539303738647810901217176080228999001960632078055284884507376130462505282871307585376554743296547728176334003837755046675017359350375070743286749125390109398246055941e2477"),
+ mp_float("4.8719387003591740981522332673501306263991793421471480149218334668341222166758818411718974437715714098770196944313980727236921858962073787304381813042695098733670149328915895389798772110683197267436823633461935547328813482190044367668006197055076383039575559503198514214988658453416681232106745477095342590598381433163294586605180117682225052651945311104491579973431713445521343095785903818172694611411e2507"),
+ mp_float("4.2096855399485171675594104233606177313832041734974792174406433068784916529065885005818331753952729597724434688407751526357100094005644356194672448594342274049756054411079049010773759769651419262698931327440295073514562964999503763144306712239489999947374367560130705251413549558377734203626650255493181046446253530223478116235669795401821164433551014738253832588582208194711386993687833320470663111889e2537"),
+ mp_float("4.0238726007709377354370243392300398571937486421071463254379991042993851239862902059204420848696940480047998861019719605863166687299480855890132382966994459099742450408707375991882362772718873251977950595099527612087497546249704360141827809464649629105639388743788648733711918104582578364784997701247663288983595573543251318532395846307555740911426241747434934755342864657661166779739666882029120737914e2567"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00051_factorial(const bool b_write_output)
+ {
+ return TestCase_case_00051_factorial().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00052_factorial2.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00052_factorial2.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00052_factorial2 : public TestCaseReal
+ {
+ public:
+ TestCase_case_00052_factorial2() { }
+ virtual ~TestCase_case_00052_factorial2() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00052_factorial2");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::uint32_t k = static_cast<boost::uint32_t>(0u); k < static_cast<boost::uint32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::factorial2(10u * k);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("1."),
+ mp_float("3840."),
+ mp_float("3.7158912e9"),
+ mp_float("4.2849873690624e16"),
+ mp_float("2.55108265612582846464e24"),
+ mp_float("5.20469842636666622693081088e32"),
+ mp_float("2.8481308951595832473664081994186752e41"),
+ mp_float("3.550442606428591982434759014119744131301376e50"),
+ mp_float("8.97108341211212142020325469195355364998152634499072e59"),
+ mp_float("4.20883272902349824802282556768760899347754738396013455736832e69"),
+ mp_float("3.4243224702511976248246432895208185975118675053719198827915654463488e79"),
+ mp_float("4.5743613929984741762045187511667452512380089785043681472178696974230263693312e89"),
+ mp_float("9.5934449818359869548919399476693221851824899426083898963640941952942953954888118173696e99"),
+ mp_float("3.04284599363048780608774948110621935176406885710355437072508257054391066901708636919869506322432e110"),
+ mp_float("1.414180134172942262166117780415538238776503682860351411148039596894039236167545442519845445066297475858432e121"),
+ mp_float("9.37262840292216497287959227832043642481541116118647828814887544508301255129002449990627658603115673287280486776832e131"),
+ mp_float("8.652216451902846439782334634661110199534538804281658253980860521541225333550579569336533284938792359299966271463486608375808e142"),
+ mp_float("1.08981436813352025539677334714313675052379737603508922626359109403633933688047362343722870502522486348690413473089089611741980864282624e154"),
+ mp_float("1.839227279437468473133871545683868854121709232271215890264494219553905123411285218945555668522747684568935589411687623893426277320407809248985088e165"),
+ mp_float("4.0921260721752941329733404353122139392926894880596146218101187463726033149648223760409905220198386233589409021984288868196576971334025379663051349240578048e176"),
+ mp_float("1.18305033024544857808171402556304773068330423943453950860219552506842483018552459750131300382609551649116952455583587373444882662176634718152559553931916976653860864e188"),
+ mp_float("4.386666398938131965159107088472130659978772944934571891064981385686385758917934911370883948709692981635493731326376001450475948257526635964482205599156893421080469794031927296e199"),
+ mp_float("2.06166058395762107540226850068131606806143939234418346559690728715197094801826992729453155699692515907233072767421787223730416229746662245593439392715929895397565023705572133766701252608e211"),
+ mp_float("1.2150363836515057071220136445938064602748500938461925190595987883976232641654488399311542969561492016334409221074276785039523253777229083127313043993152068576125904032458200535035150944147504889856e223"),
+ mp_float("8.89187455044133871186058575184867524496443242680660211990888993250354565047351996110739258699566577266478374102930493538011559785055304265370263175797756452128218252436294036696092865591308485032612143824896e234"),
+ mp_float("8.00802307374742648627015986673114910308779136016753884262374978446612673315683452243123403015798494644581841299023116361660590391530546386701668491668724337371292762453078643332728757576447518385985059859467144790016e246"),
+ mp_float("8.8022275696304249384155496308868386409735526083886040740068808406455177991424897814062328158673388324677459530674606824441257865239432454555894441429304395045986593661199457417926721517748843390195374981283803471091036265119744e258"),
+ mp_float("1.1718661388574355636901295352841144495922563477769221975429814095453928498321145227583527808464754054922588603497411654233551797289064922873850309693299242117028216228079729678993241260507667617207176546609906359951676325888279302260129792e271"),
+ mp_float("1.876330688002605836313724761861639980108791882606679002803569457121071243255061798419473601315528592857960251974687064463685002421241826889871720361304334035709379060648742238092295942637682627606000225592223826716598569104296876138892779034807107584e283"),
+ mp_float("3.58949496768596024382099251974029553487236095579684159539719292074304945808496030930240840890591043032453180927918805385296851313909317194681313123767864919244377159427797293360774717975961607996005883089102470714453024583238758132074702216331332570120322023424e295"),
+ mp_float("8.154414069380594345561496918943236213655122384461722221090152424297122617707057644283318120118997290588054763925204215174621905774628792434674458283281763811619370426193907004908279960748304380260556300122477350953389981838135813430968491267431020995449329126424285544448e307"),
+ mp_float("2.187293809968881627384128233798893407469440354663445490635348014084864622150220207599951920842416459219273016884441593284129365591260793732317192881349202688596446338615218387017078124069112769340027084606730825606354299222319053784471423278794218111118947822511426185455534176468992e320"),
+ mp_float("6.89057631356510555137579289567606342691071383657846047213943697478963467095201598821910630333509037351988775564977512588904257492490468067445263641186415296635901338167599420250217089644600952463561241085007988115057837369551578777905737683802570528878279595352144965156246099611685573095325696e332"),
+ mp_float("2.53665738217211690225590366310652713149867659304170425391407901615500985727113050305934787818138974257221716969186149252682143636293274873787420381062611072630976227160296783821255579549024870342062993632493952848142694591947180566812584700471133422523434177392975502688641022593337925423630093963820531712e345"),
+ mp_float("1.08612861998730268219054445789374605918612506951800937660269028862636512609865876263014647200828357135383929219835057149957722537886500414556958714677179787471956188290317904989044415663405563852821137352155310277769683274558398713267680464772806931885524570064834083687668064343189904708396586945459717817083858255872e358"),
+ mp_float("5.385043221930653021437114957357694402301225427286612120566624309455711108422640671320205988052307917222788862104098178562364686207197843313256899351641434737755217690733205242408884680973848652330166259493445229718202353224383658554093590904072675986645926321890706409824981133251528863074288052294816937623729171904160195411968e370"),
+ mp_float("3.078723199574382302913639852752927378498754127563348334653447754356801402202704925481654228092463647361449405590501253883391239190911882680879338522121477503287678219516829180880416254122007288240136458464186574752089426411849701820260185163873516546935356022573256102233854470971402143752077498219536899770427471124798464673940631696965632e383"),
+ mp_float("2.021674469234584295774211352123969964325422135096113002867159495587286972380684974106093454369008100893511226169722197452929568436586750360292378457939347493554479198942104705081310033467371510413364169973134893462855092858722618246447845776128856806001758735606189081985803213188356790820355168443598166819019571453883207550701876080528054211057811456e396"),
+ mp_float("1.519109256598694015300093913738966477652925506956742120596193245502852521029727551285498780385620544904235922461933596909990966730043176443657658881457405009954440868659092294818088501977760221576733546314247861148680011029243536912928420302209270229238733999147669971875665600996776421227478190705221189947112158484539431446161571862522865076847778946382091517952e409"),
+ mp_float("1.301569115024481105528212583795852097217851249329108011006277151314369093686018440109569616185015033929908693281683693808952571960439156180356558475900862213507597996873570249780766721009585521908859960971487779755600910043820708012769916474176025370004257067128174089642484634114614838126747833232336053166605247506941100175005579905997371555011896268769652770239440226353152e422"),
+ mp_float("1.26732433097264260462535288034449499730349890908495463728859664600884456127221109956015403583833011898303014476136281195802304311664272311793434421005325835816257129001333309905897387290571175770046270837443254819717144490623374592975680993991978151545304674525459352916310902330576965589018176066770671712205237344199107875957641178452432566657053835816254238629519900909951190640361472e435"),
+ mp_float("1.39786504294426068404236833599182023886467515962158085093784886145878534971552152565159527136876101959434179877012779707214283981906557297541127938679434107629327221014982726436413582590989433610145447486811751849398520051820978528364566887560003670775806738642044108273913442487100798999040115965303506076331524765588099961827097368810380958643359329341009664920490786105545996560495825250752135168e448"),
+ mp_float("1.7413324946310412366962408957311764602801711622042531550675119336366712182910744450287273833340413972385533438207589799933771374391239931637132288066948457772267323617440082734334373048295809780101840980610482324367953069736068876526434193182285904984464222991719602066597391062954023512151817448253208625056923701872431722539816400586155284218295814300980343170214560621833568738812198485473595487322e461"),
+ mp_float("2.4427658259054710314391718862115445671564172922617535826658581497086869139316669115510882550561734356501320123795415088538073925884099719226638188103492837901025618542693884945342451548150987283454890413821901251590210186743118622877236716439926253756802415875372366965321253329150705821523209235508240514066950189233852209452915531208752111003392309904447126571567230134770450529843681168434408145135e474"),
+ mp_float("3.8482970532174674129942351279097490315147436704200376616691860391115977871026240928567258640242717138891518078872403627806980385455456222294763580467704482364233594199504675321444709760742539778054730760975987236100277063622447631867218494002485681112444728442724328018553913650842486970877951413465096522653152187717791423829684101892921503426475734167765010115450330277284247050147800346012414699621e487"),
+ mp_float("6.7904602949135314456399977698957910912529756077005303682444143180277727133504405084960170964565008529872091461473859559672603752726804143515885388383108254056781690321811369342311680514830087132456580984727576553699392368659712362919402078086103251164653785948347299444554644159980086813198060083261613368411779521414145698718740802068310175848424735865245753414059684961271854258050208117025490568471e500"),
+ mp_float("1.3386950396594313125264134982479697129928632852702583296878451176400698449453877290436165587104316176136367371736036651963426768060138948762201067980540591526266512450476913614647193486094591566032274294654973823006108739492764260303168706409174589994032692531507021947040634895158627769085495346480818207029441089101122722211556654904448035106114906352610699237605733364041305780250273468736205013493e514"),
+ mp_float("2.9415161555620015519016757381827086764321698367122272673941869365888077925858248765623565917820337400386314463738085952588863762547278138382417947794259942567573977512249082733445481403359994288533923904059459179274553225841229503309761672944118620689005268732921129924848050993482672285035618582400035461801081090994326952487928760624078146707112301870286935852463311681229338496084778979121659324229e527"),
+ mp_float("7.1873313146147551940355565416086183081949626434161471173855828096288690700520019916594985196615434103128140554650673127888687402552727167800570265689253747133130382990686370039106857507098923122795622379330335106541553136548277202798792404110958746542960917864728023976803370587142801384365923493585819955332152678531006397735207876039206289870393047090886157968352470291786985174211907273834818733141e540"),
+ mp_float("1.9485530593309098032301617543882193333331597346427866167604511767907120446394647347178490355072487572636125422317845806605500852063283015216232957879669906445496562621047477649461134352505631839749750264320075200695766570986852829781966740755083807042592202754778553047114510543954975876117063338658444372917269755743579648861264494997832928290168700403226823125063093794484345178838348121444963217891e554"),
+ mp_float("5.8490496977281839319015739666363991858932901018633052041360197572204145672577381298696790704262303663676524519801978580022635614498055517710209011137393136263367055635637057883605036300944034886758546681615347607881954200152793776217295176207926689449639813914899266715393729384810011730311170527632214914202817276617312085449541343351073318124123217919621131789381895167866839151225650523762487821415e567"),
+ mp_float("1.9400100076534080650357021527344993527662013978601915112104339595653647304095141877184271701697977748489766582940256370052384220867949682480465549797398536898598896655219436009877948469131796129872127041483709140490931541044681671933971211086911417637449226270357721203452492708790759609115905463884596140594561304930934650719446845127220956458958475554718245547544952582293896130346148971169604540349e581"),
+ mp_float("7.096102094629453310600580592178504914084897257355765826168228870421587485221411964678946710482994530050240369596966769597413192330848181672235833792864021666273925944013356080082037530248887381833553228017971300127607810724057363442020949814281660100843833217804264443322334158644433254914041576860244296872839512073756855148023749576768817384823600234498580938572859166683884341901180624320177514189e594"),
+ mp_float("2.857045662548261538876584749942714035702772863505608034403751101160341948079212613476892733892258681255379793366506245332472834153591989509200815628219458002564626904688243959529690411167045331994483941109127193100482640959281632844701409688274218221530395835992443629431783559150684141030551398325630829953245458381811517750787841305041819680251239696277960206535454952784891188035839012647754429769e608"),
+ mp_float("1.2638947097264580583258733242339872759851128474264166371033797403809429801722192461240382798289360396642745847311795044644951066473106128171459400582584893073726047355753581310355889593875894762802898226470006742149195505696574097195144453675673863891369891960333612191397011224038584834092162304930802480242229152525922742296906518226620805808081017883710108279065520910958007676864286628439793546004e622"),
+ mp_float("6.1326047202611541747957871206270671946133349952651149411004640175051879885793810807672290191504127485464756211735362922227039228167142066749343083182970897096043864432638090502828870398217960794561359535326491404954973928443831971498509581432745919232560200469237718062953391257805737992699462476436773245361912177577891693907035604673534645254622436661486485654052007637135241055917887516699272343222e635"),
+ mp_float("3.2582982332763965739702477251284170999752127600531561417544243164729615999249929976376788853133731359348273275516327226097671472156202347828705691576970692224660056244639229620862925570866389101644546611313397561643130192564662918988707729108438861659071026312005323301107847049315338856321925427658407555218250842028206459411707676147928068081847523922839659332960325160523844499606681349292672152885e649"),
+ mp_float("1.8925435197639935781028598629125595155639597369149474536295017031168685153810683907575195411415800337263766351461648872020233323127237264762405559826521225024510269841657131825553404050966557816712928632402028085375414615777489975680467943153288754176917335652605483954622407814255962874642402932108975451671814253030908382425201122498472514148067650413138814834644734617356232612227555612230603787162e663"),
+ mp_float("1.1998642443294008411847181979372491590037727456266007533779516722346053178161022436183881741966781138486770100432390072872069843740523787255746017465589717038305795295281137304148302368123943052882380731514451392544274673521435573933277667025783726306555872205763398975233945460212104397721190751364991436266167225003124844015506695073926152738962441279578536506345427826839684946344800294350009009412e677"),
+ mp_float("8.2907705708682772257778281791824345160986208704655566020181563948642970028242635790470164767859209264077055632398728993877815274819221051001824421344557232903490356224472888547922178319586890784310798280472190154180572151500291485594334493565622495388091085662701502382727792699778788145690087530971801002084147138639619762955828251206264086202761034144880893800544736396767343460312622236284475412843e690"),
+ mp_float("6.2345016321232105370670587090887752473893055019399473860725935942900254636762527319719146214736204952389175952858139508642745254955708065568046191622328105551570130034062878965425060872466835783729383396367906043651180775066492868673725405841937300254726536538242373322070194462865479277722979771694166321835228474897349370808180099787435916335507451718021736275597258715043120490087566901918828286446e704"),
+ mp_float("5.0949650743969021775696755888884802440938590217122467643028147038867470828734820670698121689425027626118845812486195904986046075341380710511860555017947600259602914729832289332756140679064038836865191330350078161231864530315785809762848052791249272269640982579242902084546622740015944915550139250735928030272955545568992339615243317924179653131861657416030731315087299958988436140007289898727700897925e718"),
+ mp_float("4.5187871109357631034044740238707892632715031946342122752825439187783644902870317191467574425200485962207203064574485888962886151434527961027062544298647844482218820111108422706250804789505079766030780697229974668013951723465309034809493977298592784668413161691783426413072142558810584744860454977009687936574878328169820329031734479395259643281362926410745610302466610824769864067309431286842573931392e732"),
+ mp_float("4.3438156144087506038810473426724151587388756216743183779442725800912344299810043753256095219064036974597801045437306880463950684462152003703717432722134002889177863185076918105391096048292435638084904598087642646846025282624371780838567431116544351354427439434326640948609941482051549205239286604768442209725642828814632522025902668560228203196634015074670621044785123635438968885212913426715302450107e746"),
+ mp_float("4.5199693163291675138290331095774820738157098795999855530787125909095909463180533215296342379392810849524191558462785912601406328422223299709288543403543135387855311300523951222134502902407683806811407355226706747508842766892440477798357995458169755816865721710510590849638369014563303060229997278670326759220917456235927636964418593668236272230619803928034603908156781270492579281410179537086937287956e760"),
+ mp_float("5.0848396562063902625916793625101633374471338414309475430973178938992255185062034941262282232024740488825120630190028677639888934175928133218155060810321877005691693249309695544207073791095560497155230426850548338077457508353436798143782271188548976511563705901528835480428345969887719560751554573713952629787691018938846954124433210326306892357546114451324603517677947199272907229328735406224300073185e774"),
+ mp_float("6.176981137595130719721448291018070234599616406467595021860079467634542521082762394617455007231442902725780724368577877492757393948049867482510435480516948046781165415579062866242837994966201126136809637248825103965415516669724847367234769103446501683182931331561621129693903929059986388113983617781941152823547330225702564952374779958761363318846898760196229863431305602010013202221149357038762865734e788"),
+ mp_float("8.0933409855296608683640092010907253875400259801280252571328977220209654627517226646782000718185374494048321030584505361336585395780643848712239026573022575661167029082860860528726118774845869967100629464779650220219654905157697585061475033775637938419627614501923585449332063601770713524749021071536489985823111275541201903696899329989669624010774265454195991419560501153725176075338217681699073290481e802"),
+ mp_float("1.1424634381955847752823441787732953826200277012579505242424336193061805577639928718395947740095262153283081966159389933974055423429803042574547913735443772049542583151486286179704014932816257925687942648386906529642278719765723498169665020759004388519875295952102508024928688021977712824804728347862760436144094450845339901342262869014989637298069000294502015696412468329662302020488942998927156826584e817"),
+ mp_float("1.7355791790908727952684371040184940777454797061217384108244803466981857870156148514829339480579500767601367043850764494243996129649344470175253982084209898084477221437269756450726484568908760535521336553163976924376295684256387893764545434506900142282274740534011963415510270786663464241230892411404765734657654100881025732166574586003608790718470771864906666762228232341278962089306308395348921775255e831"),
+ mp_float("2.834475442169931447780747142031099651062942885785344978817738120224402083040159798863702517432699617749219568624179197794486981019279682856258822076472247278858039633365651707367821759949898059800023180709429964011977413014324096061898265465842243218001698090173814086604330020076232660706297156466780193668181166868341265730807150577013485347600649072158192442653627866566371760815606353590062623907e845"),
+ mp_float("4.9714007941817886856087019088493476590239241817726114865750485112522909172056612971544041849175184033665388373018025417653033474468841261363955337737625690435873143694226450157703541925079996804960685974020686349692553710300591472332535037661442129177692346624876413969587303265876911751710865542647801933720701055658432307018176973999926800484003795474331796100577443063350808737456965494301529211346e859"),
+ mp_float("9.3546371308922114575288743084187393571986428930856088316382003871601114488087597462809697250634290784259809114599217641758577621534356414243313911739397536742737400234760394730577249273136633613874390789336289252867522249754632840125286667807942735722349154810755130902247580455045467592725769667471821059150389868240845273636423115004234925288931390388162989828923063884034687609616032461354881257425e873"),
+ mp_float("1.8866596863354673394638010035244079953710285792024867214134886311241771352118586739959740795449002335222076043103260516289121764508172219851385460550632564045335075354571005696488905614025051271370731444402206327041768098451104876322967622252053325338162431985586206345388200165152438282896791529155465668391198351542143824377019648608154031585082501682183087233381308482823645409021258016827881043789e888"),
+ mp_float("4.0744276135916800669323701602839986873298791820710570705730100736755132321619521941606580006677395440734999938480427343599839162760762350937139773308548028484357151840241835928337607923576768336073791298454542160073263656061069615353610235069963417107218882346409884602239447026374723298895779797630926309107632247335398792463123039646706115361291096061114668838500789027820114139456909014353036642978e902"),
+ mp_float("9.4133701465063439365015077220580035648852519073246470315912804790067857101637730082142751736574097685314768917184809057818893558608515129288020194521459718929566805217658683904274993290279591852222520829442164237242986401846315759566555313253227737568826214973347843687982783049622554908456263539395646939129122363390308814088294689433720414631933941189698876265715898188462584382672756290582493581587e916"),
+ mp_float("2.3245501276810290756608414053158583069469060339853931817460337444060110792726055457931835346576454519615139802905000930955441034287298454278784456657363401060116769717570740888775402030916345945121005131282730014803291331754864017089522664712111560421503419858818243704068720789310579013048954572820217323904906242605544511412896324167638409334257364451841741821965284818758272593090191254056012054432e931"),
+ mp_float("6.1301056672204476051618335741029581868571305829793343903650678030624553241116044104877571875051781488153380374818840542353924620085265556626393218500310485563686419986742663537176681314870602912262800991117272790242163501696083736228270317418371919980145765521174437817945114516557554491519030301523168536883619893992848404476799584753386460317566594503643196639039674270427839440187302111424233118892e945"),
+ mp_float("1.7248929322016417529980055476382985949978333612957116303321345339946641407241122613221172558248328635231775301980435649441379227948820159755190904525481386545475097906915917367334851722731058023518466132212002387550624523065709424485717970728300063346936039074705978680103280911257230680559102053412021518453904376079286241149863362733677640247471096894609295953057375621397152714613539522074855512949e960"),
+ mp_float("5.1744097102606509274395689615537872110643897836785999105893267651780068137182090842785136187832019959538382047720790106944583297513648195071854973603768970786313878411547060276118974493664145942471588623176363514340134654402106865243665012769894351736456763305994462486075105881415100512046366666176134412857839508958213664889519493149327823097766501459579383254365589542113971890381208298965766649593e974"),
+ mp_float("1.6535313881404791632297264170718419711756262574227985301004426541611082971225498864578430982848749943928585204631787164459936159326858038351994339502429464424625117893955636978757117361489755091281783630314463800096928041848465700076038440132553975504667067936407443866841267731926294351302360870436689635368737878997057895972987110721631533431769666148552216243423099815239473706979822229166627375705e989"),
+ mp_float("5.624375163811638976263626632446949436648483893003254973749564001408758013510980939901613365484564691108962751821857252925908225652518690413198955259447835648030954762266877556967160900235826972522030622433848490691265998118086609516643372377899422485608597727759460633169958151549084003937824954897309974493258791287937633901201775612194267322675364863610111588013605233922397815969539455968616341605e1003"),
+ mp_float("2.034754561477249280155186135877173061182569829042069844258103815835791040022560288036163445918347017662737913492718019346817461416747350495588027064386218888902236930128730611775877303724442873378406340390562657996269360856926840473406892824876024003094631829408951251788634305152441315265586598080378831365174339219465725908383435714395330338098294526300312712854072490508111688919870838327041357249e1018"),
+ mp_float("7.8234720701234448536445094704086861032665848658675270470121854189617651957294808328532449632940036585186791333767820993078796677721254232359242584113389074855313883500881327684537212633010861024872347990776967934668933455935521436187845314535879146448126137231350077570389923673693178816182862147385919477322636929113972970704591083897314600240028581689896790220376089772484040524819862394241489162365e1032"),
+ mp_float("3.1946147720423485246527118784964878129698778167914488344293652657243006622614701970790825911401009032163095512484705052040461394545233717444339032885897634254866198628422063071183584686161295399674607274691766332588184598775958791716692169111429598309038716684585910625372998973126480798031316338624069630941983625612965394981166494290956717900114591185776603985079887436861835848620072072060575403939e1047"),
+ mp_float("1.3843891109898143038501828467687037138150743356729099811098732975833432892107999871142569544735251228853078963304950246178367261756365252258805086515928808184630862259205026761941618167002504480306807995897441384673789674086053723170803044923106482037520667481251357192611938159873207777452533343253274862180601636876498046272846408724687836316667811313335572640276943691475546515359414844600177000682e1062"),
+ mp_float("6.3623146563388147292861791225808967313539155972824490523380435792575720447234726933612141368219971774098683068843966543510791861815330943891513782809102370517013412978215201085274156483610324503266252223394556091350835985288288075793779216854291004095709529382996783416260812789911960693524723948677677548484879140708710760863533629448554610431774628769033542109624649696735866852405944723885812689164e1076"),
+ mp_float("3.0987962519132833205870405367845603867252215032978998328191547065962019107919977483419516957309108135967822266032113541972893454520249954555144037866021760371743912633219122985875814558858548196473805136898905246791586539908826310853493594648949913445299314355071431472821148982139670651502046094719653237354402751210693943419398620269677820829925951561686297693577262457617478221997007755472893428941e1091"),
+ mp_float("1.5984616962848289072098808974832965323765059915283140441705796334787539013722635153037073525631988465495317245972124142955541723197898953744401665608674366762548709525266248934760191754693114821858577902239841322361166260801448833115363593974205881422777068099258482506951511467415875583454807856829816657417569756910405074841678832832553760077967504892524694963708725445617464684208774016229139356549e1106"),
+ mp_float("8.7268955542665836665147849310846541843328677778836108451937736375751108508000879027477324536069756721180256154525458519648555690208843568361307400776168008508494202402815454656382610866202077055676076537578651220450532498942918358594838533168280301655301595189576178734718959109561028652165100892304124979916473397037224129547399309436407675496883456399543778142017715777224790869641062669713970741274e1120"),
+ mp_float("5.0395180748379128470787362093977431176608529779227944975373612394332271123282204600130371137726688251029896052806088263624400731596739526823078474566727772673289564559620002607554258141142275075352359050112989850896828665011691375241987323441690266433845047426575657183344498721911874559918508142880486352243676787697242206278631137878405850498781451041534978615795870563078357368755722599187133138128e1135"),
+ mp_float("3.0762343247487304998836282002177476726949071912553142273518028397321394735950031965297514388030315278840326682000455469188679007830930808602993695157065063263023807190490629045214937663665527992243158551737870353573163169271253149119596097937606724968134493367435231568645463408565580892858319493603534475921857704594211322167032432215791062588718831714084709926214452668311099157312436691219395788085e1150"),
+ mp_float("1.983747671546730735989323399676479076699753759188422939221406032826330339297977680380503747607282830758743022298693516546473198042578393928276810446876616032956402467305156405368930705341730882428451206811231624703842402333717066283118553454237428851227317456829802537133211033341906145008137598637241969385612015380779531363198130800371270792503462016869860968598081508237681778544500566296682323211e1165"),
+ mp_float("1.3506139582570595238199375645363363267069178296810523978353461730385406342732857611191973675190631143880572647050438890363922283553707626427966581270490551815090826842283972390333620203996911980407642098899804069858676395197274645868155453695332794085218264212873755346547781732406104578396296442504597881408194330410228809345280805564946324227339852511758870733158516599868860585781166281248548203768e1180"),
+ mp_float("9.7028778270369493042127521337694952408806067930712571835220225061374033084745422046094373647137699152871580324806930657147204124176560792259364359845773474685456793470194535738209134199657216902874242684984092581592757831727821883569385605594976272575805769078337900773710175956782711148462404616689201223485658367060877231992561579895604811435937979421717251568065876174151341767516331962763173632486e1194"),
+ mp_float("7.35100197027394127955116548921395201227836496258564835940899091608248490127552394824409586909000649763292606106894084442052996794915003877786498632113227259825488326272967600527068860915219488879144887178727816445234957255551437504911032993635549507557194796370857554804922070845927850650531312444128254206665824088552090294982728771754002950106263427954994219646746007642132979540678732130036358531e1209"),
+ mp_float("5.8698431521326617909587930238644448403149009999131821879679794724874702616493268390512995986720981582734047340526174746696195419385076568375789759245615909688788031747332459431648622277840859042242631677759331740364887165482138970111038724732273694465510860103758427848352673999607355090973140029082655658636265725631785275574535526664261394954976733883358944007972506081824720468552479950131234994013e1224"),
+ mp_float("4.9374512491327591000673111282658383449155335657646983985109140400673445523409000897234125790761971034374599590646171593386932113195686093001732588814938025630722031916084893145018974501380042169517550231739694830932878763754623984748903984288066247759217385197331994016610656744467249200150243639969423318908410160044362695408919760345756194880602580638086262446430125180627922395156738190514091209671e1239"),
+ mp_float("4.3726306084352333361835594759214902513687341953824539570220274912967769642641585519199018384610676328318022616203599302024603034818345323446978417277623284483716515029374854497882423024542976316408781845229050378009447510600403383940359692267456622682078414361382573912599795683469409750232638654178909035351500746060922539346971061186906518872053144014378735995910687134145182742999897338565944627967e1254"),
+ mp_float("4.0749138438878930565119907520643532010121353973906277142065795752037190384978738496951580057051522287824573910167990856433481707942292473053467999934977443753580800503294268956567925786807691808109349877396157478343469113685246627513630833456058307062382027759660739314665046523216560859788618251599022436395541340544811387258804157458687512378491860544509473439428420805609454486310199223354351774048e1269"),
+ mp_float("3.9939844265475088613053909446326587694914656127329508841493522644636696537839187866738558479315862976487247301007126872332878676700332343471477213721600529704688522774353670850647903432833459827857728599405109185280700951383704295047693824616521846707926685647497471827289796730078248539404031747833794619813775946880943089952496976077275791371786065550692171942223634397782242065784314665441961507843e1284"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00052_factorial2(const bool b_write_output)
+ {
+ return TestCase_case_00052_factorial2().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00071_various_int_func.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00071_various_int_func.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,64 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00071_various_int_func : public TestCaseReal
+ {
+ public:
+ TestCase_case_00071_various_int_func() { }
+ virtual ~TestCase_case_00071_various_int_func() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00071_various_int_func");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+ data.push_back(boost::multiprecision::factorial2(-1301));
+ data.push_back(boost::multiprecision::factorial2(-2501));
+ data.push_back(boost::multiprecision::bernoulli(1u));
+ data.push_back(boost::multiprecision::bernoulli(10000u));
+ data.push_back(boost::multiprecision::bernoulli(10001u));
+ data.push_back(boost::multiprecision::bernoulli(10002u));
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 6u> a =
+ {{
+ mp_float("1.1960437865004289743670703046885800334532353988066498666560446037134474180618013020679580670427343007973964442506222374632473883275065117542456136817480918655718713922035509613287300015693362743548860645383343905808534942593435341632264363838837420990328797509263529572895033456430440933830848863325058358079439556772734263572565683517653891499191749541369545218245008167397838822840824375022978784547e-1742"),
+ mp_float("1.9615122181406584390757837457106691277493346098907191803612067078285040589854421424165742458938372893338538819691491226987892216249244951414530342301558870460396985476380818870495179690600343813063107756695719471847716118384932064403979415768882098115430402739059419127060048721841773049669437575413661238017384818686187001817676510584898763723785047288594077418693936634182700817918488212564662606095e-3705"),
+ mp_float("-0.5"),
+ mp_float("-9.0494239636094805005292414430835356053321039287156591766434345966849442930839829578482912011317913028203768523193958868838069975282436625385065427529164975854427869046950197884540178673652136472892820016163848818994153741228268434408582143896855256119344731862714343831822917455122107469980595984331347720243734926933144200474534596617828144741534545159043636679499254825809851574177362202504789517711e27677"),
+ mp_float("0"),
+ mp_float("2.2929335877909938898764082526150388027539049441712304402372126974727317758355323237101312702186929567941949324652339477243731302247995137894839991449140238197839294027132444548719989963332282547273495902914538533018914699572641511688221552250493054116142392002883708448649667808243880740106984491455507443678058968857183654247921532215416841507446795631067564451808066675761947805892768271228724695063e27684"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00071_various_int_func(const bool b_write_output)
+ {
+ return TestCase_case_00071_various_int_func().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00101_sin.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00101_sin.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00101_sin : public TestCaseReal
+ {
+ public:
+ TestCase_case_00101_sin() { }
+ virtual ~TestCase_case_00101_sin() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00101_sin");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::sin(boost::multiprecision::euler_gamma() * ((100 * k) - 5000));
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("-0.86508717968306725270818735916557777730599862881751831435316187689198923993283521790498932671735565487198406771220725516598383731877859238387113868142949869746710189966430151098818077220502499366007854414799684058332411166897077090145203892212195332779437567412064793775991386725873517928401298446944183864288115967332769329141686571538486980106767058872245206155998183801127952563209302584516809804068"),
+ mp_float("-0.79763858366953481259714957489398094215522640329181266031581650731842869736147648450595884906779088504877531298007549709584387968778149220989565106227234119514920955857261247662051707093671536949960734074547532698822613207712655346154633044042812601716529880175764244503721748663711634053406295594334950958339944104852233364538438677862264102037879639671893945361353871735018017912124896762688051071101"),
+ mp_float("0.24694751481270393816989455015331965599577990782082974819820952118012926923238759680307705708664260650582713915549160371243741339970969856458066110960284501686263922529370992689985210394245398556897269198908375140963677715274995382713675198405319566885196239063678630261988218491689541221423165343153282194748383394932208400962140245741297801785867823531750497892155090643962052920864620306068640533502"),
+ mp_float("0.98901354618029602175090175847463473510249349724827992487552201591187355027688868967642510244298626184812677555619430672681773746616625955520405639182509666726561394718194458471759810888548201804764323767747429110609233156664896859247358618600160567275441201363464883016296014653448896069217108492576553919644561112490398174029484186504656523262450502010870102764110481052688040511085868232105814711948"),
+ mp_float("0.51950049121984044339738214491377557901625353846688754076530639315973808266367537549984077340395292997735469833961726139018356328562746542110713036413300858234570352248446585277165262617881845994831334396201052962253340345385732694479841227791272253515875849614421139763193705915213364104134129815431668002845745090121741132063335533091373430722704456843140034973756911786188684117004466722017726632522"),
+ mp_float("-0.58642035909386951523768726695456120016000621264121118748335087467285913667949995440747093529938553592801111543797937432739099086039685347738175389472878030459744416755494430838140051041697426054654163206937572434284771573711696435479889701764370159398277764008561691680023659946126461221466012782190610630337123139316903479632261164136029483310671081582686512548571027968589672841130517258821548718323"),
+ mp_float("-0.97395403906078050869854812754010898778588110998510216999024129038738667688293411233247507547660433481826378554022069634273248636871268889943206657893365085495908990103953837221918076997320773016743323042411543366853067308772133354882422005996025272628299293665330139411017152702226907842064909056524954416279212381635918809975293849765789208374484279614272702262407912547006420026381898882431367705053"),
+ mp_float("-0.16835709980798731779763364790367408966536862842255885422223099514294148991190930841731427782587704016811168224144233724867667772646548196695213703654087451353235456862964457399533377933177974811857965890770102023474800434793450796708363928962489727300887984685066126963778396606401313473669144644834322766129500826515170674439623002622166198644072962305451561242924295496497673865817996583336572441598"),
+ mp_float("0.84348366891508115788160933441645221250048198837137321279789763092610185698937735368600669544368356295269809174537295606389343383737539420322987993567260099654804618392548221004269952154930593772246006464043499864133979093900482916664339574929175866269202056532433888199203357312856354292159018595451908698245799015703256761432875415473819767251067057623850803832618933566752146583252515995117479236918"),
+ mp_float("0.82202496781424117249008335037366444394838277287311909893953311783617946236226559994208529824007840086283951031540156850110406585677216210109663411850204100009480981960066776312830296812837514885788767571642502602406668355250521717143900938155040050319876970346676468728877434985446025106390443319201723689927608809502112038908318173339375177994594042306023859374748187782138324203679569236625767697521"),
+ mp_float("-0.20644548078966172278108566693593446671066500009311131547131824408615418778824039740776494907158941999700112622969927991803006352755440587105827687343678969660134349201419765578964725001619127224358098018507197217477518476424879393188273937853474771810828977229876872752634362284867524335876537185168202058991502610059394227279455590213187025513498301701182162411129861291651458149809232765920694382718"),
+ mp_float("-0.98201238933821398742743268689921357999177043645192920595050426161233644052306998773405192706007122833665193511424723001758553674874382453729473736698967318043174263178305116522678701572642644955125046307737685013720369337168716304062292912089093170603176088603092541579085189475146906948455044376044742840712066206800020164347462069250277677754185339937853236236760620498554396625100570743064458561012"),
+ mp_float("-0.55457689409530213747356287041164249845415987873946462511683197174099773035991522752407571732843646308149750048541683187925931560402799808039721796055589991969835698977651564881904161899499528485305192774993355886674471830577982958725011962505578939702283684004757222629888058039297509802651204034056785648094344956773393289641899074853933663408784777126564054915893792740950321751681666900366149285673"),
+ mp_float("0.55223631972553454320768877543021740444770413956059533654445613814866273197657606242587941011620967135302125178080188557790223181274132635479848516001166956056684169152368919096181559634794365697929692462933846221564253699877634144325144847224182437654513501600352945517055120350460290761483324902471273182702037419675899405714185903257727806710137118071603904368311406545920382236241507802254402670342"),
+ mp_float("0.98253910729963647217200550710547625178905758256820276353400539681385849046526414570850258127380376793100401827298985862391604692170961399606758739415403392939490853364686526772514484164160895334184339538751098251139449063960873514450954179656572162689800220524835985551929362412800974236601606988593425142227646314150034874268224737812934754054739495109549178354735648685843025309695149000523043036256"),
+ mp_float("0.20919424161231759292985627465559155127857466748292444765172341549043455435483356353779261807927572689301399184910446505295185314912207254913673684840121644950196263845525205209069485089301207501133253448764073025457512071224229423661258059212569761388984180893967120131886763302041343297149817612448231084051035085349821477062216670975268069118975416132488618059227673886548754511524393205260913936737"),
+ mp_float("-0.82042150034016416806875390736702748196355225785028360060677365666061470851725327317484829164156996988612675463903575414696300136809557656769505171924327821177877208936984569326071873868949719900334446867163962763207795935703399610925921076634415348400788763860462929861356452609306026119961919669078311635349472648728526901263549622576885884996291919276608766907523487313088490283878962209939268414829"),
+ mp_float("-0.84498980323075860897972946021725417020274887656496755152613838764676035268791649188464914202966471633575987923264828416390016799882223646789601058107569902148674040269544868920695600748107986559656481124234185704814218734471348170295455557819067840791831040541198080087226424277346298230729678145499808600603861335243905613388932855271426976928024047466289393683437131604292988966125504076029384924023"),
+ mp_float("0.16558643533491417205585047942945840817444866977186231320483545168338776228411479964576268852405814440921094618356469443677441509984568603636330335278789316351077745488280059266519036588084571034766067428538242876359850813716345435707699637862360396048950400623443566517903264884891653913736982243815926409161441171926621253221896245282532431364608500284511449412428102071793828094632271947929662322388"),
+ mp_float("0.9733130134422248664781076439996325547596041902633251431309613137772871577452457011348386026771902539246123917754369011815275465953253766314483807639106238230199709503923447643159359893490066619470146552346442263259964047308322485032089683425930804181966240839058765435955921596502848477098334939721288492487750073064012585262871240814591890531382462762625592433554435697556163942273461885638661645373"),
+ mp_float("0.58869425301303541994797274551524668431807337246095715070998523760895824155086577422557656235988936714948459396658626194388329584290953541802060334893578288199017940637454710820521526799628794241448315885605593820784070904763717099063196519196389181232206959679228386773967307850125102763819453488563433855077856029436716904341327752651679433491068803177798096114777267163356371922112193539114936367793"),
+ mp_float("-0.51709728401438414917109716343072272559608361642833403289320143191669289972512815282728235788726767946133258714516539347300398650917111088383730840642462745361559628023336834708274177008810720997864503236483231424256182008792514317978767120858313922250278919795149943234196749501590214648800764097687555634887106709926715156050968991302040120816446887836448112221991715147755412747643904982369941874903"),
+ mp_float("-0.98942504561778994579633520641173655056014959757317198390962485163668002823254326156828513148058511330328117672273198435854028958189163569498745241605165009769541862169414925124968295274462159200520442455095613008718526467538007940197043090974670359128924585720097669855764038631475310106434490427905711290624710915672501400113806220416195439435490181070678989789478092500957769720727750016650901714876"),
+ mp_float("-0.24966961848279291797571833930275478107046130070512731730054610018931793329197222379145867877191403438507358664845958042303643850373616999952368954956802652884289978026682268405432675662623924967650629865863280328006489120844535221004915558956531029998007360982378798891060454706118319300864403238959986801161474819341364524976070498799822591253693631124434026399072435454954851787496900161449413279223"),
+ mp_float("0.79594055595422952691181178601097588849087648705672837252520925001820847496121721128286756288605360935162062680205427201959305734943295649471345888560139726757801278052687627513338719817916945750214503848241201988433673534399927155896112448547784281558455109017382599606935223412144543300644796946427196636388890407359228183542249818866763328733472675174818547133151154516588878300883530746640968325861"),
+ mp_float("0.86649337624388547603453321055003727682405511135812925957248489739919757880982158700509398511202886625151501180599611933401736555472982930024421765233048287030623272875751902474678241444565197252953357529927172840699144509942108163113181199347462221304945816329094035938388900123384165001280011688853078191968630514719137943065609922040635003116435361117139325021519623335846499222050126246453597170833"),
+ mp_float("-0.1244410370371604254208240524194278926442108653864928935045533919736466234398227704731948452746209576611285042916086804685407426387667022583034033620993631898331144469445927075361836574325552419453828929182451743365661513957092134365138299104921209789330945195117245194360833974076928889872484098355943802078944073614928420504484518104238232385695964828077489150197654158701678306792352671268317890272"),
+ mp_float("-0.96293046254479079199525681753175960597403031074325898542927860894499480571620304305496779255522714740449920561168034834326825673596092141778811133613057020474685368838786612124083863539941316962278807332763650117226990808742108594645615178525818371573122469236743437907516188100317299657360446054991401261819129204379540798883211112991870608214671142610787565091372101286504874487369815732318336349301"),
+ mp_float("-0.62179356795469823415192312397624874675187191101898449037192803173787210412483490820000397097177845254715052331863963593667486830949291665803517410280665438510706842857082320141162218238699592290729367363950604466282373746899578041764378198664733652245195397766367192007717967103668113752808285669458804690643918469292331076180494649617596159416023979394805630825188506001209288256336069204288392918838"),
+ mp_float("0.48106401879047921636300391903940107974582760756679309056624716720150642739438342683672522048951018737803088677542525404601585084899079521603734609111135623651892724625992491018152917388956983222505917061754711563327272328292684822300781993087528192469722167755578240677892037874808381277754976653429844703376014341933327393380277555990041743102376562190670837062637051362532345331538219172506270246382"),
+ mp_float("0.99459994598660210790246203022148930567403641332218416710062008621506849496380708626551905127945616727090196117664589091004541642161620912257208486753611501380010498988340379322071716856719164564672927645435101404830980303745361961742256873999110722481713879285794690870477524893138199111938913573011925775303350770468373885738832279778798291949531285037943371526561613622424317208916781257715667313581"),
+ mp_float("0.28971323531857568215733762332571032238826720017802004073812127963067217035517116389133284725195297132478232737373492302474489345753341693637584844179360668204049858751950419151081083323122754896023020805399882258107804380387112498888463322046038842525866090837069466212429580864869728865250452052787720449604911495690324684990021677192825514006536158108787009532155828922880124667158494830079658512834"),
+ mp_float("-0.77008317127836149586878227059441350607034119134834670931732901937779794039455678722027323000807268437290639233506821159491390367599326413477276644187223128663850330256445887240546131620117611701853928301285348103306423446252568562902316700603944623091642743103450263900938785484049174821097911777581836743736428447638710800031710950631619240205470844855655792342941803794181628118648640971785223895876"),
+ mp_float("-0.88649850017673821224561809313855387711494312733345943767846677270453513982665617998145538590166442213419297144115248659615137339374320428869731210388654046137340073163830069184603212007278659182492697000063091326735676965960505375616122884162932165199220730427526058986119610548232796127810029383442287778473786899637739243088842682085531376471601373062369273637834719593554537141683999217223108777744"),
+ mp_float("0.083080439682369446261941860869339750420290004566040999778829779164510726472983010580067243494180590665495350929857908288257260333087985455133237616981062631238079114106138544790668480770034429554478579438789193350580847656213214727573008763057329069201052276891726438472292117455024152732335694633669865925030242983966039212743857415675412320417462552183844941128084005364683434559113799225166204962233"),
+ mp_float("0.95088269145580379080881101181112994052817118522049856992220036183689985937794231145980774478416653809589611744235048028615644615194631392655321782728314051357571890517116936363315155374421300181857604455336079096611022607668388384799386418069760723004847858784954833878669474357403336991887563364651104186693715603819443888233612866696932669196365387585172649113432965547015182359279258388342378601416"),
+ mp_float("0.65381759943134372106091314588882519891954306836908397778723174077695027443392791956504268149479549903097213397297315499069850358516736287190903269479767199733614758880061832597202653797690144333090552903833899073895212983370074179915262608190468586811072275899498782703930003207603330356201921815802020943598313063056751498074179598679039887095914705463376631567774307957063595250839360463815064201881"),
+ mp_float("-0.44419883729776869434215071043777351144885030313451423935916035359618633896743881816177107613844097597506905160463293878480033961624169222223295759692648326664891288415570974076231512054827602757300757558932537164133079144259056831830919794753959849196109997567447839019812358107684761555967862120024116269901062705630447884553959212830932666828758642780403825798457036759897149148537604844399459548053"),
+ mp_float("-0.99805485931896998415393032770516446507771859322057899721697973416742915484901238232275785525940419957209526513627987177343779809373389157284465387153256600311648238334663448491831652332368312374266794595524373421505295425580509620840292149779344897042078912546100024102919688347595170844681619630553312369459496674685957338099812389267540391789384661598432484560731964762141424249915228499619880194537"),
+ mp_float("-0.32925584367246074527751396405706006739637798458722245566584108718687942076934044708484934395776690595227015287405290706639110667384016496689668602236850778364504698270562443122446777121633580240826031233297957129154523055470095490128048296939167974638270094687461177877139544097682449778044363207679045057493400456686353020427908875447286459468112566742417779096833118762203417239243684311231171355257"),
+ mp_float("0.74289406214691971730748689577071217763372018162585246470580187915854993014301138575550281083980887718816934749714046327786941209573648523055241872433461772076860288459827515491353103487336092666555533666775562550333977874850593623837303036248122754018490021383285853316403824589398140210724484596507930263094598302837215576862656152830461839065227673408330599330179492764472850719715849698041674036671"),
+ mp_float("0.90497057965861947038086599125811051384385044697380649969790067815919477474459340879746896604169505347120527692320057718967343970641857165915886346383145960515992441520153342687355055159285406653023104853613872396986139584358904781952363737284861566876891343765798384121744173765740395134357707977315982337368931113664139166273039854021692888036428013020429307841621946009361316544995599016861275630769"),
+ mp_float("-0.041576169205724414854331070120053457632530839733700369568167900754032406936654732772225888568634961935991599374915238690240599985796132138663492274966652919918441321848911576199257910762408333861417879305855108842865299418446579173115561267409572938992011498300648706364387410319460214397723214932915588169565205375812490511157716082500702780952451334934264616069402150160091480447723605317627380573224"),
+ mp_float("-0.93719053469287541428447587920734971303045432291101939590716959209616543859713365160616776090412883872180361728110905082632348674501130850562014606872006847637794825897919364230003376975014085954809549306630677263098107502639663445116999448134011722873039267927440801790504248068619316004733842223304424897958505882332051426143421784920188133729127262166283872235910357317736650757661074470493571412889"),
+ mp_float("-0.68471096746912734562470712876063800310010723726902681221146004451735978903661775368964845187095694357185341078508280456672582218780943948231295585200462910309462638043306220829569568223236127599504907044705589687387386319181085952764133248551365406192657503789196736085441072782932910447315642044863129150642662429341110770180104183011207149983149660707056083856793755175252844455169463798794450950564"),
+ mp_float("0.40656549143420863029908616751057885992068413298024300589949432115120595898702030047373213851768191655418538252805786101555132655463705735655711116154911765012476201409686869641764641591979668818343426771144822241041750152386563094831102053728224980943104700599378495286307562549354472575266695139105050719290255561758911030594734879707560039179536988148731390148863859754525169110234247580451842221669"),
+ mp_float("0.99978381094521086442978283578205200383899997058493813685797491852361573237867864126930099929206074874924525764484785288016649661565231871317512839959145480453557525203272815558595173449617271532616787029536616206070064038068200899478815974462302016941233137744957010925379020671232973472871426623684133227677308974216593623778540970772162801182795433315750474086424241697242150612379589791040978731667"),
+ mp_float("0.36822906150398015822020319344162532428677981447045504526401832896397568656416150947456641712465258877489220724479853323760381517310729310497119744108741895595122245701305436253648702833101014863503443210528716577148214088604629263271753365879547676920872334528859185577830585960895038151179369059434978333166167532494557340097007973338568999353459041439303550202850628759030952416080241927287498139623"),
+ mp_float("-0.7144202473793071622881824775602288526051552507380513260225595579233618296068431093342018128610611262439148937183337715231254167800684731882124998094889468876528172261692144316638297695446478340662483258456439006572000095777092767225185208121633549640410407788341811629709553299018947000385149072176583748965166297086235970966085113896085627672474399917518485166722788989758308777458718519262591124605"),
+ mp_float("-0.92187767045167441324530701803233328862428889387952715397673074188905541924455439014301496958042559842229652278722386549208881577386402901283648710147036914825018808066251392970466575927695920587735551236320976667968957032620207459743622857456422499005778316090809442840146125918223889417182053059405944140104740509712594294160758554714036208559142846789714294797916313510255933830907372057747524929562"),
+ mp_float("0"),
+ mp_float("0.92187767045167441324530701803233328862428889387952715397673074188905541924455439014301496958042559842229652278722386549208881577386402901283648710147036914825018808066251392970466575927695920587735551236320976667968957032620207459743622857456422499005778316090809442840146125918223889417182053059405944140104740509712594294160758554714036208559142846789714294797916313510255933830907372057747524929562"),
+ mp_float("0.7144202473793071622881824775602288526051552507380513260225595579233618296068431093342018128610611262439148937183337715231254167800684731882124998094889468876528172261692144316638297695446478340662483258456439006572000095777092767225185208121633549640410407788341811629709553299018947000385149072176583748965166297086235970966085113896085627672474399917518485166722788989758308777458718519262591124605"),
+ mp_float("-0.36822906150398015822020319344162532428677981447045504526401832896397568656416150947456641712465258877489220724479853323760381517310729310497119744108741895595122245701305436253648702833101014863503443210528716577148214088604629263271753365879547676920872334528859185577830585960895038151179369059434978333166167532494557340097007973338568999353459041439303550202850628759030952416080241927287498139623"),
+ mp_float("-0.99978381094521086442978283578205200383899997058493813685797491852361573237867864126930099929206074874924525764484785288016649661565231871317512839959145480453557525203272815558595173449617271532616787029536616206070064038068200899478815974462302016941233137744957010925379020671232973472871426623684133227677308974216593623778540970772162801182795433315750474086424241697242150612379589791040978731667"),
+ mp_float("-0.40656549143420863029908616751057885992068413298024300589949432115120595898702030047373213851768191655418538252805786101555132655463705735655711116154911765012476201409686869641764641591979668818343426771144822241041750152386563094831102053728224980943104700599378495286307562549354472575266695139105050719290255561758911030594734879707560039179536988148731390148863859754525169110234247580451842221669"),
+ mp_float("0.68471096746912734562470712876063800310010723726902681221146004451735978903661775368964845187095694357185341078508280456672582218780943948231295585200462910309462638043306220829569568223236127599504907044705589687387386319181085952764133248551365406192657503789196736085441072782932910447315642044863129150642662429341110770180104183011207149983149660707056083856793755175252844455169463798794450950564"),
+ mp_float("0.93719053469287541428447587920734971303045432291101939590716959209616543859713365160616776090412883872180361728110905082632348674501130850562014606872006847637794825897919364230003376975014085954809549306630677263098107502639663445116999448134011722873039267927440801790504248068619316004733842223304424897958505882332051426143421784920188133729127262166283872235910357317736650757661074470493571412889"),
+ mp_float("0.041576169205724414854331070120053457632530839733700369568167900754032406936654732772225888568634961935991599374915238690240599985796132138663492274966652919918441321848911576199257910762408333861417879305855108842865299418446579173115561267409572938992011498300648706364387410319460214397723214932915588169565205375812490511157716082500702780952451334934264616069402150160091480447723605317627380573224"),
+ mp_float("-0.90497057965861947038086599125811051384385044697380649969790067815919477474459340879746896604169505347120527692320057718967343970641857165915886346383145960515992441520153342687355055159285406653023104853613872396986139584358904781952363737284861566876891343765798384121744173765740395134357707977315982337368931113664139166273039854021692888036428013020429307841621946009361316544995599016861275630769"),
+ mp_float("-0.74289406214691971730748689577071217763372018162585246470580187915854993014301138575550281083980887718816934749714046327786941209573648523055241872433461772076860288459827515491353103487336092666555533666775562550333977874850593623837303036248122754018490021383285853316403824589398140210724484596507930263094598302837215576862656152830461839065227673408330599330179492764472850719715849698041674036671"),
+ mp_float("0.32925584367246074527751396405706006739637798458722245566584108718687942076934044708484934395776690595227015287405290706639110667384016496689668602236850778364504698270562443122446777121633580240826031233297957129154523055470095490128048296939167974638270094687461177877139544097682449778044363207679045057493400456686353020427908875447286459468112566742417779096833118762203417239243684311231171355257"),
+ mp_float("0.99805485931896998415393032770516446507771859322057899721697973416742915484901238232275785525940419957209526513627987177343779809373389157284465387153256600311648238334663448491831652332368312374266794595524373421505295425580509620840292149779344897042078912546100024102919688347595170844681619630553312369459496674685957338099812389267540391789384661598432484560731964762141424249915228499619880194537"),
+ mp_float("0.44419883729776869434215071043777351144885030313451423935916035359618633896743881816177107613844097597506905160463293878480033961624169222223295759692648326664891288415570974076231512054827602757300757558932537164133079144259056831830919794753959849196109997567447839019812358107684761555967862120024116269901062705630447884553959212830932666828758642780403825798457036759897149148537604844399459548053"),
+ mp_float("-0.65381759943134372106091314588882519891954306836908397778723174077695027443392791956504268149479549903097213397297315499069850358516736287190903269479767199733614758880061832597202653797690144333090552903833899073895212983370074179915262608190468586811072275899498782703930003207603330356201921815802020943598313063056751498074179598679039887095914705463376631567774307957063595250839360463815064201881"),
+ mp_float("-0.95088269145580379080881101181112994052817118522049856992220036183689985937794231145980774478416653809589611744235048028615644615194631392655321782728314051357571890517116936363315155374421300181857604455336079096611022607668388384799386418069760723004847858784954833878669474357403336991887563364651104186693715603819443888233612866696932669196365387585172649113432965547015182359279258388342378601416"),
+ mp_float("-0.083080439682369446261941860869339750420290004566040999778829779164510726472983010580067243494180590665495350929857908288257260333087985455133237616981062631238079114106138544790668480770034429554478579438789193350580847656213214727573008763057329069201052276891726438472292117455024152732335694633669865925030242983966039212743857415675412320417462552183844941128084005364683434559113799225166204962233"),
+ mp_float("0.88649850017673821224561809313855387711494312733345943767846677270453513982665617998145538590166442213419297144115248659615137339374320428869731210388654046137340073163830069184603212007278659182492697000063091326735676965960505375616122884162932165199220730427526058986119610548232796127810029383442287778473786899637739243088842682085531376471601373062369273637834719593554537141683999217223108777744"),
+ mp_float("0.77008317127836149586878227059441350607034119134834670931732901937779794039455678722027323000807268437290639233506821159491390367599326413477276644187223128663850330256445887240546131620117611701853928301285348103306423446252568562902316700603944623091642743103450263900938785484049174821097911777581836743736428447638710800031710950631619240205470844855655792342941803794181628118648640971785223895876"),
+ mp_float("-0.28971323531857568215733762332571032238826720017802004073812127963067217035517116389133284725195297132478232737373492302474489345753341693637584844179360668204049858751950419151081083323122754896023020805399882258107804380387112498888463322046038842525866090837069466212429580864869728865250452052787720449604911495690324684990021677192825514006536158108787009532155828922880124667158494830079658512834"),
+ mp_float("-0.99459994598660210790246203022148930567403641332218416710062008621506849496380708626551905127945616727090196117664589091004541642161620912257208486753611501380010498988340379322071716856719164564672927645435101404830980303745361961742256873999110722481713879285794690870477524893138199111938913573011925775303350770468373885738832279778798291949531285037943371526561613622424317208916781257715667313581"),
+ mp_float("-0.48106401879047921636300391903940107974582760756679309056624716720150642739438342683672522048951018737803088677542525404601585084899079521603734609111135623651892724625992491018152917388956983222505917061754711563327272328292684822300781993087528192469722167755578240677892037874808381277754976653429844703376014341933327393380277555990041743102376562190670837062637051362532345331538219172506270246382"),
+ mp_float("0.62179356795469823415192312397624874675187191101898449037192803173787210412483490820000397097177845254715052331863963593667486830949291665803517410280665438510706842857082320141162218238699592290729367363950604466282373746899578041764378198664733652245195397766367192007717967103668113752808285669458804690643918469292331076180494649617596159416023979394805630825188506001209288256336069204288392918838"),
+ mp_float("0.96293046254479079199525681753175960597403031074325898542927860894499480571620304305496779255522714740449920561168034834326825673596092141778811133613057020474685368838786612124083863539941316962278807332763650117226990808742108594645615178525818371573122469236743437907516188100317299657360446054991401261819129204379540798883211112991870608214671142610787565091372101286504874487369815732318336349301"),
+ mp_float("0.1244410370371604254208240524194278926442108653864928935045533919736466234398227704731948452746209576611285042916086804685407426387667022583034033620993631898331144469445927075361836574325552419453828929182451743365661513957092134365138299104921209789330945195117245194360833974076928889872484098355943802078944073614928420504484518104238232385695964828077489150197654158701678306792352671268317890272"),
+ mp_float("-0.86649337624388547603453321055003727682405511135812925957248489739919757880982158700509398511202886625151501180599611933401736555472982930024421765233048287030623272875751902474678241444565197252953357529927172840699144509942108163113181199347462221304945816329094035938388900123384165001280011688853078191968630514719137943065609922040635003116435361117139325021519623335846499222050126246453597170833"),
+ mp_float("-0.79594055595422952691181178601097588849087648705672837252520925001820847496121721128286756288605360935162062680205427201959305734943295649471345888560139726757801278052687627513338719817916945750214503848241201988433673534399927155896112448547784281558455109017382599606935223412144543300644796946427196636388890407359228183542249818866763328733472675174818547133151154516588878300883530746640968325861"),
+ mp_float("0.24966961848279291797571833930275478107046130070512731730054610018931793329197222379145867877191403438507358664845958042303643850373616999952368954956802652884289978026682268405432675662623924967650629865863280328006489120844535221004915558956531029998007360982378798891060454706118319300864403238959986801161474819341364524976070498799822591253693631124434026399072435454954851787496900161449413279223"),
+ mp_float("0.98942504561778994579633520641173655056014959757317198390962485163668002823254326156828513148058511330328117672273198435854028958189163569498745241605165009769541862169414925124968295274462159200520442455095613008718526467538007940197043090974670359128924585720097669855764038631475310106434490427905711290624710915672501400113806220416195439435490181070678989789478092500957769720727750016650901714876"),
+ mp_float("0.51709728401438414917109716343072272559608361642833403289320143191669289972512815282728235788726767946133258714516539347300398650917111088383730840642462745361559628023336834708274177008810720997864503236483231424256182008792514317978767120858313922250278919795149943234196749501590214648800764097687555634887106709926715156050968991302040120816446887836448112221991715147755412747643904982369941874903"),
+ mp_float("-0.58869425301303541994797274551524668431807337246095715070998523760895824155086577422557656235988936714948459396658626194388329584290953541802060334893578288199017940637454710820521526799628794241448315885605593820784070904763717099063196519196389181232206959679228386773967307850125102763819453488563433855077856029436716904341327752651679433491068803177798096114777267163356371922112193539114936367793"),
+ mp_float("-0.9733130134422248664781076439996325547596041902633251431309613137772871577452457011348386026771902539246123917754369011815275465953253766314483807639106238230199709503923447643159359893490066619470146552346442263259964047308322485032089683425930804181966240839058765435955921596502848477098334939721288492487750073064012585262871240814591890531382462762625592433554435697556163942273461885638661645373"),
+ mp_float("-0.16558643533491417205585047942945840817444866977186231320483545168338776228411479964576268852405814440921094618356469443677441509984568603636330335278789316351077745488280059266519036588084571034766067428538242876359850813716345435707699637862360396048950400623443566517903264884891653913736982243815926409161441171926621253221896245282532431364608500284511449412428102071793828094632271947929662322388"),
+ mp_float("0.84498980323075860897972946021725417020274887656496755152613838764676035268791649188464914202966471633575987923264828416390016799882223646789601058107569902148674040269544868920695600748107986559656481124234185704814218734471348170295455557819067840791831040541198080087226424277346298230729678145499808600603861335243905613388932855271426976928024047466289393683437131604292988966125504076029384924023"),
+ mp_float("0.82042150034016416806875390736702748196355225785028360060677365666061470851725327317484829164156996988612675463903575414696300136809557656769505171924327821177877208936984569326071873868949719900334446867163962763207795935703399610925921076634415348400788763860462929861356452609306026119961919669078311635349472648728526901263549622576885884996291919276608766907523487313088490283878962209939268414829"),
+ mp_float("-0.20919424161231759292985627465559155127857466748292444765172341549043455435483356353779261807927572689301399184910446505295185314912207254913673684840121644950196263845525205209069485089301207501133253448764073025457512071224229423661258059212569761388984180893967120131886763302041343297149817612448231084051035085349821477062216670975268069118975416132488618059227673886548754511524393205260913936737"),
+ mp_float("-0.98253910729963647217200550710547625178905758256820276353400539681385849046526414570850258127380376793100401827298985862391604692170961399606758739415403392939490853364686526772514484164160895334184339538751098251139449063960873514450954179656572162689800220524835985551929362412800974236601606988593425142227646314150034874268224737812934754054739495109549178354735648685843025309695149000523043036256"),
+ mp_float("-0.55223631972553454320768877543021740444770413956059533654445613814866273197657606242587941011620967135302125178080188557790223181274132635479848516001166956056684169152368919096181559634794365697929692462933846221564253699877634144325144847224182437654513501600352945517055120350460290761483324902471273182702037419675899405714185903257727806710137118071603904368311406545920382236241507802254402670342"),
+ mp_float("0.55457689409530213747356287041164249845415987873946462511683197174099773035991522752407571732843646308149750048541683187925931560402799808039721796055589991969835698977651564881904161899499528485305192774993355886674471830577982958725011962505578939702283684004757222629888058039297509802651204034056785648094344956773393289641899074853933663408784777126564054915893792740950321751681666900366149285673"),
+ mp_float("0.98201238933821398742743268689921357999177043645192920595050426161233644052306998773405192706007122833665193511424723001758553674874382453729473736698967318043174263178305116522678701572642644955125046307737685013720369337168716304062292912089093170603176088603092541579085189475146906948455044376044742840712066206800020164347462069250277677754185339937853236236760620498554396625100570743064458561012"),
+ mp_float("0.20644548078966172278108566693593446671066500009311131547131824408615418778824039740776494907158941999700112622969927991803006352755440587105827687343678969660134349201419765578964725001619127224358098018507197217477518476424879393188273937853474771810828977229876872752634362284867524335876537185168202058991502610059394227279455590213187025513498301701182162411129861291651458149809232765920694382718"),
+ mp_float("-0.82202496781424117249008335037366444394838277287311909893953311783617946236226559994208529824007840086283951031540156850110406585677216210109663411850204100009480981960066776312830296812837514885788767571642502602406668355250521717143900938155040050319876970346676468728877434985446025106390443319201723689927608809502112038908318173339375177994594042306023859374748187782138324203679569236625767697521"),
+ mp_float("-0.84348366891508115788160933441645221250048198837137321279789763092610185698937735368600669544368356295269809174537295606389343383737539420322987993567260099654804618392548221004269952154930593772246006464043499864133979093900482916664339574929175866269202056532433888199203357312856354292159018595451908698245799015703256761432875415473819767251067057623850803832618933566752146583252515995117479236918"),
+ mp_float("0.16835709980798731779763364790367408966536862842255885422223099514294148991190930841731427782587704016811168224144233724867667772646548196695213703654087451353235456862964457399533377933177974811857965890770102023474800434793450796708363928962489727300887984685066126963778396606401313473669144644834322766129500826515170674439623002622166198644072962305451561242924295496497673865817996583336572441598"),
+ mp_float("0.97395403906078050869854812754010898778588110998510216999024129038738667688293411233247507547660433481826378554022069634273248636871268889943206657893365085495908990103953837221918076997320773016743323042411543366853067308772133354882422005996025272628299293665330139411017152702226907842064909056524954416279212381635918809975293849765789208374484279614272702262407912547006420026381898882431367705053"),
+ mp_float("0.58642035909386951523768726695456120016000621264121118748335087467285913667949995440747093529938553592801111543797937432739099086039685347738175389472878030459744416755494430838140051041697426054654163206937572434284771573711696435479889701764370159398277764008561691680023659946126461221466012782190610630337123139316903479632261164136029483310671081582686512548571027968589672841130517258821548718323"),
+ mp_float("-0.51950049121984044339738214491377557901625353846688754076530639315973808266367537549984077340395292997735469833961726139018356328562746542110713036413300858234570352248446585277165262617881845994831334396201052962253340345385732694479841227791272253515875849614421139763193705915213364104134129815431668002845745090121741132063335533091373430722704456843140034973756911786188684117004466722017726632522"),
+ mp_float("-0.98901354618029602175090175847463473510249349724827992487552201591187355027688868967642510244298626184812677555619430672681773746616625955520405639182509666726561394718194458471759810888548201804764323767747429110609233156664896859247358618600160567275441201363464883016296014653448896069217108492576553919644561112490398174029484186504656523262450502010870102764110481052688040511085868232105814711948"),
+ mp_float("-0.24694751481270393816989455015331965599577990782082974819820952118012926923238759680307705708664260650582713915549160371243741339970969856458066110960284501686263922529370992689985210394245398556897269198908375140963677715274995382713675198405319566885196239063678630261988218491689541221423165343153282194748383394932208400962140245741297801785867823531750497892155090643962052920864620306068640533502"),
+ mp_float("0.79763858366953481259714957489398094215522640329181266031581650731842869736147648450595884906779088504877531298007549709584387968778149220989565106227234119514920955857261247662051707093671536949960734074547532698822613207712655346154633044042812601716529880175764244503721748663711634053406295594334950958339944104852233364538438677862264102037879639671893945361353871735018017912124896762688051071101"),
+ mp_float("0.86508717968306725270818735916557777730599862881751831435316187689198923993283521790498932671735565487198406771220725516598383731877859238387113868142949869746710189966430151098818077220502499366007854414799684058332411166897077090145203892212195332779437567412064793775991386725873517928401298446944183864288115967332769329141686571538486980106767058872245206155998183801127952563209302584516809804068"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00101_sin(const bool b_write_output)
+ {
+ return TestCase_case_00101_sin().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00102_cos.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00102_cos.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00102_cos : public TestCaseReal
+ {
+ public:
+ TestCase_case_00102_cos() { }
+ virtual ~TestCase_case_00102_cos() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00102_cos");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::cos(boost::multiprecision::euler_gamma() * ((100 * k) - 5000));
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("-0.50162154214905535006507934761566421365808962336874567677926739022768858180703782104157334491773507690211622144412751863172893119122904872120863946237533655183100979972269651012785895305465091942482860884709266947899655662267052604131701946158941092922207257375120965677001058006645609151579188243577188192831765423148813895489546306047297711022539509473462404019089733447430114238267379980532396311664"),
+ mp_float("0.60313571428133694309325113655636540756247392441681227046917143280974317371916820972719995253248954425492897594051861535050840463205496306256237562726891289696301688567930026444972968333329934552460084325207412884738539384203738886072440013640125030433738691853586812704775040754220545555524237855361445575868855139945713834823411715711428213828850093318644478373792898000948569667301322178250159228606"),
+ mp_float("0.96902885660223213449832417965462288346382027027907788639786102888188268413128284808786908788351970794814191573322198094839000459295090920127430762740525901384778314480815531039485728089512489227948630012091333107823627672161756650613535363845597750943844039360212709462602480040358932164638277463645635101178868520058961493135889052671922314786442189473233561252419424865659925386520422456933994031412"),
+ mp_float("0.14782491492260520954264860310453392894688582499520847868449990765772811594316839506757584243129175527745236732059643506743012867347391315093605558463510078020864683057368198129858823908327097108583620570511151521896111105026538667326749527786043478669088587777236123716686756088055458828079103458534402182273835161066708126746360741813126817035007484464329141515901214558732724557437706092450180726378"),
+ mp_float("-0.85447015139344948471094821054366626768019606763269341666053644333072070840260166961763856973284893831954425042860099172316086950440334996806598196522184690224018944138578542327045770832471332376269716674841615467614625539483750018876502303839670098606230317226296309325404589665701938190004997832683948796843166639576625281030300467522347494569768687089899397360725496800596493559470637547748735594697"),
+ mp_float("-0.81000689036588888102398287378618104836450574863713892332248232301021899106208419137911694670935600210389307190348154033680700645928539580731142634010602466147128679656911798991740456705453963764056901956423046807435258488930954638670002070774439646670450724500520094586192645160847046520311570082832431061691996839606591067443335185302732221888316818825870721496315105401624866741940813589284275695918"),
+ mp_float("0.2267455177003321384894005667464998092097833850092894238480831378466683827110057043871346060005709235569800215748516185659827893723700508589640891976972716570403665692613477548038629552153079218542242417184271182264022470709072429310981387965885388758575814101891100826647083444934684812292662215448102626341015149572372707444725994248777658076421636637760492982947444020394182326376291158696727384852"),
+ mp_float("0.98572607094681400469823142383450564975177916157871840422129452719452525174019803417354200370408054482797693621385765351670173144053171524005535725427317409189868483686977845578192854125777358818593005952568285102554187813023457756929121023181880198348203083841375515867843145321766318476866476607321938993078073105088587752971311300418067382395754489252201424628686354714684325074264340586434068083735"),
+ mp_float("0.53715481965030691887397316962489853948341836449029599646266321884877186476498260019355874856809552188645630606126976563119123530724283602396484950653123503399938294688332329634386257314146589125825636097592371320563696604271190825947497633567945681092924620382686009619110102110209885034787176755762448527267043281608584015012767667899712762371285806841811102653584612955459666723163160014123341963671"),
+ mp_float("-0.56945144858011886915780505911780725010620323062276283805115420871306570794972703588425077520601752861293077323301792800610549113139402646104081762175534061087117946244152125287975953108704696268847815261917377065241801643783329354778399526877290332215236634903080639679860355847620563822363712579548641527844739938293967364597110377469773489014211951212857101374318452911401420528677259991331090266005"),
+ mp_float("-0.97845810511310366097345864112668906661089075307983663561178996977421991305045684012227818895513901547325249161241097295038349597373820690088476031256136981855438584632935895625291791741570973153071536443895825053372019222244541345181800559983327493395843212471107951435623879503589116197386166395270332969985628390518342285544128149350904869144760786557644083102040293619728857795557725975446387638082"),
+ mp_float("-0.18881649076882036818094718893825891946691295900905829577570255489597056088743777799436529545269699011594065157007321752198038423373390670103253610646983030773571922979273600163598344653044825786274322207994738104766932351285365246017952816761886637102290439956065197679903357501267350062489863581450400525901254917975058272557102311416424438039867176899411547343130655797011597302924818642795986910776"),
+ mp_float("0.83213248256248718391648282211236200464150938178343837417522635579213705328552770623957486792338755433958256100224720251839082676782210674078979903328623897712870422600430978907177584667709552233768475968506874004560085480509103334782228549116928850495590090914133655583767781543886956699592465303315591578411513564172526903206600594554996369316967222569167592338646796759203865876228192676690576393957"),
+ mp_float("0.83368761966098380317914918853127190012005517198095141616372457983351189700156411681039093358761555771758536229588242982647239744187242300801829995961871412772468923394414109025642424234703592018655517051393077978860068845984020869413624371103031896740117407710299198562267502869147100200858539656754317575041431701939759759225389946719106478332366708137354276007919533255169664638235639383569564110075"),
+ mp_float("-0.18605618137227649584671124815631620875769157093190685600569736108086402885199167407702422320100843062616644714444408614621390574242763877642390939806307957026167805604628333909629405976831956784535026886701013223479257442178936513209253370459988519785036119662696969209506800793520534365946487576733594348627957021254017447520897947123358509837940617442852539597167693389591380189862319487892792923153"),
+ mp_float("-0.97787410706912947200700947809086987929552083940545236541182287303790608208610023257624198390105132776123115664110406549669787968717953162987933260638310530750565076435745587024443942712810356372635589174338356282870564205603334997652974637518927664227105047973535688395040777968082125500061259190313820373870936866720823176265958448162090987423326403872038897090958331050185525989399368410147697601184"),
+ mp_float("-0.57175918163121264025616107589630751551161205724757288681494194505248342228571881008866075970817690438186545379919710148119548771419260784258379302863349865022779589406640338106461807885184578720013258862884778613907350162349826641089246855371608494365729193629734711852175384638728815913727055118781471960575965215193534386589450370243853256890375165575818694142504618584610839931680003465519416417686"),
+ mp_float("0.53478241597498682890636923119124507573138434225226478301997338705931821657049944750562391125304256759887391004338167587322019260365925435302391176930331161896818003746464685277508807805130884660314731429722219318699505836398912422599554793162364836595300619860913573673921432325981205409702897337053197706014049687225094538593517626884763534008626048851538197945922313231461994435494917556595912129444"),
+ mp_float("0.98619528108436834444622772244233500550001863518169392038562682097011946713614830549103565779570404766638555367268020992254689671390965312890416679706192473068433717014095521991774567755994345709131209844512998942709582638991869821050636439257597063856249038092119512871640381123843890013812838185293393263756058350072768448458950380360337889770923256206901689904823829217396801268618019194906772703227"),
+ mp_float("0.22948154144509182369415746800698328364988547396475691620681392787566104183462052622980774444304368277802870979261579895452333488316470495027443871923297117956210113575448119970237881958246782891025814249305970662163236166516394039705137544157900789683194435211763787511069822409683486532927557658412323180776903688623277362060713475574739265599518489263464320833102602215450190502358534383949241852484"),
+ mp_float("-0.80835578582046670310464731711696478601773118159925609840597870029856375850957218864062941877059300809268098041286606529894870899049159003652074961379621476411176224648451902760457011220845176506086174749134555188467902316469475288975403773973857636373892326760376585744094430003550369691223550482756797212146056901318410686997010241891041855811922027651329719928389111111167862044112446757189042088046"),
+ mp_float("-0.85592663170679958406515397649643131309994249316454429005131578645085757570761552251729365670632975735279522675018975575836010210249068470527194075548251441076976420496548792075626757772699437483366302008026562909787676760497709271997930485538120627136230760141137536077186130465523928404376378372203755818590534658221264961808618483334189725855704258977192100851554017405085224133570406300901634686193"),
+ mp_float("0.14504509334766993343679732543237665601748015028110051986903855469561805431836897592755787294803720321294196670692675860425817019156006795472544060301573514970130737237352276407965078322598196015088783620318485742726789260216376389721616761481364286097504141935673467904417287244647363440435023754573347620436961058676078531225670052103877411944831266665091545142351559495386200504307614132116833066489"),
+ mp_float("0.96833108057454018135440242001894400433450486884893467698495154667147695605198346971512860434896301677316979407715828973045999189796179033252360390253384834782428911228350312995059296512013202981214049690155973624217982618572186690629393688668380855531415343035476364485845562203330354168788849023043609092864372997506131587372974589034738683570955059234741409975711088655065542622757333229038929539614"),
+ mp_float("0.60537478588662083093550030671881062835301187704838619957445140277346831579708290170559342372438997696786583564116411747796066131598667722839502247472418892060636953054544383896701697716904288008881811071365393348940494848858720140528491631498078923089892805069340832767510592701952499233084373444894649962175905154151059310656485499518493307751028032192138975110743944975104530590939205299365402172399"),
+ mp_float("-0.49918857050765127165246443100830980202323621859663295606411941969457362189652587284758726475585312743864487499288977743573076640209331558808543037798473406138898808010287039327632227491127621026484760216100025745074711422052006517238053729631745694408780163847537773119573702459176085803816861008338932982744241500509585746534632592189239382341678009278118030810458222678068124752194184440160812863357"),
+ mp_float("-0.99222700442041793244341637163672398376812477454144578739458582830385307501573374493329418110400264981611911650266336290704933803675752414608868505761080497715998786605323101072631863530928986865345605473152114701760347977346551445152252230086602267733482237318264916817026594817822201149718727077242483980112025554281082958570816251191650760457174817529165817706742958860474153596353298087887496342571"),
+ mp_float("-0.26974974384283529407135442904911380728022891803412415907499156005666362362451160206340942887714356745930732393405178421002248875485798257350416225295845333813028470892948983232570745331205136828532696050523659085855991735781739399449780199864580413509362957674310213115088541667662139444692787904342579506007770224294439456180398644394712078670122120840185549712701180444406705582313291159418160268707"),
+ mp_float("0.78318117881507218281256857540210491140619166393457160009274918850278377150347503811659906527658912201560000425062426213174077300808809107842767634667207644130246300983762258813379724135069575858579484972987736881337517572218810617863132592764984653001013079710817700332509430207238192747837232227382559069149116081099363790759716765670238049577887842168907894878101742345788299501918210802461045488336"),
+ mp_float("0.87668546801298894316611272503029374001219866661666136243743380759468378098691643969637456927472038354627520673349367283367324121916949272869177620477269451717775313582362761369952753768494804335788010017359300886827719062432162897060693014847129089532263482838487347672588768501033685070780610322543843882757687187812123549700825256897742477675410408774989851342602781239821815645715958753412070397601"),
+ mp_float("-0.10378317514630283035697337871092369012118223784464643078377333318832860627512487321975641507120202567300966096393096627338947655380820003149059343389474916418959764384086933825280338584080543377015355584259569741193189206873606119903440824298765910897401393832760642020478309582400187458069600297503471338694965049437285901431495005334289622152511502991672903524064211804721113695218039893263678813343"),
+ mp_float("-0.95711349446199095576893296201081918391006544549413893765144324906139169225887225012143883285387366088163020556116889558963741768284740305902934334806946850023570597825714830361465408561420292855043502515001498149850537134194706047165529988277670109220102766502269805527095332398862295461748072266537481745404509807754999697692445286508080110297609601749711507506133141464812431049826946597146636354781"),
+ mp_float("-0.63794350009531545667254180005058967014091074426028186874676752373058269762260454593384980188290943960936825811511438820242903324463297183316287071729253599410382790069375166807977207973311824805416905280934478728402362367738590911068930970233001798070025927580146476114118351752104439608955539133724726044901319895130615046919558595196176958507074369945336446902427277357686167969430099800901266255694"),
+ mp_float("0.46273146552227640776400067795797886210480882393837882658186448207173350896006259857463834781474074845803406523589452301046262359240960602310918185550315272791571940053255136983368027733514059954139407173745111843912155780937211468453669133666656749905679399238836226218178194842769436017337481617143672364099652685726181145621234602247890953107767351286824995678514316143524362442186848118247298539021"),
+ mp_float("0.99654284430835394575771581445263740011621544801262270069888725717770662527892701805906692059703566000057199727570596201090018843521079740099451243652812902235907552357808897819533630795824169795169152613897271256945242079733003533677278244438976511094582819587451104089603294510862191561695442770960262566234171127458107369852758518111412741106821369313642094603607640773678048962065297712686264798258"),
+ mp_float("0.30955146113330921967430965120100702675233631993391895373629969028737150573338643391886330012902676396897993034209801929950606565714260278367377830209837135331181218082619455762666764549875449196418398841614865341526715151403235213502358851080285994526097503071014059233244883279123955235243977740815084262049389088713424955579803462877942093968546097956762333725432236406001838616369819684003862992419"),
+ mp_float("-0.7566521966358354309951093880175904595961117293429649925035725302909818579817906207321292211570710827880191877879999303605651415336764708947953554392170782512559588243742231488130076898716985771987302881464753061056309847520640566277714873772103739495076986709669815846805764241489433274054604832770486905571732368583068561729787356544754173018704553303862640097086917153589464723040964231442327725739"),
+ mp_float("-0.89592822979483709059243413613768383910182989046075476634617095657797990928508436396136302337758704430356065256820357837873075721305029630953922861317062956315025129501726888033240428998214338302878323599895725515251065134297830575602290889130735518399074878206099064423045326729243958866358871543482110235173182896730253794606214425305515937065566938780643012662976806400899752708380354702107584200173"),
+ mp_float("0.06234178205498326768449331827227332778878332201276384069140804289468809818009465781317127499109411839409445261411097713389998386056235706454635141010244151932394411847811136494628546693592312682393427375069804704908617054121292472216996067137584186214292728977551151133236612796923969229055426308128461924845361007211592745940106076843829115607148914933190080636946774340167862449354032670081682503677"),
+ mp_float("0.94424074758905426693013670501578752072879728684274664557376317555913249162898450233304331602359948789616904949986891686512171337619053651010052765459159420933905715970952322156715741540214635674374384487833082591105216552403945633258288248064096802773248182125224091036161363816821787326423255076418870584794499423986465255713593740475609695103672895656428014974438779094737722426473065402390479127002"),
+ mp_float("0.66940900234972085772698395256659605212272643739109209667125733824405981903658617201709239065102665405063166964631091092744127095503906134074823656023393611554152837997449326176648259796105677009519668003831584281955537599169598905666609420488437109555473016150415050976685545370751598833602947303804286613228920011048601435648630323226945291269501824614939897919341523226599107705055297349402859236896"),
+ mp_float("-0.42547414721971330565409790138583216442479880361609527886964392881677619848933007107332651801952059053556471752375648666462158176314752197637071456256008899487321608724189395189615041157311878404609283475043414911337534183547148088572894035977423720231858134885165786681305346317203268564898788667422942217715710500639870156821380173286044798492696421543055302879445405671926952506373313300693015863574"),
+ mp_float("-0.99913533725625827895885420059533174260228060155728399323156205571706305217929202105237251086305720615246638608665744238167422868148494071388447512869369652666016804258416975268792629805702694345570129997561583877702300615841988105832696053353859384414627875276769517809636231032799628078938353066535288163274118038591394188369361821148103018841138634739652369087495081203873309267574158616396567307492"),
+ mp_float("-0.34881786319235757353608331390774426958801870286240250260169998305471883501204837208323576855595361379043170036069553791773607809536655382734659088580969476301635137094982435633208997311383294130223650445792658125459022909462690696664526317408366804098986643756477511847342019476173582109336405217301916061499808856137725615883817070458120962726145756438119220448588723418633370427189844667611481792962"),
+ mp_float("0.72881471652779599579578058763983370510799582516797066846624634893882199724038302182668125377701493863656762620352413750563017197413808000383697483717264271873855767687937510341726345841626061553517042595268476874385774311053499675017743616990623307920507987935959383718695693618200297497313502037997098069759583079411517535532519668785928165917878363955532156662323627880875149433884315003009524969368"),
+ mp_float("0.91362164005394510404798528088309623890018900746219043351480570272112701909791508825990618473644291633475042035900507995909672613140877257670920948316716218048879267235797825939302972470200910320624112626429381475376664864431458828213242682906890618620939480878412280722400697167591741919704297000951832259295785803906002953167528593565353099927772534139636590356175767293503013121188135804719329377757"),
+ mp_float("-0.020792579731020884570917489924829815990901072176716833800451630402659488568602453092320962870467062725056963726749091346237812411927788553678105022434525207164566719010754898510917339890499700846699846272929873718752144808990322962955858259663820680120429324521028803111432757858749225053719910422285494416920886558156485737807758736556364535329791051459890234311397811046030022550124420890079918499806"),
+ mp_float("-0.92973510112499140703211303301543817758564572287706026278579630272201180630168028836976329577763576080557925500836630218023453183589136530080853328463253256043937995662714702310301104590063206629677773404210676707719408386980510414385968423854465563338165624928483173590672543381355453313463456551085355191753472704341195875901211063845473814165083882940066653120643707041759352014177322989513249712945"),
+ mp_float("-0.69971687855481202313282264003416633874007708241691504684133936897916129633508695580324089944109853489892619325255884869329787559760565315713290477914000125094981765362135662354044758619666857636031878131847413243331348066629478769360995267702914881219005969303814156065237352978323936029385435868138673545623501852266665885946448589623038753247551331280396083996799682701685286072955536720942219340784"),
+ mp_float("0.38748104563009787102820133164016447769400048035334289735708379460553950678502357006276775381947203793501041447662719507628277154284594473586657342957139018292691624326995856690727098436205171520067762188653923456293311998678147550312423215288396830773761466919125058572139335774599032387616617354102353665454197825146894321951594670500888745959955736169293525665535786830770045479189693672271780123876"),
+ mp_float("1."),
+ mp_float("0.38748104563009787102820133164016447769400048035334289735708379460553950678502357006276775381947203793501041447662719507628277154284594473586657342957139018292691624326995856690727098436205171520067762188653923456293311998678147550312423215288396830773761466919125058572139335774599032387616617354102353665454197825146894321951594670500888745959955736169293525665535786830770045479189693672271780123876"),
+ mp_float("-0.69971687855481202313282264003416633874007708241691504684133936897916129633508695580324089944109853489892619325255884869329787559760565315713290477914000125094981765362135662354044758619666857636031878131847413243331348066629478769360995267702914881219005969303814156065237352978323936029385435868138673545623501852266665885946448589623038753247551331280396083996799682701685286072955536720942219340784"),
+ mp_float("-0.92973510112499140703211303301543817758564572287706026278579630272201180630168028836976329577763576080557925500836630218023453183589136530080853328463253256043937995662714702310301104590063206629677773404210676707719408386980510414385968423854465563338165624928483173590672543381355453313463456551085355191753472704341195875901211063845473814165083882940066653120643707041759352014177322989513249712945"),
+ mp_float("-0.020792579731020884570917489924829815990901072176716833800451630402659488568602453092320962870467062725056963726749091346237812411927788553678105022434525207164566719010754898510917339890499700846699846272929873718752144808990322962955858259663820680120429324521028803111432757858749225053719910422285494416920886558156485737807758736556364535329791051459890234311397811046030022550124420890079918499806"),
+ mp_float("0.91362164005394510404798528088309623890018900746219043351480570272112701909791508825990618473644291633475042035900507995909672613140877257670920948316716218048879267235797825939302972470200910320624112626429381475376664864431458828213242682906890618620939480878412280722400697167591741919704297000951832259295785803906002953167528593565353099927772534139636590356175767293503013121188135804719329377757"),
+ mp_float("0.72881471652779599579578058763983370510799582516797066846624634893882199724038302182668125377701493863656762620352413750563017197413808000383697483717264271873855767687937510341726345841626061553517042595268476874385774311053499675017743616990623307920507987935959383718695693618200297497313502037997098069759583079411517535532519668785928165917878363955532156662323627880875149433884315003009524969368"),
+ mp_float("-0.34881786319235757353608331390774426958801870286240250260169998305471883501204837208323576855595361379043170036069553791773607809536655382734659088580969476301635137094982435633208997311383294130223650445792658125459022909462690696664526317408366804098986643756477511847342019476173582109336405217301916061499808856137725615883817070458120962726145756438119220448588723418633370427189844667611481792962"),
+ mp_float("-0.99913533725625827895885420059533174260228060155728399323156205571706305217929202105237251086305720615246638608665744238167422868148494071388447512869369652666016804258416975268792629805702694345570129997561583877702300615841988105832696053353859384414627875276769517809636231032799628078938353066535288163274118038591394188369361821148103018841138634739652369087495081203873309267574158616396567307492"),
+ mp_float("-0.42547414721971330565409790138583216442479880361609527886964392881677619848933007107332651801952059053556471752375648666462158176314752197637071456256008899487321608724189395189615041157311878404609283475043414911337534183547148088572894035977423720231858134885165786681305346317203268564898788667422942217715710500639870156821380173286044798492696421543055302879445405671926952506373313300693015863574"),
+ mp_float("0.66940900234972085772698395256659605212272643739109209667125733824405981903658617201709239065102665405063166964631091092744127095503906134074823656023393611554152837997449326176648259796105677009519668003831584281955537599169598905666609420488437109555473016150415050976685545370751598833602947303804286613228920011048601435648630323226945291269501824614939897919341523226599107705055297349402859236896"),
+ mp_float("0.94424074758905426693013670501578752072879728684274664557376317555913249162898450233304331602359948789616904949986891686512171337619053651010052765459159420933905715970952322156715741540214635674374384487833082591105216552403945633258288248064096802773248182125224091036161363816821787326423255076418870584794499423986465255713593740475609695103672895656428014974438779094737722426473065402390479127002"),
+ mp_float("0.06234178205498326768449331827227332778878332201276384069140804289468809818009465781317127499109411839409445261411097713389998386056235706454635141010244151932394411847811136494628546693592312682393427375069804704908617054121292472216996067137584186214292728977551151133236612796923969229055426308128461924845361007211592745940106076843829115607148914933190080636946774340167862449354032670081682503677"),
+ mp_float("-0.89592822979483709059243413613768383910182989046075476634617095657797990928508436396136302337758704430356065256820357837873075721305029630953922861317062956315025129501726888033240428998214338302878323599895725515251065134297830575602290889130735518399074878206099064423045326729243958866358871543482110235173182896730253794606214425305515937065566938780643012662976806400899752708380354702107584200173"),
+ mp_float("-0.7566521966358354309951093880175904595961117293429649925035725302909818579817906207321292211570710827880191877879999303605651415336764708947953554392170782512559588243742231488130076898716985771987302881464753061056309847520640566277714873772103739495076986709669815846805764241489433274054604832770486905571732368583068561729787356544754173018704553303862640097086917153589464723040964231442327725739"),
+ mp_float("0.30955146113330921967430965120100702675233631993391895373629969028737150573338643391886330012902676396897993034209801929950606565714260278367377830209837135331181218082619455762666764549875449196418398841614865341526715151403235213502358851080285994526097503071014059233244883279123955235243977740815084262049389088713424955579803462877942093968546097956762333725432236406001838616369819684003862992419"),
+ mp_float("0.99654284430835394575771581445263740011621544801262270069888725717770662527892701805906692059703566000057199727570596201090018843521079740099451243652812902235907552357808897819533630795824169795169152613897271256945242079733003533677278244438976511094582819587451104089603294510862191561695442770960262566234171127458107369852758518111412741106821369313642094603607640773678048962065297712686264798258"),
+ mp_float("0.46273146552227640776400067795797886210480882393837882658186448207173350896006259857463834781474074845803406523589452301046262359240960602310918185550315272791571940053255136983368027733514059954139407173745111843912155780937211468453669133666656749905679399238836226218178194842769436017337481617143672364099652685726181145621234602247890953107767351286824995678514316143524362442186848118247298539021"),
+ mp_float("-0.63794350009531545667254180005058967014091074426028186874676752373058269762260454593384980188290943960936825811511438820242903324463297183316287071729253599410382790069375166807977207973311824805416905280934478728402362367738590911068930970233001798070025927580146476114118351752104439608955539133724726044901319895130615046919558595196176958507074369945336446902427277357686167969430099800901266255694"),
+ mp_float("-0.95711349446199095576893296201081918391006544549413893765144324906139169225887225012143883285387366088163020556116889558963741768284740305902934334806946850023570597825714830361465408561420292855043502515001498149850537134194706047165529988277670109220102766502269805527095332398862295461748072266537481745404509807754999697692445286508080110297609601749711507506133141464812431049826946597146636354781"),
+ mp_float("-0.10378317514630283035697337871092369012118223784464643078377333318832860627512487321975641507120202567300966096393096627338947655380820003149059343389474916418959764384086933825280338584080543377015355584259569741193189206873606119903440824298765910897401393832760642020478309582400187458069600297503471338694965049437285901431495005334289622152511502991672903524064211804721113695218039893263678813343"),
+ mp_float("0.87668546801298894316611272503029374001219866661666136243743380759468378098691643969637456927472038354627520673349367283367324121916949272869177620477269451717775313582362761369952753768494804335788010017359300886827719062432162897060693014847129089532263482838487347672588768501033685070780610322543843882757687187812123549700825256897742477675410408774989851342602781239821815645715958753412070397601"),
+ mp_float("0.78318117881507218281256857540210491140619166393457160009274918850278377150347503811659906527658912201560000425062426213174077300808809107842767634667207644130246300983762258813379724135069575858579484972987736881337517572218810617863132592764984653001013079710817700332509430207238192747837232227382559069149116081099363790759716765670238049577887842168907894878101742345788299501918210802461045488336"),
+ mp_float("-0.26974974384283529407135442904911380728022891803412415907499156005666362362451160206340942887714356745930732393405178421002248875485798257350416225295845333813028470892948983232570745331205136828532696050523659085855991735781739399449780199864580413509362957674310213115088541667662139444692787904342579506007770224294439456180398644394712078670122120840185549712701180444406705582313291159418160268707"),
+ mp_float("-0.99222700442041793244341637163672398376812477454144578739458582830385307501573374493329418110400264981611911650266336290704933803675752414608868505761080497715998786605323101072631863530928986865345605473152114701760347977346551445152252230086602267733482237318264916817026594817822201149718727077242483980112025554281082958570816251191650760457174817529165817706742958860474153596353298087887496342571"),
+ mp_float("-0.49918857050765127165246443100830980202323621859663295606411941969457362189652587284758726475585312743864487499288977743573076640209331558808543037798473406138898808010287039327632227491127621026484760216100025745074711422052006517238053729631745694408780163847537773119573702459176085803816861008338932982744241500509585746534632592189239382341678009278118030810458222678068124752194184440160812863357"),
+ mp_float("0.60537478588662083093550030671881062835301187704838619957445140277346831579708290170559342372438997696786583564116411747796066131598667722839502247472418892060636953054544383896701697716904288008881811071365393348940494848858720140528491631498078923089892805069340832767510592701952499233084373444894649962175905154151059310656485499518493307751028032192138975110743944975104530590939205299365402172399"),
+ mp_float("0.96833108057454018135440242001894400433450486884893467698495154667147695605198346971512860434896301677316979407715828973045999189796179033252360390253384834782428911228350312995059296512013202981214049690155973624217982618572186690629393688668380855531415343035476364485845562203330354168788849023043609092864372997506131587372974589034738683570955059234741409975711088655065542622757333229038929539614"),
+ mp_float("0.14504509334766993343679732543237665601748015028110051986903855469561805431836897592755787294803720321294196670692675860425817019156006795472544060301573514970130737237352276407965078322598196015088783620318485742726789260216376389721616761481364286097504141935673467904417287244647363440435023754573347620436961058676078531225670052103877411944831266665091545142351559495386200504307614132116833066489"),
+ mp_float("-0.85592663170679958406515397649643131309994249316454429005131578645085757570761552251729365670632975735279522675018975575836010210249068470527194075548251441076976420496548792075626757772699437483366302008026562909787676760497709271997930485538120627136230760141137536077186130465523928404376378372203755818590534658221264961808618483334189725855704258977192100851554017405085224133570406300901634686193"),
+ mp_float("-0.80835578582046670310464731711696478601773118159925609840597870029856375850957218864062941877059300809268098041286606529894870899049159003652074961379621476411176224648451902760457011220845176506086174749134555188467902316469475288975403773973857636373892326760376585744094430003550369691223550482756797212146056901318410686997010241891041855811922027651329719928389111111167862044112446757189042088046"),
+ mp_float("0.22948154144509182369415746800698328364988547396475691620681392787566104183462052622980774444304368277802870979261579895452333488316470495027443871923297117956210113575448119970237881958246782891025814249305970662163236166516394039705137544157900789683194435211763787511069822409683486532927557658412323180776903688623277362060713475574739265599518489263464320833102602215450190502358534383949241852484"),
+ mp_float("0.98619528108436834444622772244233500550001863518169392038562682097011946713614830549103565779570404766638555367268020992254689671390965312890416679706192473068433717014095521991774567755994345709131209844512998942709582638991869821050636439257597063856249038092119512871640381123843890013812838185293393263756058350072768448458950380360337889770923256206901689904823829217396801268618019194906772703227"),
+ mp_float("0.53478241597498682890636923119124507573138434225226478301997338705931821657049944750562391125304256759887391004338167587322019260365925435302391176930331161896818003746464685277508807805130884660314731429722219318699505836398912422599554793162364836595300619860913573673921432325981205409702897337053197706014049687225094538593517626884763534008626048851538197945922313231461994435494917556595912129444"),
+ mp_float("-0.57175918163121264025616107589630751551161205724757288681494194505248342228571881008866075970817690438186545379919710148119548771419260784258379302863349865022779589406640338106461807885184578720013258862884778613907350162349826641089246855371608494365729193629734711852175384638728815913727055118781471960575965215193534386589450370243853256890375165575818694142504618584610839931680003465519416417686"),
+ mp_float("-0.97787410706912947200700947809086987929552083940545236541182287303790608208610023257624198390105132776123115664110406549669787968717953162987933260638310530750565076435745587024443942712810356372635589174338356282870564205603334997652974637518927664227105047973535688395040777968082125500061259190313820373870936866720823176265958448162090987423326403872038897090958331050185525989399368410147697601184"),
+ mp_float("-0.18605618137227649584671124815631620875769157093190685600569736108086402885199167407702422320100843062616644714444408614621390574242763877642390939806307957026167805604628333909629405976831956784535026886701013223479257442178936513209253370459988519785036119662696969209506800793520534365946487576733594348627957021254017447520897947123358509837940617442852539597167693389591380189862319487892792923153"),
+ mp_float("0.83368761966098380317914918853127190012005517198095141616372457983351189700156411681039093358761555771758536229588242982647239744187242300801829995961871412772468923394414109025642424234703592018655517051393077978860068845984020869413624371103031896740117407710299198562267502869147100200858539656754317575041431701939759759225389946719106478332366708137354276007919533255169664638235639383569564110075"),
+ mp_float("0.83213248256248718391648282211236200464150938178343837417522635579213705328552770623957486792338755433958256100224720251839082676782210674078979903328623897712870422600430978907177584667709552233768475968506874004560085480509103334782228549116928850495590090914133655583767781543886956699592465303315591578411513564172526903206600594554996369316967222569167592338646796759203865876228192676690576393957"),
+ mp_float("-0.18881649076882036818094718893825891946691295900905829577570255489597056088743777799436529545269699011594065157007321752198038423373390670103253610646983030773571922979273600163598344653044825786274322207994738104766932351285365246017952816761886637102290439956065197679903357501267350062489863581450400525901254917975058272557102311416424438039867176899411547343130655797011597302924818642795986910776"),
+ mp_float("-0.97845810511310366097345864112668906661089075307983663561178996977421991305045684012227818895513901547325249161241097295038349597373820690088476031256136981855438584632935895625291791741570973153071536443895825053372019222244541345181800559983327493395843212471107951435623879503589116197386166395270332969985628390518342285544128149350904869144760786557644083102040293619728857795557725975446387638082"),
+ mp_float("-0.56945144858011886915780505911780725010620323062276283805115420871306570794972703588425077520601752861293077323301792800610549113139402646104081762175534061087117946244152125287975953108704696268847815261917377065241801643783329354778399526877290332215236634903080639679860355847620563822363712579548641527844739938293967364597110377469773489014211951212857101374318452911401420528677259991331090266005"),
+ mp_float("0.53715481965030691887397316962489853948341836449029599646266321884877186476498260019355874856809552188645630606126976563119123530724283602396484950653123503399938294688332329634386257314146589125825636097592371320563696604271190825947497633567945681092924620382686009619110102110209885034787176755762448527267043281608584015012767667899712762371285806841811102653584612955459666723163160014123341963671"),
+ mp_float("0.98572607094681400469823142383450564975177916157871840422129452719452525174019803417354200370408054482797693621385765351670173144053171524005535725427317409189868483686977845578192854125777358818593005952568285102554187813023457756929121023181880198348203083841375515867843145321766318476866476607321938993078073105088587752971311300418067382395754489252201424628686354714684325074264340586434068083735"),
+ mp_float("0.2267455177003321384894005667464998092097833850092894238480831378466683827110057043871346060005709235569800215748516185659827893723700508589640891976972716570403665692613477548038629552153079218542242417184271182264022470709072429310981387965885388758575814101891100826647083444934684812292662215448102626341015149572372707444725994248777658076421636637760492982947444020394182326376291158696727384852"),
+ mp_float("-0.81000689036588888102398287378618104836450574863713892332248232301021899106208419137911694670935600210389307190348154033680700645928539580731142634010602466147128679656911798991740456705453963764056901956423046807435258488930954638670002070774439646670450724500520094586192645160847046520311570082832431061691996839606591067443335185302732221888316818825870721496315105401624866741940813589284275695918"),
+ mp_float("-0.85447015139344948471094821054366626768019606763269341666053644333072070840260166961763856973284893831954425042860099172316086950440334996806598196522184690224018944138578542327045770832471332376269716674841615467614625539483750018876502303839670098606230317226296309325404589665701938190004997832683948796843166639576625281030300467522347494569768687089899397360725496800596493559470637547748735594697"),
+ mp_float("0.14782491492260520954264860310453392894688582499520847868449990765772811594316839506757584243129175527745236732059643506743012867347391315093605558463510078020864683057368198129858823908327097108583620570511151521896111105026538667326749527786043478669088587777236123716686756088055458828079103458534402182273835161066708126746360741813126817035007484464329141515901214558732724557437706092450180726378"),
+ mp_float("0.96902885660223213449832417965462288346382027027907788639786102888188268413128284808786908788351970794814191573322198094839000459295090920127430762740525901384778314480815531039485728089512489227948630012091333107823627672161756650613535363845597750943844039360212709462602480040358932164638277463645635101178868520058961493135889052671922314786442189473233561252419424865659925386520422456933994031412"),
+ mp_float("0.60313571428133694309325113655636540756247392441681227046917143280974317371916820972719995253248954425492897594051861535050840463205496306256237562726891289696301688567930026444972968333329934552460084325207412884738539384203738886072440013640125030433738691853586812704775040754220545555524237855361445575868855139945713834823411715711428213828850093318644478373792898000948569667301322178250159228606"),
+ mp_float("-0.50162154214905535006507934761566421365808962336874567677926739022768858180703782104157334491773507690211622144412751863172893119122904872120863946237533655183100979972269651012785895305465091942482860884709266947899655662267052604131701946158941092922207257375120965677001058006645609151579188243577188192831765423148813895489546306047297711022539509473462404019089733447430114238267379980532396311664"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00102_cos(const bool b_write_output)
+ {
+ return TestCase_case_00102_cos().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00103_exp.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00103_exp.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00103_exp : public TestCaseReal
+ {
+ public:
+ TestCase_case_00103_exp() { }
+ virtual ~TestCase_case_00103_exp() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00103_exp");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::exp(boost::multiprecision::sqrt((boost::multiprecision::pi() * (100 * k)) * (100 * k)));
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("1."),
+ mp_float("9.4774758759621877024211675170518456366884502921505415491512637467314221915954853431757689726613032841249599156149038435317513116309445221664968991934479367736962368912070497862135887440758964938422498610719192114666493107120133053433933470080716434904854804591983841381870449665144170011709399012693158566138960223723364102555657731121349862591746773752353141675856300389702807704522952296232409058995e76"),
+ mp_float("8.9822548979445237099762393639075561506833309483454509238768979587574644012197081949903511127689329087920328909235374785049128571553031890973238724279779592658729244759890277209350767466719784199679796679076195510817453034019585841414276969807276603422838152196159579020392165208404938697706742432405072185394955217454998873094186010667116964062108348411120353180844989880619261736047981860732797930644e153"),
+ mp_float("8.5129104107012425752479825179539835555229492815662784863307311391672159207488925610548399363157976134510028424514441050609545913878842822386467301206413201029623476769026205205033685817764924800488232855250724008684495915251712280130842326233108250199883461186105839257510617980635806077595457588382413118792469142952313318664506759914894358735407111388609445312410411768354469087810933243701518863094e230"),
+ mp_float("8.068090305164838604842549259891290171124821324687615632762765947633748868268417454336601924388552143324691924117594027902831510205350887969459808981202607973311868683121411298688279975061789109893607155133896078457388071886309741456291076644788440713510519219662121306330169119711707661687366546188062768141595534496102806873207221787877336040297603480708540379623897605936160066148763011880191621869e307"),
+ mp_float("7.6465131232284163049316971133689488893295181895713899732751818669118734787914222264428338943260471340902326391726435840091710708695473968075461348860956049684669812738873320847453110965340325334947107583391780473997991426818290712114444252407495208024999404559898062464415917818325137468413597347923471238518514205589873079135934550659222795036544923795379322078022614498712288611880678752777952015152e384"),
+ mp_float("7.2469643660625598538019258566517379445511821515071121090548187005319333633673122846436747032786828698818049511140660969044546275219845755939273078671198074959632409619498154244698031034440156360197935648334627868546857888857494388700626844388689389822377033582839158752694909185487984346545185318857120307481828458998400770240716997943805543726689069264680883497414036698656007667489582007899001829547e461"),
+ mp_float("6.8682929953315519748061086577140456531398698780106027012062193513974157724673145902422782875956445003426789107235281687028397040131570497762100824722937078427155330107861397918035390454699657109557435638021678699307825502445861009401889929556587580492784546438388738373098175168819944606997023434060917962050793068854615280653706806955349426233710968944941108524201897185239272184650924550094159165184e538"),
+ mp_float("6.5094081172294858524266967236074125271501239931616451822606100184551967070123942960365792762875516947968906251960679962384234952003522496976521459488146737312705400397630193900773373659538930712803305054506593414261773420168174852358519629345494258520616169148118576343286498482213483702930624725613384454163670114665649516148482263466492457979074135245336808430956247276655511233636218374141666023272e615"),
+ mp_float("6.1692758397834896445466565257129421525132737513712327204187797947854551109008575685822530235797715953977744784785550340516715598557366923302859690730271083925820960776432604991610505575079802877181530212126674968757212631217826462154883556827312493006938669407561453082743084716913350560632423093917610154998589982600001382392313694022445670347030705319164552170150291848012351937100953890036300105871e692"),
+ mp_float("5.8469162943704389675386957200432422884983339114040809517125791843529698266123366406953460141383587627250027572569096847362363831549584856898467181999391413025165420386358087621054569033111477610047027055333381725754117391518041977019653549862107958916803866421362184761931585219445620128589637254918343555371393128431807715170682738452071618887807426604132681626154765999537959315476068213542621180322e769"),
+ mp_float("5.5414008128666064583537076240692868933072418197965454555020420111392626928160330156411498052861994284073777041588578343924444729815070056061660603933966757946018263861283152733720240516173400789600385493382166372543010812180148374708916504088803663809915284719654025586373106511403877362732360653577732630088912763232117614936657631128626622480330571961457177097015572841013819523862056676302123590835e846"),
+ mp_float("5.251849252298052001849336634596605624932615050587242126709230836437099642948552827155317681622985673796485738044339684860221300378963566030058095552267153924938244515158005499605803770525751057401451830019036344558051163875818942505974131107483204115256933385945743955379487500587051829522367096042702717218823641765552373631712919055254215952997997242218608413439149796128454371169305737207513128807e923"),
+ mp_float("4.9774274592844840922553532523399895707687997944019016434779659339099599495175571066749191102647610895707050400315564576144486939330191822264020831239376081750240177080224855259905972322795436336044718080591030837173922087243357258882189147341298494439853073189728114774501846930002388008365636203966891211742478022416179489779372415512232819505675629656011956781715868427072593283654666589611808073581e1000"),
+ mp_float("4.7173448669720462237188351865970295455238511572394280863649015756105641752582788447957398889951756658763666977964561080316844537247511176975067430907677318411628894592131659609314519705065696036773840172243882880973707032036317239517638220758446197062685014773982890420289865519060688689357420655259758455221621133987780001331686741987234669397265361446155200793231408284664030082289902730362397848561e1077"),
+ mp_float("4.4708522175321623603760234543012160551233097542464376709898701080016161641305114803775155211008103406608130900779618211357983931505100150872036597773168012401952663951774811462178950982356754934520420952750636967336804589186617110996219414674248378823188434472686833719446877071963169624353004701806734777657062069056499506562750389037932975870328903604743080312421901044848764763554120280608069622747e1154"),
+ mp_float("4.2372394036653119830098671356758800877704381245840070556972166015743494177406662087025674510726553612407773483679793826805395046830522912774907458645315666657109679555711516123219895337097780310478450990346378570451984628571968728862717021688464671183102216087482134582783233462788612276436433844843113340117661068800967697425945952185565756591509948286825746552902121339188076398953061591657510445066e1231"),
+ mp_float("4.0158334228914400539745590178164794975437536606699818222034254004811114067672490994749378759633661049912208598371211928081486311385567301424145253923797915452955822482631387668888916584389521441919397036718125302432512547147127924813280974253855801042782701987819292329831163944563371019697555352578545825707188652122309957602602328073674784142564935616256457537057261596233390671696504290741500824325e1308"),
+ mp_float("3.8059964387336281390030628447736918731950638905889859981670562575013579651080893378643261418615597248563793905721216409752849171768325689975193281668646707475626612103018049529414972031338274254587787676115938524624210494070325582923806604462125023016462957768718261849099968552115528194693187665051765401859680442459296615169707213689087378346661673375123735787731940984618937841286808679717684045601e1385"),
+ mp_float("3.6071239432095959207430930181651037268769528665018877695729199475196601891740487861223796136712863819929038760151135883635004445484745979300525669576636222972289788167180919942439736319800034914890005316195880400774555618160525047519091232763877112549157224779431406160698065686340819410841933246641650269061746492965033484737240772388735312991521074123198706383278511433856343165625103198269467277045e1462"),
+ mp_float("3.4186430153374545706606299190728926303831987493039531531525792716113836020659611610272471306951869724846396516471297290706571995664799809535296646907832639466194597092728987006624017784246439039721439649240230770188576832674257817653601012003365792748252816491311084472983584896236685446078049796997495088275235014482876422624572733765422511563417424717976734285541485840205576333292292629705898026712e1539"),
+ mp_float("3.2400106706387356945670320428646200776993383104555861757828941469924476740373605793183477572742076241032829759659681490962141240145141581865097423924646660398220529435794134651336421615115538294144878610322957162996489151882559706577258950380659727211777291935939480320782190247511227788798308670601955093205987496538797636913777784465756466432434857195432171054628069149765836567108796606518876161411e1616"),
+ mp_float("3.0707122968838686808762365976116630656317083977116234783051460697759202764413714416029446981398815846396774097846142086219585484898425128945637835965609311626781498745013601665202311991073858493014761614369526954113562966924343632898676526247434944353812116870344357416617678601015459053297989079589299509864871767253387806087559388044642587983434307487581273247444950986227978405821984630380335522999e1693"),
+ mp_float("2.9102601715737304709407721855237845605215030467786367061140857045899101530013173126178764480141553804302726818509771061464761826116800985901969508353958187973711321043157119127861178260598364278447637770099918746816176840436194047559028684276346030463240065993810821297209992114976352565659256401456824943396501998104720348581392556524094012469848383344186510494751840542956622168648051127134605419049e1770"),
+ mp_float("2.7581920568863607870027917438011158114732314795167030242749419621017647849448607372158405505948973604056597946655107017870542301435918693041804847351891423642078041222831042196395295270728440674479791111077414832394734353235316069842707878669474381815671796103458710433178002392178092638286037259141627485462419803958568427330260813821541600701534519737633707025577914995456788692103051108422425375408e1847"),
+ mp_float("2.6140698680411010453416773970464335103997599275990557963505882402750774237538007727638017837647068698785550358186768104621786728298395959017968646659450681758854495815775051287976515457472752962763600118692278131638936053170621574407487878235430394106909122081064770622396768825200987517033934258510550698555707917420074884651382528854596786633229647900291304513978131386770725311082555006911467864447e1924"),
+ mp_float("2.4774784112439194545961900234630392526964078574399033336208722389562768176981620423625796094049751937688183037372271145640392552111592856112971332411543527668988982189213357069766999642690629174087636518790443153236463649626796203655474042490645756106046469120382604539074502111722789325269571247140534108791736500356851939956197404652273603941323630209215720013693452205022518765760329070842616941046e2001"),
+ mp_float("2.3480241875781374631691380066790792771892564869650825534762414159728147468382334513664061092463982019282596608230957530311211307328143974085747420399537158037724095218243991423228023444859379580883072434670530040478491744472651118485401814194033214517221050352934587398275852096346826910101105240186236412184656659382535831384647508927079089332738325920621748164698159861195345140124576533260099531818e2078"),
+ mp_float("2.2253342593947512482894343051033346460553514685284868064761586762995307539088982139722858486639592417618934607300618026000707839555068686077050219383701773511012374743383996188227317471958686041947524249098686209176989223885354176417280209218097978029585985115430634192732411379059159347252165834440501107479076728537702323035968171445551276815488702844227415317075032577967598705531043548190902240163e2155"),
+ mp_float("2.1090551759365936315455394763107180892546255311406814474807735913225599344136347904154067215849740466098616361782897296314219278981058583564722586146448606213894635847184726562609032113220295749441955633109205157660265084141265451792574855174504712050982199997333601700242161381263233947649564996752502282300661121812212460958677667464307539559824119716390823776389116062024328503582458296404661030724e2232"),
+ mp_float("1.9988519551012253626665391606414160629542055458014061990042537070247177860439177457869686789999953426516957430680890680964654190474258046504015466343786427551666546734635351226235742257396796694133189981279578839780058454761985247524191011603418127443226153000194710273722264940047399226885184129896957721196752811974521300721776877014427959949663663916026486491804231252409445050163051004298903230857e2309"),
+ mp_float("1.8944071184091717327769157288694214491666404740796335627119828665408788464610207014827128441011823347031833774554689560285831180446909490973719926278454999562091766786964617295311248054209296251829365565657637585794799613184943543642149302253502921625588487967178044987717063245419475512579228948005151251220172269440562559442067650076109382783512605616677262078725150593936302571039602645533145833688e2386"),
+ mp_float("1.795419776397396870883759116489769402541419469341753006054859662887039319928613872577712647027984056309170986725948997439220662114370977055801553872855064859465160778064610757538797519726695741862251510315436821959386698539808251950372887792620010350735505164024826909107013909479283953771859666151170337965452357673457347076929518296009792647791360547551255623795595827532506478122285622521680723198e2463"),
+ mp_float("1.7016047618031754086134654579111810617120348758710143771069305417445489516040399750813776000705885685499141312138983442910516360247333185628492894202543743484367527766696250509432364995620305699351629185845681107616307847503246334638085810705895758535310625200703209004562084637734409371699916561240290054446464424202718339701400783109986719573562903857763873129540597357986671423745013710023231651329e2540"),
+ mp_float("1.6126918080411979609715701452747988352165611850041775296367567768434358897691585163763723200113910842065988232661477200356230494761269971912897846125539659247231849257562594838887825972384334125491030803473533770400171029646043156961751894914511918427584075989532586054167207076781379343029365612771751032986978351517889027305091647604463730801257161289620542661422918279902166096709193161081148394122e2617"),
+ mp_float("1.5284247706072296906699846404669034984154826955667742337840818347648901587881658504557814138346370867446936528153779291440974222875392035177334798180491517730019043230270100162475021422595011732593995371616778833697035670363475607783524853038032682034425785665657694174408203262209215616997795015596310706005669556487099297258112136814894205842056567712320200105413268352722573109566950626278687930372e2694"),
+ mp_float("1.4485608891653060012262662362934733670202669964729350005811103752638169264554793857733858200215714810347904907192143845165275567906538821978702789157309454852049290295796799965552485868312721404394594588565776908022341972957647259592625133676589615774282958675900831935353271514314162851566868342929429856058517618472279436082944777949290121160320329701032110206134281440294897812652040954276090507017e2771"),
+ mp_float("1.3728700881926523987377787943233319240491435703774938014541289523016635231812897840380838214278403055812374826352836064462692100642008102237346834361992329341687329019897351648991658099511836287726680508579879561481258870568846143059698287552784017902374151003189575311983375350280503953688511659632273800604956059446835976326153862663879531247057664632472283459374059559730646129713043045914280036191e2848"),
+ mp_float("1.3011343141675944177179012805391104090720749087989014559756238032895645009279901485614947480934542467295834329661576448972096487118616044389963400689819864304760083535444189376011062378910379399366999838002995455575533727570818112349042088887223540611741471886797668792340331999553880029276216552340520965077802458183989229739403020238639120027067012696404307310649637683517662985846874429681252694077e2925"),
+ mp_float("1.233146907390998223699634116604196321303527338063194018635704429203476960154098702362306563055636743760637784824497167438582308977860508068061535923688719183483752799354995864650650838160287374006896203951016533958052684442079538436867039485265319300786722392487965089753674979550869797200905652353584841188368624722200329909417714522575076225901000950862809939580119622301038231535752640718531560503e3002"),
+ mp_float("1.1687120066315563646851448403936869404385185807787910322183199726441909641701499694514314549503826524393274595370652625335780618101237045988306992211747149512692179708353068119406926898226236555424247858876734064642321276408994327805695378682350680381138120637976561992552983027128491109399057399204806734536960608717759169335403208815710861794231703278779715979117164411304050798514670593787652928186e3079"),
+ mp_float("1.1076439848797935780459011708913459693873418501614440121893411516856155264044888921508915048116297777621412439748701311029558308262037962091076982761455032906089728939898793892875302522325111709336468475276025046431105649997619822361542676063571655376547693673809133715806114929084161165591159275087382589295164718676930405790416367425834825705001722880024431488182592089567213871253363437453881724614e3156"),
+ mp_float("1.0497669145852869831822072985740561681644437400018209440593094671016875295492661221847443008152631201881081765740915849038613188076178075126640018128968505236614758225634907922757204588825919348747289334952559508285340900441213069663101271469490908846474748126491486153897933707558113462272399019590825684419149149971088390644736001969102418531930304048460671867178170486969430030044866749941411652221e3233"),
+ mp_float("9.9491406083653158286834756917422021600764727853686312719802358420566982531788421914469238540915616504216223401740335370367923898274605089490332650511788075886198714135795808528419557141582217964579360685402741569208063074313253490838482414281367060197950065504143914001338572155467333984661503453898847902871372714795379743025547542723839248318892138759596907306100969830936341255021634987471789706941e3309"),
+ mp_float("9.42927401023380446961314339401657458785389811652244742482194123119943160577946366372207045050095290781679375214307398843926493195734487944624333413228893399732976728321980799677091653454804065271499274601941255651159823827574140068157063214410760869314717732028275496245648005191215048930881016330693755275282258597115402181603925122663256538590166426964332556533036059527784227962722441198371434037e3386"),
+ mp_float("8.9365716959828116465632229827533775010309573979010794366666818430433566556286774474031057786888009871925254918684981245088107384317036889752292156920146379694165987770273470926340201197874812456173862271880689137375502421735431888891334269040972307308842443051934967463204037988999112477683156448819368015441070611711599827182978835927951062291039453298334013800388495719125476482150507255562932471987e3463"),
+ mp_float("8.4696142662483591182651710363149061965529671414187214114508986504580419620532836415592194561692587545892671733647852519586965260182156246891106882514113059675737245160959965677478337885852837584798963994305283509311992268344932659689149044725278268851178262071743625689593833327527427790889142934871390124497847187559769333723286181059355730422352609633594972880679988434632727829633392971196615348162e3540"),
+ mp_float("8.0270564887074008992929481581600294386090831745459505539216873340458312207422342705431057237884163498424349206319209533661302797554406960728685696384646157216820308811030692783501496335637205341645641865876987704911724172887422201095488046489024482854111274279939733922390803256997868575641148291588995771500671739181954270612789001072297006035844811068998273723866529350060897658557177391069889428138e3617"),
+ mp_float("7.6076234226710136997076519198854581037482480050087592375273646746765716709802670790534160394910843369630438334623933329715061433126854176918572680591852491900095968421410826840041652944667732505393218836407650478812322026068521739096553158504199794298343738853325452463396386800405102937609865179610358195390467842398985491405704400439203254032406556044023342935195219037071893174834506422022272020608e3694"),
+ mp_float("7.2101067461769422102719046864935900042020946053983858930538783546380741670622477730299778929732944630854151363803543748221329578582604770541719603126349873057195532110292846743563791049380608460124840094825775295226949060515234109528775156283010154878061758953690404860422160965162770534213586973008276804840802176466270909812402590547626695704877606695620372290113893333718784454195491413120278571381e3771"),
+ mp_float("6.833361275000419432343650592319686694062674227594429857464606108305032877344799885305123090652406787997867592503236607009836687444829395552541403634550659710745653974928907350064693400553697943529341780925791186120102910163514753761188563821153759960369188532092163964559115206212975793696371318151500479047238166891574507004736959512033943570963451048752039151427991562182278434585245918970979972925e3848"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00103_exp(const bool b_write_output)
+ {
+ return TestCase_case_00103_exp().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00104_log.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00104_log.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00104_log : public TestCaseReal
+ {
+ public:
+ TestCase_case_00104_log() { }
+ virtual ~TestCase_case_00104_log() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00104_log");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::log(boost::multiprecision::tenth() + ((boost::multiprecision::pi() * (100 * k)) * (100 * k)));
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("-2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806"),
+ mp_float("10.355073440919378699690477472036470469315794905372650461119520557405966250191554948388847794306923706128373152780234988638443954821327953543032075228882306893901540038156503265416950932549208174713640840670002321534598356631953006304821201484830902632165858733357596733427094375150860310219829690440417223992885533566388118595248523193740778052893647271700612136670114224280374211626787106078693643289"),
+ mp_float("11.741365414719872359995630593475834957852130639032528348910839621576752378207582766840832626901446337859064321328454096088656817987112409176281442608184950888327275070356290649885618053367245169005379545357345645235094776018156840041023694466493107510640907700621694994008944652785168884717808235919056023540605910031676977750466679901495978099025342154131430098841939052890393197699093697421676686108"),
+ mp_float("12.552295188839391064403078983058501313786961042419051509346988474726615643710688192053158471717695991904853941837387256340073310064341282022830248452137946273986542713154937759697687656073485311102053666502633006429446632794099471395918827441203897096147814416727830805903830888831170139661499031930347916453836121200110772307492771615813954882033814741470466415076136175748560866462690250372712624427"),
+ mp_float("13.12765917900902322346243585913156826327069465639834188399662474212182724479008698347907678965083909936781641397385483495362268256360763444317213586059490467781653518008717313901614800566992248144716374322429987750723867821114358979404591879648104388637035609754399283274014767545593886580941165664957384975221949645055255781874944374229417864853289321901220692566918330756199433299461690335766708584"),
+ mp_float("13.573946210017730027239177097297058651455670148127333215055495986565964988037166389618503523561570994165268599045375753512400565200059790703280760252213714757212213525833556727462647729566258301490115414864748436290794191111843775262434063842232241185107471214859854864335150887423144285468856056851239653315249148749701603523173627966758652109489308872414194066451074827802642589890222384815709071028"),
+ mp_float("13.938589284701101831675037903832444894846690407420628610481163937380536465305805316181768586604603341197033655576371082304146219991693253987043452241307224478718013872459287813264283001906622959681872321576087143975972033651747378310838673897181549722528073649569290162541997276292708638316653324605571398691171391912961431088832002969546541039753774950645926800096854799942237644831671997679785482847"),
+ mp_float("14.246890620897408672445451566098178524763429935510610216690355229695078778430708804421870639655370744549370273426124295240527401708361100923871708589722651960428863955835558634640426846383161118062310502176054546468600516588908689567134867002953229862887953032595529925511011383644740837050282379317993152702704798000312156694502691021267028423979454580574052732764336948692001989411724963233511159783"),
+ mp_float("14.51395339092117324610526432755496036199337959182144260442491096061930765841595850793460014941610881052330595683873016973224744403781498772061971443926277312865243350174522677227134957935047605429941424114476598970997223505479765426888886686275495180653025817201214478249415383537946915840293549927935267010481189550187682053892807264533011114305883442850485847010726074555176479027986850883182954118"),
+ mp_float("14.749519451795537716462643672888549370666057639128212044001868590062813335472483708120056955187220713486931180221186191741860718823347399129280491176499608998857949407351247432513825095161942372289203657231256344909997480732110798704027258108845584594081552703009126596026870753341888414903979390651641367952487019992866762344920748102417282166652161104367292712971759633790964534907923779335451109079"),
+ mp_float("14.960240475644662390024535772058360495972689995692264619118050620984863397335883147741001175137837088856196207660064061839685086120444324885420172384357780225067863432546453923434326358834374021700709153791633034800554630092122384413882780201869241166113270104158152592921242256738530713688528178980864650875690860545577283508963373084295388766350046816560200649161822618828666606722223620871032632611"),
+ mp_float("15.150860829728925816270269964092673433542841210964830162793225770535551518840933315190406262273098573795238063523955485390896001670839635976377071048140363687808579387495186737492639543519534774851635101169579614712607935494886581440494071142193798729857001548284675533558490478467589884332536443679208006567281631805562767928329937083844501800478013385969649342207304490375728237042482944784544838254"),
+ mp_float("15.324883579506436493570233597448883519693351814374549397498489035148221882270042436654099306811313261346823941672888447313628931256927773946985727814886420570056552118783468127543676769633344136209500636666830026098080195180498059221494203817961212365532443050015541947762494604799890429565189588245725920948145579035449699519788465993549043152027361890729572024195346130030456992216388648768722394836"),
+ mp_float("15.484968991583560712862164152602532972505596882865402498065644250737301955125596006515274461619204302558285733320299957799185995441209009451408808376560872924206710117585718578727591708553957297729203457443101522435265312291388453827953066056871634785359329503731609907767433693085428240202927311226115616775436485821324503901092891486358733365244513748729928672060637178808283856096451123227237766837"),
+ mp_float("15.633184933296400322886411216914351313442169047575854720677392808712745585778888867637029115450088924031428350724038141381219620588274493330817678181565157141965018413952386880843987389414299029950277357119925470077396582940505069596480801954154029286187951921181728705116872415271634077604874063371227144842898712603028462623610688275714711124501733417572553751110494225479183571648948845731888607993"),
+ mp_float("15.771170674177108994750017157264759379388540187789301748807798065200414118407271774235601089093934343495795521812477515931432709195503245641975701807702026215615357450518151317247119115864533992757135781852491298348627270712291588580073932563653614422839620206266586292520948221873093053975823776289996754936187304352159896156876771015468496811587576227636095095473566772184717633945339405330371627545"),
+ mp_float("15.900247714739125237305645451417508966665591345786220672552302840334525160137723176098165167253830541655084109190400464710649206788771240950251243759258268060695212680017248831015574286848979270728739089100870231114250075432989803029255029492399141798408644860336753530942734586654467728627658977642688053752033223720047083446705808444218983029996407752310091763448795485193086044050699179075227514085"),
+ mp_float("16.021496956952197922992283502641894579962626483154818954043789565712934054541190510263229676242727892630672492409948339732534439120465067507199758379167701667321617794907607307728874859663168072318224068053703928672394393376652024298292046951118253912008558176064907492479298408285769067404165601995001682495873893492451380569168665052480684672167775365328449822100602627386235888117607629689989295358"),
+ mp_float("16.135813783442291449575041100809653925479234724736343542177079039059170241908162244448865517513646317913575323823536275208044355623776985732503939829900060864487127004364547143183319169525031486430688761890355067541570726092642869160866842639424318480923069734468346837396224375681293323049896437786794370196393419740684520457519876260717581058279975484300455393801884203407282602155622048760192869731"),
+ mp_float("16.243948224975912162101874242338089698927747514172297963501304802721456885123447742525917146000081948350317670558217990170315910524955950657647628011646020228669505156094231753926456488583104510177838897523717492728937537629972877557426292386450904986250829454391823373783104867874948543639133365724217397301073161382317429508046689262594057712721480553629716238053162259132557499326959178271755311819"),
+ mp_float("16.346534812891312020017737390565972522861639520956794183631801030677318559517349930264816297286373068267542772472219372292428845683416042271115312027071601889325060155482892443418582095080544516697369324049179348198348320350032057951783059238791085449471373733253488008998200818236407442435705194113745206455080467406424910471012832247972967952311217374959559350158619575075500673005632848486334892081"),
+ mp_float("16.444115140490340128500589643685615592593325439192231430163649023292793816677629077048173396104592590442505550803932707806677495894373323443853064668488945973357469342360809555842080876327526869093152265593359032627507962690981132695345232937664935403696772586286371082469152648334224734697834132478315542287352614722743239776066558016553826776123247656549922477370984130115175375533899599151832866777"),
+ mp_float("16.537155171118865136534989063582757364253199496897225305411818162632163606557745471767961160436879104964882723479325928591604518246962419687548390063992529356693298596378658322800277364077966826234091623459656551097008920549618056923279473982070326894236928331513682937597704431571923632859325944958271156630648510192786810276479282782233678225160061893949554276261365074478039201200141096034185340788"),
+ mp_float("16.626058695701082390621404187251773798561764113151150041596109882112467488919141098521165822165293765039118029510544981683905860141438867442019067534265891760023149100317968826679154566584457042877767867250357368225093921585968539417839705388349710086788853906351301543791493808667435475597486845630653110450254081800953162013336880338884388603160347478448669890791767227275369657780841518987171046251"),
+ mp_float("16.711177924047687436041681081297469757517395732698719962499711839818824068470368594816509809165130772248099176990649818696451892735033114399817499272685517472929769530848678764490613732856699010061350335113220658748043901782349324603111802594973838523650919828685995473213566914734286172266839140529583990377667556754261878256224596588519392559788652514828861263680954096492024398529162625680677258884"),
+ mp_float("16.792821912654942574589969785414406627855177803111176492774370259331640542125643510644899208865670120639893723574191986313708664152776559897034386961403215067476041927571306948209653637016541256814370701598681758297129259567548154765775910932763810160923332344469835976310776610418278334876476195529920021337399751846302536974621623453741347064741080510495703994896565552519309503521053051550623483165"),
+ mp_float("16.871263338577273117049933407315211807184894736082799946337588399915643695388836578819581481279897851015095335198849942961931601540668917787952832251688896660707943869197097893837964754891796695592066084995854170120209827918603483811654385230282025426754327077293929504883381435192439219366582495078959939830875435944938000044089717015334115741229281828493468876793032191535756728196375330663180727281"),
+ mp_float("16.946743994200631806033476403925371852051109645526740171061759524387799979304956484613870531865187139791227191840781754383935422487885452369507952721547705027535773654885832127821314459521240798742974634464887793874048016231828535132695506414037947185201173465247385982934992490469404967587724592554548395276895353595409898385619478502390678687463962622836411208115179925881515699871702165077675857036"),
+ mp_float("17.019479282236065828727803356580529388797042464710975507911282243104151862598751845439937481303609237769338953879291798328663979939210753132559510492288100384177867237190989151135211416672909332732482371326996189543048703303285313799031214641216166381411885795576234361808712082618702464622338883787915216150436372783047860816587095332458688921705641277515576461385290501276378977328383137813013202605"),
+ mp_float("17.089661921583428533920885090473894674921519340994685086552627218992626938319872359613748323826158856027837200411438668460410538403836237956276065714403575420148736981655027235218177614075251822388622713232585428029969533906061654341819894513492491624632974192525592636008127939368987600981961744622054023981036109865947530952316809705151315101400446930619393266624895135955182323721805890693892489067"),
+ mp_float("17.157465024686670167940702199808038440453826682770881229464136716214305217066325160993039686330328188786987064692354236198505670650108871009195717920051441546822338399371747349503874711833721760676087218038457960626001087951737722106836691584985009357268276351001658789309901363541541142239028890280836555429745898638761562947010206765922958485242984359891337645169887782296197402533921841201821435322"),
+ mp_float("17.223044670108153088406971612680579462250390145455205711423224535559905829397735171751863831903325186673310251936245608147861310604382786127429364616442074955520795624793164764110780962566943990430036624945190166480864873260501647262851147587875798742974124100786387378932173276365815649310057053480347330487890156980245097594505867694166591312545929965230291418670445516669557156689966248314016354044"),
+ mp_float("17.286542066533530981819924644041556546839394128235306235416269038138274222049809140847092268150839206354707638710275634022335650694777681817694798501418812448888688173373947001904190184008892957674606496333161081431327984331509197841574297574788702287443502123119313877415278877304866456565176360773848651195816021879148876985173267277031263646152871873014441183590471141901167533828621963866651938359"),
+ mp_float("17.348085383681499172852340212837946913681349503319833895379599364916346996678774115472356552172467728498192423708290186696353892633802275272186862935888864564436104200250553583802585096479988444811879111645109656880728153108808638274341978968354895482288870990505393394330150686285205409461910256828313237800771316014620729111128197408712519655232673726993167731090657784157432284844410962540306871812"),
+ mp_float("17.407791309811451413991402934776587727274692304168979758129844486195147501475844430031581045491342304862802756719012802717759227086944920237646742600183730387935914237410099970497154963215669635477250725760034883360834134873909027143784365748082991457136260982918509631214089379283854791699127985575276751950639814381413022404340898037317031344649130788109442934133748721229332612763230675387867060167"),
+ mp_float("17.465766383402858316731575043043871754932551869660069657366289253587674381952187793692876332186097637634087898052217367730831337525450143144735163993701984235559102178727289467801811444923511321849112339058962832869205150513708620081533545907748750224381419445198858131583714181742840318906599828122743306582674187117835956409356596804579817623463035229848008072471150460106195548408352347746742847561"),
+ mp_float("17.522108137193897711249955720342223562404817078270264273905715197834637314555104238731504974899534359198079882854402652102198388084110484760619705504323190957788898675675472299192322756141627162323541713415099172067523105704142354142286507565791349450889277448545966302507723270185283899864397011417078910276215036241179611950839739662625626455044878609357243901835302874736030320059872773022839076998"),
+ mp_float("17.576906085439158795399613853863097303860835367703382634217979275105020336999327656009595436350031662565840865227976662242781789960872250051998481804897622287887086985238091438506085053631982050247194140738539987379268409303934286420729479452837709138518786355198810012076646196653084861659638299340083440855659993917810136693887499673110592919880225890667600561450738971059427382635508450091570097859"),
+ mp_float("17.630242579482716539323837128846626753956194314343736063283695118187974605321998609676585457221722093540967455603842712855190915316171267768551204188316976169082878976713161041600921069589708836776259260899700342542761959107817464710887483018031112156977258240064220687983570300417350906046032596793701224117336432612122346984445322343505811317200044404325245524587348610225714892960184376194438742903"),
+ mp_float("17.682193552177642930469311075041540632454794315173833851548924954045201903733019976720709429894183669091622069055829864963447674638381460850277690319942206492046322144914184638283615681017449686491773099947404077379395563267125512703092895031616346899622091168324459335139948282486097513426616067084251033517363717148785943762510534333490466778398817865864252996839848563898275763467374270388303474531"),
+ mp_float("17.732829168042892302590066897013224260526349617442757064898532827287653373154374250085440081248759495538523122114463120786358068331952209807684385821625688206899889794184992102701935895298679767555036775735985597715341448247873700759325978422207409167388561946150223833135803435044691082980471455256218231653367433009869225710546713847446382266908465706428817510556416763430212167661925983678317689559"),
+ mp_float("17.782214393127773091907390576928321922818609345162469668288248606737448584265787291899115365824350981071781548351963523796289812496283393676088371363622146243894946956855177324929267339605228930435844698103907214217720043808120931206339233299438914243909015437719067832873971853535761149326746352476616918607787268605165583917095714007024394600276277913067861955743579281638075879563801550521361400101"),
+ mp_float("17.830409496196797333256263738087407756305793204876426547866274663003566432384680240879632999625725708300091127739268764655234592101254713785942646078437589939733647676861210608435791914827456291767449764007558390614584486670558546409061408823289149666666818024559557140308187730981247373784664587280435856629009596287509432264978977660915985852234235063815941899607957940727152099219426925372856581083"),
+ mp_float("17.877470490934232288852811743259662703350866532641876235327240424382634438025700311951299570329496669487738366928514133455422447732866797861412283887178678146519925852345567722230587799483201967913067391020608007825990349366451164476805546339769760220805534987675878347990806759564468339408725207557557011408435539499579334714364702076041798486860978860009676392441269681660376828431489832998763783258"),
+ mp_float("17.923449527306267869903426070004616586122783729793624019886904269965872168854615384174781325332961537402467089754136043237824345234828497017675462013908498436584882632257634259557543282397560432131425953734774375224901224027834174376390115551172850840545446370919691863863162138436779349056977625063368614038926314141157758995633570593909444840439875814859101692914284555504462737973961801589348562421"),
+ mp_float("17.968395238938123096275003449517382823058653367901994410453731720353712579214128295617333869516953666517153266184450063833611730223713367177888956257642697863674682557764474491249664869634869467450632518845976225157445436929203774807794710993549169067538180609230496568688211520386012533845072853251411123534511690847284034061828924979836346301147669327210040586682352268581578885354613616677879192008"),
+ mp_float("18.012353052308072938755867264876761138384940766536728123219303502872235608220456049765985905816906980541771912193578395286636524639567005562096644259687421270993689984646487799760867557580378976263785987858028882916593402367582926712749625025395229096162602944095765767003293442756802839571379406129666952518296572179431801499117577022831811590456125422748646995266409456422225586206021840322692382857"),
+ mp_float("18.055365462686668331727160748231009519565746647193730385530909331597852334952578425145279427250887034166658709337134491235522678908221793937220809954557808901763389178392831492051282059480629151432246720826269576988663211852119754955967569929315382922357289706041278636253185833298598511399638105081736687620508948263244525471222947804257016135464845038301780535378180021273347494295813215232102999649"),
+ mp_float("18.097472281022918092839876166164329437973263728374666387409900363304423095913608188979786368122872685324785740303523457754035383735336598870745063200445496969465305638435393742921093080855121166597064087151732410717510776813994536867846471600876935467557239720329955864393503091522335217308468551898804050931884864074974187930869095426636541733964836470414482229854405996155347764481217202728996408614"),
+ mp_float("18.138710855372574931023279730094645378686287349356676919424498204049762635832652703081045863264164065707461503608812437952726945167389204858679677978907656542126675434222486013764292798698974541262372833651362936600851261171024940667498778746253799866490414715539561648775214507198558445051277115507846030240001071535504590488750762226492938922487331198045407471864288427126708589240674067562104543957"),
+ mp_float("18.179116269955114571377487963612019905652085216126618591531831326851631273535837433851652060806307371522002942828348086254592323263632131183438294055667010855067061587674644272103122258118876651912890486407250279668447142712674562099014392095571206458285314302909409592642841502932705416119595372330139185232535836986175505626716905102551635720868328845059106716603941432470493828723765413424721976223"),
+ mp_float("18.218721524498032554193215680552580137491683034589488437319060302272592206508827557611431375182704552154497537575444766904464774327453349109721410510507102426285778233008253433639863695380913463970388673098705619991229471182831382051550803100625573309055088036785775202381313835883262855970305798706681563291905495590616431781211404743717763365778127660253455212146746026811363929209719531660648504082"),
+ mp_float("18.25755769616561915104320634671335949819923250838247367135480870103002754055972575277617781066800125225275977232426410882766773084485826986957597205108505829168630501177398318211279559799848433615486396320080576991739828304477785924273653352846964138446264644904849824507615174857436913763769835408524950658917536946876135419383532210821743200063786350760207420579200676223678007228393958258720083932"),
+ mp_float("18.295654086063005239961930900603578763176327716162022442528659338478895027684612801134718048445578078864512023650622689532231640803798279071247213212940626166721703242773412064293396910008891332614727995930235839898502680907757808722725076622433926254807390507349193089487065273859422711581690536923283818694448490391002663699373577479984089586448960986922914070154319198856799480586814831572660049059"),
+ mp_float("18.333038352045729366070360053860247416881993539906325936417001019639836810235521744851872438194534698737793818113182566661284551265375926400252096198917463166081789346386579278436021220544269108158036360716265068681920333271695665204550361645092770414267870574761534021576748772414710332296686656677922105572480136623006540318287771752403257225484193416375374630295739694584359181669584822144217946089"),
+ mp_float("18.369736629342788833545154829965612197972030184654204521583836723612431388284128470120361520079152081604731214550025504583810749093225662462708297813392905679444268263153178673045591535099590243771860299493196201337328463166245762316637806913270164277457975112426005180292583426915918675383435395598215385153247994877265654873384456838948090969392401887506081626510459117637684719849016393221041720966"),
+ mp_float("18.405773640310900146133080088261946202976690317466294344672811637024889157611521518848738302063682147953709444704912322724498748005402509152494514057803322060491136048741666988817114427555111210963923209356023892097003244960804568051496345885676927757469123572277620624446804627512970828422692616021227425852662243212443997074981005547833762050079432581680067106949297497692327125068990077901522226957"),
+ mp_float("18.441172794474399698182030074721740031645602552534420544604120821167467838337449892992771747357276011553142091110875268371883702350672621604391781630952792517951394285585851496086739721764180588422789463043949353454011941863375479066641639870318143091000764755109263681792932398864353035859720611512874738125344871434992639512151401272538083058455878170262156351968871089395179837425273523581266914745"),
+ mp_float("18.47595627986464597709414934346663732189241252367556916529377819718435871713823800089497791390570676646849082185155969226893554048129639509679051447135722658187695404706235925157146425104283059827944524324932672824661552843990966903508121362067629390223781365207266998003720499319458536728358620338853555386727837290179454339519141841532839938596761951045619471589862830891354308681626977577420483375"),
+ mp_float("18.510145146551442627414905806735913567003712650812295077443330836708330498077617580007887630002806998527489958357928811323358164284670780912045286972377274734553167811143903532773133805470585887337986897779623231393980154689146471547983633489101760043708991315746940120025902341173853793429617026275691215584867628750464940410772709161351434979639911956946479201132978330304672548030931942250342827294"),
+ mp_float("18.54375938315397840777373858913955248239941847920328667581513228848814216209238117867823746808674105485439472281080229047484288277191323337476914908731578203036561093352990739771860442165984753982600021729206737097284114048195126812337180690412756158211962923840645830361425158816448002373708570542607328640280411811505735178290827333249222248570577590327817428193141575383830773736064963674654660788"),
+ mp_float("18.576817987027647186937851258336640937668818840595786321214115700990580993937301728456982569596955182509352640277092493549853424411966677818012248002654715239100874590037738307469713048325570874520232570867464224788639656453937494219294174471955373301736672685268384577575584576576899158917424074434177408506824723823546414342198182263466224674661649356568188397290822447447185825387180657594093708751"),
+ mp_float("18.609339028743835443520046961477709286939310853034399826433866146117641838882532805452792636721283076369348347017617290496488517658040508081002292362699460963188796636919359563770588812590411785597112719721757265655201721601867128800954165396591923271771796713301912904158675092529178443570927414653982088273331584295588174225100793199329706639345162173054259175639620324704962515101988919574683797276"),
+ mp_float("18.641339711410638424722499047013449967887089663871032284600678326435618587023360889502435665997102476809993062067289899429492640057255987173558009597289702007868879986681400023832856533473923548707096670227832737339287908558274044368146372966754230837592655179154123960009424338853507410779228164259856997555111697864450713171508666161000757176178710802248263025585993364498172063037657704404452535503"),
+ mp_float("18.672836425322050368486113163967894536152542145032787472779137579977190277914128508177973702344749215422866489255932015284354044054928123475206880037062819389112504714106095639732288437854189846017324055713142277768438434138800721340366655917386856186887417022606078557020556496094324427190459240576788558291551699271849591355480496655647717244614207638067307680084952591605729876523430439516165337322"),
+ mp_float("18.703844798370253311556748128890196309240890383998201893987314003630502067675284072677315790931434159739316058047067634433988116165753705089479010402482501330164866808933095532965233351834719435836698735379881853925522288987702030512098787246242665060494288818182785084700362957305908534097737840396555283267034806128689898134337131513408714563437722088348519474128730338455257510535561818243515295123"),
+ mp_float("18.734379742609172948695846511449581634565683544125106511957075355113091757584835040550323433523983103087395353257534872811737536865777209110758107808331702363999663358869296693765232701087487872606287651215678117982769333263424530048349886338191672000649776344735688777038908317935895545479771750928675097454702913124841960320021274672197296187088995346243239131294305233657221950357770047779041168948"),
+ mp_float("18.764455497316603659697964676682244441947566581055018250974850982088974686459881812049067093753928158863642280317022246479491132048354932411165733919156970301233277913734990931824860100667882748928084034147822613522025142522120240087012670818451468498896073922908905983528384054249374818979283244638542138214163225714979901542761366770616662189716515808719831023436094002277345660650710470976214503432"),
+ mp_float("18.794085668866182740204823781307373749785233327862921970091261536522099678420128101122831261188800902247301052497120590553831148856384993334702795779266689462427228385943774192181671843132138022659399715350825905060669445319905454600530058604054055511420322690455781203696250448217551628254838303648547201462249630753150471851402187751539728462449395082445265630322991793425964521071134426892761087686"),
+ mp_float("18.82328326768867946516209716586995768024335839807194833176766112965627616145648993732694510000805245875257813926012495009414082293067923695618654400188454857448056930551075037023425200611189368317293241290052197494133870263300149851324237139757643613913686228545143709137199633423670636305032456696459165988858650794045361585281861601603030153235699981659298052458840307661288883784791255308752353561"),
+ mp_float("18.852060742573912900871064645288864648159675216435305629278797553184221367993840166607573470069267053513735624040087819326415506386854437946403720812228284865900153407303755694944652909440890918000505344963394853809579466102995490946923404655914747241389209313457700354163158136320973199396402856713949800424774426208733366034958384913000571799639761622099679737940788622933241370717844146251711932128"),
+ mp_float("18.880430012539655701065719740012642650514689061888847292472446317260576484360479108374318422256748212928421929786176000015552730066213309405093412502424231235041703778572229968621812094224953783751727048234887878221529796434400738059144871066371011576734445290684672478932371976691435646196856591582073749970279840730554499319160664075936135140351358832332481792115613668240634181554442075595951874232"),
+ mp_float("18.908402496471717232311467781165733233171140941896760455553034330908971709296619686804159498334964006649119069488646486948675866965781697617293443993292894960273992948681816600748607581132058645469709895004815813032481899164996133398853203604094641445335770040577643758444125343960451089873183667195183097301272165939070294009329717796749663916249651314647264543061678516229808974080105230884519025421"),
+ mp_float("18.935989140719681524355183827184271883117018713616424044375161718824065979531438908152091359516789236304421957752893530968312896089478807820652680723918795442056690234785900341761515097938048245785367391810983836804772037480360220145546699221066508593371664219887047644628393373836620900288539062774663891696384999640649150431067240627749142322666676970274474792135970231868616050929898319819448939034"),
+ mp_float("18.963200444815204167404888798469665227431788358892299847438551435971105813566329353339851076750530262901184430318825907802984559086828099838800823075902608236275943927671387049630228757166718632225359114181378374769186216486342164672374303171089906235756037703334480067642792992542669516647312965086899057259968955796081732571906843773036664256360263051447703790357359429377002031207739864979999279347"),
+ mp_float("18.990046485464088033353325238570094871523592746407402454864447659438418650897352188003827603659585905257296788261872980663015351591030286798753545075312871886708540373690732957230479307213846083134185408782477823043603415914158563765104431367119681516469558190435321626296408405773925785846797696565762444462069369032104851518168840362055319574446706630124442642806832354006488607879109906061011225994"),
+ mp_float("19.016536938949335590921908878972071081608578803308502271146163132935001206102423418117835863551157682291011036313549071538079474102791095379250735204641651869626255407971202952320707788423726057706822543117840676308428340234652209177652929619836857962138281947043694787969753375808877555756525156889419987622193160096718082756877689454214937644538436622120458515758071395625444960838247998451767464267"),
+ mp_float("19.042681102069820040323211057777714109150558076228575985448688497208727928412122242888431932498284067180966108960090928128416538326586163291672353531766027111567123306015724614143020205136706498507055346813817986209642505418179828757157587146552894936306186818734849750397304488535715134906592464324381660408650130874094490704788761416060096501351661608424222204094369103147551037672603814369634649173"),
+ mp_float("19.068487911727958175697030382906549671323284692477975980792892280404995909757933182996822232452584791269433004172376138676679805214029937405307084300414313959313789831600985178255638111559270519906326622715617717964168412002699242926437873012736620082535900009120622005729068876661407020205549742970102634687260159098231611555026386636952356914915597529253373429394903680674472796958663494038067669179"),
+ mp_float("19.093965963269656159901801532857652686731313095114787279282350143184060615248880952958892345276101741792959203039945279273255821413683057071718873479055914318955623580559627285483449590741119271240498698177664589148961791164562328382134513604070535948997556425774535241433839196056647337630745324677877037589790564832932809741759428622931327986353687891898499439791429917840804474313864245639140963876"),
+ mp_float("19.119123527670705331793258647026174473061813878914781070641605073424527485626683566355878191198143709838509389044950724156590593262994411423265514055870555330957166471517671117689943118929441254707396532385048466111853801352620946858612646592880180562600210076019427990165200479741063391057955342589569972650353707736819649707138135073772494722116787681314798945037658461538374603477221825614061123586"),
+ mp_float("19.143968567655614969812922707872905228504499895574401195919290684664632292543319151929670686365568982588326143748358606442800755409560708661213139514248609009613770051771501624762852458893105259920477327438788243371302722213272226600736522283567127277667156871770413468147870394343816746792945999572244176333552811712447483231232773171106511438260175071145300046115843401710072061507331123043607901766"),
+ mp_float("19.168508752827482780609154136923082745746771414212427034681109262302000645968087085215520638009496537393752178754873475983837687377025695010556483691979309217953419255985001727184619660158435191823702770674175581797631578786818852604111682506864006199186805540809913091091561814668081471402749434233431033452441548505582706019452955567976154397574205270457372773342241946969622998755580434262211071558"),
+ mp_float("19.192751473880834042563713562225153433521577940186973776803866639536641104273721851582869330116346851241224039623128541122821371810756925681002641212419779923811384320279466454221232217629041792882431116499214977303106306157966687858071257893713340199820635963233697984370035461108601863346164084264967404520613456100656965925875472210769471793070984755357524002396981276686789870757739219539841324669"),
+ mp_float("19.216703855963329593992083348877341510356872855419154524286060224198192164950344042194924570763041352943159776496534086655621090662648765929073480563926604513272233491262353914647091955902924297702861031248271549558718609763974479507490837350364617085882753391176792131259310397149374028556893735115741447201974608383790314541221313482249282941830681505989160209022143487123591182161037084387107577471"),
+ mp_float("19.240372771246783136336288622974117018573581443774444767997147210768023102387819846722491865244820295698055584478151667485670300985795814036287612086238394489310685917822308982062485897587424683040075624404469719368214374255580054164790522993745386564072906888203344350441788631572056395846260169628655731587443716443908470481602481327796867951175756539602824534024677208143458306390998693538144276002"),
+ mp_float("19.263764850762979509196317705761686108092922892356892210254799469999751475179529646750512177469718303426094538082717842694993912366018532429385996195100165328675330327321101942399890523238950583083919577089467043577581159099371618262297126999910295820866611740582812686480215151994304295620401944519281853807987442610790122820927006439539980791908595120476521299636624843377591628005484740938263373595"),
+ mp_float("19.286886495555294522450851525927489255646333848651043717882790718796769943763203547772413744395083720600670009266257171342692898145198064660758379840502214228374875168690401725272168814130387964227940171355345107459707413634435078254467165459318134413588306046635342334572072865760417877208230914828250259039270224031775041480686581149991980042698893384296012208438178584526032640636530664689171174514"),
+ mp_float("19.309743887193036513569909003754932688390195189494409126081957694707453295769725463252527373922995550848707616892717734716346726926003376949988744940329952938435722400261306789658518736487435455592323288866363564460056999876237001095092480820045715217327131479089102764865100373961878408215166685028270522348153253852064527393390794401890890932406298166622224431486187051653736399833197687524233000392"),
+ mp_float("19.332342997691718269365647851051829244300572144237799985690236148794296859647334840581772744190077146167636205171422529047782401411481872480699008041273574144705390909628455554205882856537701103044535844002047328262877230706418721410147702147287802942241134713881576962004492246225067150128745210304021219616585555420191917418786300056829952680702638022710700076784220324428140020802898115083347702904"),
+ mp_float("19.354689598879088211883278917315015191222443867565368209411861608347893184500809153071123456883339348988675265028178228103174790923741638364554293709103213239495123865898742141584076941660965692453426480770865774436380303703020587851939728834028918714275983773159730132531253761589283704592841895713231304417993106469276962707965968679020792759185611101812841427933459395519877074670185732532077876915"),
+ mp_float("19.376789271243668798743209719830951710660724013826759987563467708214368337563307069810449676142525612003499201086112645501159094078378318648014400550345870757023544381773094826620272453238529286555419097429861755219673554476395943490245768513403194721941361801918811127988057063915654267554707302094460700078255016831241731287084620030531370389406858605301314913503432729894455360413554796057743624785"),
+ mp_float("19.398647412299738536733101983020344760416543000933452586938357216391679714568872063480206587627849607725892049860100424409512218327903976557192129920072602449053963631370720893361294311430877864798057636106390383386608343478253049758287190639090148001663846660919016228401517981946486814580501445191763231914170223651871543954569563229752867364010807484149328122287932691728836607206296504503654291916"),
+ mp_float("19.420269244500125639443026886412358511499173347101740173789245348545649777799992933455717128782979425999232096035698012165274922488616903998818326535687811364645463339885951676665882203155018792792505473796600843314336576346118972683035247786115152970665197263535031125663311669153219106967873840911780618890220192918885584791820817380351857621444438732170662912318105800373867459654881916254806601924"),
+ mp_float("19.441659822725832764853886827062860938003360575287073851586808019473777348197590834815623551815029267586554639358825375063360984210103069003729612683914916394217674289812465439813541316938870999354861402160375582810342455043995730819816948505547453029096197833928688735935982538915244747599958654970407704104602569366784225221531104839626781845870092648147888203880688567605208831444945817857785153427"),
+ mp_float("19.462824041379362514202453738329145059871795167945778128620896576209292571177865023083134487492542931078517939464890630420523665550799939651548618906955780515811541533057671943504991862669514142328738958049297858093270685582461594213632344682911288013670395835728596839923778216755784200501989248577166652556656745561631320914185098036550279972269808563352717494278133064808018424486494613581670904697"),
+ mp_float("19.483766641106643718481178395114340475919752681994355643610181441860832131581914604665304968112958314746911243491535376957183544987386808635080341126118126364286470448001964590403332961518317007864293940732767763315935539659300785943459751426720740528037173390794501709108627539732588206226415399674048608843262175783293190807110169521287571898125826758063922707869247389042070537305271065057452360137"),
+ mp_float("19.504492215170652185153425611551614568097792837031617515988255748353971463776213613651972980845739009653411602074763823583486335276886222365741099356087975815479321535979397651959714956358141934399110351847826398926624666313434326948757230737160647513320407575743953348133831681915668076630219831345596329489041495050445409516995558844346940248424949708046529076568535423815692145534030368195098701895"),
+ mp_float("19.52500521549816144973266072401605164852396136071234571245810367391072812166019661923143396972741343266046339927362413412251126099193801965681827360699083448218860273549526903661234475357554150017778848244185893299525191263899191588797634058235164494448438674653809951435022502560679429105527325418829543863756825670476364629140951247734867887985343458291386040322597855003211338820555010939867273248"),
+ mp_float("19.545309958419535630089123088329455125777373731767323301911891787605488456921558805681207304272616222501167615837357366396904683096528060072684210523189673108467018417135186800678628444987751206147451054525963839562634340820804697604369657105969423354842149829173951943549166420900709500398322624130365195674097282456714104812933002700523506427441210494461469512180706693823193924457440917371176532034"),
+ mp_float("19.565410630120075532420489068555321524954362381908007338302983473268528473151341321768804731192210840056455228388636731122203200610869021021871133154865620432257415783302175345843898977949742849569372169004904667621738405749986270376895267386643049526766451459390277406632576412790748533372863644721976845168460840162066672290292749672668879524315410824251032084115058493720402881895485689493165441193"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00104_log(const bool b_write_output)
+ {
+ return TestCase_case_00104_log().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00105_sqrt.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00105_sqrt.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00105_sqrt : public TestCaseReal
+ {
+ public:
+ TestCase_case_00105_sqrt() { }
+ virtual ~TestCase_case_00105_sqrt() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00105_sqrt");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::sqrt(boost::multiprecision::pi() * k);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("0"),
+ mp_float("1.7724538509055160272981674833411451827975494561223871282138077898529112845910321813749506567385446654162268236242825706662361528657244226025250937096027870684620376986531051228499251730289508262289320953792679628001746390153514797205167001901852340185854469744949126403139217755259062164054193325009063984076137334774751534336679897893658518364087954511651617387600590673934317913328098548462481849021"),
+ mp_float("2.506628274631000502415765284811045253006986740609938316629923576342293654607841974946595838378057266116009972665203879644866323618126736180957855655966147931913435480458123731137327804313019938802647150234465504898425802329413862779668683613033675823844181156078490095600041375150275291651461225843861864920699060926664091188015739697252377702538748247848633488642597506589513095738763427251926880402"),
+ mp_float("3.0699801238394654654386548746677945821221293132529234536092078633942877416889511494096190816646754176075937074244926190270345429405099416216417975877667492169521054332143197658279274969526803993603118331066475990710709664118358901594985707262626428113026982211562266383695623138538180531502756293265592878111781185072888638355377253555018107077854544789544383440520575813285321747411416665951698336554"),
+ mp_float("3.5449077018110320545963349666822903655950989122447742564276155797058225691820643627499013134770893308324536472485651413324723057314488452050501874192055741369240753973062102456998503460579016524578641907585359256003492780307029594410334003803704680371708939489898252806278435510518124328108386650018127968152274669549503068673359795787317036728175909023303234775201181347868635826656197096924963698041"),
+ mp_float("3.9633272976060110133450287651201830315223597563961947927072580621967387180265716572287741878596340312327405647932953536228865576823564748759947646553751734998345995939694212511640273087471173966245241872854466233365203399138209787201764302154653389399844478265349330231414848625437655715466042970013389483751348124861944502103329498799507208968519689075130370544887031405163197191213743249921794351351"),
+ mp_float("4.3416075273496059561780877637447746072326533687072755618572739666222092317177743715006976894086930825786781544103546196765147228208117261527925650444366222660658062788515204204290333579229705891625284205192508929083683171545403426350581368076912529151526695869265253040752801155830676216390514320781159868843187117008896251829228661529973809619044473853320316190549204385101682005396209108634347068051"),
+ mp_float("4.6894720998347514072224884956178300284641581320824106981633983758453256799744598320502835518976559264849872655758786968460389643339445673551269229241587961003379434250163073293499620997874074698516457801989721178630024470871191608919926005831108426583129390228179129584616970283973090935125037470398636450816554023533350528106738423929159432353981681442386558251657700009494385592281294126884159744657"),
+ mp_float("5.0132565492620010048315305696220905060139734812198766332598471526845873092156839498931916767561145322320199453304077592897326472362534723619157113119322958638268709609162474622746556086260398776052943004689310097968516046588277255593373672260673516476883623121569801912000827503005505833029224516877237298413981218533281823760314793945047554050774964956972669772851950131790261914775268545038537608041"),
+ mp_float("5.3173615527165480818945024500234355483926483683671613846414233695587338537730965441248519702156339962486804708728477119987084585971732678075752811288083612053861130959593153685497755190868524786867962861378038884005239170460544391615501005705557020557563409234847379209417653265777186492162579975027191952228412004324254603010039693680975555092263863534954852162801772021802953739984295645387445547062"),
+ mp_float("5.6049912163979286993112824338688008938543237752107832649583533936522833776518879743363843375245853739417146705744562990455542075539831517566644946677745451618612727648966621311978378350382925082779759505143787044093893128068035895930171543641983336476166511254286056162309665822553855728700099730566135263229310482770603702313599779589939672325828370865928422053430400072831171741334547285379289682272"),
+ mp_float("5.8785643816741282350544208778970709719984349210386743751731421071573245581781685524668778017649261234929950374883647452602146761146149358621791392549585140581629668270696079138391334037573962811189827061481326675520008356479940776678802748553233235202402722469819906081593819717286567095640228930465862438974894553668787148856578760128886389981154414656617912505436134549129966633314429654846358015259"),
+ mp_float("6.1399602476789309308773097493355891642442586265058469072184157267885754833779022988192381633293508352151874148489852380540690858810198832432835951755334984339042108664286395316558549939053607987206236662132951981421419328236717803189971414525252856226053964423124532767391246277076361063005512586531185756223562370145777276710754507110036214155709089579088766881041151626570643494822833331903396673108"),
+ mp_float("6.3906732428334428261259345606683697744186991536295350856572952536792334275205803679271798801956028881370696845677932311660934936022581339690170211061979607805733455201951479794666965209869986063436354009130926493418080814534089804341799659379279227089093453978416225274321462755382516029668891204905799575745973313377842838152883214737404214320108342272339141901742347633007754961396966894396055218335"),
+ mp_float("6.6319150439565422209346322551709504425716735849288353552017602534239577421171265746820083094212110964436394134010761548512808504941585541646833262349861354253649509838599508444233906260858397863860491814334791305676062694775880372125594128993954478298062410594772628739424601593453063666245276274089103412069272086098919187261711687627099337914569206834456380008016156884529727902326858088262113926506"),
+ mp_float("6.8646842464782674501407002511771796402482345158456677029870019960868679981055033418327138403618402473871307535713830436350072970119200914833099051433782215491766416984101933198510637348024255711982258019646531673420782186308197017640254188794990907965118086055013577841433086632978528558423768612444566483278359963402485448887021894326224663275495307768561423891711354763179723690983043995316901267288"),
+ mp_float("7.0898154036220641091926699333645807311901978244895485128552311594116451383641287254998026269541786616649072944971302826649446114628976904101003748384111482738481507946124204913997006921158033049157283815170718512006985560614059188820668007607409360743417878979796505612556871021036248656216773300036255936304549339099006137346719591574634073456351818046606469550402362695737271653312394193849927396082"),
+ mp_float("7.3080144438162192957641041416982527245725757227305100451197343989892588739821761414808182301620094920283430190134112374199876901202971502696155007476535432232511740870601931279580970011543206100142223236655886609010356942017275197137478321035055972286226075962614582069104333896744606536872975969818688237536119023271082556121464860312141980207823280639488597150891408230800059272527978401067077953752"),
+ mp_float("7.5198848238930015072472958544331357590209602218298149498897707290268809638235259248397875151341717983480299179956116389345989708543802085428735669678984437957403064413743711934119834129390598164079414507033965146952774069882415883390060508391010274715325434682354702868001241254508258749543836775315855947620971827799922735640472190917571331076162447435459004659277925197685392872162902817557806412061"),
+ mp_float("7.7259472181866523240047447857321216411382058048896371981452984461525717139136608383759839184128073783247516939318227254188667186252920148976230121738172757350696910761931890703374371352358496474852223543486038624030825959222662530865956553207195355499692117829480399491662056117052329890340838528765941430191040119361471649248115254864172681901246179411702783591299133670884083665071028145395467905989"),
+ mp_float("7.9266545952120220266900575302403660630447195127923895854145161243934774360531433144575483757192680624654811295865907072457731153647129497519895293107503469996691991879388425023280546174942347932490483745708932466730406798276419574403528604309306778799688956530698660462829697250875311430932085940026778967502696249723889004206658997599014417937039378150260741089774062810326394382427486499843588702701"),
+ mp_float("8.1224039375904999377505608579034490537406469390188453967144182984533857877290325940614418824321939803516927684051300838316226942055451781105993601208197552034439458355062514914010489070985895267530389722733907460105781807411858969857115513607918067972038272323523153845863300953401051857105777813389049407583848705460609239380620914585791645607237224057116980335542916058764975650602331697086068450513"),
+ mp_float("8.3135454758469596794056637871226727528862453946735918624095026138842010906353046929837281458679232254339472365667835656180555764317605853990925880640952695214325626531682928857436719230013491132666257954067248287299135662202926101799336433744666850543864886828346127739925910374766049639016834422078705626669128492094502607019895812459974265416556762885336564093974655530945349099945854007412027682568"),
+ mp_float("8.5003900517896968140560669406685714433987187446432157683182522591265374787311356353957620692173960349646676819100596310150960821656523158016643597684118372232800409169139557083780710669356964332570202113507421938631568719639718297731072485795933970567341061565566173805049809290766392136448216369341299035269967401098236132846311584581915310373661351551853853444420939639104451552704753437006616697649"),
+ mp_float("8.6832150546992119123561755274895492144653067374145511237145479332444184634355487430013953788173861651573563088207092393530294456416234523055851300888732445321316125577030408408580667158459411783250568410385017858167366343090806852701162736153825058303053391738530506081505602311661352432781028641562319737686374234017792503658457323059947619238088947706640632381098408770203364010792418217268694136103"),
+ mp_float("8.8622692545275801364908374167057259139877472806119356410690389492645564229551609068747532836927233270811341181214128533311807643286221130126254685480139353423101884932655256142496258651447541311446604768963398140008731950767573986025835009509261700929272348724745632015696088776295310820270966625045319920380686673873757671683399489468292591820439772558258086938002953369671589566640492742312409245103"),
+ mp_float("9.0377767727099026972694942617286283519638707297067360423044656369897256312879279757777821069900749950044557425089876204493377875035177412255299561756483293212989442985024715332632332359674718551451382911466759962124284189582809463459910475239066062631635959736116080550697706078586467289296679727180578661286024444872547183386534308509666500269688916003034333222621461052151120014437539157953639737316"),
+ mp_float("9.2099403715183963963159646240033837463663879397587703608276235901828632250668534482288572449940262528227811222734778570811036288215298248649253927633002476508563162996429592974837824908580411980809354993199427972132128992355076704784957121787879284339080946634686799151086869415614541594508268879796778634335343555218665915066131760665054321233563634368633150321561727439855965242234249997855095009663"),
+ mp_float("9.3789441996695028144449769912356600569283162641648213963267967516906513599489196641005671037953118529699745311517573936920779286678891347102538458483175922006758868500326146586999241995748149397032915603979442357260048941742383217839852011662216853166258780456358259169233940567946181870250074940797272901633108047066701056213476847858318864707963362884773116503315400018988771184562588253768319489314"),
+ mp_float("9.5449561001664121805331805088802752995271020253115319957577421074579216968677586712228633689301398077088311039352276247681835887608812952471054772558240075235037900668496782095699528477874731344527911180393401955463971510372217637805322797423365420146482689917834696038570131901274302300283422182521267833006285359393142295438279095927378336768120882908112575029657358394527378572761652822503523073037"),
+ mp_float("9.7081295627784962702001300843202309014239162997075295338190725567740867768360828377797213369985222605738422125153205809614310720383763405854578937000465002140881359434675879559012762493638090947752116234678266669492794549428222971705363614488937056614823310418806119084118208768665243016864006604622872546517235887590814184637647435563763625009597343962143998069332678679995949595625752510047376769469"),
+ mp_float("9.8686053858325691182072112788747533886058057201411380476476456712628079750259677966540684132469441944845346447517503807626845356172247759078119619345186680215080975949071260888809391129195428784313017526586710196446975545314396408422675567403935100395356341294811788475428908479858626488242639666149638195038312462497821769798554375186844561183275752651214811690182399175358793738641461618652775991586"),
+ mp_float("10.026513098524002009663061139244181012027946962439753266519694305369174618431367899786383353512229064464039890660815518579465294472506944723831422623864591727653741921832494924549311217252079755210588600937862019593703209317655451118674734452134703295376724624313960382400165500601101166605844903375447459682796243706656364752062958789009510810154992991394533954570390026358052382955053709007707521608"),
+ mp_float("10.181972184624311615821119525392646566614334777981507304797991128872845411935855045687447106020270650309180533858862699802452616670765042577313665825807440090307057847512919113426271458183092072699581551465382478938467355504032255882264015569014213825098166114446059843169833192986444108942840506996523623715072210566481161204920674164962676130998460012958025127031857745585310129294054842583903606686"),
+ mp_float("10.335093140463368369194743647270744470970869361548018260412395037033434954444302167923137950092164921880086359392676052875666101107812632184449266829146247839347650312553659121907050973521042894776187579282867330188754139851333707822660813843642659379040498993205802303976963038480061139480627996652519324110663045988145350403266422896739974552818525729859458145898707780132492595810710069483709616997"),
+ mp_float("10.485978393819184450541593598855581216998391038666955618731153780797160148941518448029432453424375096293506458743106555413233965573260145046667734677176640468352558693946707494977637683951611790027770744751949296502577300781357035084119423389099318378785160701550868259776821786756050171108775480133925239818616956336860985197400338717780301525607287576543821416712628079932173339130152141281524936833"),
+ mp_float("10.634723105433096163789004900046871096785296736734322769282846739117467707546193088249703940431267992497360941745695423997416917194346535615150562257616722410772226191918630737099551038173704957373592572275607776801047834092108878323100201141111404111512681846969475841883530653155437298432515995005438390445682400864850920602007938736195111018452772706990970432560354404360590747996859129077489109412"),
+ mp_float("10.781415870970860097347086002569754013483313106913200202187513520048043712278512261111348167752270787807827044005214735609272769552792030217118319247865527486947266834539351039872232355517952920779295855320877662434434089302868383880854490418955953060861828833022956166078549446407677882309027526266764943581836604667447009735143063508187804312221807902016203318428080812848859262617506901631056404484"),
+ mp_float("10.926139338138249418394948518774535514239264300129320003780439933689850327924622206216861373106327795446382986541097387057719208036647206296404050944003327874361582341281080807890889880787061319999797409840564399938369028699154596465019693581401702995072256439155901828510666479433850274478604710483110368760249425996181639834293503287006547476391343675449556976797862780800361545757368573258815323922"),
+ mp_float("11.06897075115848051178114346592360054790751225726540302613781325417663994648010534522689154363395052648690999602611864735807868417839407991190718628442039357569977371968270131812518244771818655226966561256042843867368054126790999954427565212628829680859010057375985048181200629605336234528792323216018627284394365650824130654190684379749960413601595348763566769123659605593998962030711530297996631109"),
+ mp_float("11.209982432795857398622564867737601787708647550421566529916706787304566755303775948672768675049170747883429341148912598091108415107966303513328989335549090323722545529793324262395675670076585016555951901028757408818778625613607179186034308728396667295233302250857211232461933164510771145740019946113227052645862096554120740462719955917987934465165674173185684410686080014566234348266909457075857936454"),
+ mp_float("11.349242212464298392610285658298501528539506746683292704338035654856239080485360828460205074304281603179304760097806255228463147327169830108042093067800293527086021375553337641095043483168312926670841786279105684958531871509131651122477280457930695269239120342802270691155290589721502201125592305692096859835744595168676715800717585850328384113754784770216906888175704141625668202687511966586138689496"),
+ mp_float("11.486813807613115307809355167215211082379289672043820620858981542835886683139127150291615174043283349892373335303488265357426140211488562306351746628698313560931134742861605848764176458004039113239912373535418892499572608431667264556464452240410101014511349682690566153385156486931102628456780783577079308426737658296507891772476075136809898570922049321898908119541008410725370277134653232606047953378"),
+ mp_float("11.622757164475265300727734810950869136366250850775675675103670116706112045368165235882961201344951218672069233183763229866495319155659488490374792371109115979803795182321120105254011624290383337645277922708894963432033544765028110116592451203025661365050867782024140543770476276220678204795976767514166142764541148954132005264256215811527038353628432725649155000008199699094629246514703895814051248301"),
+ mp_float("11.757128763348256470108841755794141943996869842077348750346284214314649116356337104933755603529852246985990074976729490520429352229229871724358278509917028116325933654139215827678266807514792562237965412296265335104001671295988155335760549710646647040480544493963981216318763943457313419128045786093172487794978910733757429771315752025777277996230882931323582501087226909825993326662885930969271603052"),
+ mp_float("11.889981892818033040035086295360549094567079269188584378121774186590216154079714971686322563578902093698221694379886060868659673047069424627984293966125520499503798781908263753492081926241352189873572561856339870009561019741462936160529290646396016819953343479604799069424454587631296714639812891004016845125404437458583350630998849639852162690555906722539111163466109421548959157364122974976538305405"),
+ mp_float("12.021366896702325047512148370523129868500863831336365554094968238961326486689613290630609864218702661853221321521170144826739118836804766785357157269477553635675326417440397275525273224383182704417613920902492439425058136861846204626155795604149515361113916782624367244364805538377594330304168849066367137313615505351036054026784342300533235365305626284568959522499820909662710078078441813899168007885"),
+ mp_float("12.151331396958947321546025714556865120149751887789792242805026251328834724212197338975462680992513495564542856143237780070708286761588671182939823052704607214915211775783314118543447776586990218385020548327676785144266827587041679291236998809169833652034346885774675107188363717375427120958548330331469713644263714560973379556087401639283796742412962466979669807549620252885888038363577488350118588327"),
+ mp_float("12.279920495357861861754619498671178328488517253011693814436831453577150966755804597638476326658701670430374829697970476108138171762039766486567190351066996867808421732857279063311709987810721597441247332426590396284283865647343560637994282905050571245210792884624906553478249255415272212601102517306237151244712474029155455342150901422007242831141817915817753376208230325314128698964566666380679334622"),
+ mp_float("12.407176956338612191087172383388016279582846192856709897496654528970378992137225269624654597169812657913587765369977994663653070060070958217675655967219509479234263890571735859949476211202655783602524667654875739601222473107460358043616901331296638130098128821464388482197452428681343514837935327506344788853296134342326074035675928525560962854861568158156132171320413471754022539329668983923737294314"),
+ mp_float("12.53314137315500251207882642405522626503493370304969158314961788171146827303920987473297919189028633058004986332601939822433161809063368090478927827983073965956717740229061865568663902156509969401323575117232752449212901164706931389834341806516837911922090578039245047800020687575137645825730612921930932460349530463332045594007869848626188851269374123924316744321298753294756547869381713625963440201"),
+ mp_float("12.657852319136902268774845164792088421135161808965517945523128473136824363883193009269209734457043707990147945768735771850922659087939277511584226597559704972434156306141869703126860783026363074957510823322218307776858151286948305635221192680870601025159853336795122235254709338570514335130167369800379884747089903762281584689350599843615480943120877060478385159492967618565239777860563171974700594693"),
+ mp_float("12.781346485666885652251869121336739548837398307259070171314590507358466855041160735854359760391205776274139369135586462332186987204516267938034042212395921561146691040390295958933393041973997212687270801826185298683616162906817960868359931875855845417818690795683245054864292551076503205933778240981159915149194662675568567630576642947480842864021668454467828380348469526601550992279393378879211043667"),
+ mp_float("12.903658808270584524837154363200375169745690840774169241078436884878608872508906572537587380452008766699694274634572683484063997575550636271724653470644222116629862120750427362283465850548658876022606030340287534831876059275988640705535030144354363210242251009786303368432070884750488539702567688880560860857563258835290820838217726051097677070824752411130297718422198873037383148768947802251879541624"),
+ mp_float("13.024822582048817868534263291234323821697960106121826685571821899866627695153323114502093068226079247736034463231063859029544168462435178458377695133309866798197418836554561261287100073768911767487585261557752678725104951463621027905174410423073758745458008760779575912225840346749202864917154296234347960652956135102668875548768598458992142885713342155996094857164761315530504601618862732590304120415"),
+ mp_float("13.144869567532369703435413653931342518067740699025339623141355353215828472920177249101100071067765021905490369373865624919713235361781704313989935557374066820403290956743429603874630415006274130921897795214176147246606564445416505741569346364219413607323060794720326291947944072987907139328701736835753824779102737278004452916595869434574114960991640537914399673850290672639531054905749913587677194565"),
+ mp_float("13.263830087913084441869264510341900885143347169857670710403520506847915484234253149364016618842422192887278826802152309702561700988317108329366652469972270850729901967719901688846781252171679572772098362866958261135212538955176074425118825798790895659612482118954525747884920318690612733249055254817820682413854417219783837452342337525419867582913841366891276001603231376905945580465371617652422785301"),
+ mp_float("13.381733118494712177838769415668363136693460917853586922473464683953085883088277884543132016555752708286716738574100724123397234966834133579930312055894987491473163259667229253648684025236934307557806266139484672929088612080633523093147067612558483695818827536275063195935514841373590920865965312578548954529988065057157198978981673627647254889933136041368681534023007231776113961710869320159667705337"),
+ mp_float("13.49860636911114642459358030571634453334465888809545052183878432218118664778145097027262019948683840900856995174297398771305025250783532430038321980650780572061258675589431807213585169525934929261000167914426347007424971894853755903478955153674190248106782011276139620636507795882584271293035478532473175580070278864979183505217356484769621601133034831695071383225633005792357284236385529593207735858"),
+ mp_float("13.614476360176244437992652165124010849348942994806267539289974901165636798182245517885383466885359131822710017177747823047886229391043506105903448210261769449935362361092960808325221972886007181477749623755496282578986043666471300738088582325762070505557101653785908332333215528357372693553823245805882631589902970439410267849152146509417834583229229656869363779274739391530153058374399344402589683807"),
+ mp_float("13.729368492956534900281400502354359280496469031691335405974003992173735996211006683665427680723680494774261507142766087270014594023840182966619810286756443098353283396820386639702127469604851142396451603929306334684156437261639403528050837758998181593023617211002715568286617326595705711684753722488913296655671992680497089777404378865244932655099061553712284778342270952635944738196608799063380253458"),
+ mp_float("13.843307114594308080228438262394272564345963431637029583240249081158469052183791491684039537760243230438634632151602246770081706304258619208947181121555949109643060376549010534247946473402803168501401798859700886609956343474750915165635990740345802222770885528894449519285586683416492340458031775111481023344097481374008848545235590455121882858118351182839281932280042314361125165296526825458755105679"),
+ mp_float("13.956315578352589716302829873401945109198453712022825800945047218826731843806713506320236853413543088508394629854930633075647798955617836866562243675418009347632488093795950654785453808337001941625657577694831670791784231090389461985759139354822791165710146844931160825962396468466501611937704664704804958138610109693667041306322225916233920219127362826337256387581504195730954720065862316612737195428"),
+ mp_float("14.068416299504254221667465486853490085392474396247232094490195127535977039923379496150850655692967779454961796727636090538116893001833702065380768772476388301013830275048921988049886299362222409554937340596916353589007341261357482675977801749332527974938817068453738875385091085191927280537511241119590935244966207060005158432021527178747829706194504432715967475497310002848315677684388238065247923397"),
+ mp_float("14.179630807244128218385339866729161462380395648979097025710462318823290276728257450999605253908357323329814588994260565329889222925795380820200749676822296547696301589224840982799401384231606609831456763034143702401397112122811837764133601521481872148683575795959301122511374204207249731243354660007251187260909867819801227469343918314926814691270363609321293910080472539147454330662478838769985479216"),
+ mp_float("14.289979792964598888046537025443929046349268690964636578475665109896668898160471038052184926128242082008071899344418492114005094607229573377783255206983187149713770987548494300509284453832960172186602825751752512740011206822965310731878663221408732182835419428674418921388428247682017853292902641094633654925031641157363239954497643638130492825559275734408219193654081845577502824457995610506588347991"),
+ mp_float("14.399483155201312771128205693735119100150409368172849193283383259397943499400343097146699820101799211280532901097982868866065091616972220786072353233159181246251291666898296600872888597521470039336674892211278156066944280526085074727923215099315369244314973758177163795161905224659231453738958954759692535888585135313785224088858851114397375930143280080631232806768837383757811100735506790734241356142"),
+ mp_float("14.508160041525463782196810772461415937984681525001596663279698630294663935908428439756213479497787337122567348801168744730052437263877739149127104404701300967284676515346229296805236190281514801622180654355551641687098356104648569744546852559008969056173614451568235018709148732753388030273661774352691760355549492167313040490929262056910773064824444033384277728019069474988708219182391801225541693935"),
+ mp_float("14.61602888763243859152820828339650544914515144546102009023946879797851774796435228296163646032401898405668603802682247483997538024059430053923100149530708644650234817412038625591619400230864122002844464733117732180207138840345503942749566420701119445724521519252291641382086677934892130737459519396373764750722380465421651122429297206242839604156465612789771943017828164616001185450559568021341559075"),
+ mp_float("14.723107453852795047660891850891348521019392896043801015617971628447783989965629640672866077356179147930039264054884436242337612281568551505460575065987584693479589826744627929483999892320528426925051155319040406737336570522942634239674703047310686338476335923532963117635039796288802156148141351666029297701497040980317238592980791463337224993212730297458845130688595199892451695017449401650874288673"),
+ mp_float("14.829412859290334246310862079120981116215413675054277728460153169122428030531791551314608952543420254520474051699795429624440231166188714141339453291154149160307170860994018007001626101791576255751027842245708752403881346737835127200458159845732446774737303087761617897753731524877979274694284246989924515961238107617606034599749358785428854546203389668405763983263427124792153857226338962692134292775"),
+ mp_float("14.934961613773077251874220527850221390835466676976882941215420887391409941569982643090524050005551945256610875794604586439205076677328137831885915476923937188476319884303388028434778637885660437004576928003169458451279164932299027997584048683596586922839913541602495362116464353240069317035849303355081215425573060479512202737316638230608336142262048918028633468554185638406802946342865126132844574834"),
+ mp_float("15.039769647786003014494591708866271518041920443659629899779541458053761927647051849679575030268343596696059835991223277869197941708760417085747133935796887591480612882748742386823966825878119632815882901406793029390554813976483176678012101678202054943065086936470940573600248250901651749908767355063171189524194365559984547128094438183514266215232489487091800931855585039537078574432580563511561282412"),
+ mp_float("15.143852340539209919669694152668075754802130564520529114229055107020254596987080606065177179266558949005546167801108989466486322639120015544612100116126475848822295714630667404278002543054087765126012369520774988292980482378607240819831183403574109472290470399416907492752726605411715253325510753261994252828188462682810154109677323956353529409565238339361711344464981722604499214446881247473198801415"),
+ mp_float("15.247224546311525337004063635408328366688778670871498563977766898883017695500718397562791377885264468934146929755054408018559707733171577715334636002100724249512539221477485126428071589422606639367264374525385748313792960737408667516619228196176535880477098918773859144321945753279661701266364778960943177407574056743200803896101394393730713481442086031230604416350429704383528396355475201590099114842"),
+ mp_float("15.349900619197327327193274373338972910610646566264617268046039316971438708444755747048095408323377088037968537122463095135172714702549708108208987938833746084760527166071598829139637484763401996801559165533237995355354832059179450797492853631313214056513491105781133191847811569269090265751378146632796439055890592536444319177688626777509053538927272394772191720260287906642660873705708332975849168277"),
+ mp_float("15.451894436373304648009489571464243282276411609779274396290596892305143427827321676751967836825614756649503387863645450837733437250584029795246024347634551470139382152386378140674874270471699294970444708697207724806165191844532506173191310641439071099938423565896079898332411223410465978068167705753188286038208023872294329849623050972834536380249235882340556718259826734176816733014205629079093581198"),
+ mp_float("15.553219419991929097391447827110150978276147342755611087132612856263542587794892243906527633373900129242231785993922632274254453378155136866947691413591367716787056987199223748707467009025071039158554274945537967635091771197351723187066327453183887178046363960719814297174200677165073465692725493619076089149843317017809607596662107883796994364174947841232638766495324678472146142625602614264235678696"),
+ mp_float("15.653888557799428533661532247337596699165609502143573736324609963676016536620219650233947025955941767418394468430088744792011863372700125171657152344359691884844467537973207254356056413344833677019845894722403336263492187594473529648820105313588218738589863121077164638145443372177511689907229285786639401142720480840361807890924894118341348723302140201727278896670612158646957973089749997574886849052"),
+ mp_float("15.753914422567924620983011231186756248927500048298297966046797894473026288195693602724718689673345950533773458261077009361447048732755177208182393190558955000510862906901264875534878251422852119708834699869325135138115458649625715331447841946651213506247785763655954618727631238085210998597640478337632316374699558747521521322958958007061686783767533791960628390158818930229551073161600125867700021792"),
+ mp_float("15.85330919042404405338011506048073212608943902558477917082903224878695487210628662891509675143853612493096225917318141449154623072942589950397905862150069399933839837587768500465610923498846958649809674914178649334608135965528391488070572086186135575993779130613973209256593945017506228618641718800535579350053924994477780084133179951980288358740787563005214821795481256206527887648549729996871774054"),
+ mp_float("15.952084658149644245683507350070306645177945105101484153924270108676201561319289632374555910646901988746041412618543135996125375791519803422725843386425083616158339287877946105649326557260557436060388858413411665201571751138163317484650301711667106167269022770454213762825295979733155947648773992508157585668523601297276380903011908104292666527679159060486455648840531606540886121995288693616233664118"),
+ mp_float("16.050252259524242304765819675794450638017457570575983927825323032144525082963948191096147193145311656453873849743947855717510860973988659112083956949050053482287530484973632648820968563125979705559716208799062595086459726936476696439381910220384322311324311842667158228425675297979222265812106596748979173989790155646435957100594433524698909367347330792212795303074381195611252785521380020853492164213"),
+ mp_float("16.147823080773235880405791115635997557864326968336419500556329380232598367900898497414264871456444239647173004031647690209887509450260015358377350981847404025422287378732373648981765201137038640626625054151148020200007297959878815562787393121096595035600314225225829183114125474497018547223659528472930900422571056329570935652356761026639723378971526771480442539666833071774260326796995470405776697508"),
+ mp_float("16.244807875180999875501121715806898107481293878037690793428836596906771575458065188122883764864387960703385536810260167663245388411090356221198720241639510406887891671012502982802097814197179053506077944546781492021156361482371793971423102721583613594407654464704630769172660190680210371421155562677809881516769741092121847876124182917158329121447444811423396067108583211752995130120466339417213690103"),
+ mp_float("16.341217076923383960696369420161248669121212808135654273983491452937095658109553619994922766756319666975188172033084786774938321749356282450853819283481043653079525140374828081598688868309044496356854434283025399835051607515358702243412387084009896448573365043827048092425743953483386894323518311923913690941609208424884900176315736258863356896904842838787088633319141807219561302676306271570497938951"),
+ mp_float("16.437060814169977953327247404361277316133609673377048855107248395882567096603010277067169202635116275806042691595212970108586780272931810640625169517986388546454661584514822804714353912243137592516024763283438958227839402433048048710441109095172462035564435115216917054500940736255985371596025417460999236751644500293733791545234403402763313780467186900924301219121627362814381042265364554244922063244"),
+ mp_float("16.532348921502715844688082576333627653976665425427208876480987568125771090198651469125133728158959771903048097921398391233385160724013876315451069276292964513405939027110844786864417344898464954584607502706435338641340198705784007825954758491636479758251565454590803621730664169376188515867591916106130400067381048724859197544495864321744604824010272768413212368063633927635680949445491291877351894002"),
+ mp_float("16.627090951693919358811327574245345505772490789347183724819005227768402181270609385967456291735846450867894473133567131236111152863521170798185176128190539042865125306336585771487343846002698226533251590813449657459827132440585220359867286748933370108772977365669225547985182074953209927803366884415741125333825698418900521403979162491994853083311352577067312818794931106189069819989170801482405536514"),
+ mp_float("16.721296186883706959605742705233010783899326523984270864686085184270332637146646055028529386107385333643018392715062510774480808240365813021854787737722340862660933836784188253900670608552564136025173808090739064412712504259523027988063714336820233104689334204836546487559659633964043151984340548060532718923362128881432934135325567300871046043987974739750202594174747157312786841203825015000569906569"),
+ mp_float("16.814973649193786097933847301606402681562971325632349794875060180956850132955663923009153012573756121825144011723368897136662622661949455269993484003323635485583818294689986393593513505114877524833927851543136113228167938420410768779051463092595000942849953376285816848692899746766156718610029919169840578968793144831181110694079933876981901697748511259778526616029120021849351522400364185613786904682"),
+ mp_float("16.908132110811980070323724133825443669074486306220411933324368366059977522675356589320971338976776616316134235802112798127138113465084701628640560443298729802233609863856357626793535493930184649436981665533778324622620988007501131586355391858595913504065552289654660238871963950906549509361444433014511210945609775277269846879360970012281095853461600076871591771412527553822562541374853347368516919083"),
+ mp_float("17.00078010357939362811213388133714288679743748928643153663650451825307495746227127079152413843479206992933536382011926203019216433130463160332871953682367444656008183382791141675614213387139286651404042270148438772631374392794365954621449715918679411346821231311323476100996185815327842728964327386825980705399348021964722656926231691638306207473227031037077068888418792782089031054095068740132333953"),
+ mp_float("17.092925928109873230856890966518170609049635890295121605225309418908275818470576879572890960685410581830840991105430126130887790543881945170122581670877506416385845881122034595711744339948691879348516227414909772352427723381307136312192527194398703992339257139025461873121242339773525646882099071218455368070360012094043767404721710936020967834426862977103157516068354293085070758241766981055235066209"),
+ mp_float("17.184577662469350439927855242766012175901435587217348622500720382402437284043691040754973131531272064166131201551424433897942349835349079351126685371244284352588634150544638769966985677717022600144009093735325965072805119643341927076098445506587163233137151789343227901578709257933753169161253949701854384420333694583107005741557086141652266134114205529376278344127778702038153204605578398292401917015"),
+ mp_float("17.275743170440754085190445015394979038018668745865422068491523038650327582540706316060451728873454611950564439169497072829566902102398394981985975990083088007962977970505915486567012863555181572053681584109963952561485141768953808491468086742419682163408958624144213019203883451244657001188829080210013359418255598633772348738641653443346826322446562330527464133013054079541191939171126793437194110759"),
+ mp_float("17.366430109398423824712351054979098428930613474829102247429095866488836926871097486002790757634772330314712617641418478706058891283246904611170260177746489064263225115406081681716133431691882356650113682077003571633473268618161370540232547230765011660610678347706101216301120462332270486556205728312463947537274846803558500731691464611989523847617789541328126476219681754040672802158483643453738827221"),
+ mp_float("17.456645937814341319169222501542608627403113623558293524363238531385820187770170403648403252074964213113377845095534227202560251082915822197277767058606166170134732818652676480521208063952545598229201593834632528912430284433244772566961770292191780850052527418760053662080114781916361358783723872887199722599102508052518044253446686455582486241466233995573362181026486277618737441990128524043149017597"),
+ mp_float("17.546397922417003516910356993677316771048907184269568216409465034396055582254893824626170868646400862812069808656427157514064265326887153266704989591763035523394048363206866117961294630191139571618530051641258534288980616305897039457680785291235730766909268092549430669200289626051927041560228580907033054444893426486648638316110177880766643917771237734940434420498182546126591670171343990763488162814"),
+ mp_float("17.635693145022384705163262633691212915995304763116023125519426321471973674534505657400633405294778370478985112465094235780644028343844807586537417764875542174488900481208823741517400211272188843356948118444398002656002506943982233003640824565969970560720816740945971824478145915185970128692068679139758731692468366100636144656973628038665916994346324396985373751630840364738989989994328896453907404578"),
+ mp_float("17.724538509055160272981674833411451827975494561223871282138077898529112845910321813749506567385446654162268236242825706662361528657244226025250937096027870684620376986531051228499251730289508262289320953792679628001746390153514797205167001901852340185854469744949126403139217755259062164054193325009063984076137334774751534336679897893658518364087954511651617387600590673934317913328098548462481849021"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00105_sqrt(const bool b_write_output)
+ {
+ return TestCase_case_00105_sqrt().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00106_rootn.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00106_rootn.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,158 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00106_rootn : public TestCaseReal
+ {
+ public:
+ TestCase_case_00106_rootn() { }
+ virtual ~TestCase_case_00106_rootn() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00106_rootn");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const boost::int32_t k_plus_one = static_cast<boost::int32_t>(k + 1);
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::rootn(boost::multiprecision::googol() * (k_plus_one * boost::multiprecision::pi()), k_plus_one);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094e100"),
+ mp_float("2.506628274631000502415765284811045253006986740609938316629923576342293654607841974946595838378057266116009972665203879644866323618126736180957855655966147931913435480458123731137327804313019938802647150234465504898425802329413862779668683613033675823844181156078490095600041375150275291651461225843861864920699060926664091188015739697252377702538748247848633488642597506589513095738763427251926880402e50"),
+ mp_float("4.5508275209874842284775026867107515489803492342081977829684698902080228017513070354957837143529346955244673877628418475193461822666300373354925009938578926386129646833064324885263368623493588920074016088207194832230832008311624067861799823589916739537593658935227574156094038386923977596646660079199484641658168721015803572174346354392163211495967011149940050300257342708865045343497074648806315340279e33"),
+ mp_float("1.8827925275534296252520792527491356162295534425206692752800732569771809376656028030887546707796770581588012723651208947108266551682126600032226519658823297525283708941083066444831314757827423013656324677180055374738095719451320476140838883629912657066900048548706365547717234804166461637468280918819100188440444660982280003379855304240766312386189378583749135815221874071570946240763973102963484443812e25"),
+ mp_float("1.7346983899761929606576000169166069874434756875996505754794298798291099203603547306123232408945711099515804665715668231225854942822964850663781865426880125507619535750488161540530710574882400982583306502563888560333905147453106820813509714335388682285386241565258236816810322932804917590791333493337043543417843912874952194578129041707845977721764461775602998354624006198244760428666024161124392454415e20"),
+ mp_float("7.5721089454213705673990174637978319793995335783953830176413091386042460690126351925536073349270363468770326806913146882989849336096193994547156331743187222706532268050636068082995067049936918417793458417602363342846919918687916215490824796727973846389943435685325180397459441775064277600646967878903888948579962581862291369475872849318112367397199269910448211778306707893229102130233430005707983124844e16"),
+ mp_float("3.0023684488114833183663047157474048377252636896929194228273087088165353275930632710019252744170288987023415449336738158690000230236236958840730215904781984898825048522208951917006175638928902153889653130105594172874605369791993075785023966085139217113160412138069213954744563712397732009840014909425745334222704981441575923853721534018968493209111811618054507682876592440028064151670981273820202320496e14"),
+ mp_float("4.7318392511163090620202546053799664576519493271474767200487455311876758729399837892952053228345745017822872702736770605495384272860033477332314477903473862259428589205624585242830634475710926335785631354152156111839724536563041312982055763365615322658103495222446151958188199870588829812768448565406506452941297831361236078835109381098078064262444109262915611391070338142707766329646850799483429949464e12"),
+ mp_float("1.8723064410446853104584579919302409843976751555013157533394259027266026291437204075545481162175999859192508533205144077327302120014752626249798887896882501810154285004900163061917998647677182240749229993602726823260212232503495663563145737555905801481386432627778702730196879534383150299664721695758738766727985163824006913423439092899094784421757080822116529206150254260000885321391849979681961746208e11"),
+ mp_float("1.4116108482799563602032042121845234321815261241653145071243288439165042376842392770616866579526649055213708420519875096039520721410417652097158091426603105392357469757454212766784837187808476453167890168468467502159155208028398495042162818016156209554101973869768073459860821262369296537196084094988394676141189386579686270095654869670707180150525614768493154941323777287066134066979293727562728435376e10"),
+ mp_float("1.7012831324483054038403052516471324240775236002900375249173946857599683358223666005992331260219918779436591567863010568846818083000574807141339104500078296327504994647665104989319265383534768624156088060437286291603315361095013185872819316761033720793034318795077410932031620166684249705771655147879859124952463679366781257556935175901529388011251214814400148246595946176299380239241371235854144946328e9"),
+ mp_float("2.9153738897265643430317253946206581606414478897332968997660398006170152085964051592274027924359656191597475639273995070379526457037625351140310955186226518202593748784803444511715118431874750489058917735236284495028982874551652520945944293286855819543775021965864130035182208565221457212891607251256937476152790908858475544221614843948539738557424178446375110651067916649227619891043605614271271809638e8"),
+ mp_float("6.5499493308290529815311803847113042217089469744992634335647605165898133252027144614691628262612975922689128339746279591021095472844572882079500769030562109593019700535775229925394456598182160830447485729880930644056379764352668431136124829566757030209308142853170029938565193099647284292354005297764076030176289394081238284568316933905765846655707388306913954281102851269614736735133160749335560294341e7"),
+ mp_float("1.8206821580160192663241349901348101095333771060908253853246575523748893431364244849815532595309561954171314890986422263735718602868061211199459957839132315564734818074642027157679934310653203367407004392674612606166949639820891050065220753709387227245515480164472720660553895410548268960476461047738093947844691915563073735477805158900696045317309139705658738985302303979923433211764411716480593788512e7"),
+ mp_float("6.0008956582321505261690684044890042991520479639050288576852775506618981757215586713042454289021576214656548087256194669628582019923215957654211651872231094365781338413582420439306642746135790696024792651927942925682030781053860987063566730392123716874784658190088548454269200785727326785028056486029658603811347070669061406215582991604226341428747731270005320153409762845016016821648535427627128877735e6"),
+ mp_float("2.2715869547678153910516570000268583473132896794888889474898628191270218491060269915977331244118472373464760825923869865068872353685257206821238275703893944865366810453148763892008109966508290205246336165585542081487589881303861038670713520235614010616372767006784680659344927032136243673400803759027854862962651518934330072052235992441700074185727011496186421881184091085471252538491921358799100242392e6"),
+ mp_float("963776.64883235378639997568521549906065664454728199320088273902580517991368732698189468717282352258205938472347054134785451965197671413243882735148447019431968619062202761424073197825357571117612174620982564439933427985266564261243523898297569590240005957873927460766061455876780131741544757423056238015463701905465038362308111130390590308629730022019197482607824419706726658053196808870230659500549166"),
+ mp_float("449689.09324566743954135523310702375696984276471402780193537547368214562825584928846773963206486073977552772109091205125328169925793866942258147715429119259127031955723677580872177900854420079897318742165225969936196655889364908275848185016805409628956042313181205328497272270977290928597490907649845901665118774952793258933129094265125550963348566341222183262932080994452873194826089550595434740507132"),
+ mp_float("227314.16455048302754900891588603351970399307974806259287480905398477318395306309180362151174886530116847724064857043685698551943908056010024384109718002796443303888967487642046082890903513019743243120461882037553638061107334149093106319184598679808543817112378263351591673937886224550298910007563123955074045934037261850992970785521127456017323119358532453083714247381310696337619701040364339572901699"),
+ mp_float("123001.09945097250316063237510747068626728808929641911867530695463311227240310302461634594993770455817431243390315884265588141697186163995898998593026496612491440833508232415989626428483561117404525646784114540569112123740879455568990994716562227178180527860253345757472789748929439441725607099885140875365629577695318293578239753247942419067548364863777838402835856871937465548533224544779099075994334"),
+ mp_float("70557.208294004127436681910647561731179873162789709630769713331035460699515791853965198679721947234098567454413175742160055567870315336000699819830649802877264616531494310267575099863384428865114687442584812927126803499983912702369591858000025470668968835551313564704751185586553002330747806334914330564111236875468520083257222479313120409401725704864202523595988122528074166661709353658896895765268504"),
+ mp_float("42566.846733444744401334168699323336696397776274622647442910695974888296300446206958553349128976649890461134988686616404953036047040479608228112335353962306280498431433694695635032841007437031916536208469190035180583680817233918280663198472488736314669579363956508816205357197529450642951502619839872709024229058388900883110533715845634807792961895499202934564764447012560608373935385987363233214659182"),
+ mp_float("26831.61766741302127355939649607210207903957844615135100490564630541933053515435081408486521386515713666164747978120571193714997098298887349800605165383101813693025790016928332041506554380222470442725914379383820530474716795376234027675674142147824782955632470617216296861425296986284807649849643496913408203223806973459599224342198687090827605650949605856806591091487452731274900678070986915745049075"),
+ mp_float("17574.786036888189398883797431106713047486585487800722852933996609071081714761083264150896265700946865374285447246888623138606838385100771630774395491873680780614590108139638652226526906933354382842731226088063686648819591530069896292309417020906146312350940509153221983355009371237084701563460978025515989742392851933216289293048127029186026468183590291109096749834076131209722170523318882199802586691"),
+ mp_float("11907.034041610506952353558147339299275786226245405003567475206614199939771928642185492456249976159853880740683591636710651742428369693578136294159147200500250405669025505872401685526918651671810759445221257759062669275756193671939794375041659254564659757758423080579817098510061540145850217732162998438595779288915142885668738171728453271019660695555769169770128731104995088141674330334454758025102019"),
+ mp_float("8311.8375566610704474426438444217990377376063761906835739709503611300271065446721530467650841356678900395804571001595868794861989037246572151724644163103379760636674052298902718588764739495897127824317106952174320260827731292052410662962719329924915988382414750258251043120474417858755359736063184198925848623516561125468352246480743011729229215919188095904596100716521430046275009270620419794474692465"),
+ mp_float("5958.4065818079836790095907605714563188490925170148364795536620159561497837308102452521193849930692485274927559821538650613299190758694812454019037070622022295589463076099895294201319253730174129038611595875610662579361204813899169150639775048261788380631340901869126134670995592318190324964844053714475208761030387973394538324979378942330378751190475694417786173126762904664343749175795337625262137844"),
+ mp_float("4373.8928478105200448978410016120795961223427705209833115918266513773791087110322905183141304961124051377484493239369481245647858825620519788374884368452102683285449597543264902207423092657314922411083029154120137746570557723487252653153020684182735712177625204162621300449071033980934694708665978440892866841023709737267344223800751898293717526880214845479743694306296821447462248118470813562599581344"),
+ mp_float("3279.7933297835881346989733197326507333040301163145817997778017967236636054281027418730481478512530530988556520152683630675592816719845661564709154659202798580072768839152868652356108867364610691287703917757792888092025348002289936131056149120863186769837141335059826695982858975279517671460519016281951328561096646848830121885694350119099585197693921046619730837545612847873230474434091323634982402318"),
+ mp_float("2506.9309433102355533861250777464782554176080454413341510116759239125346755988853701397406458359163524171694926919208398509494390782502018504726643648264896172124469282172578008484494558465104400866024611809892285515250513737512045517715459353863145335008985534264415917717928953206202999843326958641436466188134711967901477252185753887247383054616545860883679202047948829889011731708931422467893579128"),
+ mp_float("1949.6290441055105866709921680194525295574793941169639395979944917771535011213847240372391477545673196935642515761244421596613730273047650861220039937895055133412287729376093066710691612932348280529573433555286304473843982485966887290794222962140479748906561195945804057830243972596559565843311256684893299085426771147292691116614471429764016633332437093987784718026434852658731984673348418666614397448"),
+ mp_float("1540.1813858660145533780538270175475781769532861093006605969135945545040661269051403486138643073767167945923821217617962676767849661528500932454490720817716246863055716118338846093876764138806888834212361368098274744260180910160727904649704862670371656267710858401200392022926200096806285475053520225613078154576101492501613599433207929284199154839319835421033642848511913041445593215072996167161230888"),
+ mp_float("1234.1949125801360485297203688885053384095327079812392462281947842436876723448824587090519759200363329053697394310217796938712121928351681543094533945592773617123233199994313188090816110296691315203825796971729285525382543802013440836616902140087402924047815418899394810274317386760757089034420788701491053905269158425383526771780878938401302487493779178735133297614409019340982744477475543166822327878"),
+ mp_float("1001.9407108781162786680390916586899096167451088304928700528983514162778884527022487451813137370776830123140523868699340275686195658254228349670565045194408119721850295262532516794219603619263514678530861697512069215005960784272604358513547192923084249999237420514886629404044919175770347615676148743169223704528038568943054334259248767025072777878386394951938257887448031976208681306554637681222607886"),
+ mp_float("823.12040719471824035438223357544802831636947790949599036324879838852192834097628736380948018384785951737211173391808535000707751893354691055947814495601382737103321548322849189966441066850523876036344001918445441570451107679537923760648865393224576475829600810805495039744573293801192340691704014124427504551841943376208804413053660899657443928811539588064802679173730901696670165871478021246249982679"),
+ mp_float("683.62529137053860217362812966325705206202931369227544086925712364452356230668873442583177947922615560399095118175976981217112497223688312173913332592200612615226548932333716801051378533220083935117205296061506031990468917914820087466561014577348216435376709526315694377576459375392244043799521295233201171413108501111750830354110092867373718709990657226887448220156004074339379484548453705388339737876"),
+ mp_float("573.48625855948618167972104006566236320808293118358959933635193313548347976768597744527443031131305769831747830297118257521920890632858250265097151588015536856530971797598838656988463454967701345266773691850691974448488333767317415895437331660879278607170500451649524478108024040532788152290182269451799182617864084322006510242071805500412651852594876699458156286136516764755279341040023196053382498539"),
+ mp_float("485.5512665389775535325179583696654544236233195615947146989095350297662775788212615853701753640972969758194327110518934864969834846046505194549216118650071679195050509843233684741076341591997151357307572054049441476425630073512588382226073064684893961114471337824380150228912061866412841797866376111653488471132120711681485124034817414395005925475921694052100159086521908265848372054130801721696167361"),
+ mp_float("414.61644645912831983436583353036220562710900727872009303805448521775651133166664777628270222521153934388195029372305883581654535287388941424659861437440925006716257994285755635499704806133196011754124326891552807493438564604060527629542519450046600300678790032430798319953103062819382436634501822245242376056434307336846986969982880733072402849419463768874261139442462597708609227616460692493028602609"),
+ mp_float("356.84551819452174373388650632799534598254097310540421889032785947715579346985301756061547266127003218792409666523528712899312152762735804485986384183447393323937686909323717305416502095804483401633193167400587878206744561875811295781813602337941498831070156511167568410780686887901716544912670745594529936594941329682386018171817525618817722707600807951947353035833035961452351801499171222604224357188"),
+ mp_float("309.37569259117128299164730591922440520832633228065453394380665761409586086131848702529449130799623662134918091682910971269057786042087991470835765608735774095969124477742133666859836891217723817057658701387505931471252606702798960316176295128722666090198566774702281077099820998523726795909990920697816296262166178742901007145547695631610197205826750033597762375666405727165221508625142380864630031549"),
+ mp_float("270.04620304591578387351363575326924183385824052594994616531467367413669534711986542799392667836341616501569567334653404536628074385486269917454466195430002063679106508740246374040700215631174285798702863992616816828983880523291728409160594335870538394522630465953325472854614294651522513030192177804533393093703267184515323004027293042571097328729884839593341202665673045994070988174872896648521555455"),
+ mp_float("237.20872478815743831636346126380753870323053971188802259517837928837111744165437048762385200475423822146593352609859768589207263146460577346605364160731104084321787562831697084307439141121829768193422431879373328881419582424006824381393365599923232958807966290775551120444253668082287938732088863124030529156578122029941838758407290893341166544550323313193971241993411724559751763506681866916517904756"),
+ mp_float("209.59326866837129239939134191144234254221902601886799153507297190917633918612642746483401283796902228396876617548098527709078617920356883947236639300659201429855649606100567709141490013650594251708989476296881997837052169108954901068105335644964368699548546133371662350888123536652848907155626754776475707099778287188876331995544314566706613081970387723290742451787640145149077033529864604398411232436"),
+ mp_float("186.21216652792155025012998723063800994821370545522859791684417200600888561166139181596641775154742431597170443212348565877277782153725674243703750106578235650042353471058944821498843684399735034614882433813017631402682994704996953810691318500940611813050300520197963002213642967735475296627250242331116277846353215807727634281139301380440426480368130780219987010578203789162759222636507998951219962416"),
+ mp_float("166.29054581221736193743607965438203813195571540556276041744818124311383319271865949852409919394153269480747033978746513697383455865029515980706280602452728024027534610898785346747528974164787558813496898290405585139128520213258945990094921668799582196289415186077588862993471052286657863660194169256735565478553573021220316686372499566569226517038528306172782567311222185108005570216696875743736100955"),
+ mp_float("149.21544605264908295993945649604285337624519718826170339522511247882857712759510607335731874460089073845801898704753456500189496779409436861912293899505581311440747659554277440213419288703788269919039921798107728399557167408140809252018994277341920952749500208966138855241759630945526315488793292726128341029587120514966235620401322686088115588166229534061764540653109240550402251054407246856151567603"),
+ mp_float("134.49820287386678146415934117436307502527253382782756683242558803623204372535001903059952331187383003860763373916209613087224920642323030876914180417744941292915135703827726917716169461155380816523013541525064300018281942902987113774649832405107851262615047816612855045800479352444196097818959938847644895442220287283912353786424242613580468026214975428187030621470220258018349158225338734661141573645"),
+ mp_float("121.74637525131974272454558722147879927552923813837385989933905483762963091864899955061129604620396949021837430587726614860594389154064816930040727892714378269500043299946051650713998983491638635916031488981108330117519154571017260641823220174679813385602946220171718507847869621796127188906326155016110321274441813386811005811950360701606814779230073167747892140373841375628240185806460112332658735145"),
+ mp_float("110.64260631711559498322474001762380740584392875352463205238210105939782790743352350606739154257360582368801383831074621861005079817761460800747298574584683644725917439371228693130740547395703988345964898329232057802290530228367477935870094290205403602359935670249458583482201754669750582845724037588283318437124123171016867892208974286334821884053702058111248236666946423058096609647220532373526244413"),
+ mp_float("100.92856967012972193917518928060009394792622902695496254802502737367893928307826618274300463895480959346808257384295573469247626042710972910372876840374990223706613730516228141137722239487448585719213891921217237096671157284201787401704406207428649666830485021808623886749203942660900675084911238356554714766693423052531262274564405133098865268607784068129787781485947495234719038913303467154832772822"),
+ mp_float("92.392679392092631563959752527878583887479296807720417672962326048128400138121704639802684043715437101357072800577597755851817223055441821489535301562911297877933157022237713907029135826411587652301428873892926679742731836949998669456021610943483508390451889900759082872123824690046542053242950032787770287618249238118532582560439669526270180671771327309278282286916850429221715222684437784190817824479"),
+ mp_float("84.860609378284820785602952170404586422751901600748048264200718574664896680769463369795301037001496303080888428105127807347644813861774346012471093453102826317718752593349031354859759488428592181267087792920272435685117389333993857796284285469584645304399609721613159789935446750610229219287306100364883031493944862142278195325002912834514221503748376089201908315590094401759888005719999040741938057036"),
+ mp_float("78.187926655225531502357307056698206336381909672953827424126837885868693379755515307427693715187210880496027467909426806132171473014313500117188662661329489307483070519798355255538668528254097606014555607058274329718496828129605068283590960438411934868297782290066038418547615727244342706333248727158109476116275839072595818492297328306415117462165830715546191982607886864096419075136831227098153613152"),
+ mp_float("72.254327754720167168188182676794653687714982834520287425061706420532299129556578626408215860843989786491771900224471331493109577666938392538738575457104756508921406418481911225854570110473144806526512991575828832113401294321981537218681076089232381149949156176429592633893182344552796525628349139139963359529298638766678285554717319033546508400519636984880833305690400105228017471444142224986480309606"),
+ mp_float("66.959099644962861983615247884155537635896441329822245964933213520028362108865521916429302906026057589955789299568659724663900039988113875459272607689069458228001732098319063938613425365290092436585884680401154231487402044096555072981207949343836600459922673024179380396236210378638196680142123338114059889182685974623673184780180914761771500268412317879093380228779326938138352755469565091007544934089"),
+ mp_float("62.217522644670735596968642581559054324452597599739953945987530074605423001988767399001820090151218177763128893517483054249876599749526745825894397963338812385300524802292413430811802383698566309447539479480475918162543933998420990704370479351755145920173559633817429822918107659746726422830388842878769473188165006332755636444530618051085055792513106944166318834872535627621428789420200512512457378386"),
+ mp_float("57.958002796323544067153747882247230483427752445143211131618297968276029647295326864353764736034401208961789320511007462501677157621854408342885131363924760258460572197218317455436950726190182540193523852924811154294608262692412659988915336814611098720645185592344964274307257689860204879041726226824726326090321631946734895674711987528438515969487135495595062789395823305773461774890178642561870915821"),
+ mp_float("54.11977272794664441109055367356789646308230201123324406484742764523581459557850632823784049922581132816342679242399225185691782814786210581057291410003764266816802284579341063272248119408239619040366870284751144584481658659903400379057088155267351209943761426074855441514019936480154912698301555385167922427568584819463735826773764304493571250532835932344428748170267829010898717889678247451324376332"),
+ mp_float("50.651038256116152820297966867204708818194805566214319013039506272499240376219560426198783656294689316058527033838057570894560993805422975464910732352265028912116467966839271138600543890372316567452024651987168488946954161872202276471686275262129251118335836973341453687002589948325044214150047047468114431568238577392905085986728622458816279524248359638061504730356478146984683844599393511675371260861"),
+ mp_float("47.507476524533991201131181366810188851397457980595242110379598830391060946124803548264112952672524490151910031160867592995187524646803934290859662790353903081075198924453946264593543754020259000756035874240423476826674089091386954608838204815184242464102934426813107390284149950390582119057864430626694526742291987748854767386344547494723281640104733109674775268532282890396859269133378663660513970845"),
+ mp_float("44.651012930085526404984963449215816701801977321360473790193973877637917247914061656918073857003848407253928427732837836386659853936029674229815617050197415093084171693909522698715420197161405911930161537395734143204004535727719984289460800431821865825810419788279023367456607907800171927042071033803672685996566020389713842987254888585337158640123183300754524836615596191568690966393139154116819146712"),
+ mp_float("42.048820325324062416231902695778944983164413102014584329020168609550828694928737298503376071415383828879336089213634268307875379117957582729584756148367394913016276378925022258921569245874988782015735144713565306585919854231066294091842394588879473360582486087017657681753203321620612760193315633392694655462769843072504968930162512639282065328720685066731032583030148485675931599985257062041450784099"),
+ mp_float("39.672496349821826081342002031318172039914263893879444691340776916911866133612975623865850840648730252741733294087242224833147279731382402130397038465625110910437054838575476282977729666669037215093548525393409781176940350119246713963105246002846711177371045191247193900853905274459128450306583693290311806930433870153215413871269109383222674431805486617856346306176575567010151638172314677428765541002"),
+ mp_float("37.497384213361903922967809308734566206247429011468108223041977049629569006840187266939822728560833267607314731657657043308933696389041513749911908553032526904667374462548267318138869332549026104638592845005618750562553875222510572381601709888013925352133552427891561464077657639043555598149844256079962489168111398755505551859466241284073538770681585458570376594628855517123095777650022709489916807628"),
+ mp_float("35.502009550247993707664991267787047506972134953058820564972161767379674512106740230644519101414992008147473626046861362088133632054096167266755546978311116715400812559779751595340406854737403931278288820294333544062724417465051815055921678965532077662352302625241780314631229906684448965133570762583648547157706633401902511387020295796465942861899015261255752445696450033044008121623805777046196958954"),
+ mp_float("33.667611616352798469780510002462899717656676346972542258603848840147342176381478286419505320047450120614781519644884618634818170954313362927658937565661032597043061082693793252344889131498255084315923793437993481450279097337021111953982319302732813886216676441052732269236105878837517642579115376257840110346877638435558585861704768715806844260414202148919078812176271061103243717086222235237983729498"),
+ mp_float("31.977751502622393310575150746580338599479398149438326664845586669711225106679312944750633857800846084650256938490881543884326575921311636503135925492508830355946227162621191388183620954461909446103042309193924549892745995300842248308618770717957243572292970531154740789432290733125608165331001549987282114241818081856596075604660436171025129035223095558429444180625888647729478142072761910768809930843"),
+ mp_float("30.417983484700835243276414208137507487098667979296864814086181598405665599318555359699410614826475904295513179383806346580773057990491433854639938752774418191922594787204092797604190450269912529954157297777556885216324632281867666797974067543391102295271672493353595739738032868062316579740565123720439165242044844785339193324091428918215535546311799935362530499127301566165063986280744930708092439425"),
+ mp_float("28.975578339112497548634766957030310402616033869144422042964107908451554601782686907529723671626324807606309381845594014407177717599045429684729928946114903012409436717648224098804205976083901529033854337122228821071267593456207576514903932626610166938038040687757680922277498677898290999339094347966703818924938352438426549994692241536604865991636349220148276765422816377856960855128919117623227719096"),
+ mp_float("27.639289599010721317809546899467433950121974863564541446395139825639764644818203625653176500362810280488455315911271280084451350621763128060253538885650306447530431188303669496786774314211987248345709967817360926401502701999924402495032476713120183097018283930774040656560460399467881666834127382196942836412441865533611327320353056334086139029745967402313178141712379836006743563724225437873878620635"),
+ mp_float("26.399155423722331397681052773995550094911763952308199332597014216148523540285694617247297403112834756380797800529655475414308937293177057364803475931821470546503671537679202410124450351783230713423739749901853873888058529205273993884856127985538986301052673282298452135873265480509380555376249373680350184129252801017544528173128218538736877959635056281640554938094970031015323532504589258623288747284"),
+ mp_float("25.246330113066143899099158071106850141276220852124562226454108307998028802082846025501165401284115935900434148709379332401590874001296578184215243743392131287346767086189886933849513590004365651639153653494121396009179075452545398643032186000425072097315667266237339742847408912919986527005523967771060418697211674919677045672114039888678864632437502085328830276976984000474652018189964131552663111672"),
+ mp_float("24.17294038406062865238419115252689003211480846288935109820473543888507402900357106324188635528624080887501697290027603955851823470475326301878320290790377424027658046338613710419252209148818778932565731080508209263249725006825380621567205989025121279720538195847577077377443367121483909578040138747770853019078194465094758869168736860331563484574366919733389264228111171645642994260409311956527415523"),
+ mp_float("23.17196240151774789528728299434491661707861536611377913654339086805250076857411730491562499269017860318235202986149536601847695739923637307096168012856256389731647260239302779192199966172250391554031938412665526400976854477164799963373713967367642022584681076660800393068710630806367738867727798332351884149238140164469677696382770199961990821651710057638793573616284195728078838117045473005002063948"),
+ mp_float("22.237116259595923627485293851623109503607561490166466052555184053109898644048272297983941596470275339235554641053299625064708882764168594642962640395561244282760688980408441059459825031838676313829459647149438377015033600855352703306885101505013454244380877486583349409872660437154295989023208647868869859822403134538551042386726777551035835918279681337194148792897099236778635091951142230611240033189"),
+ mp_float("21.362775183258932544622442119768213018205056507476120890348465402324402627053916429255554621174168563964820060830498918624886917672994245466166951556134786973682454819629735081678678965365265568987945820437083568384037520317792879718064018038062337253853402248010710667474927664674276836521079898225511864774600628291731472467710962761597956433966382841305581117030886111390951820839047906457889457952"),
+ mp_float("20.543887183817315060364243391879067443800617593834060711006874837246545369219352481153772565782078391664652949540506685740788401997948435942098653931677715820537021782234477850107762716780424574348209372443434417717266387050922200739429073388503116499955346965896980101377442018822890736546480914145958303708327178182534342340319511998416054748225522559057986104568720331460089069600024345851636793235"),
+ mp_float("19.775907282562599163460385670423199388140170252154633982253492756175981618488286154914093680328229180833952415567462054483081308832192386721364129714038622267121115901355857895036732738519070385237176818442322872224669729639025201808359302279241709475044136846661924871193210873234406995973881895678797959114600485344701382051528043884748513065984020274888000892556423147353138713683086866827216065411"),
+ mp_float("19.054738727696729015834243582916306345360857007108940822303092349861379892193932927813064148102588219408223349417390673124990567697344408887187249207073520980662792343844535456660157313705708822927396158305088755328394596069947322805835501850334916992787453490393151609345980365208579988708438722921938436446552595722044539737899895267721518915828927098225666535169457814590798059403797340438064419624"),
+ mp_float("18.376681885573621271339019302769148339330953543796878479955346523008222096724247004314252431244818914571180431331582165446925764565905321659517837907390366796752580035737765678303960539272664805830362921935227081115660729191788347125738273398939318062937920442186099967695673476923619838072590771060302394060846239196149782809517660008362110800898200150035179835676145629986604029011098342368488818439"),
+ mp_float("17.738389698248282678501686424616984421796399699779226575278890892308848898573585838261249733502696467168599015625380779453665162697877258994271766258401790081163445694300762265378956315478999433733570772385537534835705145525342134699601090672159071286614150652740173596368673262162892723674409449086049591717167068158694068146627426441870611539186991903817945789872444292134654054603887588316681984792"),
+ mp_float("17.136828773880708229588025958926122158112789767892558476050365642331944158578310391722010641029187796530253310938029194013378268699433903965594780338015836548668070617917581951515032164686771175358517702696031470507872495864180462559017526994164237674004873465660536982720267591432613773132210079265402790325424426975919411513696087378251479304794438763722593800716060280284849994177444170307439644395"),
+ mp_float("16.569245321399633986405453306135634969524881750263188221867542440585962581459151089336718204121525460308707976940994305578487840670027368507319855560863293853454220998578926460515706176569907946975826823110127018669131317932888086822837909043144878244834194962841022836100299395156547362606460387326012672204694871647011754192976947834224903465620595479940673848155072856398777315718149945838732958959"),
+ mp_float("16.033135261404722647483574076377878899982680844416304263027546493752838214896889122861423032427646895323197065689234145651208438915767549088708521998913994023557704918230357128501693457105097376615521876364050410659512103099403270879747764076522175248980402311235670287233310563248594286455051971383498791202527983922477380679316075152714747688064024056881488977363625065057855011191126147886226313933"),
+ mp_float("15.526217945936246307078739129246544165949938066023385598556904942074142558037877605745435741006232761493231604531349126074567110482971431709019118481882291014075285077434545128898468852740995506271254267345275360820518888772237525892619188229025407148559332988067796469668063918018481018057447913358596938114895427184054293992489328419268190009382918761156506660779862925241297073740951886950913343751"),
+ mp_float("15.046413003996725231334673013406474686963450589454917920615619910985989826000580445303169476362423955122278188467309971871134716497366720005353643765771830252569107183539378378207417802624797664244844920627317063861121357477171437692074387679986097545765483950411891762779895202674827821385429749786113792368385285080348445293384576109985637760592028589528217942303137214432051869775252059172346718005"),
+ mp_float("14.591819900432291786420944121309663502863329762390949679053672319070298491796691597267090301924988100202161894157250385779240848348067711525576318142354943364797903838198418009178820732763207511700777118493736336347733310501859895200837219599244181450334414655717085690771984811605359585505401150222152561192256175036275440957626562564152882463888381011994583286449332803709621957718137194601273650072"),
+ mp_float("14.160699855303489302565233693758668482507570568296324010992999875373298948084888095802044785140601016499987880937662956345523248124621284412949993109829973138682345028351450621648340689711306999399799700299132207541620658781858703429156197557062402204746582041775244325345369715787249767210742842310369926557963385718612481572309373749390113060130069040305626480075355039511881447178841927865138095714"),
+ mp_float("13.7514598210989711314495908585993837296273024692350166565400319739852694824183639785803776563566102589342019906051835261730912736207366482158635845041888710587100005082090810441511374715781230476705410367141393223134117777125685094332559742616413450933748611345120162788591041884232049428307456628405496503442502259820034350172065914200708220401567919192168011441060515904174652607471072623912032254"),
+ mp_float("13.362638257629831819282920977069981825861150053543610541684987494611722409170726332656953071912152750872248346974420276918691753631462607047378496488391117673172313830373154735702430142048715034646637000251534603416842614908208568681595211741550385038075679448162353501497496277518856564127832952596151892722045946562802252591235798679311241860426916009019332559475708439916890079295536891547098798807"),
+ mp_float("12.992892480467333454049301393459444184725589591622644522306340229021664885230541225579782416748773116972995914126050340534912941940419145358283191714043844893817153533736300365399721702429730690860374266844213621885695362035727034358068839437679388866500928976265961335794969251054393917044035822080341256905187003304571121988695958012649796532674445101682635294920228283476387814077474808714206753229"),
+ mp_float("12.640987389407094919074470087486104588996037581883095189431484433289843849736405963255538961337037559676307171552578329055083844391958257752460175893041294449696818669850194602992976022682345933878508263029805232559625675574611371859211062438147185037391970448614957916780245813866941502507420372646747050928798565484166369758420293052344686907522683076336697842689643857229140920404920913059421535885"),
+ mp_float("12.305785409529338337667526365853347154740197857513913441680461064120415179090024353911329648545054303353093420318740387165571113459301418838605912704460319286339164994527196144928472687184614009833334514551186774985806312269311267218980210746917129775101056269280772103332209641826455634844613420296495095481479748960335336489994246490166865460020505722370544196936557032171438837274587258028770430979"),
+ mp_float("11.986237499698793988984677071386091283607228570471824801031846002387129144984568238359845978123098733103330623822919272152100383564759133910160373955276470184208611969578519680588040383857375356082190690184338588374526677067620034069309503636377728973567679560846999763479081465884115084776839752817398638263103350924867139951978152074576243445518682397541701085570289748652273914825822912705677291242"),
+ mp_float("11.681375102408199724430122178566319138403037228965687481654395912336865582559114356771117719242618159778855077714933161905062557474438174958607956045155911178127553200385788309409683711103200234642942927705352987123894814059744153492721836292197768025407979048889769381793800247945219153988432958083656834413151575315292613217395159032551360911748987770895016118926378308034643236205080811422021798725"),
+ mp_float("11.390302925214463279709082431241089598252007579490176213576260548473676479556576022622823307114194714452466563604047823626936413953853142367884174833212838400863522119564202530033540341791477782542921337033929822511347464851008410704041482431943452713439793518943783367611153461496114082305697315920804923761153720351501778006549495974224839295719131504415867981579430449206306913345422606944825017723"),
+ mp_float("11.112192458062426736253446782414101236645749413302605209117679186178146084154264905524978728818813613751121584906871163080562604293264007331409986910495962991668941968113299206223512986279088113679342859839511759751810964707070862009522216985648801647613207385888462250270158542154191266493838556663053215714890293638122894265706684923021464832304882970702830390696389028262165163911451302220227790342"),
+ mp_float("10.846276142885692142805042052608310895389098441810288087410473218588112114782674072693331614323167640330566497691650692267844448353722931602864990954679676695362979827008884019966602820842001345909437228770733519817484311864274698137236114610406534783861285754812222708181478532447708124621970132183539040165775376124371901232456918693007263915109974971992032715827406275356816008736258697889647698045"),
+ mp_float("10.591842122308825296094049503334908287095247848120739375888070933296218427952086920409051766523736575564999213713729097807129534856793245449295281173312150140429138797764690716754590551022838392364487179885237103334167407945280453007652656006259584830921416781408639000946534295520640457037008163814258765334722026177836995696474139525183636089095387150893425987650174790428202315980937078345789130474"),
+ mp_float("10.348229503295563761299987137492108519545277386163041290247822628759176571163254460733262164072565059241737055263386737314025751364549213107179825223336229496667605256716806296774501524653900938000650964079070893797741284755687778508998431465156509759575497709677711814055787823221648920438771036717993818081417421464807930880988000797550005485644054625577919633072148699413287173992889297084023024527"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00106_rootn(const bool b_write_output)
+ {
+ return TestCase_case_00106_rootn().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00111_sin_small_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00111_sin_small_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00111_sin_small_x : public TestCaseReal
+ {
+ public:
+ TestCase_case_00111_sin_small_x() { }
+ virtual ~TestCase_case_00111_sin_small_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00111_sin_small_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::sin((boost::multiprecision::euler_gamma() + k) / 53);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("0.010890646307437399028563191160252839599929232814970922208664909237494716181484215717644776933044418903207919912063594159099133490979634344811936925144447725948305353257042599564404885434349760121009797816724142318243738364307036155852011004353462651092012819894667485840322627440332163428546845499107471983896711023161969130462687924045508477090891879273259947713367290982391204265694893491531721581439"),
+ mp_float("0.029754394000520972141380267705677256353702996169858414168445272181777338962866552847084800544086743338130195210005002660881957584567978770485056322086472328896988088721899728258224129935989180857437073412730903070983582129359565450458299328041955729258476583848159389714290107649243089149974776893563078190705561325124542669960182002956940545214147678093802442811362846262655415145897575707676223535749"),
+ mp_float("0.04860754948595027759689273751438643634234576398271158524070718139962965653841137425728738193533514318422431877217110239554743968609870039776938201724688048349972662394084789924867267405853696017478160702683117974766657840965270625814482422398422216605490620054574252910928068433847115132429726072853170339113804838625536981361490008602432476302086066307320875870985443111858828925332085101376920451257"),
+ mp_float("0.067443401266329792365583268418977022587089806595860818790246293104463576184436096833111903064801552379988362224633198052490234517656318474005568709048710308123967082103235230201516378834855764348740505470176912466587139988300259624310153055247378188811239571439869254255368050758213303082097176168650573121101094016896349982672715603054645687782535250201448606757920212668324401846105554332382154705308"),
+ mp_float("0.086255244004175604199645786226683865650130764638142939010554245919172299560583634262067769465886944689883333394099120765964771092069938753689253686543017871063587988437235057514131760587649504670117933814486942187589706655157340717185354058186603027300571692666150552274324933749082047517987509942119060274537912867956274549119040817359639741746006374702951412541338483858389306953539029174581171144916"),
+ mp_float("0.10503638090893519164596691292161072193010174143933600597680115817738720676321226654184308409972393036413684625874294713490753271261380987552528236660688624108474124469034444076627315674234385578608111398112242272762722849083801773818689342174907858373883192220827687618321085007917387951532673599267211035785307947515638810735621964273183425401191468313574763898720597251843424536611952986478638938787"),
+ mp_float("0.12378012612096459891996422671239906394195356627713556749926735466337892925173796651675302282473738808218327028589606894825728784823540605065317506645900565980161901287116410208049542818796994171203890952761651470187834173644651508025088970034800067245131759655003164127161058084682831906406941473650395873577925901419536540828468001386512234321890242266327761400155849351025221609783793228816606096155"),
+ mp_float("0.14247980709161433833827358255114404185333478069639957369769805221957506649654851981837061160249376538785737485777248817812720592537597263252706422066438137522011148566625861552209380620325080441618503257506798981598559897331754555335688284111417797211888381141445522536739542765207936516297907076923899840216864191777039028622886076254231994264908278499537587536902686114072117102531777746791366147472"),
+ mp_float("0.16112876695857673825462942280040873226725445145336882995544646098546697397681955191516861690559627281570477802647683153249828731761062718487424104325152088763220776831248566486363299448443795266104568555186977695939803420793575204146124697832793773870449082377964029658283741910741804550762511379894890589132658450368609377005630322641674351408014813725947288936865021810537922503050280596331958949813"),
+ mp_float("0.17972036691564914131189073707203611766536704952071818203835281740755093560444625679032703078557333645546302532200674729781663838075105196332695024246509042831095553050804767663788014113177991938252225120228302734228632787082072480689719322299247090887229731260135165819595797392665106642595359433094386743214852929965104946276195924300495453775467378376551444126292108291215861133471208854009513721707"),
+ mp_float("0.19824798857606934571352609051549058593435535174283382080060738672122306773474119459815363636791069253463660528114022041674780565798655265640072669329819802234483545444085426470661233958030668844326674768815456315879868376252722369574694411591080512527683145774214215193268992508938562109669843137270238454905091555179756374512457742554641355319960601765568460966738628365652972463731882673979926092423"),
+ mp_float("0.2167050363285819704223187876642169717474346025766606244643176750460657731203611217470241676182041675112171974414875203007374497968642376196256262296063879827128970901451226217571636202438144440234868076467587220541438440149682254317134405302648426790500751310485432990930185087578150399032543990173811106465656404530116032387260432178319507278340110997943206401370789106214680733463126804159766688178"),
+ mp_float("0.23508493968539701289801441539326267060915175918342580386836036980227948313782327655061004506711767031388143537081826986030990557707922203603349984851809173788402101756510017046639631528282698404857654444279509591873678208318484036337040837844539190863615310872984455261973647897667843302241773795592355085118273592671348602240382153223466391512738221253451636183066773121830262978729780866153048605159"),
+ mp_float("0.2533811556212047542679161173582151227103672187769971543582388259784795155332622779547839459016647290250036005712168909799523370471647322112833886051217950625710683025675691585734514265087749450457714578451290681140064635291501640395753290532318406110106892218388811781561305402570000283806458134435822529043797962340420841850011846648265787470508569124672250211852546600514370101687713861131209463861"),
+ mp_float("0.27158717090241435065755609312085387589073221253701701142877476904254125053252466469600403650634482409879186635717002370089097070045821182432642232618427944489732133359996899812980722107011126957850576210476679069162561257167921627603536603943342268770727524690332400255408587654094512383349857596775777725888982277559281982571487656535560758087235441872907962373375423740325723506626374882319859924962"),
+ mp_float("0.28969650440578692965912855479777150523900698183973110358010443581781966348171378962307935462457921708108325003566673849851640304571019200113280406744551445148200341554501141174444530008329262826786160080931309057528673711507934822659456861163197618813727062179453555460400169858233923358238607875306523866767536243361049306545596678120228677505849040202788510059415993219975440657979707947898632705847"),
+ mp_float("0.30770270942563778634443222550824378057595253208974144909939396933701715445493088586920897452838893301853350676955400357197838773823140696209649573828382477454711986806154497998912926265388494228459988323524548750870702083339285969468391846533348589851520262990720843670148790211009236063622194282315540801467216625666505663699480592080398449845511909092071640909885054719301078547683325662349532658001"),
+ mp_float("0.32559937596878634249263192973385963275552570142977727375619908690982968889531407133936548327912894149757305868454394002531385820341045863161146695151908269553629121372700695833373968533510661265854738947940689721812230819575490874211279007289828369964583273676393398981064015459284982970048174649094549631109312941188691838118955683939990881732219088392629316401227525790752712758279892546851835776728"),
+ mp_float("0.34338013303643689435259984865624959352259286039436985939426483729323987764837568376066164703227630278807584950278626035763399164177429894322425866236150336898079573258157833074772287354310049676029566569737995054499018518699450946056626536479822852758163848528920078247789349605898976290484284018984355696648190967701849464571286257873661615051036433297599097073117151941857301740816310919312668936753"),
+ mp_float("0.36103865089217782674224266392907326208964452822379102503439414768728197653534265911503054023760783622236800804794470785631737993143180071550223728801984904852623160397230839644629077782630949486339104760008566935013234195735777070582106661423219379374522941522832331186147905332977726043795737008218909226025962294880541867964419424128310806148008435847967256901208159302482322730929744194185143496647"),
+ mp_float("0.37856864331529191294683302986737462527422720295203122486985051910813389831630458742420433021640718832999264813674938157273375290592788753133996741859965258034273428657399863159488519434113093863042179261649202584979828347495161391780592433454809420632605178105958049630938532568156789806946629309375790343585791884755866400295470651281289167454617624179556306285775538273640784278475358303871406797294"),
+ mp_float("0.3959638698385755489557710011250921602780605301308457595569865098132061251227321128681128349835212212508810246299921462519655630208347321575504292305860152320513799100372630595769065936291506594220617567642210250680560302662459931036815131767702563357378794733903424219866581554015722958062178902473414883933807190920961687912191470152974845756609418554739641361171541363409996648143043979357302190703"),
+ mp_float("0.41321813796987028521091431473013916161596830805293649687424341688961507413716621591649879163383882641673238540682782626959358955002216003316726344623613626809950993449214457071292961126188761860214007662067345193545393653191742497646193189677890657992964660139924463087072704096969748995358605459064076775540679952182100013584273877612509536257834358450242426357122974687246428904315337788603554112487"),
+ mp_float("0.43032530539651581726649227346608528709372859200683817125277384462849187532000288969537766724897319030479860713591459932866508254904869456423088312945970943686450425589907227275358186473310644458353392107693439475272544181726520566221333846008220008702070460626739342310039148106649726719665728169819714333172605016313499067227953767878741853545763313707499816244740855778447731454065384788859848319503"),
+ mp_float("0.44727928217193967651655712666040617006236300257644793444619887007723922383970962870988815495150987337761018019128790177957898245520422485269324604484642139354461290347689315448558082058132330317789105861674569680430563377440355102600184370927625450804550114009478901349833826102470780452480255838220723171955252412104006070322080932915859579006653276371401264439817338080069936810866666557553662506811"),
+ mp_float("0.46407403288360522126660904671571257203469668709200603873826642103612288853249598361813813213381052968904786566929537791978751985511297321991996818974870946807510786919602279514706154473236597480481149516597293844121405001964448599792635426082163120478756812832932606227610137817312140031064078333902425335570730565173883252754294319888872518149175050583958244086010074110878967984441526026195572046031"),
+ mp_float("0.48070357880154616464768530714893198018226307768872832018696934136162055774617690112915494983829868655926209174893609677823844628976682666861087174925649829592164380174433963170047900751735818142724368678683601091750819984658303806035572915499999180599872513173096429390456178642478189724903758698238722978406369084171804020040246631229610021517925007543961283845124822740019511921386188934760298241688"),
+ mp_float("0.49716200000672278683141570737786924159326600032981923078600441023882683095816876734389429898823686013764499093454507915253215528870989821318738227798745591597923864925733083640574132559603114206682739488541451077277291582357627881380008066440685837422009543184722898767087492264154499861112499590934108906196324393034778681622285346845867860458748417916763883649390228287689107774312170267691257606116"),
+ mp_float("0.51344343749844216224309565441486087365890516381683759696704839526386373494321578458551193514743669178342420835082611868891019193801223760604220552152028015878259509179672236586872004169442377393342941368136686044214656339879518691219516228434732537186028321245942076903928921929607502848888640267094590400556200402256089794954485061564115688273804254406706725374971267431122825004095102239220991848356"),
+ mp_float("0.52954209528009218542956877037980380998240467111773187487177084701668417706002935457309027480414979338624119758863233287969233845786459113619958146654397106933375312089626001011352424174223416515118670901639015699899005014886945323983797633471828049323917701068414699189471811508040323789047713536270617216249222074877291822920747392986535291960399633972613345908694327479738445245500914715996152461985"),
+ mp_float("0.54545224242244689926647810432697721723945987179773365856990386707254353534614807468692870318816991084937065603191754270239773531928848863926268254420020634174904439920465735399587679402503040251639815041072160696029528969373711375024524059535996077596844557011786411865071706766713049961515353664484996577751962474564968659755104983468313555304855249829815310291744255989014492588353749587481644931913"),
+ mp_float("0.56116821510380861353700162760755101727268623115746212675907859515911800480855365905235006799852352328451502804871577600277181740574994973635138803211912076695967558806493981733454148905054449991651227073996616835900542604367257843601995979944175684600136575098939764120745952964355353589317556067474680987527548079297833539998258342242865222215681747969549869015697939554127499557081626950060916329896"),
+ mp_float("0.57668441862626054773920164705882295031880435874490231795930393597704964539534854834250638055542815083463738683146430082379073149079998953871974990605030531115748567904948229002538680465351816034414085890696196467615521969543006224204433997063527288514443404935419253943724579872472854300703798475966107579038880496698051818375532546368197809806544115496171522444187250876233927302975709248591908972346"),
+ mp_float("0.59199532940731223634617420193837196766186356068263223313261061480558639436412180991021350240470913092271149633483820904350945127229180169976070379470147429711011056203078210298313829635000565303787641997857930629432231274870246836108452732993007541125359738273485061324228778750531830069944570036169084871305329515261365955383178502917713214334808810726412625844210978481512366368025275438632291862785"),
+ mp_float("0.60709549694622869462483067245797028399468956070763942538530335526853282815406226053099893555611232739741099281199863420254333016184720313024881100010161759837083928797224725640021095785125988238992410296927225409984765886863313873892022531648958451940083661715815760806237878803609330649695132473889046508160482887768573723088361332267243452286610176948724186843039692112797106039213976473403724518188"),
+ mp_float("0.62197954576434335539696684219824327976988998993669475584026026679831221725774460365328908947620452777457191790806959938899059379387140391128845696987642418506611453321626607869801717870254836897328796165084605948086983949944714226464644755644542238083403302661596239269476252222614109836597348873471190787660391585694078779921390758232910639208518119325492789999941075221166054973249356136808607130253"),
+ mp_float("0.6366421773186640485920116318191204083389644098160828009666722635549477083039305904975813615643101060893999315509501318081025137289051787335454356108133761354485193083183997634369795655283340428506642872565827559825155045924936470784378552800563136355526499002558162019410271880717338646318471375684163442601830537613691628498474632262547856029932241457937391840960919415488213025664314613747543749464"),
+ mp_float("0.65107817188809080279752785471799265973958362274943758073000075578938519480042543196041314945170036193559782763524413154927612489597355144799562963417455961310886431794132437757357185377007718709790504976900339191552944965308823754898079933186431693664015814010551367365293786806527034958873669211570906132849013497458819941168651227792824572805777219160376304646562062564773441718051418178414899683019"),
+ mp_float("0.6652823904315739978766556052897347198651017349760138699519597733553278561013395851136458951983261597283585391502588949649092379467069209284755289821255744166256794329589771465045421874634188329764638118238723545310838064785644468083837991172367935880462068347034222894524074808990476036821633127927532229213401486467496527893691588255513769781016943243185567913995336109327864083859254466073492381187"),
+ mp_float("0.67924977641755138662041086036801948989088186294785002709809874961811116536667286127777672928127306388394020078452402417993836722984523906631302047812425809759286220237826357465064765092612104224837992075711035615650942777454297235908308024053950635657488001916036801234116581671119069849133344664024677517075723660642709275823456343659009540444032487248071553674961012055521740306092600444870718199652"),
+ mp_float("0.69297535762401272778114932738244728669670875114228232862389083194872888693112134130021641463393969624412179768291914405554577080353247136859984307940401373940521815913274464950964347624918449081645304540343160683388727015489772202472645406318288749244334156857814927405528763108558137488794292057315715995191324964500528600378291562277858608403425720078390497455476055579003286296442406491998525563297"),
+ mp_float("0.70645424790855122905182233963742667718470686911515869065744744473731249895412640632516625097411541437953942564566468313798077366853928608154168668667806938130662439220702019172328936889436324187304262248463334787504456805683070026006307765178787997020889111556678907849442591478755800698808480163225125777511828352357189284217101098738405458071150544253514248561787426067001460586251699075230390564367"),
+ mp_float("0.71968164894777168289159927814596788937422432901416956306230349431557362414856173295064125294878325237342190029914430775648665560145040598898117000971783978541799092281781000633902779626437866517288284324732827083065703448279654800632624171861777710582293639879819116932680545313562525074940809403693475624332169458744562386580074420532959714281903926902622613852892104465683714186704831143197300465955"),
+ mp_float("0.73265285194543608674851404628602868786755398311878599262050209465658337331457767882450516660833910207846986678480603058221329185506983962144302950162737505562091432645466997334653618075359372680522922578429510783107155224742867979206003853893418268095936450823867623873015528453108944563276576646508412198497923383466470895808777876544429706485835161864475122029711660543090876323595451165397047981956"),
+ mp_float("0.74536323930873866831066285008063416514858255428941319323031554151661731879818806472410911187787504167842137286019020264008471692607030872105020489874402631524823767448432915438225335869622093354538021006314536198469136634364850042715775621307965524560308901397550829610851125072518884822515926626213581949190024268711827023522012804341871590177804438418738255381261594827085100659777173578154500251787"),
+ mp_float("0.75780828629211358196731753685850074775187628883294491833833279769413437275246840580617185041212744084038976069700142887035937511309419495512390089087847775651833369173386038513330257480188204696687136231267595399438343156895032682495327740328291738325217778497473260463740600852973600297913238958828132336080624048815574113414592522918778477418427876829087439774857073733879539765547872800792711360592"),
+ mp_float("0.76998356260799010064124325420889481428942836988785464918451704687709959533402569414853910266075223008145347866420469852220997470992987183595134711278161994827010482478666523199914707457365681979989417199177427808129308850228595726632468139527316915481709465938257650120793934685421343443942356060396291075752713480402305699120964704579260218579751719693291565685728074939857101460901984240449471777639"),
+ mp_float("0.78188473400392189344901888012886357289691591193533323711550248487573232160560048524966536928562079994581390209192526509899176077393862245482807165569409036943146775931090958041945317489351020506180957959482939768275851398130892970557450783138983566392455270904228057175489097967314871299150832712632639718878702471658606369540854496281803565819545728647765960328269135853132407415684491934581417388002"),
+ mp_float("0.79350756380552895006859336306152006552993066088382163294295016384877329185292344719536879395060919553184640006473875955257330264813115929942877156894433233876161573894628944452740080653935089289153173836334040374431360850336851424574668632837338016740333716530963434291489645017931035529052587483629111178971917421121398732580060101294617212337648611654041575132820234403350225337355214099696493406567"),
+ mp_float("0.80484791442470288298134387731514331459831415420391927496917008531718727007136925375073869996549995938671025493755987802316807560672754205522916341547950527416285009447065632296220924964603370109747266700136618832767813938243784759073035555035361911772169687111972294262096081393656654067512785827139608367560009298721819281091010743363153063005841441400130721362346287552727162527118465104052539630019"),
+ mp_float("0.81590174883253870457705586780548750833668862852238889952372206236774966573191832400412494946116015154305873210759963247859431688393192829248700535837612167242633896627292821666890819736549652534738107012873094812825219601489880060491958385552979476621004236099490018887651186347086675381603801017940808290855340870383683075409122477045713172106217670870448929077822708030574128623585863036730829850118"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00111_sin_small_x(const bool b_write_output)
+ {
+ return TestCase_case_00111_sin_small_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00112_cos_x_near_pi_half.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00112_cos_x_near_pi_half.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00112_cos_x_near_pi_half : public TestCaseReal
+ {
+ public:
+ TestCase_case_00112_cos_x_near_pi_half() { }
+ virtual ~TestCase_case_00112_cos_x_near_pi_half() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00112_cos_x_near_pi_half");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::cos(boost::multiprecision::pi_half() - ((boost::multiprecision::euler_gamma() + k) / 523));
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("0.001103662615143147017601393734232421549156847219973314118949247990939859507971857976111288683988415478257878902917354105871236439563170045857810738102729287303674642020538722348587741395785016549139854168605590336633274890874911975139498047488076101124170425114828336211817830671418321600962996502656221412102902998671173649312277667706874059520046508702908872747388744526457997404065469953155187340837"),
+ mp_float("0.0030157041572432190019717764776322147049224887913331212054173669461673516770769148735558540290915754514269097799280330158745508542936966046640795712691698490758472574837678659161855207596563250546269614348515005196657786359646020537231301121492728577410212550350070502426482802490452572415879214994201864402901595309726458026672888041860289772080407882673424767232857435141510615538430445535588448032261"),
+ mp_float("0.0049277346741750694119109616231402901360500185022482787362616412856233338679208830974124749830793778323997684640684587346403570647040211088376986993615001420565608501262335822815041623056442245053684626079448221530207757672939048030945164948521320401574074802966260975904478775314730002799895049652983052125151436511589335123254582883803928373794668948878049089088843407672795237410750365571990834236348"),
+ mp_float("0.0068397471757112108044544339281399968563253858411528016363900245610068161564091499398024110635089866212789583403491711476788985949178019078796740862827299289838108117219486357027460681238178010067475221327133396780718266880540272936860185783976937569903778160170225166328920201699827472893824363838439627437187765159770262282930293057633886299749088561182830982345936603553661004526800797082995898813903"),
+ mp_float("0.008751734671690018552720976028788304981263251327799787402847843531098338033456389098956160956160597460869666211569183483587979772678557230743050583975270977754518475970489741156524119378847305446845331098526962579804361960647344836744631465315238254178161716870409320747176674142306881908614436607977326507761331050644035013756409444911127742401762647885817361924274132830920030936589562922803846509607"),
+ mp_float("0.010663690172041286306192948782895990881227033104763005629047563262531418373465237876680529005058533981010793759446966868628480908709812402179047774888094761104238131843239037167212206469894485599085717216855637620318723457013401360290343196462723174177342294339229792213396006286331141933952648238459364417067676760977202812721209681621184724443514062993874571816382775241753902032787099435678672474841"),
+ mp_float("0.012575606686811781116778815864446643746718166744927923785139233710240017201737625088406861185781739628293213436323314376708933534933748436720721568462267317026688561438144113855290140925120435317506169856461386623828941531577425811393721991195661429557079268566156800689149725770186985872449679872155877537432897653904213375816262709009448220490217917537801655330411526526290708967440087145630462068976"),
+ mp_float("0.014487477226190798137230457835664944872810802211308342685055637400305474021552028493778559102552025380880477103065187688337931713540557562373991431880251553620947836940726544553647739994157300967262941976933375115946629204615918888689039777423610894099269527633757403818072000860056651445780074486612843419789636984117740884711882675016016919064788076097669389652323393864660933705259163296837955978748"),
+ mp_float("0.016399294800535714798489384358524900105286836154421890562438917862501411947245037986455919696365301666112414890097246479762149456962809638588245466988584093380263545543023411087203351948681559905336010066900667101787138862856447778428938265451537422367650992162004154495705878092019403922006152498705687706013973674800621422751806347308220226407830977673540994341535381202679482907460136241543505771361"),
+ mp_float("0.018311052420397544372537858201001145083914223029622271478159852925692124442640247100336262041440360412392318902558295108452513123454103504516607498763863728284797202978975409264141138861738184468257576157204552383675442780049333490201800526935793000727771598103735596829143729912656158790924063286176336412427525710457367751437348230246446466833498557166002214984255422115833828533909144072330080184872"),
+ mp_float("0.020222743096546488827333191237246591760639730704704148795009602627175281013458865557238240830203973690492882935553111519759474835556686812553430134442713057622274348510526931333124437928482001301214776111358848026164688447150395879262705323533149853785508106018564787140458587165768350143018847840661371060583295055600185059031740386698369796694993301139380463919242175430688496936048982929502368583755"),
+ mp_float("0.022134359839997490880406060727014362125793630864951833270601574861700025448109186301755833862830343973100181180995751924514611578149687732808840212399134735559355116816700346196685057916461444889179117142807858883574426062415931319905031345377305247124198345242221848293630112578508459623098934259229893301963120289071135120089672338617200639338087265986570094025605269870532431816151660553037324591448"),
+ mp_float("0.024045895662035785157706623778569329505432699504171659064296747761761946910295074291838826981712792368282349553905175996858645967280135417577488810651594776626562252686758463813820791031580579721782251705600570838044158357396828391251385978824608388341556751951593319015721256942139947235672567093309227673005475237474351604086627391812539914665025071874865132198040631867741985556198082915821590691115"),
+ mp_float("0.025957343574242448364285479040344211549214421772336408904791690210449825580868841229728937909141136116652894475476991471494524501035809956288247010861464302066154254736425460468024350571584780489213056428098560686376999562953811729945811217829999284678155635497607933780499844559793793320393174691097636750027421158473345884329284455326733063073401001936304522649050748641723222539485352644237494855455"),
+ mp_float("0.027868696588519948373400137317728007608587427701668964330844960393232962659347088604492706251530487148805683505883152882204177723404307465324383408418716579280515871949790204586171885981761699066301009410176801635003961167315448162116236938093263170474354430610732127054993766008385425707409224417795873645410443727472246508894027549288331903202127478347028519320691939639175445464091747341289465807076"),
+ mp_float("0.029779947717117692140641616959423088975059158964671307393654571763491553590582559015283533532986018614029995854278748039155177088839414450454409571267110720713374288363670804692289394770804051182510495900322915294613479146430103948686457060129295537542317247965142780968717375277053102667416124807987527429828758851341378395347636356414345553353015296944031211364374602764176767114282660874356057979248"),
+ mp_float("0.03169108997265757234968007548831539092664261419258315028339932724609641378752993073240305448323210275610250474048387518003293691429670190316839718892647475151605557113852966925288722557261748981001717642661075734993748510506277165730472207647763678204813714194082852502621623007244214605646094787730992510318924772328958129857640953691466395972638014259980360897599169526022683004620965496473543834477"),
+ mp_float("0.033602116368159512696233026049065446239504816931754722314316906991719894135599777826750609185018647633748023602662568553364455253741994701511752478506175671449029859193583332380924298164350627023797218098539441228986492601142199774579432202424360114528105854714450548265654769162069979862894518829365029262734944196495563243510942310738160350648115273816371164862001848102516957052031698646996790510953"),
+ mp_float("0.035513019917067011716864665791693591701266221069066142988726516832036728613300457006403299601385922973285573124147669717618486570986860008564309641657943172757912451506572783449830586163814477502720341010870119231030511664725149033496023356743601581035789746158436049009960920433265660001864258067191594425969638702851317416487965304378219676062220223886417078628342731900948906319081697480745936074075"),
+ mp_float("0.037423793633272685069230163289099410548201460485083250584815890545695501760634737348027106921155349564805321222282824709072582234185849564440670000847571561359324629877368620222775856068569278590582843550096096627510109210574429458414697641703261368397349100700647508781941466979105505468662952228018391181441110331804231754679360190526351574820397399161022517352576803713854137820941977691824804918229"),
+ mp_float("0.039334430531143806170384413477273936914540782490679532559795199052084263353981243128408259086619593938946158294175465792633584421592350011455198124846778194417281005620258982615227234871780679327289232072858751285307955384102986030326321993554199425677956531006546270705693578070953933490084008156062047268010604414954653769711129551190023978078265436680151306319349753427763894284339669614362603225399"),
+ mp_float("0.041244923625547845099780771389235760645292527949481044094490883777921290140650504322516472637184803214130714431279474404434513167088543202171922178874118967991301744186858054508473413647148744260057423931033177973119110921967581379650616945061418716237102199971097086754171168500651650526166023618723542873290120298640370217463634503988257867984189842393302366909916756244585593509804376197012137137735"),
+ mp_float("0.043155265931878005673591620105503250213648422568500347993529171942176855000247082147052189275394127432389966427668413127665366489709229602926384588361071126297040547180622989395253518259197742053810419372452372506534313264090033740095357809571640645325965973975968081307185286025492280541542290934505383760407808393490207181258819590768103829347539943429968533891105456889889207923129412409325200337396"),
+ mp_float("0.045065450466078760596989313842010956972889269629840996618541471076456145341576346037140737554087089598232657340541865108389258265511462307708855932308284610805209084413460614598570062354088931179587984702006847566162492414964136182928014974554852612762940578089297583097434972291633301329615187665009664697057933900728259220674217919826618275818024987757805509580781060051826778978395144370327934582031"),
+ mp_float("0.046975470244671384601033063916347240271496301008030038885300525267985292259051299166038486168462131096926077920611254966322965395673221324506213593415263189667393727124978454125104192236004303056348320706091018781990803164595039969574510002737990997634364247271320535459089400357647302806652831431190979518269432197656547265417669309719787317687585776029758282182901563328846367691507505917911626458378"),
+ mp_float("0.048885318284779485470814703449342779874157141188272539012461507790598796169844054420701400747288103863351008593834375336008952419161297787680355981672505884405645257094616683497040471721980241679616912483788844007649447969703512155758482444019770785766752697959554691538291379700303132353876869628124563105576278585509058450081192711918856522653293896204836307264696289474219755720645459588331890558889"),
+ mp_float("0.050794987604154532871523976044438688478988546522275702591135165295075684834775069782087540212155311599924632216878717363279038406203747968637573994688146329296755023729170505930935028107359530042909822369245609091696704070694133386183688825674952803613566914142157159664703170379754943610785780639205752343103591085978554489192416588288410803225066825839880971435465232206429722600557780654218330146221"),
+ mp_float("0.052704471221201384879102044313723519214541830844294339002006150295000261803629777930668202713875629368914012613840180174156598399096984605842000917709330893871365961242812860633022132663435078869433262371062200555333508565564704972551921154864927879748108180002977668648111714062992755985320189721615088748697314805428967770533095416911693326757965362169171309026356339280576158225848771071227224373815"),
+ mp_float("0.054613762155003812122160305957618147686113745063989650607179163157398820817715079449268802189362998719256947035541552524839497119721884536865240705017403409053301625152685151644761334409897199810093505097528650897729279062117617766845257388412635800174656504897022571125534403010151970450307624961920347280823962725005822339087173498538012712497715370388872960900453285934131578336748483622553313648565"),
+ mp_float("0.056522853425350019441850338124226420404372628229474954730316461224029279793449121148941830155705856364290655296696008865349058650396297667951745639266344993911111272076019522476315254920931469406381088740392436352997178777214659473302034620137440843681809428909274912969436139312159105442160243076856936138443854294531618433726198293972487505166088883354213979143973990964298454127970039847456893860203"),
+ mp_float("0.058431738052758164976379864942430396555977098734986011309321413104802080798824039565461521608355122102022725461220269967251619843394860641070621951433765763369761658916816880868188275032453137184211673934079277285593935159478757148621410070196500221526968060556586710920750728824112282461003224923995158937905479480579208549847478185757177039153501786271361921802927586114942206193581554801605680183774"),
+ mp_float("0.060340409058501876576879058406717550375449897922866349024612531373677724965692896763451690034750214807393086060232183962741893455630800282528706094634312497867863194252914455062127544671909424505367559503649890477570116767021509485710626043408265846213906257952113003324887350087083283630715857354116849013376841533857321740197047217435805280085872071354373524395263864933170034771001607559366437835689"),
+ mp_float("0.06224885946463576546133123915706193746686049729742751789281333411875145041642253752249398319274836506892916659694331849766284472811963607782488993959669913942440995816339529777656740297867471191540909520680122909159182411803441391065468297111274482089347737322313334144161837035757661055283810143238846811496286086926075008068489724098160672664550444107807861952850135669761489736449089327971794824585"),
+ mp_float("0.064157082294020937013292141108273585068933185681722806586173136512969086561151000586083228827704474922133659368208499428517560937267711287558275856325851735527047525549135602809953924346232393575354505341516408877034795144989051337120442048812961016500803766780090428411925756071299228254760633032932651170483895163866111455935100454818941073761804284777739005007991141161823471943803047351369535073521"),
+ mp_float("0.066065070570350498632132342303164932774411476452581548988386145454309844170784631219900687545375669726062411278210148833761887075889382631711319762066717518842787273543143969874177059386003262516941215168234997245420735913778365997498382320917159517052861653706668051150014889560865161606396037665048820655743861710636504450723955435275019348223982732095398949832565423361714391500479155224225613768011"),
+ mp_float("0.067972817318175064541548243754498015429928588516517183822313264446879635682093113384264993280408482780193047687370305892309106748875519486540879020142902362307237689684697063792225838111742241714789823601251998299331254097504567214769822096812914869886418586879378868131071702869283011709161582762527864014863950459121468893761825841337802563429112718615110803469902519051203360473993644451463303576859"),
+ mp_float("0.069880315562928257463098098362562671709183706398122146969098129179472379455539984270317889382725678551314678030902515782188203802362460214070192378666311369730755912670660970378408284876465192356340335277225457776091515934608751710356445501169982098020701963512215973413220903547301855847279762573955110834619967590588317288171580291576756417265600792610005176888567344924086299458709493921684370833814"),
+ mp_float("0.071787558330952207061531053207739391124226218288071373402959685303573894071937999096931283415397385296306228484128726125223568292760110763075739612174182840148193517540379302896938375357744754831885570482299802985278525692833941172622048860945698352794727105726197891701070706523197225463566498764869186174536278875440544967870368440256565084805804998877012238900798874720340885805165811704445925369809"),
+ mp_float("0.07369453864952304506868897057861922170414313661538863465614770246556638808351254050794164760581857499175318127117745597595046399453737415234966090460819383278338184265518294393589316067434296307320873514873375534499000895507092920123162793722742278902956263178675873980121089525814840115300730124457959632013360479776554262210801798434607194598511786777350540581826836696200671400628870250659962729555"),
+ mp_float("0.075601249546876396992772935963040077834759122887264324876826746597298507042570795315940378957369646666545616927930046677179646722187557860442506025110541968257406052679604681892086517951648112201767029044637142334937786145563391280677987040697732028896674786378870229133792190093646530752257521390201161387698590619925316803401938362974478273195688740273778224688121208296858072701246429755713258468481"),
+ mp_float("0.077507684052232870319778844857360483087988665809157375994805235390695227945273826842335916971262245322463861698987988491433092759415620685754813456247989287157909601376742141647886684380473379403067343977633347655683745871434202230624968375294472571053679501320680048739346844244553807193670436672857163839591129928936603341033670518982144557944158002407590669543043048232580344768659176122645763500513"),
+ mp_float("0.079413835195823539113919284592789131508074280056913456617148863190077260584186476150168101766032692499585019572300009477107342325731806003539645749720998260074894005503243715777788187754550286488316966320623707403846973934258796072434720381188302956748572794547906591019552569722211941807674118070825610462581312695693650893380241875873254675082431417454526920871842555422162216221640850141209989864308"),
+ mp_float("0.081319696008915424923862092389736899811819511475112310887916890436246797704730704673729056088324784096921353721791055102563812592375189346816348952621603248827528923433998597558478366712658235656924601774921095079356565867874041683517103417362062033545480747089630436317004907748679995334911923789802669273406449877710501792905734235548100216242648355048174292232350538531258791292074224222773259366265"),
+ mp_float("0.083225259523836973901629476483826882570495097409722948211156651871411915926347698443317606324912095013846386144848076019334983060323996364575622231284156371311209803383868297666027142776492604713451401116304951916037351315288808149328656282592946622481248077426878390562084748274992526750980236994304445617883874613002677387890383751048690275480465558930319669630406765794141303531112767626885032234711"),
+ mp_float("0.085130518774003530041015433371012162123590338565297712899451572274044870858132401685294989726432756808251618198809497117031428754224182463768189333992610411750324249283786647605964593556580841488686189374310703328490638378071341189999989736919850819640255203388192531225871093915262442913255553964348789674386732423763999398384843950222967487918049677831350991752153610543052586794779289758903475438463"),
+ mp_float("0.087035466793942804442393380943589773874807384137701777807755858606555806090045313793349743667697666495784828540247587627381581545620918795107877715086227932192756144780086856515641298195558204484728115519445514732755572178929839231921546119143469647706999890259163924570037168105911942268212237224359201159897493303064534985539474450028748960081579369980283792804593122976296597796047722827878891322393"),
+ mp_float("0.088940096619320340510800454481897179643787714504988904779549430422905882044782054375828906100456879992313640144934242418129400679706865644316664458061953684856607341811667576418163339843372041295322709797007871604740491453013916791024918954258557372755707588171502529270934617054742841996068375532958173787119651672031238405892943090742861150287144368470297356054911834742041692715934237148148936307154"),
+ mp_float("0.090844401286964974994199780075024285173534240616972938308566124002318176156233343333797652771250228033597767340846476094210813299723066344955542455246897302945908336756464582189829335315055318509171623072382573656172991307091055717376996812421994002305994837615827430425975713541786272473174908117299253875064746541808768776888139494200307162476704515967971265236163183394620211890252072718610942571965"),
+ mp_float("0.092748373834894294768837248013614869545920040757666771889792264347367335922283987944081370356939214799510822558638935486112190359701790662792925773186897671244831971450474952036618937833706899006048469791213129922302798462311426294239282200248625552430083292818594731518350634587677158329361662244008606299358410273467156168469937529868888478684257396004386633746334360279683178784117372066095688934486"),
+ mp_float("0.094652007302340089278624856973167138217258137565762699413364163993950641989798336903224059425798872308451866930780842878435503832366316245159154044350517727312654980455290163514021860802028251981954724580292247887851185639950862672925642859475325430465650514258094310141033116303195908372018392349011340787373492402788283020594141795669947097771918542864972570255253465754192708165241608041715996375567"),
+ mp_float("0.09655529472977379853549858833033074225823562054271495313739665642376685099661084023094270272485976247900824483810911634635819558334630910267353320029261330296977292720266655308513559530586843550229208517388789783011887450865488554143475302590353915732321663418057567573042594801866258948380684000769091353165879953111046260532796891917772727185993569684246844052518121013717183610828519193371796413317"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00112_cos_x_near_pi_half(const bool b_write_output)
+ {
+ return TestCase_case_00112_cos_x_near_pi_half().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00113_atan_x_small_to_large.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00113_atan_x_small_to_large.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,109 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00113_atan_x_small_to_large : public TestCaseReal
+ {
+ public:
+ TestCase_case_00113_atan_x_small_to_large() { }
+ virtual ~TestCase_case_00113_atan_x_small_to_large() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00113_atan_x_small_to_large");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ mp_float ten_pow_4k = mp_float("1e-100");
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::atan(ten_pow_4k);
+ ten_pow_4k *= static_cast<boost::int32_t>(10000);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999966666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-101"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666668666666666666667e-97"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666686666666666666666666666666666667e-93"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999966666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666667e-89"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666668666666666666666666666666666666666666666666666666666666666666667e-85"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666686666666666666666666666666666666666666666666666666666666666666666666666666666667e-81"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999966666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-77"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666668666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-73"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666686666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666667e-69"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999966666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665238095238095238e-65"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666668666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238e-61"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666686666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238095238095238095238095238e-57"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999966666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238095238095238095238095238095238095238095238095238e-53"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999996666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666668666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238095238095238095238095238095238095238095238095238095238096349206349206349e-49"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666666666666666666666666666666666666666666686666666666666666666666666666666666666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238095238095238095238095238095238095238095238095238206349206349206349206349206349206349206349206349e-45"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999999999999999999966666666666666666666666666666666666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238095238095238095238095238095238095238095249206349206349206349206349206349206349206349206349206349206349206349206349206349e-41"),
+ mp_float("9.99999999999999999999999999999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666666666666666666666666666666523809523809523809523809523809523809523809523809523809523809523809523809634920634920634920634920634920634920634920634920634920634920634920634920544011544011544011544011544011544011544e-37"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666666666666666666686666666666666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238095238095238095238095238206349206349206349206349206349206349206349206349206349206349206340115440115440115440115440115440115440115440115440115440115440116209346209346209e-33"),
+ mp_float("9.999999999999999999999999999999999999999999999999999999966666666666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666666666666665238095238095238095238095238095238095238095238095238095249206349206349206349206349206349206349206349206349206349115440115440115440115440115440115440115440115440115440116209346209346209346209346209346209346209346209346209346202679543e-29"),
+ mp_float("9.99999999999999999999999999999999999999999999999666666666666666666666666666666666666666666666666866666666666666666666666666666666666666666666666523809523809523809523809523809523809523809523809634920634920634920634920634920634920634920634920544011544011544011544011544011544011544011544011620934620934620934620934620934620934620934620934554267954267954267954267954267954267954267954268013091483679719e-25"),
+ mp_float("9.999999999999999999999999999999999999999666666666666666666666666666666666666666686666666666666666666666666666666666666665238095238095238095238095238095238095238206349206349206349206349206349206349206340115440115440115440115440115440115440116209346209346209346209346209346209346209279542679542679542679542679542679542679548561895620719150130914836797189738366208428128459088211410192834341441152586663e-21"),
+ mp_float("9.999999999999999999999999999999966666666666666666666666666666666866666666666666666666666666666665238095238095238095238095238095249206349206349206349206349206349115440115440115440115440115440116209346209346209346209346209346202679542679542679542679542679542738366208954444248561895620719149604599047323505527839893164970569113274066834438351466215243304983108499463325146458811824271509689681318218133e-17"),
+ mp_float("9.999999999999999999999996666666666666666666666668666666666666666666666665238095238095238095238096349206349206349206349205440115440115440115440116209346209346209346209345542679542679542679542680130914836797189738366208428128459088211410192834817631628777139613052925311641589740930163598087002528653948764327011735444703713649735994600714288656350334489593033695272837185114343249547095046272603174268e-13"),
+ mp_float("9.999999999999999666666666666666686666666666666665238095238095238206349206349206340115440115440116209346209346209279542679542679548561895620719149604599047323505575458940784018179051162265592202726621494746410579611835097095566286199717626418813764642659343446728207455753397291482030056516178836684094391777365260695851470017381944166954115569576329193296454393446430574957840819236721213626802085619e-9"),
+ mp_float("0.00009999999966666666866666665238095249206349115440116209346202679542738366208428128463850116128619335776637836253560167434464812879197215298894881707269927081030999737549925482008672363799937606915962379247584324159094536421375755997513179578610677454920512897850953612762990732913046921088456079984429888220262137400213929962691532176198436788640624698990926490105259050461938357510947570244880435664081"),
+ mp_float("0.78539816339744830961566084581987572104929234984377645524373614807695410157155224965700870633552926699553702162832057666177346115238764555793133985203212027936257102567548463027638991115573723873259549110720274391648336153211891205844669579131780047728641214173086508715261358166205334840181506228531843114675165157889704372038023024070731352292884109197314759000283263263720511663034603673798537790236"),
+ mp_float("1.5706963267952299525626550249873704896065212085331517483940102693584808194810202180293789115097723406333076648941055516492022741759833189628737308869915412879148320539754700057326930986734751013960313584219296445913757777000240665569182597868494941800236191544832206381775972559949762275927455637707925634113006817837919481411335451596526426779712759369563859151046126747697908496855825977735219514481"),
+ mp_float("1.5707963167948966192313220249730847754318980330208862438222342009158129649367552929648110725556184185509578339104318071142673796252326115673007840833450909541260947278453938016119958041324233151995987794877839930865561434524027270213271053829179745357590596408023867275770197075707094053216000680544580256094089113804288267449089904640326828789035666143699659867092108718279796583028512542392495421779"),
+ mp_float("1.5707963267938966192313216916397514424319180330208862438208054294872415364764378326474936031472490101815502336217205184029120016698547471043186681600526965471042074304163483259318452680435202095109230279463923963492870040904012032740805456738144599352893425202988524603439218707929425378295371082108281620406379082813613862672159901100496534463976107550806601465567059619048829495421806391510160463001"),
+ mp_float("1.5707963267948965192313216916397514420985846996878862438208056294872415364764378306473507460043918673244073765899887723711659699238229101634817272120007484952330785592874771970616254211570733230640365810600043257395046296021443620234312981206088055277773974880349347475097997796620171523611445056144296707974573126845590321623615288317089359131170138395627805178532322154433252386274406088878525130896"),
+ mp_float("1.5707963267948966192213216916397514420985846996875529104874726294872415364764378326473507460043918673044073765899744866568802556381086244491974416088261453206299039561128740224575416159622681282588417758651991386266175167241223840014532761425201608391327088433455208280958809539778973505942839152244275827508237604782514078980809178018719474972957865632271450490908284680846718670522639450168825443945"),
+ mp_float("1.5707963267948966192313206916397514420985846996875529104874722961539082034764378326473507460043918673244073765899744866566802556381086244491960130373975738920584753846844454510289702985019506679413814584048816783091570881436029034819727566620006803196521893628268096302936831517800951527920861130266253182819592915368594665061395258604800061112367475630116742454513973110064559653064241192080164878504"),
+ mp_float("1.5707963267948966192313216915397514420985846996875529104874722961539082031431044993143507460043918673244073765899744866568802556381086244491940130373975738920584753846843025938861131556448078107985386012620245354520143421118568717359410106302546485736203322199696666822417350998320432047401380610785733702300121487566396862863593060802602258914565277827918940256045031718123167711672299800138772937113"),
+ mp_float("1.5707963267948966192313216916397414420985846996875529104874722961539082031431044993140174126710588673244073765899744866568802556381086244491960130373975738920584553846843025938861131556448078107985243155477388211663000563975725860216552963445403628593347290453664920790671319252288686015654237753642876559442969539514448810915541112750654206966513329776061797398902251498342947931452519580358553156893"),
+ mp_float("1.5707963267948966192313216916397514410985846996875529104874722961539082031431044993140174126710585339910740435899744866568802556381086244491960130373975738920584753846843025938861129556448078107985243155477388211663000563975711574502267249159689342879063004739379206504957033538002971729941063150468273384839794936339845636311255398464939921252227615490256602593707446303537753126257714385553358352607"),
+ mp_float("1.5707963267948966192313216916397514420984846996875529104874722961539082031431044993140174126710585339910740432566411533238802556381086244491960130373975738920584753846843025938861131556448078107985243135477388211663000563975711574502267249159689342879061576167950635076385604966574543158512491721896844813411223507768417064883795081004622460934767298029939142275136017732109181697686285814124786923127"),
+ mp_float("1.5707963267948966192313216916397514420985846896875529104874722961539082031431044993140174126710585339910740432566411533235469223047756244491960130373975738920584753846843025938861131556448078107985243155477388211663000563775711574502267249159689342879061576167950635076385604966574400301369634579039701956268380650625559922026652223861765318077624440887081999419104271700363149951654539782378755175984"),
+ mp_float("1.5707963267948966192313216916397514420985846996865529104874722961539082031431044993140174126710585339910740432566411533235469223047752911158626800373975738920584753846843025938861131556448078107985243155477388211663000563975711574502267249157689342879061576167950635076385604966574400301369634579039701956268366364911274207740937938147481032363338726601367713704818557414648864237368825496664469462809"),
+ mp_float("1.5707963267948966192313216916397514420985846996875528104874722961539082031431044993140174126710585339910740432566411533235469223047752911158626797040642405590584753846843025938861131556448078107985243155477388211663000563975711574502267249159689342879061576167930635076385604966574400301369634579039701956268366364911274207740937938147479603791910155172796285133390128843220292808797396925235898034238"),
+ mp_float("1.5707963267948966192313216916397514420985846996875529104774722961539082031431044993140174126710585339910740432566411533235469223047752911158626797040642405587251420513513025938861131556448078107985243155477388211663000563975711574502267249159689342879061576167950635076385604966574200301369634579039701956268366364911274207740937938147479603791910155172796285133389985986077435665940254068093055177095"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487471296153908203143104499314017412671058533991074043256641153323546922304775291115862679704064240558725142051350969260552780155644807810798524315547738821166300056397571157450226724915968934287906157616795063507638560496657440030136963457903969995626836636491127420774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296053908203143104499314017412671058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477798524315547738821166300056397571157450226724915968934287906157616795063507638560496657440030136963457903970195626836636491127418774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153898203143104499314017412671058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214738821166300056397571157450226724915968934287906157616795063507638560496657440030136963457903970195626836636491127420774093793814747960359191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908202143104499314017412671058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832967056397571157450226724915968934287906157616795063507638560496657440030136963457903970195626836636491127420774093793814747960379191015517279628513138998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908203143004499314017412671058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832966723064237824450226724915968934287906157616795063507638560496657440030136963457903970195626836636491127420774093793814747960379191015517279628513338998598607743566592025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908203143104489314017412671058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832966723064237824116893391582968934287906157616795063507638560496657440030136963457903970195626836636491127420774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908203143104499313017412671058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832966723064237824116893391582635600954573157616795063507638560496657440030136963457903970195626836636491127420774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908203143104499314017312671058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832966723064237824116893391582635600954572824283461730507638560496657440030136963457903970195626836636491127420774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908203143104499314017412661058533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832966723064237824116893391582635600954572824283461730174305227163657440030136963457903970195626836636491127420774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908203143104499314017412671057533991074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832966723064237824116893391582635600954572824283461730174305227163324106696803963457903970195626836636491127420774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ mp_float("1.570796326794896619231321691639751442098584699687552910487472296153908203143104499314017412671058533891074043256641153323546922304775291115862679704064240558725142051350969260552779822311474477465190982214405487832966723064237824116893391582635600954572824283461730174305227163324106696803630124570637195626836636491127420774093793814747960379191015517279628513338998598607743566594025406809304089138"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00113_atan_x_small_to_large(const bool b_write_output)
+ {
+ return TestCase_case_00113_atan_x_small_to_large().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00114_various_trig.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00114_various_trig.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,56 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00114_various_trig : public TestCaseReal
+ {
+ public:
+ TestCase_case_00114_various_trig() { }
+ virtual ~TestCase_case_00114_various_trig() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00114_various_trig");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+ data.push_back(boost::multiprecision::sec(boost::multiprecision::euler_gamma()));
+ data.push_back(boost::multiprecision::sec(boost::multiprecision::catalan()));
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 2u> a =
+ {{
+ mp_float("1.1933383729559773203137729267291947387173342208011247547153095890743890561595544691386633932476257421048110900061166081912943949195747181880197698938173812351027488623304591726956668351876851737682699217189957312877162495237230373808708191601490391769224697378179329863218317580732300824551143583689671403028593009944218611445507878903766448405383719847063127742468033101525589647537043486864948893731"),
+ mp_float("1.6419687273531364590567262071166440461685175366204953964739895651486200745161209040937844868647740537903996967626064986560711138637337304241821135325361595693541390424196494707138586320032467383542843973174977685986944349019525021804348293697747650763421720272451832097977353331515326976664205296758687867984902307858016265514207983161159140822122404062357504219549141106987355182424111888131203820022"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00114_various_trig(const bool b_write_output)
+ {
+ return TestCase_case_00114_various_trig().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00115_various_elem_trans.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00115_various_elem_trans.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,68 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00115_various_elem_trans : public TestCaseReal
+ {
+ public:
+ TestCase_case_00115_various_elem_trans() { }
+ virtual ~TestCase_case_00115_various_elem_trans() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00115_various_elem_trans");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+ data.push_back(boost::multiprecision::sqrt(mp_float(11.1))); // 11.1 = ((1745144855606067 / (2^52)) + 1)*2^3
+ data.push_back(boost::multiprecision::sqrt(mp_float(22.2))); // 22.2 = ((1745144855606067 / (2^52)) + 1)*2^4
+ data.push_back(boost::multiprecision::log1p(static_cast<boost::int32_t>(-1) / boost::multiprecision::hundred()));
+ data.push_back(boost::multiprecision::log1p(static_cast<boost::int32_t>(+1) / boost::multiprecision::hundred()));
+ data.push_back(boost::multiprecision::log10(boost::multiprecision::googol() * boost::multiprecision::golden_ratio()));
+ data.push_back(boost::multiprecision::loga (boost::multiprecision::pi(), boost::multiprecision::googol() * boost::multiprecision::golden_ratio()));
+ data.push_back(boost::multiprecision::log (mp_float("1e123456")));
+ data.push_back(boost::multiprecision::rootn(boost::multiprecision::euler_gamma(), static_cast<boost::int32_t>(-7)));
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 8u> a =
+ {{
+ mp_float("3.3316662497915363138017163351050740123029099404822263642011324887361626333558150778943533677637033852673761075733661241535342719324629412883795681516684595884259268627913404262698569001388965568579231675187485558329325678097009983335981666643323669647023172913052529896427425627605165069270478920195155121935680494401807193457394645472702812758807294047102066177904446251427303897345426471649668398615"),
+ mp_float("4.7116875957558985098507875162620128061690129475788801227532106780480120234163983259079985174011014332776991522160890636247110110769880225928638579539128076654921277662524537327000443832648428441830990733809094397245318223471375065264940204243134836041847961189594406872096267287163107081796284624043272768827675656320697454316172675363077975284048373464815879028949851595944321610035771701332253153366"),
+ mp_float("-0.010050335853501441183548857558547706085515007674629873378699425529583009004250313649708192549097627693279784064518767259827473319708786475871668605861900492707846971603671530739391724025806230580247206178651645427569342330598199181125422436874243602929435950123041048547079391723158859144438310470116120194111146550799330396389404157201875299396788203912427422325468369532304795524249400872590112915071"),
+ mp_float("0.0099503308531680828482153575442607416886796099400587978646095597668666642476389110326856965627601611645256051738464847880707475234877013112485359899665628564615468674191312254128121384929569634035662311420062749767020318080945113711680039487500861722298334709833134706415660301243104390365074857226746826501028437726918533176144446994112862867598814525626236527610233794421932638497942402215935006079414"),
+ mp_float("100.20898764024997873376927208923755541682245923991821095353928756139741048534967459632776585562351035351450168279393653384377181221588575053767857396519531022492161571821650076544044755702710430160168973617276515179677189567495062550107492963593473020068408166880914011743653172998209568582678896715345583697967065712022525624992802949423231363066249572791180750909152692390646879724754099213207878112"),
+ mp_float("201.56695826391669891484060229457840074352824649555937585851861180389637401059597587799569259785560793163073675211472303135610446118016780242304069326235745807669960224796458389314767508512512810379927640063544680457647936488714348314346217461244266504034907313854230812616314236986801579828197719483431548799748324821557239155549153865686727284736763212173136334893737530035299042023762017056115427251"),
+ mp_float("284267.94524067290396612515302951286761360158538015379652917052934185264410032722780001527095154144752010597474672449111128620637581726299095099317343945919225680179231103967867825215981566744575752134859142362967335942683194454033875007143433818129501172005025768002458172123478515751450789318963382020743722516415433160998653579931174513065026878220544933245636804124882807355274273332096842746857206"),
+ mp_float("1.0816694299524247579186153119085360789866650367992017603390843068161712998339498702396791674218642297226347712334248832546074085808835706417784928170735620244190695455851396464915714066595194789754021280462136599159520731442914812014989757230840645193891962711843707194438177711168288706642437636252590584704473197327587784575627509258978908094415555821145639234371041850584058577985441019352338096049"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00115_various_elem_trans(const bool b_write_output)
+ {
+ return TestCase_case_00115_various_elem_trans().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00121_sinh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00121_sinh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,108 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00121_sinh : public TestCaseReal
+ {
+ public:
+ TestCase_case_00121_sinh() { }
+ virtual ~TestCase_case_00121_sinh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00121_sinh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::sinh(x * x);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("0.33937643772780730649735035088117439284797964277099188367427256402032493952288848579083622213428182842627923924487560393743204013166230906610274533504451302298480596207257724471359936027198954417317381228420986152562253196896619001418292769103034561794393400788635610424360775622370491149170501475453034747306600304507650361914904138327962144190354572359428689767990353722392457982930942617983634601752"),
+ mp_float("5.9746833446871871874685235810964396457491766537010251792063372398172074828151074989468673672535421045923659313715467371148678693662985453590831122722616951299822923837410906027605763677066945998696776562438704017846907508677186762421899376364636371743116519071733413775650991880222096045615827530741679305666041641331859757012015389431793705875600863391408448065773828563483223117178640044499399723744"),
+ mp_float("383.32826140718915582837967448860824902040431804683461630967288341613741467095168380744762629948507973653220772087887989292128183196493611623766470283358542341824134250511562240487252437079958429586344329111208041197054162309164204144237855212391474938076935722386012246677813568519769393617755607372817372398764101401294149353978426057544810680225593132066193858006901125069663362991172745649465725272"),
+ mp_float("180470.88334757918167934673473709881208559849920820465419382707969109187448281704429118605409224039018180517847684905660962429505828088398660499158213746722168139372781263849989865384042531846290813274318773753295025006473736660333640052386121946183935053629928496714560749082485275242374067168149435272169334475060524974384307351757201698786200303374802146857634893509516262245925287553380389076772488"),
+ mp_float("6.2781497954189513207977998975338639259302378413658035459603622432839117790845430762753614618299222131433987986511235061633658516824123179660244932375967566163895461895213509376427850290780942550513918615228886566287592461085762554208269169000672149592375451149457664991726947185145469263932975075681560662428417041932848357447220175607720561540370653825438750168143857523868718856189519864027430308779e8"),
+ mp_float("1.6137831147508521132232267071463247985636947830692243664921522457394294988129666666745854084767325882717254318322908201512400243137564101564235450151960593110176457803621675408660678871179456625850704076654060872094257085919134755925910859520026379969099492921728083639989029675808598278170215911879751320574053132699172028082102336989338403081942130794464992491330850160862146024982135931859868176809e13"),
+ mp_float("3.065121004865094886953119667134247741359538615435533822684602797608029400610449009335078883525336625519599034934744634528257351124420564267197918749480389135525897886434344884370577475363556341414615470556433033106705280531443046669163916446454890662947185057748542735928453570069226294801221403438864013368364219717148075652123561545773399076318560221173734215703610924057158101731263882232550297741e18"),
+ mp_float("4.3016893602106215864771434464025735547192956887049374680649926707919814241961779812200280749930256501997849507695395125441756421661413154730888574483309057229943886742437071251707738990393977398403536175642762242808350076543018009682725019125106175929448866428526984370017465117236484653179596869643117790492866002064306593104169410537341890174831622159415936125041593936992634719906123727028419057537e24"),
+ mp_float("4.4608685929681360001024935791890661655506049487122331222491789265929503651540405036031990380918459104583255735620288691363060079360758406339887417913286769718423759522832754263499878135869223253358698774066131403822428286318351390574838877307934317251880890827523325360658275060099119902102399714992704146743744108968362755624325107486994088414126705458507082103811086372240878942983212662081104875997e31"),
+ mp_float("3.4181315955816806472569357441100390029536003312981931954091744304974491527743599822230006760631204302243855667216955365986192324833652299336285826148922073950348547795494738267861098328516497599288314822606511466743212319770180141969147554023326883651348621187276823849839283609071336923316655316828855943689100621619083822127788284160652232283630351386798636794979234576432977468152969056493038423561e39"),
+ mp_float("1.9352946282727908101414530212785249763640776919052480158881659190625166733449770912626442628329346416132299268886589920690636914906717492301836773331460154604580407945460359957380672599434023197425489039882987443681919056322268437224184910074985583829184831034293865504101338027818555871946080687710035062238789949143319550108801094190098446234092310048150477274502060870736716324117412815209633124145e48"),
+ mp_float("8.0964449511890098565841496436016431651692307764702784234901741408135381374668439020986470675941110923614446905696410406066640351065195237123718468440597743167713019447544827353458477844468727834630038609140168354634397475741840053079910210908251252223665806813131724262334693137656218010287981601097259534068903471812189212459231851835393208367369054618963204727992168556204168791513644815218096463093e57"),
+ mp_float("2.5028257092625174549175008952222569141816383637904981644379473858250736896174216539673733521627607209322019413420937570273676341726636306931304501320694017061891400181233108050930610234076339285157392030024769366663118692571469493256243952018705693924919037621083041696227375589264811876761430035546270312014570431860268644276406457398485042029556392894799022733858611415899182421526634018060028309384e68"),
+ mp_float("5.7168370213792649967466315312864179662895170192695050789061362839510836418124645968032989149068311018994324517420345278843446068634292140996241291031113395887824145000873531937856827299256489358571593850210528248202703396455363364446996158929674989959483681393263782486430231288067231095140919741928337466492665857902913114664767450432510739209971738097074002526312039248809036478310948111740897528204e79"),
+ mp_float("9.6487261169670031207955841899729386502708125098394777808615183927342163909284025992243201020435915122698808649711566042372911206942311277943247994427354130507790526857797833309691667375441761513692598664419973302444660838882173718713387158013802112502169254860961105745895124415352002289485483908952674562396552790441656755711709645516914188860464353624992313010889765422981069429049436524222321550149e91"),
+ mp_float("1.2032977660238608232537005158851668311089986235965463249220377778638489972355974848209035082333822309902237165042868213438627625544096344578102199846440476859557339736747791529782018329078191477783605471526120462726353510147373798347292650122930289404816748193194907382572774906323766342758092979989633448828636445074016110331338699464788279882402189027828261039788079556739180915346692779065476431369e105"),
+ mp_float("1.1088306081278288754492401130897590262404571813281460605683836139669281218442501421935533170636990866165181664561596333701204545493730707210930818738817252706131805203538144119244917164949716209095542194899833868499263375700313934257155600824601418042452138211549248837967344874095248283887929145923103153332810091693393888809653081365270947112297406471162377655179657693898463736926911943490619163092e119"),
+ mp_float("7.5499880591625965663868042832675300901799245732418501707646792135512053284835138294796976048691668315442427834949618514094329533376442442492757936744857569785450769927581802961191319878260712808001736830227501518832554201816224207300614310712430470538022948957433004823102746037654096845266998518623332118892916505020627868405618942429551700207476696585635930562973459491424179233918050890206232214765e133"),
+ mp_float("3.798536358006797624025033016530070695826982685154937173246022092345982280900791849578041210970037835270398289956157015064696375146357207576854029748413680946201805214954504282866534528711715039215051307866373994662368105368505465037259587291440042344663580680646178313958620437868058550744621854406871361710599007951099013146571208384054250556080476992977623024059268095813712424244902009427293468485e149"),
+ mp_float("1.4121319341572581270215359848706630542776633675711529687593487346259283960708095601494823112486631023721124235640943167173029348028743563902367757599140008654691320430919753414890689949599421028277624880392344132646738394546195638261279687543208503932172926275294218429086816560213399180179494004109164546844899632385177835442946174653663068675983237955855108059376913611877439522917217336109804190399e166"),
+ mp_float("3.8790307719997974510664339744260233373881096199933152202662556556779783775106563986911859526413282055258612522499767709123313205863879946518297779104337686883587019222829967005608205535314284003183828513113021722123872387036435113517356676447376715595408179555267871947671679098986651665719279348025058713817796876795915844151719103197410787508530261619841035613531487094949084263218956635085585632719e183"),
+ mp_float("7.8733605373835840397434523264038598405672829925651165847065668324385430746087633348848905637835428739401439679896923081980364912472282573695612463537585283007941057172128277340402716645674443632827653710173742423648839359547777694778576675604645880219833375227941998426325886558435214355022240854563558864080627758653439429917072753785194675103766900514602432580639079224631229479607396935864512990879e201"),
+ mp_float("1.1808262995038900942517891457926200063018079695348469762725520377876370005771518954251015338402886097689762895044056273430051256244413916763438966705458118354189107806216991150264176024521937328179762640422127608560103802431672144866013216405157197709788484197720057702118788168789816074560208078260433548283881535909071116553897893659656781376448427981358955547508806938614921874867135186509274509121e221"),
+ mp_float("1.3085817499987842655130548827168955655838432140245228169691892267707778790498773914833199368916114043966197329562444577848635313938483757629541576533880917215885485474416704968999200090496252044959849927443732134176975867869986011315975625868009065373046224716063168977788103866885720471095547385342868632018951910603936835789387464412366605713487321530237148912677199033012777178113821791621549557963e241"),
+ mp_float("1.0715308148006899161903881353829644069217121138682658034413051575604561649576261428568888094218620444635013220705511245290719605273316790249367622122178650529000528086055415007045458486410501636380119413632657994999412652188430063128470336817401482172580366374079331295129200936246446347832380606353293858222758687479612927181530236387227215663399410099251455256898414199913458340065553949424990477448e262"),
+ mp_float("6.483319651006309502237640505955012384293570932602353784849377890534620180296272226076424490097577093511886503973590409376477611667988893542117173598716788837179265384921201772013611631892729250835822804494742316330406688475091973437669111728949960922002370308207819760146543720499389938855072810566961589413895110830251224194598788696990065693705615156654866578134664648091752361824241438921952031149e283"),
+ mp_float("2.8985391304542768293172709775230767981477721528885408305355619530690119426207269563049756824939397157221877775531212262059946098575425050827283362457005503261796116156917077778477251551070762614233325253060283603452216492681531839154649232080928787066338399915850327381614672456102374248950210248266796072457623370079195574322846594267768883120374288952014885152055438195794090975578878933873824774214e306"),
+ mp_float("9.57524433627083921372674145950563946532138741951042299439035158875449060589509856903496678820625880407684156184675763001790613289835869844325821965070261880894138207436003366195024403902162467929095155787852409710735775347490909311196315332711680552044467458169615366116872469435840608534489425322247278926672059747911266981024366989976214521515026692183039600169984107883592297128416659318858313127e329"),
+ mp_float("2.3372734503362369375381009524197350830316472034721759761797536237738670471009423543542251572488229045699598160834162677357730620072441755506075897500940629883044875771104686291523502165266242030847074909362622098365719455332359938746138629161304717385265309980898079489959955157644566232440805137701071311495653330606071611331941246434767948905863368638163788562679785940566685500460815077065003612487e354"),
+ mp_float("4.2155879126937199240969909448599186868484717887298729605150033299123534992857332918168135230843738695925698383815575417820480732378749635394939513838137876524333991937836847074991505476867647762082587225838063325020413513077128321581439429001485977751765798011101092072613053687422983352140468569171564773941232256057064161142341661775359191159220450305300322654184921617310753474842253496677498824723e379"),
+ mp_float("5.6181811613375701248970224378256740494692066242437602652469740512738297599235414593999616891945156186827736326184687322137498447792007445397397290336810468925670064733464757082986791232916898141597610692740388799796632396708149027243436859752526805112778790645096555770227809873695589969805678601106157556386974221647669590827712353133603091803570183764883405340587430017053183637835511899658145649708e405"),
+ mp_float("5.532511069282205350923830187073466127274584467195468607886763750877294392993663821432158885753563495238131394373865428654052604326264330104646257659760161386620716716703631608643312613245804625511813964275109451513736558514977338129201153666764317441936156609643185133981728847167450887861106642311329612564652645663234240748195490808151911497393974690166034839217817023634217121406163178148652748479e432"),
+ mp_float("4.0256666306761331240653217136731531623017017695713942917027851762705346357330788586411431378972009980532310757689380174461664677676028378924382554201434975574729861177781849023768222381429947872325368088023224591306630434887529215459580760863075907686248521168590309636468448648513752893851767315693469638980874648457114335557202115472595647478331668869318302753802858726588719006447471192697846325955e460"),
+ mp_float("2.1644237346681663424601781769159797919834245365230735589058796985974745594485988855971413936820871935714602237643458356241187573307428309041919648027960168541647193436225977495680484218384107820095589356463058222584008532497069179993678533431131233629312850771528970443634604290143149079209513868130585713006080733488491160321145735562062411305931183571279530201672366980412430529846635995189699318073e489"),
+ mp_float("8.5987580981195983662047247216936066485731760315371506386077056691409579856014763032619539539935299716110411688793466397984311640631361934500807639285587334983206556915704635831992012926186843826981296831658998834850783404713050829093753126189556625095994621605300047199962332098857236359801681157419606676412198783092816364336047306243999363335004760439115355072350465422891365411868472688286678516314e518"),
+ mp_float("2.5241673163187127276134610716954724162270290228773641734420864618245211926017624829840685860130579257772126398622324109858115624706486522844752512951837805396709793171502497523431473021570806024043139443284538862368635312799539108264084028032731295487282188616820261689634926427135060887942797635147693849950058672753458576476491733064455826768562371858057444914175251596852571637211466017938478085247e549"),
+ mp_float("5.475067911823387661325942057081957044927796274441278042805014835144678321092623034147031518807063234976073102574257079170283458172046752719724152941316842521196069804425876507927418423409523739261726681120662097159943049401039490818332686968135012747332468921142470970507219403290422458185430415836291605355383658657658638112408092789126678938878667507151950931633694006471359998448912249374833586727e580"),
+ mp_float("8.7750549689950256776639468724574158629603320014390275681028674550826357080136422399476213432791376656222763800628593282303459051561266270006921840049305819767639184391149913915312831894296821356222752594264134130151457242713539248421883837353442181724530706933220158507240760325182068001553294949268596178418634164323874971937997072367419479635154591248667559627811893588163238012665671798461211917208e612"),
+ mp_float("1.0392000158337773273751156576416024664653679689973856373456304843339302977923254238376497044027728158058903302390909588333829463843362779584402914847447592731182614369968957680281500946805571235013941407979569788567794900810257154433592958167545186687137810101848000107335074486050959387974516414654638879740966175786016492797845169374594168995878543584318334800124941205910589727264397237600733483158e646"),
+ mp_float("9.0936326753636727240574546678839170665019169110943878894933093211555976995701468041449327370073681898690638466136204694745206283652338526673125958055131610409923286526192661778126811265116493171283319361595267283588121098349703951929669281966675596890266483864217591555707552765565756842701056144290075867893520379419521775913047964393758374891516340929062076304350159966063972713118995033247759001609e679"),
+ mp_float("5.8798281636930489964162009429009257867906792508058801627042121953599912951265315933723440185825519080102988056836911095299854840387008575164090793635997912930561430335216151607097220208013034399895832350235280120270626904356196935166701773768680311063264380891331021514518757839220818506905997847228783439015252768055166165941582030353226255576433910936297965207260585437762430381969160714956727596198e714"),
+ mp_float("2.8091881292911108404345975896815558958477835260737794579417284512413473388968057587088555041266297486841923628702282019643659456724373332519583025947015025975126598748630623031951723754960589046233996595466021913942587558326660593063197905288573353559106884645285531497626940379800500474282446929237914568534665868703742731713632349090897884403966643055728471509474896855575286123275564417626861566706e750"),
+ mp_float("9.917129372597671132067673866739246238179742417231064062960232866725337575281938597212073697168000155027158148165861617400080837699968785505107579831803685516054837447325150388867488754170677228096524224392410232206238263933144338637103531441623303187445874039234973380151391274490746625993568552049954630793219419614845431626975962881182662815760423226111647056071831411664335144052772436215105801395e786"),
+ mp_float("2.5869027163543111121878679987081647715187872826677398475096738640583659800068967379551376322170347537454918190603891312949716382621902484616361664158953484778255247083652726854621059785392022847887382779010079407502679229021085320675903109573769331277413372272363218896397965662581357886739691376204316908974081821980432178065394228926767529685562155837452626029223937027004015040825450642409597700449e824"),
+ mp_float("4.9861251931207080923785686798881789193813879610842675205361210155894774686328710893906543682447029206928934967525495260314937837003448878215156341411477636831113484416124080974502217578408248150338565305116223944900839866528622960352723938548713319425798453345402992146078868053263606234074443024155243450623634720912438841022969909473424559262711669905282193529250216454066716533180418518228387188393e862"),
+ mp_float("7.1012569014339068241101751233953234216522840280342406520909288232012799547871960723719836516359548198842749536961644100550279020276709043358260853581760590386456213180291689322352732545965831405519844109680619067101311180959399339922706596098526969148981173519865139508665631317310424178378833370605922449094745510812618563813537347841030916512147874232760564378443782164868016244561788356251308121716e901"),
+ mp_float("7.4730215360486642135431754747074885377840195683583018254892502245011973712084221116813364423492802080799768174534590613188275471080608467087354983850284805514875889145266688973752185071777341375422809910165581997555433091939959406569831183459872344778707098094941193489061532160249775856426569696127193453339548371679229676272663084782830276508737129506676031759345288056484158647796152349867328841634e941"),
+ mp_float("5.8109375364209112227579654658730977030869454388607076903639465992296616832002964138000947668837140543325908222688655359602408511410663722770167244801973012245657865182739637159804595049180263175014778215232564251739259624759589953677661356104554831551073263668188283861123521688445132164147762321111597028523130093864153999974376790494383016372210442340324038686843345053322425194077414241243050491297e982"),
+ mp_float("3.33875955701899627718146291382268063073604182131575843695486667154496711979350813988644889979275310892951143249901398447859083674739840084454465850475774696325142148671937407108540250845900941142800157345665761403930889797424808979569550325271558518404559007551625637761142662107757913763221912282957681784053564387104062317729788737215450574233690655931888608424916152893688106181220341997128198692e1024"),
+ mp_float("1.4174672877823334709610117319768830739080734407353905145632612088824955720198734996604261250019291955883620333545750761619015467840567122066622229379056280064206319780047687015558007624774062399477328822231085767309831266032616053065858739373818651687128093335640388513396191118537181280334430292439188737524362269789272308905723812818882228503013875816702686587035844437102478263525616196832018321602e1067"),
+ mp_float("4.4466189016791091516801723880812533528438597080549410911235655611382010503145789286158745555771483577943662768773465284793798720178177605712848440200402906836390133865748188969184005230383247111166918721449908133920663776952786683837038180436264738937354101153867171804315769471050303182129269442292354388037298125177941217926845803005587166270803697433886463469168814941555804311717400657004050157245e1110"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00121_sinh(const bool b_write_output)
+ {
+ return TestCase_case_00121_sinh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00122_cosh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00122_cosh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,108 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00122_cosh : public TestCaseReal
+ {
+ public:
+ TestCase_case_00122_cosh() { }
+ virtual ~TestCase_case_00122_cosh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00122_cosh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::cosh(x * x);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("1.0560191127459844751259038114395241283965590525302917878166464679729562764239266483419824023679041866569431842053263976225991679105269492268050148624443706785607467750929028856273183654547152707568642275917435773104050171284580773949313906303074811586096214771879801872225500237540725592288167903987152007171391207680034517664218965133028298959753155835975555361514087618679892905973726581183754237665"),
+ mp_float("6.0577917650974496023981039346694689204850927958941226507775366589415588030232830758139222010716099059155799853188868489737439396141346120898610181630988217093945337280471788812956307352429914669334599644412036010014302812555700905490062030666482387008384856645533100266205122930455496234252478878949675888122615795451076521244771554025667181070733415815608287241160724578541982548132473721865287585003"),
+ mp_float("383.32956577005424506758441449272199796616394738942294350035763341369127219359132618750028176886177362785452836065735889720098699937365992620246167965376788963171659530350198190156275836547285437366012371175910490835823389352716981464503672749829183569550509561579181434088407652213421105693358960196044447948190823567291153397039759820680087749250557665869797605969680417240900163183563482342795870741"),
+ mp_float("180470.88335034971169904627554690213669106779370247753503772451628313223853228134148123711258586005038324156900626143047383382773083164188515409766952843294484598668304799186411411329575367546332731190431166613267871177008493921416649792646568096789971466064344922873643120446759328638447781504932928745974584136039698220604099816877847080168890581112550484205291341188894903342677757367415636409890558"),
+ mp_float("6.2781497954189513287619297175142770025826052476955600323495790530946900406209789437212923381830889846578651793922971071825731424267985994598149826652782605981764572599129753631344305259620294513472869937699509893247230674850025066547664563263958672029867981296029855675095947587305949634130736118694040608573981560192569935477462121110619100122692626135788198431038121227062383110684489973794745342204e8"),
+ mp_float("1.613783114750852113223226710244634574082654363427931747177970610142560035434819323665197978270795707611590961019502906079030261920109649748962125930850198625621792763842224096823299250338750953491004408731082880660125641628213970297576817341593254767125933119462446651783267917469179893016103516988279473907996009458208097272806046395206212403180775656514566222835047724943633607736647735739948551096e13"),
+ mp_float("3.0651210048650948869531196671342477415226643123350617715268971834881834615138925908518703584506447138436613632341330640449725016173384960626760387649747643297918807083363913015806893683786389067836005832038060734248371426886808175554210317756018846109627572546314172492701544345965940408777570519312837860014177872754358662463423939942202520475422342889660750666147940146262635303938752019875745307992e18"),
+ mp_float("4.3016893602106215864771434464025735547192956887050537014696231526954713331351791376069506688795159316625154458115179050297716224800318064110052445970764898870599885508391064218065806885129697936678362276766771902589638957537168339190488273555753876162633237990462617955892238424402124353124736879474651977422350856642986446591941163073842974714357745162365700428610167249762162775568692443158879770006e24"),
+ mp_float("4.4608685929681360001024935791890661655506049487122331222491789277138083092507844933483858468341107613657448783043064935174812965310544903547535217357996429824403225005261842368679242972243707736489629610256554995236901040773902962370130989883960298987808008001651650799892267761089302132749037069497452309074389846493140222931714618697738906019885122076310868220596765753447232222740129365498326869428e31"),
+ mp_float("3.4181315955816806472569357441100390029536003312981931954091744304974491527743601285017456624487264929971022746516079644284683284072159616291298593217459064246713801084801182706805865477209408120733740982340972570739267039630582468876075574706187115643861449939429503730606743466086010115127464706315791765264572070452800816054590653675962889901898843712936126341807733200610910325052666512334161414655e39"),
+ mp_float("1.935294628272790810141453021278524976364077691905248015888165919062516673344977091262644262832934899971824373171672037249361491844419302323587942915162859665992916625636813244576210109931852761921719987632855596663907494303248513195744818730879742963301327852160193919379798462926667740594397712731448572837824802330973561570848397758210619453310032286208701226098998940360395267237151018055781640126e48"),
+ mp_float("8.0964449511890098565841496436016431651692307764702784234901741408135381374668439020986470675941110923614446905696411023621632714191313583360826598468217983223558130595633054971338824192327248896500337050246640453410159732184419096917171044075711156867804851018388576371530520943696439917673720450911725466781235347212700849702742625663288687644090935756560022610000629006347244369388824818661974220426e57"),
+ mp_float("2.5028257092625174549175008952222569141816383637904981644379473858250736896174216539673733521627607209322019413420937570273676341726636307131078699799472622998437404149614292337267153201903296102921815263736653035269935857816159086496594269187082442244280898258397047045746728729079796167987895368614037770286371191530575814695859433478185016171380286325273493350193132538052551497175771289873181595171e68"),
+ mp_float("5.7168370213792649967466315312864179662895170192695050789061362839510836418124645968032989149068311018994324517420345278843446068634292140996241291031113395887832891095928020095581695527354104986223411349657526888924224926675682032043363279774947976053895819671003276400297758359779703605970507328706064692923481168676751999124073697599262277247814864401196929320497117521176016017349797292609303756215e79"),
+ mp_float("9.6487261169670031207955841899729386502708125098394777808615183927342163909284025992243201020435915122698808649711566042372911206942311277943247994427354130507790526857797833309691667380623792736661655695464087154725768656507603378053220212067894914686147301550764045337512361478831034999674296837635744344039906734109560908793921568633128400104314078575159786136202769893309913175064586488844295321363e91"),
+ mp_float("1.2032977660238608232537005158851668311089986235965463249220377778638489972355974848209035082333822309902237165042868213438627625544096344578102199846440476859557339736747791529782018329078191477783605471526120466881600981869890379917878811691555316448842731085218988710571211956972016424649758226606500603194972966032036214213759991156778846329137084961334557845326183588274571457361004704490747798678e105"),
+ mp_float("1.1088306081278288754492401130897590262404571813281460605683836139669281218442501421935533170636990866165181664561596333701204545493730707210930818738817252706131805203538144119244917164949716209095542194899833868499263375700313934257155601275526921302332118009966650991624878227108265079219497366770219141098050965023005919495048022616553249266192057652205987267068584616625670961423579715954410508985e119"),
+ mp_float("7.5499880591625965663868042832675300901799245732418501707646792135512053284835138294796976048691668315442427834949618514094329533376442442492757936744857569785450769927581802961191319878260712808001736830227501518832554201816224207300614310712430470538022948957433004829725273067921443635526965673971412049693552004259820173389681647135125678701502084190660111860351299407405357314966388044340723077086e133"),
+ mp_float("3.7985363580067976240250330165300706958269826851549371732460220923459822809007918495780412109700378352703982899561570150646963751463572075768540297484136809462018052149545042828665345287117150392150513078663739946623681053685054650372595872914400423446635806806461783139586204378680585507446218544068845246753010850565341852111017728985713047360191412931479535524815646071456825031827933342626130249175e149"),
+ mp_float("1.4121319341572581270215359848706630542776633675711529687593487346259283960708095601494823112486631023721124235640943167173029348028743563902367757599140008654691320430919753414890689949599421028277624880392344132646738394546195638261279687543208503932172926275294218429086816560213399180179494004109164546844899632385177835442946174689070525154077366030192931540897742543089509897490703511310531249977e166"),
+ mp_float("3.8790307719997974510664339744260233373881096199933152202662556556779783775106563986911859526413282055258612522499767709123313205863879946518297779104337686883587019222829967005608205535314284003183828513113021722123872387036435113517356676447376715595408179555267871947671679098986651665719279348025058713817796876795915844151719103197410787508530261619841035613531488383930867055908047961915279983259e183"),
+ mp_float("7.8733605373835840397434523264038598405672829925651165847065668324385430746087633348848905637835428739401439679896923081980364912472282573695612463537585283007941057172128277340402716645674443632827653710173742423648839359547777694778576675604645880219833375227941998426325886558435214355022240854563558864080627758653439429917072753785194675103766900514602432580639079224631229479607396935864512990879e201"),
+ mp_float("1.1808262995038900942517891457926200063018079695348469762725520377876370005771518954251015338402886097689762895044056273430051256244413916763438966705458118354189107806216991150264176024521937328179762640422127608560103802431672144866013216405157197709788484197720057702118788168789816074560208078260433548283881535909071116553897893659656781376448427981358955547508806938614921874867135186509274509121e221"),
+ mp_float("1.3085817499987842655130548827168955655838432140245228169691892267707778790498773914833199368916114043966197329562444577848635313938483757629541576533880917215885485474416704968999200090496252044959849927443732134176975867869986011315975625868009065373046224716063168977788103866885720471095547385342868632018951910603936835789387464412366605713487321530237148912677199033012777178113821791621549557963e241"),
+ mp_float("1.0715308148006899161903881353829644069217121138682658034413051575604561649576261428568888094218620444635013220705511245290719605273316790249367622122178650529000528086055415007045458486410501636380119413632657994999412652188430063128470336817401482172580366374079331295129200936246446347832380606353293858222758687479612927181530236387227215663399410099251455256898414199913458340065553949424990477448e262"),
+ mp_float("6.483319651006309502237640505955012384293570932602353784849377890534620180296272226076424490097577093511886503973590409376477611667988893542117173598716788837179265384921201772013611631892729250835822804494742316330406688475091973437669111728949960922002370308207819760146543720499389938855072810566961589413895110830251224194598788696990065693705615156654866578134664648091752361824241438921952031149e283"),
+ mp_float("2.8985391304542768293172709775230767981477721528885408305355619530690119426207269563049756824939397157221877775531212262059946098575425050827283362457005503261796116156917077778477251551070762614233325253060283603452216492681531839154649232080928787066338399915850327381614672456102374248950210248266796072457623370079195574322846594267768883120374288952014885152055438195794090975578878933873824774214e306"),
+ mp_float("9.57524433627083921372674145950563946532138741951042299439035158875449060589509856903496678820625880407684156184675763001790613289835869844325821965070261880894138207436003366195024403902162467929095155787852409710735775347490909311196315332711680552044467458169615366116872469435840608534489425322247278926672059747911266981024366989976214521515026692183039600169984107883592297128416659318858313127e329"),
+ mp_float("2.3372734503362369375381009524197350830316472034721759761797536237738670471009423543542251572488229045699598160834162677357730620072441755506075897500940629883044875771104686291523502165266242030847074909362622098365719455332359938746138629161304717385265309980898079489959955157644566232440805137701071311495653330606071611331941246434767948905863368638163788562679785940566685500460815077065003612487e354"),
+ mp_float("4.2155879126937199240969909448599186868484717887298729605150033299123534992857332918168135230843738695925698383815575417820480732378749635394939513838137876524333991937836847074991505476867647762082587225838063325020413513077128321581439429001485977751765798011101092072613053687422983352140468569171564773941232256057064161142341661775359191159220450305300322654184921617310753474842253496677498824723e379"),
+ mp_float("5.6181811613375701248970224378256740494692066242437602652469740512738297599235414593999616891945156186827736326184687322137498447792007445397397290336810468925670064733464757082986791232916898141597610692740388799796632396708149027243436859752526805112778790645096555770227809873695589969805678601106157556386974221647669590827712353133603091803570183764883405340587430017053183637835511899658145649708e405"),
+ mp_float("5.532511069282205350923830187073466127274584467195468607886763750877294392993663821432158885753563495238131394373865428654052604326264330104646257659760161386620716716703631608643312613245804625511813964275109451513736558514977338129201153666764317441936156609643185133981728847167450887861106642311329612564652645663234240748195490808151911497393974690166034839217817023634217121406163178148652748479e432"),
+ mp_float("4.0256666306761331240653217136731531623017017695713942917027851762705346357330788586411431378972009980532310757689380174461664677676028378924382554201434975574729861177781849023768222381429947872325368088023224591306630434887529215459580760863075907686248521168590309636468448648513752893851767315693469638980874648457114335557202115472595647478331668869318302753802858726588719006447471192697846325955e460"),
+ mp_float("2.1644237346681663424601781769159797919834245365230735589058796985974745594485988855971413936820871935714602237643458356241187573307428309041919648027960168541647193436225977495680484218384107820095589356463058222584008532497069179993678533431131233629312850771528970443634604290143149079209513868130585713006080733488491160321145735562062411305931183571279530201672366980412430529846635995189699318073e489"),
+ mp_float("8.5987580981195983662047247216936066485731760315371506386077056691409579856014763032619539539935299716110411688793466397984311640631361934500807639285587334983206556915704635831992012926186843826981296831658998834850783404713050829093753126189556625095994621605300047199962332098857236359801681157419606676412198783092816364336047306243999363335004760439115355072350465422891365411868472688286678516314e518"),
+ mp_float("2.5241673163187127276134610716954724162270290228773641734420864618245211926017624829840685860130579257772126398622324109858115624706486522844752512951837805396709793171502497523431473021570806024043139443284538862368635312799539108264084028032731295487282188616820261689634926427135060887942797635147693849950058672753458576476491733064455826768562371858057444914175251596852571637211466017938478085247e549"),
+ mp_float("5.475067911823387661325942057081957044927796274441278042805014835144678321092623034147031518807063234976073102574257079170283458172046752719724152941316842521196069804425876507927418423409523739261726681120662097159943049401039490818332686968135012747332468921142470970507219403290422458185430415836291605355383658657658638112408092789126678938878667507151950931633694006471359998448912249374833586727e580"),
+ mp_float("8.7750549689950256776639468724574158629603320014390275681028674550826357080136422399476213432791376656222763800628593282303459051561266270006921840049305819767639184391149913915312831894296821356222752594264134130151457242713539248421883837353442181724530706933220158507240760325182068001553294949268596178418634164323874971937997072367419479635154591248667559627811893588163238012665671798461211917208e612"),
+ mp_float("1.0392000158337773273751156576416024664653679689973856373456304843339302977923254238376497044027728158058903302390909588333829463843362779584402914847447592731182614369968957680281500946805571235013941407979569788567794900810257154433592958167545186687137810101848000107335074486050959387974516414654638879740966175786016492797845169374594168995878543584318334800124941205910589727264397237600733483158e646"),
+ mp_float("9.0936326753636727240574546678839170665019169110943878894933093211555976995701468041449327370073681898690638466136204694745206283652338526673125958055131610409923286526192661778126811265116493171283319361595267283588121098349703951929669281966675596890266483864217591555707552765565756842701056144290075867893520379419521775913047964393758374891516340929062076304350159966063972713118995033247759001609e679"),
+ mp_float("5.8798281636930489964162009429009257867906792508058801627042121953599912951265315933723440185825519080102988056836911095299854840387008575164090793635997912930561430335216151607097220208013034399895832350235280120270626904356196935166701773768680311063264380891331021514518757839220818506905997847228783439015252768055166165941582030353226255576433910936297965207260585437762430381969160714956727596198e714"),
+ mp_float("2.8091881292911108404345975896815558958477835260737794579417284512413473388968057587088555041266297486841923628702282019643659456724373332519583025947015025975126598748630623031951723754960589046233996595466021913942587558326660593063197905288573353559106884645285531497626940379800500474282446929237914568534665868703742731713632349090897884403966643055728471509474896855575286123275564417626861566706e750"),
+ mp_float("9.917129372597671132067673866739246238179742417231064062960232866725337575281938597212073697168000155027158148165861617400080837699968785505107579831803685516054837447325150388867488754170677228096524224392410232206238263933144338637103531441623303187445874039234973380151391274490746625993568552049954630793219419614845431626975962881182662815760423226111647056071831411664335144052772436215105801395e786"),
+ mp_float("2.5869027163543111121878679987081647715187872826677398475096738640583659800068967379551376322170347537454918190603891312949716382621902484616361664158953484778255247083652726854621059785392022847887382779010079407502679229021085320675903109573769331277413372272363218896397965662581357886739691376204316908974081821980432178065394228926767529685562155837452626029223937027004015040825450642409597700449e824"),
+ mp_float("4.9861251931207080923785686798881789193813879610842675205361210155894774686328710893906543682447029206928934967525495260314937837003448878215156341411477636831113484416124080974502217578408248150338565305116223944900839866528622960352723938548713319425798453345402992146078868053263606234074443024155243450623634720912438841022969909473424559262711669905282193529250216454066716533180418518228387188393e862"),
+ mp_float("7.1012569014339068241101751233953234216522840280342406520909288232012799547871960723719836516359548198842749536961644100550279020276709043358260853581760590386456213180291689322352732545965831405519844109680619067101311180959399339922706596098526969148981173519865139508665631317310424178378833370605922449094745510812618563813537347841030916512147874232760564378443782164868016244561788356251308121716e901"),
+ mp_float("7.4730215360486642135431754747074885377840195683583018254892502245011973712084221116813364423492802080799768174534590613188275471080608467087354983850284805514875889145266688973752185071777341375422809910165581997555433091939959406569831183459872344778707098094941193489061532160249775856426569696127193453339548371679229676272663084782830276508737129506676031759345288056484158647796152349867328841634e941"),
+ mp_float("5.8109375364209112227579654658730977030869454388607076903639465992296616832002964138000947668837140543325908222688655359602408511410663722770167244801973012245657865182739637159804595049180263175014778215232564251739259624759589953677661356104554831551073263668188283861123521688445132164147762321111597028523130093864153999974376790494383016372210442340324038686843345053322425194077414241243050491297e982"),
+ mp_float("3.33875955701899627718146291382268063073604182131575843695486667154496711979350813988644889979275310892951143249901398447859083674739840084454465850475774696325142148671937407108540250845900941142800157345665761403930889797424808979569550325271558518404559007551625637761142662107757913763221912282957681784053564387104062317729788737215450574233690655931888608424916152893688106181220341997128198692e1024"),
+ mp_float("1.4174672877823334709610117319768830739080734407353905145632612088824955720198734996604261250019291955883620333545750761619015467840567122066622229379056280064206319780047687015558007624774062399477328822231085767309831266032616053065858739373818651687128093335640388513396191118537181280334430292439188737524362269789272308905723812818882228503013875816702686587035844437102478263525616196832018321602e1067"),
+ mp_float("4.4466189016791091516801723880812533528438597080549410911235655611382010503145789286158745555771483577943662768773465284793798720178177605712848440200402906836390133865748188969184005230383247111166918721449908133920663776952786683837038180436264738937354101153867171804315769471050303182129269442292354388037298125177941217926845803005587166270803697433886463469168814941555804311717400657004050157245e1110"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00122_cosh(const bool b_write_output)
+ {
+ return TestCase_case_00122_cosh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00123_tanh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00123_tanh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,108 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00123_tanh : public TestCaseReal
+ {
+ public:
+ TestCase_case_00123_tanh() { }
+ virtual ~TestCase_case_00123_tanh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00123_tanh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ const mp_float x = boost::multiprecision::euler_gamma() + k;
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::tanh(x * x);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("0.32137338579537729992840434899278935725496267444911714908205287462634251052210833615032073534299473485492692600156322137421801432333125051088723502425037485776412801577568405892077585206768190530859883094571475323319480739773193974206966728764224286661945738178210577326172938196062277314761537881936346874075881338768208490193827960565412814349738654540520356903367084438822830345189856017860672463017"),
+ mp_float("0.98628073997374759901559180515206275902189609982907214282364143439537215491113710345866034807991101303183938339561499559327886956280789743287824488269072297413440935381715378233031399015496124706604318545539544610760151756970229801074280545428642122005982857974921606264103186878499260552388713716032507770319550435738767597150644370033277228635793175246197730488375240713357827246166262087899961098648"),
+ mp_float("0.99999659728082161113542951278514830809677661658635225532792520501703544628367875293677270218317428676793098034276042396396797568103263882451732810190507733063467333056356770774002596898762991629653041854653269824642873291146068535300466473399592751219449187768646625229500705182676930009096545254478199838990703077597971823456671241141900968900216742636822174010867343154474773040184900973368250708724"),
+ mp_float("0.9999999999846483268200051609594321550129159997920576480976206867496512752486590660437091205989616108531910897733432934135954788151766561209164605337537937873588006552145390152387235783207736999759875845070169747521389728857476525437483543080651125798739562649414879487621858466223255239845627205850217328574865852922872737234283038190096982410137471391847466112651349436875974689271288261759782261321"),
+ mp_float("0.9999999999999999987314527242099750648171958211319474558707792311593804963057878814487720997303512134007272111464990650500302215773762906820778949397525329109311974741708703536680512747226155618703318739024344621256722269608969415280035337052044425138281821760268269187377517243951584969175035549994883451471918693502477485385682884154959809285569290940740978684264145737164182111806308430952867505356"),
+ mp_float("0.9999999999999999999999999980800953069847308586840237590563929855339557065536765765234844240789584487443451033349994294426525006157530320529970966048109743850154174651033567146346966529198814047607015842020039899630884318521543225160212193994911746894335846264878066530266737005606770102869237101848445559941638381625615207320468184414917265299980278164193202897754476112968080358662232635784904263624"),
+ mp_float("0.9999999999999999999999999999999999999467800140220866754762922747687784133233134010432889959570821554455247528344437918197518545105332713456859236726383195243056599177018396579766073961540714510399202497404647103138524118065391185503678895059096790300665805648569647351935897874460587855127436472608470703384261586158923066272124216158518232588330799027603391275039552776308636189531809031683723259525"),
+ mp_float("0.9999999999999999999999999999999999999999999999999729795912960133359928587562229512337339217831178574875626619226954752643039860388090399659478676726654102118545764943682017611574275691203710439707807193180604656837503862242700430179591666329131728631752773789406064618682879167351725013888294859467540832310795515139677375807407622028485242969471516812171475098378942187864794497220152019202351747432"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999997487354938310440650220692519525261552411539996830587326435051159231522052011310872619940247463640019105467860778515384738650636054646551611609757125760437266415865214306396520500343113189907306851418957620080971645943305760132385139924583154317156560414548076370893360020924960120441059315311380109752919823616149973862196846266297710225"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999572050575304159358359221596743379014313563214857593401545331495211888415913558896516895286943572966865708195832339959764445194449615969154689769557903166971249521898883489362426386924297872088925852892350150865941427355319827260914834268754732102528105919811851193667193380541054520023003326858641189063542651960743457613"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999998665016733514821204959171836698281165918083005790816030823236096080522860514417075411055633676502699904415882389102672678124683084429720879962355892225321369091298491658349178472270952759208443767848312111069127329160464884932271685986610697222434145553035947750809388321614695213754318979469071722942883"),
+ mp_float("0.999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999992372516628147584832950728021842198359205201519966391076994594773600474674435473005118571751514446148292787696117866094991476340344341061706866751156257825144909115117822189019766805825304055482958970512463798453229341693148012213183553546720540880444569824125592343803193018989122964"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999920180539244323143459416025663362517256166793900312667214543096238752838226369161775531456005541374878274529461511286842988937830155704737448202558382612829022464635400289328916240002670783433827234852858267621807568393874737879853500598862298495727481132883728328"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999998470116425957155787153557938061034698436461173594805292722874130433614266475136267606498346730583487791266503943659174886554170377537630914770998114573340081594827150737005158607830579000912020838690230498119348251553312722575955142752845289"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999462931048083476382670449719737943481963930626760625326765703815392249622625483433043363664396638162612437367800102332819699131841317348173451308570776544874933173719394861336636728378134900422312720743996219523365098"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999996546783689748726752364896615532860288057097437452774779386074906915819380531729493071959232887620213723607155628959529584572083388979892309086717786559916703004365603135284141639480887703759"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999593332381019647939423999969519583099837564321056588766269967853479478603122899456262904869063959564274215899007623362296377022418464303752396325625838280378647335"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999122842714667567128203355585346559126606029196080721845292399104475997315344844970601651757832506169948906646054332493537761143729664"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999965347272050374435790597917065458623422102880662825928396981295898014081371503733411536311258910851858"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999974926240515037403282500845454464621558236030794140169313830052413917"),
+ mp_float("0.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999667705192725716176070161727364499"),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ mp_float("1."),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00123_tanh(const bool b_write_output)
+ {
+ return TestCase_case_00123_tanh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00124_asinh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00124_asinh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00124_asinh : public TestCaseReal
+ {
+ public:
+ TestCase_case_00124_asinh() { }
+ virtual ~TestCase_case_00124_asinh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00124_asinh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::asinh(static_cast<boost::int32_t>(-25 + k) + boost::multiprecision::euler_gamma());
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("-3.8890825289988327803785919617090243930779408632548422510994962559541730682935115124038376047545114840807234455746115644321321856376532485159765169800715260656887206662824529480393317319841458778158154038644316964260230279164146733452618908933210276060953039358499305528017505013557163822511055467050764063780676448846084650883020224756281478268205217749961314657576347617773831242109107434640015098116"),
+ mp_float("-3.8473117907234262226321312055423727632132128844008166517282492026994571568747680052990624492616761787851943628056774959478733314695084773549015987207614841626977639100658163149040374073942598700980529347247986691997288308249113040389298944088940619138236386641640308139768597475361079430006842488071808354697993553817971436678592964402663364976315403867295797395908435198268669333072927052222296649759"),
+ mp_float("-3.8037216439577981200258254710593563199638574726215043811221373471152980897326791210869486967086315729858228380236039686054896108809119833569186144320968507336646720119475943557894679162798969815010971375538834048607607029474608158746521949260408961600351181179936153036300715143113026716989661404905289112426885442273899139509319250585283881388264437861744157274129966801410148615164205469551351948992"),
+ mp_float("-3.7581465188263482703957871265561609405704999664600540877367857714868762206811328982514321230073128405413128744669422033426386836576998990047219333137008852262313198509541119658852833817171428623759545776632173964266835757460968608690438334485744634138293675777505992657633366483861657032879803536344244837296594645307255357580376580085323291022393293297881631945879426788524718166710264746981760495525"),
+ mp_float("-3.7103971899949649315427309272269937545009294059675841908620630585004904166999900620339021608389797738288495121511332356020962425762460339422874569213904705816107067767145451037027874778051255249850254509040522316764822709532529685570924340429836331211026600418456797906683665956887077737659521800092446089461127761585134770183220083145925216954075621055782756429505620345885639866147450443175662148812"),
+ mp_float("-3.6602560500711496446424250323818946857222530839821149816298854134973792468073869926185421240258274326255030690015331821648229742541251154048320032148947466221090857189608718316257196155256628948041109590330169753981058732354476800358383322987255108069939952520754725939037119920248013021022341159189886881889785928946970741659781581276266430965741622979634693877121137331377138527772457621151621777793"),
+ mp_float("-3.6074711418870998991075912033937588394764842317158434715258814223023456711767775723091762360122700218724047297331597036756428805906926656096524189679539224501917713069288463096085501633224960070364185338837204998036190614161726757802694819376029656912120350400574846109299022180640518172004585011944273836516680310838374975961608939939996782662750720018646680789323401004198584162000257187836431789018"),
+ mp_float("-3.5517485374724196198967133758567266166398624558675962464356886146987823377159718952143429220491830180769947750029501235731526456320063464369768060000427819219085363873323156083136036586795765638004113052507472520517911450695671343810347366935405641032169998550268765156113172557078211130023784435385114034079233439164237942131740611832363022160753492218508488055244162142851843066375335812365691723611"),
+ mp_float("-3.4927424827128106305101196646224055133218660286762616559904963208617112477337168360622730146000326433047792537008038848740371910456242671207339212420320646408107636585696842464579927395893761637534748900353454794793834497977216579663814567539314781848959848500770674841949805009865833573626112342646245396588110700812956980721233422104350846437247662445721151781654690819248832718798789356684086157478"),
+ mp_float("-3.4300424741081575508635465095697725125186275113081645938213872495886495380794729045562217589048271328184895649460824984149679406990575742289110610715349635826061733181065442180891964508793389714784776208463553304403925672698417258500242197711298613319724901627465981420654489886949624925412939721986342037782223298304334081118779435547506137381323166395371970162518759451928959793546922284704307628808"),
+ mp_float("-3.3631560479289074038093724319194346433489479614772958563859510698328501098136820802542667383264981252711075450580698126314384079157002914462475703874967620551855325417512979846658116789141975671141943967828992249491444569684489475836377467766454037645672824293281325933921176693177871552298607958005257778175452572533950616621300478034750983289888060084131803792455152007233963199073198816441551112461"),
+ mp_float("-3.2914854575906699215441972707821127403751948348148198227162404133597116997138083092839137692228034452843852373953078365605650496252858958654442475945061575794495790207939657294089321533883349529885816890802462921545539081097142352362906301267900933908325243581752572081389911262574938374920010363540498027792569310481734879354221598647093054034422188709441766013367615273999080576286407932006256076238"),
+ mp_float("-3.2142954431457107772301709870318334506209904679221290883372042025652216205740175615134027718790501035716662985253594845555582740566717473744627843010116394166595186066609434089975073451976845829558829238245054749119057959598015520595644665748622570880371690571884633211465745073220283594561856519457905311298399861366790250263359370299680253908828878583097800492429459588576268951785193621932659523389"),
+ mp_float("-3.1306676864050071296812446217913762412129083210092532320158711199109194618970212217221577250618383995147147594503834952927686397344065469029893398413259345232650669659409156811431970786388574790788261160874026304571740862843521630477652058442210556013269532388445482238074680311168389504096308784197233617073312720334663198089311981227880815885916085550048484176425725668546796341717451118373736446456"),
+ mp_float("-3.0394347844099613249246697028559561086385525257257413120238282765262888611328299093415299067944377437922260446099901944421843434585167701439419503210848222131455216412399810644224320882907393622032037117657277527094237641696255525092697660133737826419268891866948179270007579524501412453086746047108688223722131596166831761611992880527781477664123192199648937137216308986949263702047746647993305296393"),
+ mp_float("-2.939081652724128404984027738857533676752702618080317548824968475806964364166807070951656348984449950014680066169603499197853314257670059000691180546040092360862247585977359430856129522876866518101805385453183876022326977446459878279471315558720540285027544548685432137470249713440863743750546370681059177917456350590363748342792057054556664579865448000345241084663089345300542247317489009762564082431"),
+ mp_float("-2.827593093722150690072104774676512901908503993530376404542657605757887237203545685295756115467276305481546457076470534535936034336681901938129997186580581616028484733667610424511746790701258774434639144679085961979216951547211500374479310370867616967295737295261635201244523174425148474041043398734509556317652491408603555429892890285305554340254327671934713598787617383170114438701818117993622002724"),
+ mp_float("-2.7022082327368826785886236023742064579305745265224386133307705512356997391125786361611408003569314618126563326709696977543532406503048582920193365723907417524305922573935361419872548591658416276623574431372096765530653142475564575284907562767423251076453431005259357985470036241437891358483007410796036269016367265868148200450302599456252982286713855863655817726848225960189934560433062602376420808481"),
+ mp_float("-2.5590048298931571579021605500420072558148093850773010856772992278013087978644594630334323877541244355508923600929029541791894508258403393729985985293272704944266815407807555265876042799654070665952530098802398834055353439732662920958817112625298356754937923719808713937898112467048095366185765654704476750231780627745019003142206910342826960566433200606759612720607402467132547912270452381657094717137"),
+ mp_float("-2.392151665238884216469123347448481794563650077474466438435471541214635904116413775483505588369513524621390446352343735899162470916170155879105071930139265693609209563380496766610261186254994211717498501655502564463051402502174502740539003963343991248498854380502874830806348903599457908049363589603781867600849591514316282752517496385251821922513407134289976041760553521139329592347378331749909617077"),
+ mp_float("-2.1924588581429163453557079593232278552883855114054772148728912995855114545127079544274737527974258926101267648849973937342787237299236495735887089333032012010275813638832924448516632259935979763353254751858908137604675509199389365997496890344533042538643484587652432752125991843509339875875488688695438075617097050065901303240431475599611670718789557066312251305673480403369553091033794847489196067664"),
+ mp_float("-1.9442885013174948630672851863271854767225249647355828966531590140655816449966056552291360795739933083696808669897448634330218332688519032717017124094303170713771646328946563948564309531908746180418600017959592146864186875398446012127490756537788346630275755045630564547705773959887105778061931432589529222435778998430115314566615154653732908493740484470798941331645915928451637441724485050212807251118"),
+ mp_float("-1.6181658486507841023509232038731581850366507799047017672988636743034969418401465496319258474604616313615584151138663206600833950577830906566878590656913491852574149283011380032181144298637467164466631635195222691877591099514651023469523057881007764330994145734602325356862429133802826591738300387202674782303541687165782298546684943627841369049112062185947165815369720123002115766936594979976770347852"),
+ mp_float("-1.1511541965070613890956982342504604663278025659845475110329531937239006225503225497596246752207532892802553735861633507906981867073453430317615074030464086451667489584061070085935503141356775526992667652339252820893165512071833171565179770798101859107098979240740264535128087566112690419892131911245212164804164116566490575035970360634254313525017080309731025761957554915380938633575924320472199296748"),
+ mp_float("-0.41110603748155310971818866552244465203723639135734044173390922931068526953111343073243793086677333428521566908983285016789000094834366866488662785412593451124869634190812442704703468570806404263540129361867427431801883054675391131969246683482384920531530522293989006929906159641491625493165676744212617544521588641965102862832733786794645329764953746708112605926089326424383536233789088333136776930517"),
+ mp_float("0.54918957020399014898609193620979185759645726298116552291468817198091742086855538999825339726567197542428672017412670239543030684827635485696762122660884005777069164461218265491487067551591092612110491136766315298687372196052747843536414190127272007209561229810421852073869110205078993102966128457067419288211739086278316497757510107774848001225343410089735136677353528070578800693576218278806526995727"),
+ mp_float("1.2368454851087754989924007579745093363506431933649374186108296098277035308067875821699820299478210234818185703402823886127338983812910672287259393167442344449947614189099169520553929630041782255946838738237165599701393887656456468022514153683136514217564344844107078350397730502142668792627936920850159954034520021169082546891486722445361572410939225703513448729753456355408488204069288233306519353057"),
+ mp_float("1.6755326771946324337094153622042609164779718733803057199429220189647032349955914914294307746926998583486927100008591408585558533009527679391213074356290893172913228204579299327568017486237543519319798638672903133310693639369403358589189965466200331706940017990555637242332516323897530109796862183162136361754733774741403020757649632643874747745041901518455559711777778410744523354391383175745788611515"),
+ mp_float("1.9867196947067653249250727416077477900441266263239000050026882414209675745394055162691021480980712915537404289421875821310277574625465838843648982014025489341919432035890078924738452356111871361256129247412888800056162959356110825699487424358162878610226750188196519200273022364509152195251958802491347117476365619853113123233367386509232216452861067456963423059277279966901845495992541462862242499153"),
+ mp_float("2.2259626296498290713323941088321856646664159349330153384658456959331368734954421946271358977644517575215045820198060687720481021081213830307870924207205266748126356843611788755864331644018371871689638927756211447644882395506807079094443216747136071561293524909200235885897099650522987324128050346220550041958417397822270249451804353419602967320817173589500609256969862782771272490074446256225636733204"),
+ mp_float("2.4197788540923901466784525544068485296452644844982369684703167819390347655642619183629347214611997949509702774253549513774799268009281724177495358977357926090561693899795578568678932456419084025515805428560268267975336802460362225269515144057912421843896427791977798622119815296286615591181115744954400676503778167666734313126146332958289122491090392585777807843844587926606545929949195038186248811242"),
+ mp_float("2.5824882647792486486497487506645197610886383605108961775624626556033986564978624856905683944029929480734123704801419089941739421021020456171406387126567394667058172912331225313923892745232370264715106404098096773496750864671531125808268081477830655561968502588223010206459436699359417631523938300079679945432990299050330463620410135032577058625744336648744829541190299648647238784386358372637977283988"),
+ mp_float("2.7226191417941952113742025373789018530917621589878946105793131949729678828761019782561150150005089133861098311618019142833966001459580324623510947100708042291352118084238482856141495648145180020390249842440683723896059623123333904240255172527352425231057509890759271146020682693046671171259593308083293558681521129814966920170843025190773535244472732230727578259887666973486623222041829456919394540067"),
+ mp_float("2.8456375225254230081879818057401564283154768658655718485933086693401133343585389952244669281549508263951539562483285099644570445359026922054561618335160924146326023545971628829654654250759576541674460689608033635161636812334641110108546520239157440053010641100156434840518653178134625951896303651267719708634887693866180776174335527391527756078149276670983754794389512149520734727497882168377028672879"),
+ mp_float("2.9552486095402046086418980571316681064876456513875446370578466114315536170459430567380110859501793705609574997140658914731439595482761904596682263043444320630390037668161742546178397241680634958297215927906091930697213893014317233343079538537364757603118726657207308272758569039014045893654712114119636419760596853523082867536617368826600517661683148466074152011457927870308422062177520795306058374301"),
+ mp_float("3.0540765367054653651283257246697137043724802245812168074486254489237531238529730380294711298537815510380633515702360735015089672878742484238694932961883026615333867865364407341678735020875531879234519411715945248810580220225431022776618227842493425972797534865717763497047852395280811974010708076901889128368335990208721530172192128905462433439147037806393019911698443010461162527974823289267293870489"),
+ mp_float("3.1440462105568496214541919509906031730125771902172119890274834234568613600666699673496707876749550278292650198278928798778861167515965428061500312181266312795002475651290555766250998867137949221937686452540719310721485510039412285456805219207071397072974678887287279123632167127556290722414550968403596981516229211649912881308018481092027214367211857365423584852327737837722091525638452529871570853878"),
+ mp_float("3.2266107580333979663622045255046341875094725924836229970756208538526090082171541948757738276022825505649933776957717126042176544763268501921618184106223001485127929398644760826497824485440177156711097873010172689977137243100447144748893767745352340581610331111154905453740160714093195203018083667176145830593109243663379045908575649907497164743354993943199542029727955638301596945872986004808189077015"),
+ mp_float("3.3028936829346253417509247505214126070852695442431365186030295834129958927539096386283068778232120239111584736947023527184346267002430355310916819901481463981195358297681426164012134632786705954615921336140999335635595407146755470599378942000849562107171337678266604955619300683920085457644771264069454772648305343349840199359370979264080702107588205890645466145777945581021987781652845175596575537491"),
+ mp_float("3.3737813456830175928547007310875705593149713430416390230549600550048162164673650274588442047192016482159164968655767730904499448525562051707591335241726271637798940366625229505734827552153502910204441513927387258868181616483764409338436004599999291400530756859997509646692007900274032370235699640874217893031352044765270239192494546378344382870374321381417473701057379849564819761667427276298424731678"),
+ mp_float("3.4399851963146166038959913511490056686357076071065470778855560161581852012405076594974840470501526979088001358046475406998852961025869947523994475780436210019222688907815118191551894646660488492142034972174948065546887894502450948289969961694928862924218794538044254544697884844571970637422371229771753688701646313554077410486838614419677730207152488395367774644804264572224001711842197143427977630878"),
+ mp_float("3.50208488291431872166979725896858236360824275955266332551232293762332260354079671623406263819798436732367687961537439135773758599345532194003267612297114455355046835356703401170253116305365709300556196846069553063803590534546964914242812266783091398547147765169704507352321515516224565998751885224435761686456851095561276250707389575796260760280593048688790043272661241447546456004876551189589164771"),
+ mp_float("3.5605588692011925066243664707173283336889631778951582205124058155136872308786698550344532249399367268411458687412860664985643024651413245780200670687677606915526586789322827596304456882009760664790954215521777226315093596650550150290751915371891653072754046702671262367461206323775771484130694403186983579803683537123842869826813037571200635749404206646022109807338033212416845116033206981875692369854"),
+ mp_float("3.6158066608108374328811375597040790398974946311472062967079402700433979761958999386568467065236522225650942251334158253022468763195660424179162394081253106034329021667319782613649642889183345058086767530713292178994440318684908887222871864259552633499338580104283505952368022021628353320323712902460361546800442623068286713855561037996133542662303686039665344440393744882684850946311010851370851466473"),
+ mp_float("3.6681652533917685037872454484556867029444657143534167644705408394165921350389151588916367939920041064334701537019624295815879230886631351778411154941279047104446746835255280428677645218052540818646531569616745964387561943875158137941776019876457513200744543089202275233543733991686638513282535323417254966672985291291521820747549722826180581245964962687857230086421701576259050541278916849681552482588"),
+ mp_float("3.7179215141291383732877968088875752279580684266291186158010443462927555849929870131732320651339496436392488064103777708313053515049971496610871738841596751234904942651679274041107542581829409806419429218870988655216044175644044342859562417424699346272707025639309290811463973648946308916628436666442229030143770264704026164050274852604483003021225367190779486629877625916019346613312301133189418006867"),
+ mp_float("3.7653216451957785608054806849686190665053569038353114070522759531329021825532700382343338635085303811699525741081970178611177746993671461326404870284731210194405722608785924524125469106303084396746121532808141573671346804485477579543883926775439897895004378523364163282592664101856572754598530844287750850944132605390081942166853384311683779489673348310830141371456888448848609083794822402096563577846"),
+ mp_float("3.8105785165493746286093864606045372402198025315208950439761774274967081284632721991333313444130964620783685332035263503892260898002155612002169073222439625286081756582513150660994241656397023259860539266776204291171717263758882229753355959064330871721658444132415759608345617363675949611506154379467425404760185310308188222771347622258086404021178743518813193655935121940148832422116506818935028701451"),
+ mp_float("3.8538774184695806113031416035059056173023589579250067818003111099395976753272782507766454261524066957442124319623275155275386076957373433663203603654245284674263410451210020635028097510709007187609818867363857271707831386488499270531416814613832940864579044893954292175962868765387783022441943977497314843424415974127263633304430005025393128097008270896619738288250926408641276182783619360951486215476"),
+ mp_float("3.8953806253217937520397327556468497630756748800631519759311154950420760887590737971893573420978874684914074839669268508506638734860807949511356180736064346041129126008434092271156668421038537909977500784180324182416013841863143665964277952673578956388930001392184210921161191802831491327024678561433300729951852925506062228527695201248829665342583467361980072513562280185246011118054348408667936876283"),
+ mp_float("3.9352310534474215500155252495492614838978723091560986229648569968874247051929377631422641379139414230399289887451684946589085621771544385525561442444514849705660234859517224317329711416529434347653434002968554207033161893266785842320625804342971802123480142236896347750284608833616965326486415839592627816286373522934458312726738792462169740218937174342285917468374806826871218767352821228026742142703"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00124_asinh(const bool b_write_output)
+ {
+ return TestCase_case_00124_asinh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00125_acosh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00125_acosh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00125_acosh : public TestCaseReal
+ {
+ public:
+ TestCase_case_00125_acosh() { }
+ virtual ~TestCase_case_00125_acosh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00125_acosh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::acosh(static_cast<boost::int32_t>(1 + k) + boost::multiprecision::euler_gamma());
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("1.0285086381580059724648521881450233854592353892526624251851657462931927383039348335593016707406686548222557154227471698632566262300465453058594268331189327347890663156807668081465657656106964150327698842296753843981121685442781713100352668484470895242164301542005982076014301290897802422355945773151620962678904056863575344206054434641458085396846130639907200880694784122760431708756689587090832415017"),
+ mp_float("1.5998952585502979579066109588222402286156315995679236286040980309585312278572165501747874076322007888282288013114338457109811905028094817350185050497525524201686073634885690242006269712859859744723010396160081390342037961276096325525064102178566328429951058962523946632287913158650573133284905179952013508200896036973793078712615115554798706580635793411320529716140637081774844203278630519890100588606"),
+ mp_float("1.9475965692617128982713749493219579295008845111303735694126064026850900863008037070410130277929094649088533086859272800290007451486185163777345220067755992539018965375469459170859527587399635667027808364358198176382964323715294561448283740734444906138928512895972325790271112959731803252753393982196542096036057882330252886731462504649835124388394109148897549691010480496632247402659601608260891579193"),
+ mp_float("2.2020859707794185196005583808112296598227236104249997140933384246102828884745313667770330190689683162610271609597433876779393535773039810482025634558289770079008181291988590044857636310554247541007430610221040704986899844549397902570622360181401301234753915581026996681199028232570598131929126853505580281221218197590162193514583760499385906228719487221330034190258649506402309572011989168502768357362"),
+ mp_float("2.4037009780422786910796069075698293145836374766899590155805038401275457621369234882397613509451520746425522803237322685917658998052720797678965993078119018977369578242926594763397413103559616486144390051708439501085828661499970220752613969408924899393623040458805604873780229594977671804117812245019685619183909660968358154379155796076278078621822470419925679654354185592982106061103120863020124741234"),
+ mp_float("2.5709288939450912383610857079756700078475326916486803493726295501081945836817095501407952430558787952940503229208835117202181569619079496711527033702367045563212207700096733545323204320361207263606684670021539238820856185894852251777788202129813254235244933420440107860023719558203116246727224413077403239255290890934496129339794228783247391318799246613304238147934670605383154194800480315145884610404"),
+ mp_float("2.7139099439152982342206521604269807225881062423291877264147439400773786308000537370352269301803666255772252632908037588475473280671359812653269651121212495838847409042321776289234833825961164020571489743459454633640664416266479377959801929453716583912541164027294659072076651122124524629222526926493926543673352187421223201113384808711918879738797597725762031275319496568613820935105919768877569842397"),
+ mp_float("2.8388408857308575350280835363404949063908967057546828203676148828926722486573209306267242512716741865427689041009875330909329488943045842869066034511004746789857003391324556373945451567962770333796439147052202326065877385836372276257853103280255906944287553295936856259208665808392403786372163169153228746773612177821559922055752196780445374538051823567879094512649908612062564667166335217399455227384"),
+ mp_float("2.9497972826575276988791790749466454097480363277086160023667326815618686546036736416541668185922837463594593559969592418840999976232377989365438151254978679578785528307289427035820064080364919105050500987819420228846255078973581102681119918549070160271060745593359358676682240560618527865965361827355533474144456784011665280551770404199784660375664981942132892082552228287988128449648368705818551593605"),
+ mp_float("3.0496072880911753035855078739681096885445769464995853390429974943228006607036707209408876372152507362993603352107254016963820990708929713732600845816525666104672707200842044025800547981638241209767484557607085237847210009288208267039056848584243030432428237801516615421107148306484632258901879576884957469717474023921986491239976626805449805604127160335226323185194972443727401981592579379103914010028"),
+ mp_float("3.1403157127091102468811433276401399118487572181379160716133585114705495849509085799990484155563926093359895057874588368310296804195402755058865581133073383501335465606477734961832492223014326067883177119229463928433262335198745538131114234482566992662430452861539361654856174981879636046552277055140130062613006695219708791831468033786011391619291318554727953142191072090172482448071939743170421994578"),
+ mp_float("3.2234499028100511715982114319519865505162130910171743372113247354009601592407532966731111607217797422239112853323917856912151252756411104150023739780059001607039463489474012785867520117192738370950184415490832022572873689665042011381320182016323770239581351659716237176829869936115116304036283691178389782463244767873084078681678649766508690315283356331583178266007108123082634496678219711598924561112"),
+ mp_float("3.3001812985598880823619176124706015232669707613831514054398880293394107381673894554612075318064665053733925559429412413063857545155201291521106601791381739990158279696141865635120170103970321062206597812623534352093926905402565935222340209792594415372919982662908601579532664341173820885066706652718507693700060454818714277162468494734875009278681436840301329649895695141898051499334635514161073389689"),
+ mp_float("3.3714283406833192563634676603990532009053034251853147655550686313813723678630717284787988101216580123415476564776218645337805243678518619886974588214284305973986447866728877991111872497109956167008572663589559585501983081236077833516052077860446233073616196621555878062724539982944073197113606715218099401743921585014946610602837613287910864867233299476644018803451362405238184356644529783308110820725"),
+ mp_float("3.4379246049493664683699737400914068524952318612235335007570857543378064802181585232145196511187365353094754170580836140908477130464581755992434057856653464703290352527439114441461072539969706349041820856155900183197246196220695740854752329730767970133678613958760495308962910631538640811349098589083454984119618296460321932361319372789343879967815991128835296190752565226978951017529889998315825583076"),
+ mp_float("3.5002653998089797018238421571114261386063430706681971130797229882449633675459181332132975649850783290679418125025557153218202774540237328200272780972471877913213119333192969046187320782147822379404357828257501421669421273111716993096659827841548797917904369863996577211780077776923836275358924862334804886015250039720834152193495702054995527968388158941743097751914024048857763872735504555384626570192"),
+ mp_float("3.5589405253970116460080871624944051187385840079735356626826062962342258541343880351739571089275497764931315503233951503847382277768263759337947594512863213784477253165049430351406675520797422245961892046403225274279713934342803454022856902197832198874799142806522795531433353754146116275267529826496959715131937740677669855214139207943422462326932039333863376042827906344137454295968106835579468530389"),
+ mp_float("3.6143578572049747418233042912385965373736509161632910113310470763890808089861599696353085525366691067617099796662831580309927727042449554421102026575267613443987722838092553662800490629147366987853063235667132737551380784704743504287035639094913148581065386565462550152627313996306981922241307763013067159859354378513802783170129441425863505949771439794893321996805949803283916820495818528661191788636"),
+ mp_float("3.6668606792377795796867377450122154261995091316624280151574003014130105035931789707128938167355469742514473896645826381118614422227027749937517806696649519426402637646487776208838578633040441139188701151867423810882715664244176352655794626029291352358908161334452378058751261660264655534895227869938878498730211330607738074408829384241923875124279165061531264603731981090670137427645017056158640822415"),
+ mp_float("3.7167406571782858116946792792697336286491697084085762621783909849172528238871948798386505385562288097551243488443607227533110845799331842607962041306380444165303828800359692812786456793048509037493581221175950133516700488439087502535755818733248022499003252354406698153564928118833024890869744882963493317909051680313104728028571961609098318087621195581118193606819892938871661590130768628013630597168"),
+ mp_float("3.7642477061884577922213258801696034548079529245689188625826006598009214163515580038466424512389273348863750011211007068945371406360578788282929932452311648401173917282384486255728882342257447442158235233547133122412857843897937755671348577891178548010535419999553416438454401930671316428001046097511957797443807106931321134263382219410974426619309536517341042450728973940281031031114924366681231428629"),
+ mp_float("3.8095976055838293583453938722911279641777293267329818326360095240634260818708390754510296796560582909070188391695205751692738767744393567411515668485290794905141506524822145445775010669659889733092427084767232440215503689380057987706810908719721567398404103309382842324803972299280915968535681569290441920251675535109125789433896925934631102669946202721973130693158369996150877937438242192454503497419"),
+ mp_float("3.8529779514062588351386993180509123678137544898731562572009379053121787606356501487867490701544709280346633711357433244235445176077465308247010280504307640352534679324969005349290830536342375873550040738362071639690370985736145929079708881182689217094309807411786436206448358441579143006907449679107142532798300306323521142415493010286579199387563550384444800311657909645858344841082529932836339729211"),
+ mp_float("3.8945528644538448139866735013350813365856418775130605003933676463052456889151224026791815175393951744504379072620333978824224340205195910057038770943644497667209604344806725117264284836630567369901011523611257617352565526475008528778594441795728464540661290259149187364327478716569117241957043416649962939491528875233044356711891351315586143326430988794090258439825278266685260411036487733473860845427"),
+ mp_float("3.9344667537548591757769048375191263510368256574817481894266366844607647764363813364982172773635002475541852994652822309839310991834991316900102949625123156817772191926260105323537995565815531560019548991904905731203082259346377191907725871050803625362705235517370118142476608979451200838381974019374300730592909870287914377247456067943191885127902758734837170026632215037884790149270853466580315614545"),
+ mp_float("3.9728473543017387102496861415134151638670052754415044976948412237205014988128498954549033148564796747681000908059604131026958849233189969363374692436390236743546421252803147160758847058570585869512315895446973738472292083522905249371511271568205088572610120531881787262846947854366777723023378761459131395781980462955168823852788706448855039135859917702771903550441757745672434746520518178053733664755"),
+ mp_float("4.0098082008757916545631734222574244160430377323032170438635345973413494923682007338274507023265754500472945436863347346025691540875112438751188775443916036677925081142342466132989410256876617799343998473082534473719230762010104190329499867125076194345002215545025253251695199387404700492763333528774904083648479417014340235196135213856405898761197772147686509143636432361425037757186487087268285357057"),
+ mp_float("4.0454506591718504977509459328563129116769996762661747898514394569378066297184870624369561979350353471933956947393268319177557517285036851749887033616396280026655714926670009505470193224724053385600376760327810719141027673832762622217273574860027519227474792906223962920872622307494129593810732370813758935215603478487782492274746733801258460782790324707455772482361462545997806826346386116324002935951"),
+ mp_float("4.0798656060679480569346660724826807886189322789888967358376204853321065513089240669626037220876868685056526861341172219762169685351894469830490062287702225347355063277526206145957608231235848584284019216827977086027888268364556059970673410715231064685273875201324445076659608281257571832484688707903651655010841860879231450301816517974607186045383198532179503827674714459061445104652657320777017359774"),
+ mp_float("4.1131348293839495408097755438082457018225167732584034681469793937300868044928533836366341894149033852966197337260493914325474624524109709894942136879447123089672796738020225607077298846115624750973130826109107984417610279900107349064656011920150564657510180996033805448224136278543570516679728445501775830097138906523349504856102183948927912904505429482002892254276098515807092030891278032612205082187"),
+ mp_float("4.1453322015415980386883674464877184371643095012748869383130222411106736284168156930699521455239260069518387112670530491034734888732952298801262426623378376340406311141638987405893212553621594372674051669741314099462313960501130422572864218082834822230691177014609886820825735029871028273146308376356769777730943982265892534075240032860821586242310674370129076858731298234064576956830811301233545939318"),
+ mp_float("4.1765246696035487398659281116023946766332385499003993851065354246468251201462398958024582666876761720619145103651619393226648960706641353202675320864558855709851764405820950554698482615264001671149199289495527252977333460555436775595178989766039915777078552346288672908251688858078975760423066476116503093771448604648749611784548406193500872740293616047257497653701163183241083839504507839959988977224"),
+ mp_float("4.2067730951364879593924070374933209360321216842079221681432186262623246159355248541768554187246938668883476218374379770122248926330112700517405539302537706059858027262849632158906267618508042158126500533333448905819646687468875662143542876377058931516250805768674653711874115367136292901443316687537507491558784442163312552501495627499513168385364526711156515463351089850358204411954595143067857660022"),
+ mp_float("4.2361329704423508151965190576838702662171459931054772976150363571637907179186839633339663632759956617233237006991887096441798743421466369728266674818494800636409659934122799122947392925326886974047281118585621136129635490568516233766765163176119114753938134438842105992944404188107237067082093001361403265977252541403902789389585612719409851667743971429939790942262814301233920194732099861868864543921"),
+ mp_float("4.2646550323821077625827624844752162673278099980978221254360153957275984134578929982958570859743717278034547463187284986269495379239926696390996586825148889399597924057305056857549154031365513128003267574275572474070303172093927448166234615824371527448253848124652090388616823349389310255552896788994197426731126272051440586400539175011699161352212128356573179643929794183145581818907392555301933449799"),
+ mp_float("4.2923857908820155696950366419740060052628342746297060350858408631002495862651451888981636022782487171240780026483088717561191341746742265689422837179910704250777749248445425293543283008776179946655399319042762128614417692913900769834726105330030034529137328385761245989725261435642731970786881852038757990377525792186941421807556252539987640153379500744077549010935467678355720761193788088975089851041"),
+ mp_float("4.3193679859735910712089159855233693443034037725636146938366527775956685416644352130290991221337778072370551287889447395472021774140238725416747911137056068942676022709490747892212369223696690440057109014855432824559618511143965233534323289876965288870245307285240229070029092432920206529639401537786143986448083697717104576205780913476794166673591279879348856144630074292552882693749711459575409803496"),
+ mp_float("4.3456409846631299369136305669277984797344703333865873023123486468830112815852023408018714885419876506975028092197426719997687657864624868034085131904712047446489150376497776165036791530794861131906128231898929100624465852744585008262975953281839038458093367790046060428458301806215914343317773722963470279440311915415643962597930771272216027172419113063316366816330785045251707287198875035966078114511"),
+ mp_float("4.371241126896325063558076795957837400751497422652636843976719247631116772662684557393194574329415559466258216576359655944298454945125095877680126029091464264602460905052993123708681141645514368548988184708232237405030198717880161912601688462578264900411164876098750780858236429928385951969157670823119112938718467423757849022072944901791267910058141656993148274408358807794345018478313443199186531677"),
+ mp_float("4.3962020282600202247887506973137761118309477763725429444814657557518089169871287444668118420698959675957767142929530029551802317493660924754474931541381590937837239041117908775970518818146618757004131292089127659715783292405755418584081167722071618242630006110741877453339121780133097046497084534675452177035504050668097986917918325095188278541059412588030259642272281935779894774228836622184332090482"),
+ mp_float("4.4205548457568984312685848616462248380747971875094860131653803027093758443717412658184885328066137553901764644814966443409548350749992584860664426515041274963878996554238420609809840301599123853345653351659966900273804006977737236751104342813890658339330302895996072568961389935078218720949441387631809427457360187986529594676245009750751408885391983173885821373502376643039466479994590640160785061544"),
+ mp_float("4.4443285119318353137371054493000772272339979283546025297684047704403843226045525518809782952976796070797134659952493275545650920872426744533167708466841026734686278228999885837349952377771172267693630321348745916653470151865346295120912809230086703353255469809460900091665047458822887098978121854193148974616012870197536267037616679743934599585243377639598241903882033655337787141117788500906423744751"),
+ mp_float("4.4675499417685045748913239831785560176622892236717871208936874291149482592848159924021805914354262987772249544686556207932892951602956767255128927806372525313864767393408030747683601105018255159557853794201797261133233633597930906844555383626737775841690721578000024021844706782157932772062903176166643272184484311315805330106321238076182157387075613136085444012000846289017037918462145558393466168932"),
+ mp_float("4.490244216071260502646552512755499003934603195383365803628575729184841606207486657984245523807023047871445344857260953639192748271760010871975071818050721065636791628557591309368858454864532482299983344905672048821520233755262327440972257523492792871099159424731652300586182493379628387954227479081646564953766556996327772145359943772229885417244857929478648843177624516477773223925999344802714486863"),
+ mp_float("4.5124347444689790629568119155729327339070084241218054084016397446872853278198932192840886795035335746716455584255137038750606220677961266683890096281416469133685514570541913030655577339039806586844601341320082785550291920835358339092078785383300831303843786641828492897016528864887846369501169334144807406553747978568490632402592353707143188302311047063306357900491177119893508853543346656421495169671"),
+ mp_float("4.5341434106998812522000704020947712270595741389876510805896216771498103973001406551084346058320043119043505192560604539318014508489626516040636065830278092588237472210184834813960402204904757604172470772144167575193461214033762244468539063962484866314217218748032207624766647977727480110295427684959889991359462321703183741867557797275236975856163359768240612177762474008677499763311045446680299947148"),
+ mp_float("4.5553907024400853932016279547557475112935451889174429835821028752838367947469997857441676348375905150023302400306496756510108808361624588596160063658488934761573302459941695270074144673297825804523752843759026374305670094195521221338348852695902571328875703807039071723454276571737943701753327553007281158264451716371815537958217665201130215340125885734121855256847583968716950411520406945808396172329"),
+ mp_float("4.576195827608461963190847535395397536606338268016513914594128633005031327733835233742275572320038315199603420605327339753396280783370839081999189796720967580618709161732023425180993401412783211508514405770739841489284753961300777020097680788595815382369886338163464627983742065837989452380045374812118226866845403350371439192774669344880365148409943390522762204425410737573162191291026308542470340871"),
+ mp_float("4.5965768188041405031208453582460480684917946499803107686283290596493315856399626690285561146043217177887789999580035474615746204108183967591975184285575487014062415572321837371800882736066303813394043639606068646991845031263088456197762264256990481913398970668163370689213012050040719107123648915059360439806871057273954740868848610018749565316320274659715076341170753668782662261559113952731043526466"),
+ mp_float("4.6165506273010224719099331551442629756556451722784853415622349623566615733663553121563390362673337238255084860141615853017101732900045830760777977638397204966648816527915224153815405179807512374376836388352782343943375140764100713284620781115967127305898851720169581299863220212469759195628921433426242127796303440473802763718736486779109145557619804801639170979637448475887996875565663305600412359469"),
+ mp_float("4.6361332078280742141895628803797490902587043395960647448142017573727472213883189891053821460863319976273326398220407346255802031139209080751203605019073458350978143896660477470677913550485794536151076920241979793737541287333329972180743173509763293047227979686251653956055773495012570943505993977793564720979978978687370041930613837245744046449716538337484570488741053711874189786506794081972691077423"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00125_acosh(const bool b_write_output)
+ {
+ return TestCase_case_00125_acosh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00126_atanh.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00126_atanh.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00126_atanh : public TestCaseReal
+ {
+ public:
+ TestCase_case_00126_atanh() { }
+ virtual ~TestCase_case_00126_atanh() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00126_atanh");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::atanh((mp_float(-25 + k) / static_cast<boost::int32_t>(26)) + (boost::multiprecision::euler_gamma() / static_cast<boost::int32_t>(100)));
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("-1.8945252679777508235914791847751762330074522577195782220009846970340822667915069501772634084949967027775036589429802203833567116226670568970338942881933562458258346487142226945187594881794416638031731731933156595549817392741820949564929452133301970187596489411454887503530265028004169784414228466928866346261486251168725313178817752083308171429071826063884900430616458661711246050909487720563294024867"),
+ mp_float("-1.5717568730625962360768601901451038258527431474256501242776045158790829210175002796464820280722182132366994178762908610783801979309017512717425619561763381144932882977009333667751926955763705184328363633810828281894848937051602589339435086915438018902942316520724266369383866230971113903573269067811919114557400904713047425327707643466820891600239380650850055112537953811402607287488283788860133151897"),
+ mp_float("-1.3706631092739908378791804231003954084668441172144654476679545101162780373101466033910610275336494054474087743458031802887078276273987598615560037008771350361968425549877396059725598129765339995012289403039857646963488870577274473817355302331679437151369299934331937081492257161841464757922727491340158319684185241054249120626229857644021914250584555594336571034181769261319100425867028321931740633888"),
+ mp_float("-1.2224714315951275731884622850384031092918734409426131047069921202955091500820849368793390130286414881723135975928120055436214550966181932132348775344146360840355978219019023177464745146384492996959737407296538986675933197030214864744199042374966470550900063487037620687163167302601074165939730388487218201430734330352527104192505574763184897801789654614096533443793255782418788815353704743914805872066"),
+ mp_float("-1.1039689494653266546878885309252133065893922871427605627100735287052902666632505428151897699860030241967157124066909689613784897284524065599614440691446431275200549753309184100698140025598977101007386800340417636154192500616496140825884585620995317465647306581256555840483169420005720451004102457994332206499027210390602057960892619608443835244877969566522289054577004019955197163251383051391056386484"),
+ mp_float("-1.0044545441088147334982090141310109996254053211891382909254273954841577946445146939266197918918682064154417284913909744579255335642984138926584472349045044809769982364636855188813822942775992616262393244692123030785589556491086180653339904810372819131534843026346899813996391263445457079107567520453729519175103407465026903508443410451709458152286177149336961465488934539066425478277113956311952899896"),
+ mp_float("-0.91809944806450160507968509926719421793397701601129506497054423491678832820566696620863945812353167393594283359765770133478438784005604917043870913054590359602230717114829868110340632839152352172838766906074135661861780216130591732458769032156388762624876501966671020423971060413663789725252954018156707632980759742534280277107807243784285526895525154528549981534748892521960867373929166807402081573607"),
+ mp_float("-0.84137286133462912016370437377722557391527006077548679989024953601587274050099653661071822048734972545876665672294079264312910550053457469885183733169985910177738672282158011166234509760264628620283163878286381712914194375366291463110627267583769821092284052817183101371929419864373996745262689129125808913502842053646551901136694297563856600210919144895359113486205381025331230845917679254984130246056"),
+ mp_float("-0.77197083824218775566758542350576451984503910928325099880344231695098034107009698428490605143956625921518324049404097109237191393796814209340989212860920397970388115756679904482069453638212904704871332034961781721672922306658204547297064795707585345924402105885441977479371595593974833732892876442696744278710354462038139373326420148571052727044037945666861384462101100680438085845714758007017890912459"),
+ mp_float("-0.70830438942938389226103628203671095058578508624919043241100457589337932341579235337594052723562908289127900180478384977845247685788558617998932580698541372114458395143098726120605407339723332145309487722641158828766507187970051092372325020424968801444346857456805673521021982827998684176358215090664412075830433676381895009085394765459584306902332863538516708968250111151949373292883084717370136750214"),
+ mp_float("-0.64922931924651948435891166459604527006298311097402614724221866946976727374095436702910331345372393830663520058726586734366250977165782203290673576223479831446991049927009713166922284164802756532612630368717151192763983917617470557104009181727988983728899982571764042714943427842884228226305968909296647210585631530356582671020250065078621947866930791955699519091621975928683891167577939118209752995317"),
+ mp_float("-0.59389253267249128031856786349988950917074765052178537782684731497950168793198215085551275376525785638095347334381464337601340115873120906654210735093373086749025445129848864267629681913637223959662688388547595917343105902869795522750657909313152225334909660349311504665641839757432032642085273294773825430654569626236655780127476787995942100203930109688649260308288138812920384786398107911158242211336"),
+ mp_float("-0.54163928753874688792693847953154378210278316337289073302621701691793013842832713527855139275186331761127890791732949030023387668284081530990576466765366438781004171468712125923806783040364852384645107474919323888244866104299950853942636500449804918524717207302257189500014384947502213265987609740143982507487752851811019675555199536969210338020035244637168848665673874542985848104891407640283448475779"),
+ mp_float("-0.49195448489020132765164563330678684795319809673170769254842932397574142223574266754479688876439252293063596747191715763949473637080090845025235805290627660298390793806123567918272432368565906456904449242048099640269991573860703091119549966656580090344895727506903217490997702076139320240070187841176301072275132754702853546706531458212947126377766377082455276040801409649593897686690335579039249088097"),
+ mp_float("-0.44442400049290474683780015686700912832468011281584370719264797865896724757544263801387160919715024369659531310290126716069277592781213951968487348773317968829873493315644732976730361771677284524361814570322804017651795902352828314768829813280525233152076152933596338657084231876261421854029323231871318447625420606563761978016691863382221705644076154848363909068098768742955289167320802494939203044135"),
+ mp_float("-0.39870834250706801257444935988524110119380678491385529549826146353593685074374394112413530753542965515595298931942877772289555175979857513558549299785756474442266412565991581952064122340493476811771499403749060130998048846553181896415207376130969949156769850618368256916207616199461311770232844290729921276262143025575636163507127372118192458469115098175134745202385266415962170057479259005746371314188"),
+ mp_float("-0.35452417250004321439374440831915078136774455819949041597492122200754998535794754311186903696305160024729848730652236161741641728920822576604759627107801257336472384306635842524335647922905986461464316734879568523605585540652747947718837008361148056473435140108628791476417157411614669729220544421871375778966544820126732097366252762480867772267580096562995098838997340350068034458713836810975772336542"),
+ mp_float("-0.31163099997923437715192791252197008991908830392226002711268035126045994812850021341487045977331183406719888121216726753379040516535548994811853106682744138885737726199249791826760195154324819335605401830004699771080926106711435811095528162167505138326070364492325448530938083745741449241606489796118059528158686399418690053779123492085431337302574311043320822929763553100367471487559156506184561552059"),
+ mp_float("-0.26982137053524629125589134368000859463526920706380634305754504803352996889034522199698562639411111509352066285692980253506584514894347633552815559962078278213942554198161361573529053805815561604494612236923046113569963426638815429190723309371873754362257572129728553764814245451555127598374219122915831827822672050068097587917387876699610748871725871899505124430253472440033559443193231330882015912222"),
+ mp_float("-0.22891346491385335252418323301305721903574426853135165868139488107161875359882649855060841306281996610577043507714420179749997012490158200159228286760182076070238853702650304273595536044564097879836256040500445222623779517938479563672825170660201187913665886303500042899943881458172545747586773449118636829779024546350594192939501222044997900461799567622086855376134212520449581979233755845919242206407"),
+ mp_float("-0.18874539107044148483962452539108049562605950739121556233874324237284003108532015803932351734722913851157885919201353727415783514636122518844705737042279991012747602806949345579673204148952872149478732310713411165777550153097344075890071456761400639748535285690471258927101581054854355340447760012832986593741543172954100257224868334782268838303129642639069374350855050822560529712121253873512981192919"),
+ mp_float("-0.14917068020191480331987594366798257463642049218013100358028007494808278782860681845793727996355077949105621101964780456644558710053860679206389985564282289262863945313521563419713425095313293561156531271406873827407862059794224178673963931015760175992409904618030404049949388455697125710621087153903996554699310239351248501712403735965447626172584463708389355271054135458575660616407807281027532569273"),
+ mp_float("-0.11005464474855034558532992946367617140441291799590633272346369470300089948451548088850779848562951333672046307768236197132011884531112899814287017142812678099786189530885083648028053487143143210013084842204033090067610808043437957839263278819990082680422245184503920065003760084056106498639211714038913022675522477554088120644589867528379465494261566211988560595978371720027996662040619977622880519939"),
+ mp_float("-0.071271352369458288329895322820321910518387621387471904886753040845222508742556610207614997428474692718624724293494234219486629692654067913942671448590308747933077528686356503740495564748336331489981529007498002049467203305333150356025765749951328687615625861023908490641924464725067250202015290398615939624601003796804114657341880719028798356299969314163744225494264251177501475771030453895849071760027"),
+ mp_float("-0.032701033194570593176960967424159867439262151609743901281646918928560179614644292214937294254139067353094941343546062435337854735002679985465530661919437769499469679334061701271307466518705721255721164711728935386843748736018368773148696143535617494769008376016264394941445653108067015696054031886593648750000165596263861985613231299331084136919464347644043034073023793409599459734457481230289510806005"),
+ mp_float("0.0057722207554691385250765314424701402029055419887200752974001016106629261008223551600319961270952411012900554217491512247186235158585613422080610570054108796076834431848890485955118303328412675180202539480287885863954467745637685674728697347784167533761440614497836458268822725675369917889323682081897047014291146056662623460290243668294045527397768718714806369806293863108354786426648129132539998966372"),
+ mp_float("0.044262578534115316141505364013688545162815968886387326469474011960614866433928457544564083498545949486493015541381480199272619273879483660896633417739878979534155863162953056438401542103997754703392959325502418417733490282040118639225135387198900079222228522579867326263236213199100949788232996928662962441231996698537685518745580535167116015888007193952446630626483612472216230797696789386780024884186"),
+ mp_float("0.082884514651146407259017646479985086258117464343433916588613923731629621161123688535473719632365422648561228191057434332565325524919129526296255129250328138431220594918079280195279990971213144222114933872562820098879933095885263397540800837952198206212344034483487932681922475360177123492730435399888179708431851143741657690274561543091833844538019803436819680567342722150505890290308739647058592640554"),
+ mp_float("0.1217548671955795960207425483021358614900843147970591147825252730985495716746779304108583040605380635736259382453706161173470131311972082315653334790285882563987143260143807679559393364073184557114840349963003150752008142107499598422849645867732059632963448081186949558045389305896103311095293653523480267228202651648644916966461172405131934237132521974345735992331042105061914553174017305593570722156"),
+ mp_float("0.16099500318865073276376195714020256110911005501426067917868735250374407388207114134869388425766761670879817031858224511878065771310200573518985658494245245048988423406619285428183619587229125636966670817856588629065332290066893953714088659088820731943961877272867720953926265928984182942261738179063500317012625625613797214018870277698473372492230395058060627062944585346521626832296327313298658946896"),
+ mp_float("0.20073319385914212970233274868875581560640093904391902910347822963169483440215931868782569254962997526018639634536391462110405707830358123823810607748056629388859067826343648830303836089336805193542960063250983751273524017285523313772815740299121198933417421691620044489342555473627953819753849276950873940120275932709303039501778590672689387018703111301194763442232690837414679742192675158854749400031"),
+ mp_float("0.24110732106371081443736403502933959458865703703270483842423117911855237718477095375078324557706050466640840189195036310010771542342902595811771700279244125840532248197023328422739218450317697477528606655009431963175668685727724632716503220970036011072428636416566617878746341856558005866941568793016787951146778504074689695289193249985776873982483454467167675620424391818589079314515966761297903761884"),
+ mp_float("0.28226806662364542513488243855237188811920801961394719006230256421391231444263940935587926032734673043583400517488196478317335522266920865608846119442041487607228256282935367902843937324137131311816280846316476211504981602083709371584893046826960802590957082701189948181040029126922997246285190893315421108884940056708992990319814388386528385294775661753459649244930557683166900456501152838883751048145"),
+ mp_float("0.32438278359661197188434814112263645376383300796368345603224559078262213174768160245291418722225732535889445425441978955046230232423520183162572328796667918597119755790623426821243396541038067189548221385017970747490132848346807835086846224742739783518174521856045120241342552342250237624540517640057863876727100790404576759937970174439500142233713886045791094692160232161282202583799526494890187440982"),
+ mp_float("0.36764032020610093973679656040030769894258076032598532026879050451787851837623281876779910839517104934559509571131245476793370897461112294223097069791036979790869789246990704923016972641128447124450134761607101099714475502253915279996423987874751551839809464243220605216356990242191332207959440596131156606056053353782405658126680752112347316111248571201636101980584863771192511743555312778285555811852"),
+ mp_float("0.41225717610421314636079674858524577974339769530535673599416985093473152094884668475532212786070109656396734210024110646997739806599101515391338529224200765247029621804347659989314285663073356934778325006846600585105603409229249560068143779385404061823352856605112175476425585941848668876363500496251963802785289099156139730794767931239696567625808583721758455499590853776102969784219301687410366894574"),
+ mp_float("0.45848553820031277339881961458620286852300055597216222240276525512597168732757783170430622002335250088852717337445220402792871869624428629670478216686893753213091622640491338749053493653312687192142506317186691451499825477387154298130502081001079948480310374129707518873182909245293729856314112335538268536991100432734238754831581382183867194152688544618613764786538110090218647630222418491772354867365"),
+ mp_float("0.50662400589151819543754124338039458002395162501862620407262637348473736573021443655839614228849954703752400011817439273929686107129980027758334062685989293871782468422087134309251487778368818068697343277761276152283269214967440843623468760599032902855101536074770651052347802720398309604389390412935576542734912329779246514029320028058844182113790702651001494767282106389485006885350535397910234469596"),
+ mp_float("0.55703223714613858485561165636672527418435700929955882258522063085735247762830209546150949993093151208525168382942741755943196909924894733640612287662905448798208968695503544429691006683973510555227043743115877749762291836755023743371250531996306407301926921250651978425852216595231562358901354322985512643062620612492664684343735660126501768330924915406391127078561449196831270962653650285913168736865"),
+ mp_float("0.61015144359948099382270576958891281376175897658062925141257291838647089218804211924954472615276351608052522616721536350811304309106843601386980372663700817841407613637205724710060380504243946387527017729305835526549759382584947548307294673625945181505246033588243254628562007135989862819304875123736322124283751540840308424418079826356790868621285492264436401284457131708998454860678178957440487496846"),
+ mp_float("0.66653385357841757655170912495598801052948577949578794598013766485683149399919600702988263790548684289308419366507330114731478007448480277037870585349839878528510476987656751622171063607650738049803252770931746711749979474138295582185518122616770583522011547333404588397334140218979008329445743257183350026439245195622327002412935110179669786065064256248336355529803951249608580760994410241970183301048"),
+ mp_float("0.72688637861983576410380825282724094571087509064536805859771802634874145038304595702960351552350954487394420900893967443542412167134680877841022981979324934217943044558243889311612369303389823802228415968176085986105456593234836811196413498421705189483480441570087218838838880198790023783126935379997424380646313664675593189097152372597591570297005052762141985888876792397855378330324678708910535670928"),
+ mp_float("0.79213765866833306272549063709836388861133164821764843814035544661807233669085657499795119694550109697289435796167905730734028696860457382633591969746863203221658268215352787999426003836824295865735186240058162890238026143550913074428829174971521982766295337459171920434207870138560165955893510301701009475951647688051041924173509772976464668043102181249133326056614514194476059702818927854465182730488"),
+ mp_float("0.86354540458403088870162042701508802609899641980827779281388336468387611378172848545179206855800237703117326388766251785448832243104557532315563868530221335241681843877589721148152710858450276915094060929055464460904595289810375857484542001554029772756914205394764581565015681888550619597521215330170790900932020526427139889895301895298861962500684224983309849631253769651055627766131046354016026080633"),
+ mp_float("0.94287720903511522695472096634698746821961701447082715282886430681759116370510305442200977746172475919191766872467452556435722426923628932263016810057491604627665341346370647312792137878641981778339478766977117257033313193972503062049848823807984185816349161511639384323609717039070859731273730786261962440930888961452637816150010957385753400458485079102396957808163728719086277093705222264921629104482"),
+ mp_float("1.0327349760407099216140308851526758117650434455754556015816531862477885126267713968703270435574116137922434997264335894165317390264620780236263058402737631932063063004174165625830307553949547254235094490595421204087829251984045371695821378899289906314510773673733422142525364986098439491655499728720064067441974847089250723279678569531016878669464170860294279671823807549050173430657469073868328460813"),
+ mp_float("1.1371863014015513620986972920961467996185902464614212207967072096417681464226600479577377311602159402407006177366151792555740413963387529887058436646530185310378049070444949770636542584826667271864024228789390978708838158611836795677989461494643422449725886461876005332181559841267879321714664946944627924576150730898068371519461986600071760157156493283647973277601700235116463759812832589446615669689"),
+ mp_float("1.2631346646204410830548882103736262946463729948450283319216541258013873543876610506460001701731124474329238086174400016238727604823996884060192535462443892502594341746193920604528018170599548597992605446058531127380864729565456173728022714231662240425741558506716182702534238125055859380947947672058216263950076100709067081172715571254529483048185293474954001130319460942163307510771562521877483134558"),
+ mp_float("1.4237930463369322171790450466716998485849659070579583547395528327155766494591321709028255604995555069697767509898644091658838474199070852141503107908914488299079146020784496004941717619733247593923072300435046114117497652111092228484287429692536116970415263570739573669192065312652575704145058924722183587445777094179651212934483870146300325835132250775160251918024482060686231200667421720903294907992"),
+ mp_float("1.6499377567707229634178205391583573895620604553618816143658836839890991640813664989103153889625613011232279189929537738214010123434985409196947080360318884995453552890935404043608570501176195711664339544425819905604772042865040944001981639283871998465522832931285014334157852308873479268178057779389411298498058679616477491760733137458413954695069693409761463782778062203841902657709000876517957472041"),
+ mp_float("2.0486862053247291933598068078164300555832447486590480169975525282181606765233611608294710306041951894619779320808882667774269167897018447679895915669085872333378886097667684809013141977645875544369058952103375351663736066924352138015612223989950648763849808609670059374534983391726566489604508066477756665036079917861496985739670671535543315242406536705684866077302400051098585622598120733125735438231"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00126_atanh(const bool b_write_output)
+ {
+ return TestCase_case_00126_atanh().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00201_gamma.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00201_gamma.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00201_gamma : public TestCaseReal
+ {
+ public:
+ TestCase_case_00201_gamma() { }
+ virtual ~TestCase_case_00201_gamma() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00201_gamma");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::gamma(boost::multiprecision::tenth() + (((10 * k) - 500) * boost::multiprecision::pi()));
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("-4.3940055384053979887919915667575668753869325512014433712102785202345257293145102740129530493386923071876272786175943677783712413369884522528983596473447860226811792698377498505496227798105437582221221822623662209482128115341557192380862142438263527313902585093890327061142840655159146832189728230162243764148087860047777628953293168233377298348315571764463823380545354545095516628656236504683089404423e-4340"),
+ mp_float("8.7579881290147916367868733634638004521912317851397041461566139540444413525766408707674651392920460446735556733622603797497466048630364491251103384330078189640481068116807316479926866005315889085520274028719839220083056752513651544190091986371123483124022110798683688295644905445778783800032536364901046646874325538175368646781331116041241110878176552836604223857242433786653970197794240783240209999503e-4240"),
+ mp_float("1.6236519429138340829313777328912469321884295486066688634268115889399881834909864045463615834497408294914261319365194356279840272125809257095530239936090603763731730680435260021827760533115892956135653834699267724333842442243414641556593600094921381829243902822826576338112801902861770315269218789762647436618758039688927078759181705153628190826841969840356470661744726049193556183855206758828845317052e-4139"),
+ mp_float("-3.5059215760672360475842379717821658755283473164934044605386736386313237197176342189015668759659360146549038199956944468321743316869004603407396127736673099681779387774678862461963639493481245324591544078901189660481548954755623759540814711818359966480231762036308924558595209078001671030583817846293262032705264656761574084821320725027100619983718628054011211486465214979263300168232898383485716125871e-4040"),
+ mp_float("8.9459035298283356180688586142852661108340820792035558620006269494711965208396983488877049668195402672348917029532179526157780766538238838751853191988678615705033818389056554189708813512022750605576318309782480659433447600772759518708053211727882252423437669816266883206118518908009939960969825547721364755312932886359091258131444352148794888363115383134835283030013733660946581770981846259848821128834e-3940"),
+ mp_float("1.3098658218753384897582509946565525996137984840901251234545396775797942561534119615325998201167885184844431338217815791971952442979792570270640959237182553877417182721289711071332972978467988740136385104694717934732296278826670793080987245689835859565748407939426273354516101002034483999030439461965497368876780534509877678950707149182109574933907902228830496001278503826689354986129639409562606785802e-3841"),
+ mp_float("-1.3785791052728381167137076632461936324824929417211786670440037954143160754782027243547456783336772642111230477475083953283570813983012890250240541589216529766048634136830584265404850636909668567107008099666655662024820664341726938399005587139978046508706311596345761005326336763639706088224503350427475887724424939874778787578910769688550365720945085019850220429388802749326031347535711279526052032975e-3742"),
+ mp_float("-4.2312677589309901496798740541430295828668754417708979078068961267489224666640848350165063238196063182533023120889472967230309088743841393768555654980411775893896520575250232020251897610804581682430053897527257094079843199903985500866668744819798474314727341210690758642259253698920077597815325222176919267224477563265604759319107388977312139680372456300418526996018282268840260343581247490538170907877e-3644"),
+ mp_float("4.5308222642979942945327112387435080838517285350134936377023605800413708506567108020956469468205295835636229562771994859656368371265373056410941755145565935757785778792513172115441086264827119705195794788965318802931198876888353756449587146020557212592083049405134835015938964518276826579226448752526971346976250527092870176910444330704544774909986954484477592088192989247181606563409756140086223639611e-3546"),
+ mp_float("2.0949188505737214240769598249466424331328726130188965711117142445474107495722956733146509584126285038788534211607541633186030556003715458660945560332208236661770945453099809225745841591758899909594407768898392103432709888932532570052722868547226944415103414861271608357737704527037531815023370346077681970154901313797655704469128785299816350189815106581412127009265339455336711523500839968617178110071e-3447"),
+ mp_float("-1.07121930597554519852066368856462732605881700883664141516685228284102360841836292155668880485752328958865071745280964167161004539269879728846189215318501941590645934702810641255346830088110572718682266891690782960187430741926073964251806286946818139634791074474563025477980859952927968934698606050307420165431006381418778576168677243869651224682285137016503109385280061020135221468597372601537110935e-3350"),
+ mp_float("4.5082030811881815624042170182771477125558286778180456395699815104249212980224651197182766881987668855971806892526561535823909678052148733084394338521468730735355943311355156762183191877132912119990702946655056364228696810578874993417690631564229933091180888787637246745691188006231477762018788713739047450699906835259683026583138462400661234317883813992253912997179756354080018713809751016604623974348e-3253"),
+ mp_float("1.4736028073200573108841231908751574371947429383020668300214891081753138381237251523890173623503693538470453824632984406847807483074728995799891039593831521771810459185657225538025895863496879349649396718528586132144184563790662882775074658401676644144692844870659860993740280352570968240549473745832254862873799883019831836290075201787354471212418598045823237678105831423239536587570486097509175079403e-3156"),
+ mp_float("-4.595833799823454008392358892147311234740053350917122823278815785847203494113565639855444430709768951082498298806812802992063899076819050692810173748245097824323325984789655210508017043299912602765131220097464986685789238693933196730003511458909477639053341925899890833574893526408856076367636225546265331301315669268500917729288137471505951144261276280852634502536116231584878145052109489133736851267e-3060"),
+ mp_float("-1.2321333583842080764622437207039002907641794343911584820346573857260916208905464556673623369743614264289587051470036659781572179949074416840364901089638601050014420968668125294364215319641592240914785241504175743577112805697179831623778784671628400159015039721292013956548141225351293195733978605467242851351410009558164390473265439190788468103072876194206380411177860594863928891223310292378829730869e-2963"),
+ mp_float("2.6510872552343828979887002160536154728682194339946899125578501686851682517110080472215855831708862496571744108984168697568722267841184691868130460342425272936493682883128551925928690349885434789140623991253551609846778080938247418689882118824487888393973270007829871158007115871693388222994579348316261932011512772451543323997946210898966343683336363520134660914903292211563687959742673087043695536725e-2868"),
+ mp_float("-4.533754267997188368357382560282773473312346552104068122488033826446035091086421679406041854102733292780097623480677729950392523488661633978287271834098494825788320509442738894044682981224404429159960433492417362992491712330502305200596612756827398060231308135342135626332379414516082541455007883861656136589553233880246067582767506079099024277263193639880827044752677346979990519194979998228285036701e-2772"),
+ mp_float("-5.6870073756120995431386110036600306258609756335222050508000978566434576925861085502681400397067316985335115580771662994925150158657038506843277971140481347466880046982114224553441972195917769353770325674926233864180501941753534277500988754465365604450255243457515666968045919898354089482577733525231137264824674951374995646594789835872460008290909520849186858346102934123977173838463094048074225111825e-2678"),
+ mp_float("2.9496467889238292515203422601105637194645141576455024637372723832157831867659773599738384010749884979003627806106273055349043555247049786573112112950843791743664426154399335022395325684721586143440761070619739653736026163220113858268545002893767717846137208609258994461052930701729263616057039827786143925382992604288203292167842950456876945681150611894427082288236439663643724531702268027532347257736e-2583"),
+ mp_float("3.8537755772621900307192126501954262633997512661729687952136984677056860465821841806148321492991913561327038132437858156781348240120613461967750417482834439535610891512143280287193432885682862328108299229915393041591014437550007107783237900742155902750482464959035199186766353694494591777884969077811665786965632294685614325818415322862148348751263381795454774621531718905238918470110833670312822242668e-2489"),
+ mp_float("-1.173726543055987524068557320356354552575355106330300695503507283423177127173057990484784061094692619056167811220585939639675800575305760554886997196895106993421703767475880657236315461842390692006482193256247964693118103405005062887072076999839624269871954293313726155256767856706747026427336065460225921841844230497388167472089305288581683029770930082865282985330238460439514528333500182172777654929e-2395"),
+ mp_float("-1.4954311043156260589351784906223263859031130382440080343022054336490440340913388005058411250202834843848396503995167456008118510166304115179639159344347187316790504448020869770487701170587380018292771873503454837360618736539575399213138942881775745372403919854163105825563470043519509414549682888195738387531641712341335058373137299007829342335136419446990746187142030613859085693371798088203995333897e-2301"),
+ mp_float("1.0039998883947382819680664162661680739766654948185301775570364800423857086569642426325618663002545209265756174769648206222342436683512696754074257501528117779207700418264831372561411959092368532120799606539989316083727070079066614338256508146277153162461597690687525601046423201614707194270086764036214236348250678959646866436010691229411063093697674281657856637048865876842786819251599342345740734698e-2209"),
+ mp_float("-4.5297662349006142394990866772843087547298014617927527804052723099533340147149953100714213591470668583590423325803828462168656943817846044932307115021716565090556736121648650889777423525797402912038451779487143878578895152485081902889115066390948627372894363360601469117888503824228931930283851962989344605924879532553058288307630842414290833148440763153656436030987177077486539351358104423028895341999e-2117"),
+ mp_float("-1.3014813890276287165819548982193175161134594585608077907314978878608521313788753273089925918874345157867702100433277750065316381417540365745007961653579522884505756412787788336708681412122091220983870564147903526041429099963538533833874161221692448678394633424763971005190608938999676001060949894370983786440859038527503541915679116831459696131695327482614419887365352644027673247222476566246478502515e-2025"),
+ mp_float("2.1364344092004532192933223226551317838454819005151312476529350717660339707397047481166151155285489242734458073297645341127439281530154630868609112462409857663357571156158772419710066748860817184850420413471958797568552918013665168784430385104622513202699110210134437128896794107054526477755605920101561625405626385243224368264566125424438607122088287414803951490753679449154459146141311066773530499299e-1934"),
+ mp_float("2.2910923761057113788988331024133904860183647030287501195776557589662040624780325484499042891930015094292531727233957226872134412585210232047557803966323615819671871592257181157150529219412634336039001507479244933332537302293292839096647482969769068619495144585625530822223901679427311111758424435681814958451158199688529148072110859839866248768433189938028918759741227928813650739342070209348447680347e-1843"),
+ mp_float("-1.0833444521825272635619636992366322515265013980251111110602808514632610297060083312735414557021308974050251752470456720827053782027674102280511681348322870689312134799167593127140536575122120189783836783978584360783832164893524498152236361010800803389558322349207556102986642377247233541923849600626579695176270898344375452452283192577901250318602622712679356204711514690857707131447270586199562880621e-1753"),
+ mp_float("2.268395662435469568269310136949419075867972501131563215803697638900436984174005213704697159032719333293620452180687053152431171451057272068822420469508236590489779650861729157026860564917650167241299022400388908494992431633441961318818712372647946979563039423898817786335113930987003997690550182781469419094126710899451867754133306850551178569194938426035705618925635131491184608253000972089787776139e-1663"),
+ mp_float("3.1209706717849360501477244947297251081228570765579269385870872180542343179421655174391394713003036880646936640318007874827165393465765703583237515676438243295581949019059381663734717856564753578055713157353043447944954313343502783990437104693130185923592989307911784901466927334164552987812535054488058103931744252361959267871062808893993437068937425684937764512527785164376329978508094802392853593243e-1575"),
+ mp_float("-8.0126269013535464473698203593290348970196022788088062027667599225600100340406575391607320315227752103626422170260506220896462952063171061869358803016698613407205186350575099478673378763830774818226089114767198847558037721119298646595560158893536731063538267449206758846763939173348173647680189962405556234462554857579587395562704813879745343675711293396383720776436502658828508003982789119454754500004e-1487"),
+ mp_float("-3.2424971781458091230722177477450572539959329011767711043777224648750102033258357419036411279404218578988957871572869211585816572424416595733370897217304867072527636948037976528016631568826978838166798276652432501586837069134942696753554319211074043472064084054976792426348836101424113612278533687381128085076209417622749920719218168278015241947165373474590394839775887244266662900464510475255153860579e-1399"),
+ mp_float("1.4280502463628141816290604770750707969260306053722501363793834278374783559269397305403710860743229111078806792699771228850841800786631153463530628630158459303602792546851974006014565279411097699992982680053336734505268193629972072097801295116861701698188890557428607994434618128367637369743708625610950683527981801495814858921519337870634834074544767047442315943041067987181704954126149460695800394093e-1312"),
+ mp_float("1.8096091552782900029309212391849588419060459247462867060983429735230500016409384954587195120300166604943858889724003635630492210055204030664746172290188493735608311932822196911349059882213614150540683463476778446081460278610003828507681702987196734104205481786424259794238078814939595359800488073127378824892263926284840325781105222720300586905954393187110783006999461080258330784494237151853949142371e-1225"),
+ mp_float("-3.295217431772865005669049445504540569836055102443379570782921063084983226050062931955849832336735266806391169458860596527757079769137385996684968738100727340396577683815733893760200655426622361655039197259398979123906731330478269803324789621272386027587419562537707756868822567655833928656112833767447082639083604790538118261085874367949324466988787727100438804555297760012808476801222729181413696557e-1141"),
+ mp_float("2.1086333748558980515687899003908108746068872689581355663519900762147788743393992582516682763739398754285840705991052521696502280242990605676825959447050278200881597238650729307960900445214990883959914875339449791554268057540117415441908280046937728708247443268086073189035965510232750576558961405796580342196881785070116612478182366504963474773271443839538713819163617262017514714949639599800609642915e-1056"),
+ mp_float("3.9415058824002178231381634895654941132867376651031022616651202496936239445723138122579334301920776521983193514481374431790552564690685703017627098819050137972465720076731960674295666460961800769644680107583565530272752930600068786624905155456982962804931626309866341356227520055983600955651523235723074488949008122417411291622664896560250995092181419662946505226364327555542291869467410147629947202233e-973"),
+ mp_float("-1.3147989863615176281983304367488873008077701062194016929407466700265551824271254279360033572763867889846056011771114592668322838225011269594754906142915795469293419203190762057044815208540605843083837097377277754084761668767087003532015620398255843881649106797400520847611987355039007013293117247861414208033929565216636688764108605384973554925469607948697549018518541939882865436636638232729846009417e-890"),
+ mp_float("-1.0306093776060914048947345156376061975479781244814140975671921293422977159771487199018729454030574106674947642642786381677228650891967267980750709545327076146978035885397173812647671010394042193883659061113062837466592874651418129327062603599971680231069793377950786014484227848800330674801706079064370621928901439756275891522865611099424379135916114094390151249188939788136255331006647564026806191765e-808"),
+ mp_float("8.0906312032971477426769593283339005931241752724700811245186802284670282251076122055803210671741465581918115456888316914825791133000827572662642418391965663391559508853335994998765065624372213399443258072688786316852732418435057338756879419889478482055621768756279665044074920889962220205898420820781560571246308136936919187922426025933022561617757910474859819970046255437880888965100753589058134261885e-729"),
+ mp_float("-5.8421697067320265178352657003034550831883262010170926109899676267027545574532442616518626267820727021032482183977783434198010404037982330206772758126864998641874863829436380170192606764629666219831011599109553496074722082125339444822663269890155230390540566726244202077642031149024271083605980486929037524597998531852658982925433667485622027632249313472577982736258907466253787437078968180207220451628e-649"),
+ mp_float("-6.9511449476490376230874932691729274431026616018362872172966527891972378106298441132439182930581823105130351480554811117073003327648940071419962341288716241291204375659695841344166996454195893716328234516587472756465709337703971576939476999090670330644106241457123438173709506139764471674492632398654358501326703621123829728268426525364034638626629716976906283395573816610721661345431647171924067608233e-572"),
+ mp_float("1.6809880132008637854302823075515667488762807446345839631784861032942620642168588320542968385445672869367171755316444294338906039121069369441516381298693854408216412644629308439850895968490218962082601204632211322370989965424572029462831356204102818840837954356946586738391184868722032362310974452140421961789130259001463503017487313474749918657240252456538390595370674929452886802116359403133381494495e-495"),
+ mp_float("6.8140988140643492269235220839043631113750767744722527040724286267838980492302584746653727008373887820101865236851258718791580548969765867683274316619138795698992431517991852087720008876375597833029194376417123667415324134082169014308548853956789295185224236773697133044820831206527467422515861972450140923414496203073586575656804705381278139307604064161506384098669596997113003357711615941400378601756e-421"),
+ mp_float("-1.5491160331361115116084433697512417371458263929823631265700892990910615945873981488051570647874491729352715538597913822651519716224591199573370108648422466642902027181129976171270927641087306105140561299001431476116717255195007303600642776909999627500440250722766832400229770582230552663680941625998141166616826549372326161585321574752247407731362816815019161705494502781231767751775033613075973541686e-348"),
+ mp_float("-4.6433626457615950088166270555497445238894308164085069738824672742207602170461607831413853624834367132981388471874332310019781862989679007716737893546776059401151616200916600064276952611982843962416758389900070793556790880862972889962288189297307148134247042696370365599032027058189270955479958131269511475358446574637715723444477261556951261104730652813233094900106916390087411946220266340975603477003e-277"),
+ mp_float("1.1157391082943222232728389801045713141387706188747251347792425134203843588276813346314288304455914158199594898585188540368552588995902311308924226922099311932765863261866027636684258517051967440284063757037297691737782143558160610022295533445367988891324003941193428197006846900872156787077039965527623092307043645598345734470302613795027557881585777841721607833498936339609851221737766306984901081925e-210"),
+ mp_float("-3.294167460944391284838914946744526760642289589721385575845552237381630223056002418575085631419929671363867091929268012192425497910043659565611513219899702593934745265889958063830807659743809930781310907279592293242022629811765387067767007251654442679783397941412864843974932874495771549460122886583192366369795591717714014946104426811562750545870456019165267411837996333542061495848794704962079227846e-146"),
+ mp_float("-6.4594077593622821485983514068524414348135133976156106149836085115401133276455946456124695617274439911613939747557376745421517362191845683455898043017881374513915592655695872007108186499287416523271302463371176018795619183386220059640316893154845538377425188245868875682842030732173631729003192506648649740704834733250642033927552720105988184327018424016394246842512085533315271565254782655102146287752e-87"),
+ mp_float("1.5316045014399602378308935443129539390259549633110990647887753102342278882121219169250120762129103568981579890416231919245434965882112217157793946144386125285344023228226852108505860098018025005784658123072445150816487799249051928738125089744940805776459782079266726318661620829945380929933239484088258685378183028967042714922981061949353125099033107297175723580408691207505960241492496508927774952635e-34"),
+ mp_float("9.5135076986687318362924871772654021925505786260883773430500007704342653833228210115371637942664472097973952589211021534398110449840829907939520968633135461868090666093921415266987443947462056052945940983001627341351603564332481255922073658659022819642234589638764298485355791447803444130475970108860521715535213151027783021873866710176377025530688737305900132232369511327337747876354182498408103002856"),
+ mp_float("1.5536175269874989851396346266415687841630243878286331654105116723368814558555928588193267475985120172172271202657430983061076579174309318863105333863056253502921033316092781323775666092492782163233953505650842448924361729997820225589446326222046126452184781267330252190450852071947412037953532707960554014432394354010130579090208289201774297613716014770311821905159779826613870158831127112321190418126e33"),
+ mp_float("2.3742611819845888850006564503277998843083643272096089420110251800470858826106502206587058718163104747542158502866864574937772605661671905314082255282333127483227309484436521550308468722658948935546899283466530043460324876227034143546597981737901251498311046997088374008113876767349256431097827465276000235298290240039034020864153945352332183806511302682912977609682269222978316036354877613434646666322e85"),
+ mp_float("5.6096700305494224041773141349059634848512345520816816459098785153830664751595830796752941057742287311281498084454771702787176068436490375687428926468270430054593195734245322740432191336017033975905397197736643285710187846122306196725110680748272867024398727814093248055330445499394669930854900970142194819066351492836217574756830732316447400960659172651738386911076144936752944065507340001107649156967e144"),
+ mp_float("6.0114001225802942667937706229260718942033493947284001766696841210740129838685951429812002556475286168002413395256710881253561810245025488610989209509058167959051079292825788379834869690331423158115852291532512108009717128408976316319548506313807736848565499776425898443071138214195326459447073705754245911475737995908739087726077661476053652803293149071135754040877043896865458615777237381794511528139e208"),
+ mp_float("1.8519692594904384091592337268407909304270502208838363276414404558962946458511713914153758556239132584270454734748507322557099484862280837912744521971337200128342597536315527940536231999780495928778120309468814339048876312828910176978899754098213564128178905377805144473750551317932073219841743096700456548871587947488041052745277712049911233654059195074202426066580937332340353743985158084466402628473e276"),
+ mp_float("3.2406645552002526309158789868615129473580252607868823828488741847532626480894406500962815887712325537810484642805283756696049875751086843640556684384365874906685648639684948288138471848847021245227623734098045885830299944283049568446823851416209601183257487078667148947521038721591929194988004156335466248268318911595394045387974767184479211219187701049711428123651116300131621637953620434729131491561e346"),
+ mp_float("1.1044349226257792606091266209645288126640568562083716707603990896473281041228161984954423639643791289405034583256057821003579473678300395846782790954929179052460261888254168350936776605156553582259274642295619219811108328666757076250630725388324442083595214767233788475755258021203724994824051126811418101395494767760043927380211002739817376135361503163389515969152270146832718296062556202345038206964e419"),
+ mp_float("3.427872699512829396605863423264408592111898544325445505369671677521375496802210102385842701215427000781399182257203382989986529216689160116403472406107161788243942630189057298605070833118445795734228265306441488006411560418015743657209669202101338430272073036110343921415114913815665770773520598210032297130768649224872570924630361714875803132309972763097505802181515739882647397520603447156786555736e493"),
+ mp_float("5.490183660030434073596894062121914823472917786914245450665547877093086029860880553011241571116795995854984811080748970390941231922859075165985147365586935639258805393586176460556779336192795162457170284200094975917555108854580901434379965552735013224304442592908014506838103548398749915362366720937080251937378601586478969450808714294762783329512624074618234891336878752905063626609243140030346737974e569"),
+ mp_float("2.9202300349823703413820294592548318822972571662045448206063883918596586209727937731006992383123958550317159880255827592782834344386276097380886180493545437832741782856577842030129811800299046646446724794673751818942683265521577250122364639775054369112189972264244797841317646480752496122975964784922027325089089477678298853271119456910044816748180142340596578100043407510167822767206667315878686657e647"),
+ mp_float("3.6278866073432690268778634957213715369173511184449468972814758449782903467086611312326027685929031932569120690465083635348049550962495728012617576755256946655592443004662711889859760618804571304373206767048120358352667310096500283372969868940704613460882211429762404410597472004783035523876467538449230210408028467040969489176124423103630705603057947961280303743291315286381052629768197203067347600911e726"),
+ mp_float("7.8956714757270373337410848224259309825242124895273992861922605290876026189635239155289687551049024714451280215191082195202633136285641010272534286347299597897586841813959071573756335465345609979201417543681202508635246097316913233150655401306878746497699242463267253893028523713235294857619019378540911938652156616665531179993422024201414052921643704024193646519420330203860342089786288403285402154508e806"),
+ mp_float("2.3693845235970595814244847480782202958948912853990147500462051171568499959127777765813503898856953943150259292275722711925134479997926336279348587630888313987608150140986592266015413714906771414280806168740679461359164498865555242063384827281331063919235427601363015471508971875130972704734516173164283034709285696314602855122306826890815975368195292754725712032418319374035664418994160731645262923757e888"),
+ mp_float("8.007025994308717783682484355499927503455982195399456388108699390164270697812522417414860173259101699519983857692585719245463944597402668267097457908215357186358715882387130307452535130721457264279847959835385157811845847722126744264942953901405822463040047924212317954300048852122955027924861384641825436865577687022804625809691789106674097125443815647535653233273718655881621137512855857744892195036e970"),
+ mp_float("2.5620101054003729614898335721392260432367963750212200197149613610557945558337316335074549437744565798339330819194882852682836394339794016086365716822064596372721839370642363226832157835848161289736484174414886066371696195121188411565047754336167654623417207983424218218191581617275616059836222106866655322826495595235673297142447407962853397457816045032708859816834921370267046961372697796224284892525e1054"),
+ mp_float("6.6791893580907761808974661012696349399289288853867365998825194452589942367882971214026430586522873645127319763322682720951500041659782768921420731258227958780493363816735878175144704718431469505017200349712610687186986036421354350941439973815188317701090459632566161368863600195971507333715544182994498615448719881385414573279903230726324276591245356461191342601763708236401370365938242438940822527878e1138"),
+ mp_float("1.2440507683958091957849078371348724418419180055768701355531140783164628207377420060176051920403586645362144598872894437897447592083325133683432248517672243448895714314450307565579912522664260468500176524925282791323261220822619645885333348959421660775891667059040196881276909642817300172010358827200638634285578343947869363486036281914580673243492574895895130347694404034402181280984359798475735148368e1224"),
+ mp_float("1.4743229399145694740259829512075860709877003128516733061847952274246571799197600974591486606625267824336182591403151573086168688795099130830502684344488189049931162602401888206601166506460667688381798700853969149465518182238368477498887916726169854704267968792451095985096463915889594029906692620988950271329620585176372844025376909075852688300753568892689076953804985324394666141633200684029291441251e1310"),
+ mp_float("1.0029091091884302454001264892057033790826684846930587178156737273245336186397050277827358640959121842479267356481634789791431557982688278376810648191520699540287462063255662978305785162873638417556243234414160617756856437154751968053547338181416913823178137294272110898459881860341507930725299450319583994242304178606622684143391850536559099792506397431106629378536340899742324342690690057178996876905e1397"),
+ mp_float("3.5713900081959148188210297580127601846274531050738101944334243310642822943349404806713963290992389587034504894849915568126331675477306523243325284598816829435186672411839409141358857869816694541514092340811754214347222583508054973733720169073754166916080929660500328394439340816453940818617319803724662485762573052281362292439944757996723666791900228498846677070320751534841568278886904428810658024039e1484"),
+ mp_float("6.1280268594381152241648476714409228769839637877457647252056083397306455244206655655337715325433539449935288226880196513615158187034266954289927241008282016127106075998591528021190149843644441688200927390850793635285463949648887101588402992357187769620397843599071329831885295926861171326556951598605294989840485874550481895558161952580095932590672543289285154046760200924693758141377866199774781877595e1572"),
+ mp_float("4.7005352199627557238219520556585860457958472077501376994285451457689668506974701652726068275310610351168817909779451131765541457935934153049333458449237466761207984719553288352216842475375126973285560718267352565680220483668651709815859767350048058229865094974719717909614358686918552225010440761851307431958792438447184230243149734256427025139238589573231254890405822501121634649852649335877741535358e1661"),
+ mp_float("1.5056296485428819250026881265600595616002884494243503369739503204739104715964546425477173732158510837224971060820667816855401946255577212326839781573566770746567934103389986138833993787001500969325591906000217714981012053386434220033405015868069440459619684945985515029847403009675976942036042997366874383422077325567880465458824588072132306420570920243534343087203011291136429736681299359261588305913e1751"),
+ mp_float("1.892395644910698414484711203663322411763015788187029296126924146292033876435370178327461824164475098946789710616490897867238398542452769824503931084403801668760054159043739464686130976890565600287015077856750318476252522567367576223997656210053139448444629071924694935342978975642464500713013277866328996777369521685188121750302082611157100423072718801504727576052885885937614948703382469289476103284e1841"),
+ mp_float("8.8158138100802945323163699493090756712593129009359560596438056223751313307584350885801930313765527889619894109271699760768345954418565139697250460264493661484857148960201517102939591502641272253125873327302820654192132050167273649434523674683800173630161339027210965895605839478386859859345741399967894639829722241862280310482456881659529218756053166422335902922072944554849981757321674451085480652479e1931"),
+ mp_float("1.4443993552901934166586079695929938764007106278668467552431021889695076851813268098888080990899060748669720281826685895374206907100836398609410630093807596637274798000921484382354888527190263809792639894710877336216208457224931625570808685945280559054352227344812050040944693267450366965146448657911321087248609499606337443847910981514295815087863738041021942068748753918503235625790178293307131289049e2023"),
+ mp_float("7.9297406504676428760866999069277719132148113491996552648832456625577966173577963490904267806714366963873730056899361481600250257272643791977126683862571299361057011549211484505653528471466452962274296963353814569680698913562800067673902876818575109434912997774144003314750113687648912141145951003959834697389624804699455626193648835501978490515882130578939924850674922499407369999587876427801228306583e2114"),
+ mp_float("1.394791727058714179439872907722097363238995980644809494078216306888526786900403821039966255687142732663128899868241345494195459292843996393852263962171253813959444491164378014425704709545438757486637028555122286568354645360095486967267827735914270787449018348148294604319815087414859141173591482176282209882569342214183685696716346281848971394977982956203972457273146744748229771261682630796808010577e2207"),
+ mp_float("7.5398450446463356256007929576571159036680961236241388569169850171785935946371611524967607180610127828012142553443092362412785034477516138390456340409395297359639125503194951772827731224534537692006936790209144561375379985419494717276432331027992036482502157986642534416337746586746959381183712175094967698814654480538522298452925180085111575553184241665301940755639990142054909212269982949315293339869e2299"),
+ mp_float("1.2050084489236443833357935554847684476124401606699250144747695079956036109900332074034303200360954871202032185698503433849898578391741988546027040091549461797301418794073520021083897011559015564169769495361143999383023205722592239525860116329645239481538712478203295938178441901450683017511646366945602464153829886087355290001525893480920728783883523654060329689633286523826990441396404293509573142004e2393"),
+ mp_float("5.4914534426183999126051178016203307747784254921232465931086765687861857813990094448264671225472544034727405940729387277942083309273058810866906100778210204354999631381496436761680248733399707860437529142808735038312249965224230177644498877174000048197622804532355919937222206036275161439144602325081383568176138255639239949775800814397975098547267408342742671443055165771834844208125341755923563035176e2486"),
+ mp_float("6.8986352635644560502281461268713467978122403467683514293817055748910354402699270696985852978242905520316730772178073503483350376301305448386196401592876451291787551512078761070632542967134377529333474508361484688944015075419920911830133363542034422227839681860158226478653688568549285912375944172154486599248244689755270620443899568455389667493098013373951238496838822967719085728194107778762841692181e2580"),
+ mp_float("2.3144396303514990581235883494542811182837911332695049088020138587672785729867990675280804414846033060135468579187661233221632376100514325757471354102900452859961308428306793395456461457734432721502674095421348713681415674599275426638468172062439542376086075905700425107451462034614883258860494724172693143658292904835620843031025911789125549874172681663217967105223266340502412703698028766648501089631e2675"),
+ mp_float("2.0127917007052335602113375465220593785525046474893796411767402919868306043562370534205921980352080316839639567804630484676111118337412950646482585963015468037277199929554751478038854502386034454638076970995814184654461157662456312526187574809125894997819567073614180208084646870305291911435082949244114178981335564253136843037442150840834343066307199733690249973664533783137452942599304804783475499393e2770"),
+ mp_float("4.412118970857419411334924519037920285600526083182925804761871885229790312695803924233922277387091272810643523527216907661563188563180991333954493101080568459355757210777606908224514690537836674846329244522245532055563979702092150857016015008513880245451503198123962608952418433848162487001830808040023502826203249080464680836703336857799667922467949554265284384055589088366618486856520914186730750282e2865"),
+ mp_float("2.3741729834967066529427192077276471601689593150379802568609992203445605138153772054665998980688655129798424595044625693758890820427135906264383264497386146729220248737533406103602080629968636043553288899375906702431902224597321970683254228153716471555494324119611639916160977074631957993993632918649732651991847104793095336215624901715824310781779647834336500663502516249608379716249724660219184923778e2961"),
+ mp_float("3.0588191778436375407964431594423663232177011793124840911672377802750709905227533782108531588563603214696922763960889475297295082843888914603646178143242312325113022797649190978337011344374027639110467793500471558130981167036506533878839717407259626003327016845015401796082064916942005626544164975933444012065549266004025345868487782223169100025369586561320201215252544680896862554398089558437972444081e3057"),
+ mp_float("9.2154698651365947682846865155253683738494999831399753920870016716648893358210440420163306534632208399789627884205989001738282346235746633864678739615350131301921067819002966218740220316120241985263215761885223873388538624886299805514317319639502629767275657561728856405911721374577582390247278529073541595722951182707313421059626587639293701407110464981367123573575036939176815406677724697548907353029e3153"),
+ mp_float("6.3487669882422675035041746183926737420488091550488641913872690608754334752699875574704098460949018344603308157134785271116347228333179781615770111891533240230930844398807961593803271835714927470303923415012809752687474200478758308842472632679865629508437758836601457466283331305889353554446976165608818578313815062191522168100848190675269146044138708215871832884000508477267815230148060788550122870162e3250"),
+ mp_float("9.7916074963027905405145274169120069099743116311984866424775266866741838715687422736470997853579287379452945305840628391733835342783968321681887152658205105988979497861035159711442305805637480206627147258144554042635054709389963425049354301338295913488252211401479456942249752681005064828227486028548663588344479221051974721851357297896325847506677963016771798422975020322905093071797074573278370005679e3347"),
+ mp_float("3.3132702155766186188874113015546084954221636885903064236873852285172801985423996323013928065351640798328171620606153697368110036193124838025079087090249023006451483028573382845440685061071547738666771078112845256880796975398508178874717374775804804747688511576325259827778471421251557254895962304858610033153723642192323674480952843505578566059263627643030580077609466773614848685739909008352301574497e3445"),
+ mp_float("2.4130750365285525955645434029328424674248147215583476496754089050983617931781017232252620824400959967093174517399727211619573927165315797928909556742982128045347473761176001998698869641798221186827879688263779182721097714391988979824441147810291149322800632307340897885694740199032902829586033406335112037964279498337229294689717780458931254990318350438057164397298837050029424060749988401233309140563e3543"),
+ mp_float("3.714202102064138335105945726615325450477380784547266806401345441329942594335160807285220571818126230667576882911551086404368444806207185639907204603139674264743595604456820691310275760908609646165530696648727938339216943884913359835161704759238517332663689514459754130366600723940203257453906990306370695800182591342374405529404189005264547950813000351651407889395181270616768604033936868709907313395e3641"),
+ mp_float("1.1873524713189297953457393050729572744378916550573946229399887117961742585589134196362687104633479727151849596639296290304472034310229296124343028240228667829667686352626193068837036460272926017082581733165581136659902878542000783409167923515844508081002254540746118925012896365625919801238363603325604329060011954056924917034962316753452572582359913920038188648455095321326391610799770791218651338142e3740"),
+ mp_float("7.7534642833326184753948667642248421821439494259066289847447353309742064567575649321857299428054973418571506387951721921121353352619140482064554663873228075217517948376211829071985206754919018937773179423087995284822586623198476386512716249591874841292543687344778830629146091773286462421380507735442292925484674564883576753781816720104474596666345951015500464415057477137098791942424478982261008695057e3838"),
+ mp_float("1.0179289001923780372362702787121824172536382079006560025711233258243664173242356811505663299254144294096990892659369346291473976690088021620697189149668909955195853549540685452041010410803270411406687563577168693629621888522205113210523173197337051484821892275057311525390583790567754541347624911161573439980015333307257952924743878989770445097844616102053386855485027608703209821329757391064622052463e3938"),
+ mp_float("2.6463552733485761653091422547631302372733116703393170832835317638801986026180373710951032049841390076078303509556900323214172901793160591372899441547413909211297939443025176737583076429972194253859398812704842586844419533922797732035386589681910500124209603142767873884386236902637230153004996401451496421286215277781495008758060642635603345933976804657380367865946956684030222910996201104148612891545e4037"),
+ mp_float("1.3426792194000602516363930340794480985916428210283696507628217880969359891649377381312534620181308448845662501760261835568885715541028071325847551063540177315322798839013159797636904000311454117172575792843061884401974866196560482120280941553338503162270365506988887506603281393900034697307312588735014658078138813699656851622540869853382533500029854090189946177300392737991875664945045047297199341111e4137"),
+ mp_float("1.3111049295985528424120741637869296380081102773545059061455783248373725691847616943993323099984738409880133919879773680049656989860141593584140261668879655681153598867754538070469569340780115145149331330029378767756917993169644486775351929020724502912589445565754599295918895708241286525007713477805806133779127559500991585809803263192683404121820782674361812239184982213852330088454952205677094598378e4237"),
+ mp_float("2.4312996912209738454084420220477116568945817076895770384893622896586596149512534292335103863174371316507784974269973110114534262165101442445354256157215448503161278029402632036485474555111731963110782913331701476086475139336006659904576097634581809100926617240540643898255775095817325528361629918358067908459408786749344627092444965702942451204113325323477263381767471297357700093719977972152611323576e4337"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00201_gamma(const bool b_write_output)
+ {
+ return TestCase_case_00201_gamma().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00202_gamma_medium_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00202_gamma_medium_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00202_gamma_medium_x : public TestCaseReal
+ {
+ public:
+ TestCase_case_00202_gamma_medium_x() { }
+ virtual ~TestCase_case_00202_gamma_medium_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00202_gamma_medium_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::gamma(boost::multiprecision::third() + k);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("2.6789385347077476336556929409746776441286893779573011009504283275904176101677438195409828890411887894191590492000722633357190845695044722599777133677084697681672898230500032183425503222471569418175554499527287843947794413057658284016123191415964665260337275840205806355139432410320158394153827008552405210323387989550693638926386839167072816915423096273318811864774965222910556444090780096341646353274"),
+ mp_float("0.89297951156924921121856431365822588137622979265243370031680944253013920338924793984699429634706292980638634973335742111190636152316815741999257112256948992272242994101666773944751677408238564727251848331757626146492648043525527613387077304719882217534457586134019354517131441367733861313846090028508017367744626631835645463087956130556909389718076987577729372882583217409701854813635933654472154510913"),
+ mp_float("1.1906393487589989482914190848776345085016397235365782670890792567068522711856639197959923951294172397418484663111432281492084820308908765599900948300926532302965732546888903192633556987765141963633579777567683486199019739136737015118276973962650962337927678151202580602284192182364514841846145337134402315699283550911419395078394150740921251962410265010363916384344428987960247308484791153929620601455"),
+ mp_float("2.7781584804376642126799778647144805198371593549186826232078515989826552994332158128573155886353068927309797547260008656814864580720787119733102212702161908706920042609407440782811632971451997915145019480991261467797712724652386368609312939246185578788497915686139354738663115092183867964307672453313605403298328285459978588516253018395482921245623951690849138230137000971907243719797846025835781403395"),
+ mp_float("9.2605282681255473755999262157149350661238645163956087440261719966088509981107193761910519621176896424365991824200028856049548602402623732443674042340539695689733475364691469276038776571506659717150064936637538225992375748841287895364376464153951929294993052287131182462210383640612893214358908177712018010994427618199928628387510061318276404152079838969497127433790003239690812399326153419452604677984"),
+ mp_float("40.12895582854403862759968026809805195320341290438097122411341198530502099181311729682789183584332178389192979048667917095480439437447028405892541834756720146555117265803297001961680318098621921076502813920959989793002949116455808799122980113337916936116365599109017906695783291093225372622219354367520780476425196788663573896792102657125310846590126355344875522130900140386601870637466648176279536046"),
+ mp_float("214.02109775223487268053162809652294375041820215669851319527153058829344528966995891641542312449771618075695888259562224509229010333050818164760223118702507448293958750950917343795628363192650245741348340911786612229349061954430980261989227271135556992620616528581428835710844219163868653985169889960110829207601049539539060782891214171334991181814007228506002784698134082061876643399822123606824192245"),
+ mp_float("1355.4669524308208603100336446113119770859819469924239169033863603925251535012430731372976797884855358114607395897722742189178373210932184837681474641844921383919507208935580984403897963355345155636187282577464854411921072571139620832593177271719186095326390468101571595950201338803783480857274263641403525164813998041708071829164435641845494415148871244720468430308818251972521874153220678284321988422"),
+ mp_float("9940.0909844926863089402467271496211652972009446111087239581666428785177923424492030068496517822272626173787569916633442720641403546836022142997480706862756815409719532194260552295251731272531141332040072234742265687421198855023886105683299992607364699060196766078191703634809817894412192953344600036959184541969318972525860080539194706866959044425055794616768488931333847798493743790284974085027915095"),
+ mp_float("82834.091537439052574502056059580176377476674538425906032984722023987648269520410025057080431518560521811489641597194535600534502955696685119164567255718964012841432943495217126912709776060442617776700060195618554739517665712519905088069416660506137249216830638398493086362341514912010160794453833364132653784974432477104883400449328922389132537020879828847307074109444873165411453158570811737523262579"),
+ mp_float("773118.18768276449069535252322274831285644896235864178964119073889055138384885716023386608402750656487024056998824048233227165536091983572777886929438671033078652004080595535985118529124323079776591586722849243984423549821331685244748864788883139061432602375262505260213938185413917876150074823577806523810199309470311964557840419373660896523701219487840257486602502148548287717356281332757621688378407"),
+ mp_float("7.988887939388566403851976073301732566183305944372631826292304301869030966438190655749949534950901170325819223211818317433473772062838302520381649375329340084794040421661538718462248009513384910247797294694421878390433481537607475290716028184591036348035578777125543555440279159438180535507731769706674127053928645265569670976843335278292640782459347076826606948925222016656397460149071051620907799102e6"),
+ mp_float("9.0540729979737085910322395497419635750077467369556494031312782087849017619632827431832761396110213263692617863067274264246036083378834095230992026253732520960999124778830772142572144107818362316141702673203447955091579457426218053294781652758698411944403226140756160294989830473632712735754293390008973439944524646343122937737557799820649928867872600204034878754485849522105837881689471918370288389823e7"),
+ mp_float("1.1166690030834240595606428778015088409176220975578634263861909790834712173088048716592707238853592969188756203111630492590344450283389538411822349904627010918523225389389128564250564439964264685657476663028425247794628133082566893239689737173572804139809731224026593103048745758414701237409696184767773390926491373048985162320965461977880157893704287358497635046386588107726386672075034869932335568078e9"),
+ mp_float("1.4888920041112320794141905037353451212234961300771512351815879721112949564117398288790276318471457292251674937482173990120459267044519384549096466539502681224697633852518838085667419253285686247543302217371233663726170844110089190986252982898097072186412974965368790804064994344552934983212928246357031187901988497398646883094620615970506877191605716477996846728515450810301848896100046493243114090771e10"),
+ mp_float("2.1340785392260993138270063886873280070870111197772501037602760933595227708568270880599396056475755452227400743724449385839324949430477784520371602039953843088733275188610334589456634263042816954812066511565434918007511543224461173746962608820605803467191930783695266819159825227192540142605197153111744702659516846271393865768956216224393190641301526951795480310872146161432650084410066640315130196772e11"),
+ mp_float("3.272253760146685614534743129320569610866750383658450159099090009817934915313801535025240728659615836008201447371082239162029825579339926959790312312792922606939102195586917970383350586999898599737850198440033354094485103294417379974534266685826223198302762720166607578937839868169522821866130230143800854407792583094947059417906619821073622564999567465941973647667062411419673012942876884848319963505e12"),
+ mp_float("5.3446811415729198370734137778902636977490256266421352598618470160359603616792091738745598568107058654800623640394343239646487151129218807009908434442284402580005335861252993516261392920998343795718219907853878116876590020475483872917393022535161645572278457762721257122651384513435539423813460425682080621993945523884135303825808123744202501894992935277052236245228686053187992544733655785855892737248e13"),
+ mp_float("9.2641139787263943842605838816764570760983110861797011170938681611289979602439625680492370851385568334987747643350194948720577728623979265483841286366626297805342582159505188761519747729730462579244914506946722069252756035490838713056814572394280185658615993455383512345929066489954935001276664737848939744789505574732501193298067414489951003284654421146890542825063055825525853744205003362150214077897e14"),
+ mp_float("1.6984208960998389704477737116406837972846903657996118714672091628736496260447264708090267989420687528081087067947535740598772583581062865338704235833881487930979473395909284606278620417117251472861567659606899046029671939839987097393749338272284700704079598800153643930086995523158404750234055201938972286544742688700958552104645692656491017268853310543596599517928226901346406519770917283060872580948e16"),
+ mp_float("3.2836137324596886761990291758386553414170680405459162848366043815557226103531378435641184779546662554290101664698569098490960328256721539654828189278837543333226981898757950238805332806426686180865697475240004822324032417023975054961248720659750421361220557680297044931501524678106249183785840057082013087319835864821853200735648339135882633386449733717620092401327905342603052604890440080584353656499e17"),
+ mp_float("6.6766812560013669749380259908719325275480383491100297791677622424966359743847136152470409051744880527056540051553757166931619334122000463964817318200303004777561529860807832152237510039734261901093584866321343138725532581282082611754539065341492523434481800616603991360719766845482706673697874782733426610883666258471101508162484956242961354552447791892494187882700074196626206963277228163854852434881e18"),
+ mp_float("1.4243586679469582879867788780526789392102481811434730195557892783992823412020722379193687264372241179105395210998134862278745457946026765645827694549397974352546459703639004192477335475143309205566631438148553202928113617340177623840968333939518404999356117464875518156953550260369644090388879953649797676988515468473834988407996790665165088971188862270398760081642682495280257485499142008289035186108e20"),
+ mp_float("3.1810676917482068431704728276509829642362209378870897436745960550917305620179613313532568223764671966668715971229167859089198189412793109942348517826988809387353760004793776029866049227820057225765476878531768819872787078726396693244829279131591104498561995671555323883862928914825538468535165229817881478607684546258231474111192832485535365368988459070557230849001990906125908384281417151845511915641e21"),
+ mp_float("7.4224912807458159673977699311856269165511821884032094019073907952140379780419097731575992522117567922227003932868058337874795775296517256532146541596307221903825440011185477403020781531580133526786112716574127246369836517028258950904601651307045910496644656566962422395680167467926256426582052202908390116751263941269206772926116609132915852527639737831300205314337978780960452896656640020972861136496e22"),
+ mp_float("1.8061395449814818854001240165885025496941209991781142877974650935020825746568647114683491513715274861075237623664560862216200305322152532422822325121768090663264190402721799501401723506017832491517954094366370963283326885810209678053453068484714504887516866431294189449615507417195389063801632702707708261742807559042173648078688374889009524115059002872283049959822241503367043538186449071770062876547e24"),
+ mp_float("4.5755535139530874430136475086908731258917731979178895290869115702052758557973906023864845168078696314723935313283554184281040773482786415471149890308479163013602615686895225403551032881911842311845483705728139773651094777385864517735414440161276745715042728292611946605692618790228318961630802846859527596415112482906839908466010549718824127758149473943117059898216345141863176963405670981817492620587e25"),
+ mp_float("1.2048957586743130266602605106219299231515002754517109093262200468207226420266461919617742560927390029543969632498002601860674070350467089407402804447899512926915355464215742689601771992236785142119310709175076807061454958044944323003659135909136209704961251783721145939499056281426790659896111416339675600389312953832134509229382778092623686976312694805020825773196970887357303267030160025211939723421e27"),
+ mp_float("3.2933817403764556062047120623666084566141007529013431521583347946433085548728329246955162999868199414086850328827873778419175792291276711046900998824258668666901971602189696684911510112113879388459449271745209939301310218656181149543334971484972306526894088208837798901297420502566561137049371204661779974397455407141167658560312926786504744401921365800390257113405053758776628929882437402245968577351e28"),
+ mp_float("9.3312482643999575509133508433720572937399521332204722644486152514893742388063599533039628499626565006579409265012309038854331411491950681299552830002066227889555586206204140607249278650989324933968439603278094828020378952859179923706115752540754868492866583258373763553676024757271923221639885079875043260792790320233308365920886625895096775805443869767772395154647652316533781968000239306363577635828e29"),
+ mp_float("2.7371661575573208816012495807224701394970526257446718642382604737702164433831989196358291026557125735263293384403610651397270547370972199847868830133939426847602971953819881244793121737623535313964075616961574482885977826172026110953793954078621428091240864422456303975744967262133097478347699623430012689832551827268437120670126743595895054236263535131879902578696644679516576043946736863199982773176e31"),
+ mp_float("8.3027373445905400075237903948581594231410596314255046548560567704363232115957033895620149447223281396965323266024285642571720660358615672871868784739616261437729014926586973109205802604124723785691029371450109264754132739388479203226508327371818331876763955414784122059759734028470395684321355524404371825825407209380925932699384455574214997849999389900035704488713155527866947333305101818373281078635e32"),
+ mp_float("2.6015243679717025356907876570555566192508653511799914585215644547367146062999870620627646826796628171049134623354276168005805806912366244166518885885079761917155091343663918240884484815959080119516522536387700902956294925008390150344305942576503077321386039363299024912058049995587390647754024730980036505425294258939356792245807129413254032659666475502011187406463455398731643497768931903090294737972e34"),
+ mp_float("8.411595456441838198733546757812966402244464635481972382553058403648710560369958167336272473997576441972553528217882627655210544234998418947174439769509123019880146201118000231219316757160102571977008953432023291955868692419379481944658921433069328333914819394133351388232102831906589642773801329683545136754178477057058696159477638510285470559958827078983617261423183912256564730945287981999195298611e35"),
+ mp_float("2.803865152147279399577848919270988800748154878493990794184352801216236853456652722445424157999192147324184509405960875885070181411666139649058146589836374339960048733706000077073105585720034190659002984477341097318622897473126493981552973811023109444638273131377783796077367610635529880924600443227848378918059492352352898719825879503428490186652942359661205753807727970752188243648429327333065099537e37"),
+ mp_float("9.6266036890389926052172812894970615492353317494960350600329446175090798635345076803959562757972263724797001489604656738720742895133870794617663032917715519005295006523906002646176625109721173879292435800388711007939386146577342960033318767511793424265914044177303910331989621298486525911744615217489461009520042570764116189380688529617711496408417687681701397547398660329158463031929406905101901750771e38"),
+ mp_float("3.4013999701271107205101060556222950807298172181552657212116404315198748851155260470732378841150199849428273859660312047681329156280634347431574271630926150048537568971780120934982407538768148104016660649470677889471916438457327845878439297854167009907289628942647381650636332858798572488816430710179609556697081708336654386914509947131591395397640916314201160466747526649635990271281723773136005285272e40"),
+ mp_float("1.2358419891461835617853385335427672126651669225964132120402293567855545415919744637699430978951239278625606169009913377324216260115297146233471985359236501184301983393080110606376941405752427144459386702641012966508129639306162450669166278220347346932981898515828548666397867605363481337603303158031924805599939687362317760578938614124478206994476199594159754969584934682701076465232359637572748586982e42"),
+ mp_float("4.6138100928124186306652638585596642606166231776932759916168562653327369552767046647411208988084626640202263030970343275343740704430442679271628745341149604421394071334165746263807247914809061339315043689859781741630350653409673149164887438689296761883132421125759915021218705726690330327052331789985852607573108166152652972828037492731385306112711145151529751886450422815417352136867475980271594724734e43"),
+ mp_float("1.7686272022447604750883511457812046332363722181157557967864615683775491661894034548174296778765773545410867495205298255548433936698336360387457685714107348361534394011430202734459445034010140180070766747779583000958301083807041373846540184830897092055200761431541300758133837195231293292036727186161243499569691463691850306250747705547031034009872605641419738223139328745909984985799199125770777977815e45"),
+ mp_float("6.9566003288293912020141811734060715573963973912553061340267488356183600536783202556152233996478709278616078814474173138490506817680123017524000230475488903555368616444958797422207150467106551374945015874599693137102650929641029403796391393668195228750456328297395782981993092967909753615344460265567557764974119757187944537919607641818322067105498915522917637011014693067245940944143516561365060046071e46"),
+ mp_float("2.8058287992945211181457197399404488614832136144729734740574553636994052216502558364314734378579746075708485121837916499191171083130982950401346759625113857767332008632800048293623550688399642387894489736088542898631402541621881859531211195446172075596017385746616299136070547497056933958188932307112248298539561635399137630294241748866723233732551229260910113594442592870455862847471218346417240885249e48"),
+ mp_float("1.1597425703750687288335641591753855294130616273154957026104148836624208249487724123916756876479628377959507183693005486332350714360806286165889993978380394543830563568224019961364400951205185520329722424249931064767646383870377835272900627451084457913020519441934736976242492965450199369384758686939729296729685475964976887188286589531578936609454508094509513619036271719788423310288103583185792899236e50"),
+ mp_float("4.9095768812544576187287549405091320745152942223022651410507563408375814922831365457914270777097093466695247077633723225473618024127413278102267641175143670235549385772148351169775964026768618702729158262658041507516369691717932835988612656209590871831786865637523719866093220220405843997062145108044854022822335181585068822430413229017017498313357417600090274320586883613770992013552971835486523273433e51"),
+ mp_float("2.1274833152102649681157938075539572322899608296643148944553277476962853133226925031762850670075407168901273733641280064371901143788545753844315977842562257102071400501264285506902917744933068104515968580485151319923760199744437562261732151024156044460440975109593611941973728762175865732060262880152770076556345245353529823053179065907374249269121547626705785538920982899300763205872954462044160085154e53"),
+ mp_float("9.4318426974321746919800192134892103964854930115117960320852863481201982223972700974148637970667638448795646885809674952048761737462552842043134168435359339819183208888938332413936268669203268596687460706817504184995336885533673192693679202873758463774621656319198346276083530845646338078800498768677280672733130587733982215535760525522692505093105527811728982555883024186900050212703431448395776377517e54"),
+ mp_float("4.2757686895025858603642753767817753797400901652186808678786631444811565274867624441614049213369329430120693254900385978262105320983023955059554156357362900718029721362985377360984441796705481763831648853757268563864552721441931847354467905302770503577828484198036583645157867316693006595722892775133700571639019199772738604376211438236953935642207839274650472092000304298061356096425555589939418624474e56"),
+ mp_float("1.9811061594695314486354475912422225926129084432179888021171139236096025244021999324614509468861122635955921208103845503261442132055467765844260092445578143999353770898183224843922791365806873217241997302240867767923909427601428422607570129456950333324393864345090283755589811856734426389351606985811947931526078895894702220027644633049788656847556298863921385402626807658101761658010507423338597296006e58"),
+ mp_float("9.3772358214891155235411185985465202717010999645651469966876725717521186155037463469842011485942647143524693718358202048770826091729214091662831104242403214930274515584733930927901212464819199894945453897273440768173171290646761200342498612762898244402130957900094009776458442788542951576264273066176553542556773440568257174797517929768999642411766481289227890905766889581681671847916401803802693867764e59"),
+ mp_float("4.5323306470530725030448739892974847979888649828731543817323750763468573308268107343756972218205612786036935297206464323572565944335786810970368367050494887216299349199288066615152252691329279949223636050348829704617032790479267913498874329502067484794363296318378771391954914014462426595194398648652000878902440496274657634485466999388349827165687132623126813937787329964479474726492927538504635369419e61"),
+ mp_float("2.2359497858795157681688045013867591670078400582174228283213050376644496165412266289586772960981435641111554746621855732962465865872321493412048394411577477693374345604982112863475111327722444774950327118172089320944402843303105503992778002554353292498552559517066860553364424247134797120295903333334987100258537311495497766346163719698252581401738985427409228209308416115809874198403177585662286782247e63"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00202_gamma_medium_x(const bool b_write_output)
+ {
+ return TestCase_case_00202_gamma_medium_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00203_gamma_small_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00203_gamma_small_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,109 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00203_gamma_small_x : public TestCaseReal
+ {
+ public:
+ TestCase_case_00203_gamma_small_x() { }
+ virtual ~TestCase_case_00203_gamma_small_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00203_gamma_small_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ static const mp_float fifty_three = mp_float(53);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::gamma(boost::multiprecision::third() + (k / fifty_three));
+ }
+
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("2.6789385347077476336556929409746776441286893779573011009504283275904176101677438195409828890411887894191590492000722633357190845695044722599777133677084697681672898230500032183425503222471569418175554499527287843947794413057658284016123191415964665260337275840205806355139432410320158394153827008552405210323387989550693638926386839167072816915423096273318811864774965222910556444090780096341646353274"),
+ mp_float("2.5296056905617796055023220367269139209359448814928339100592493419870407085512504166450694794031244540343320637387482441627630442266011865800428106855961544667231474619083731085180556484110309243968076706840774301088338616307658375772058335970485785343174817661898645704024384148126673931301528790225314594822903317949279136489395809092918472237391428189577658119999957945587705045814105700564576100231"),
+ mp_float("2.3963887168582965765394180141339788508764219384897922463560738487227880203303677974153653918899292733296750747966000516794834442116537527049714656116623150764488400086912634425923573592335556991985379753931318928726701166457659884165833808458851325837087809663070578941463191152422934095741998773947002626526549486560677413190716958674854139355803156513741210584142206971346731750185971387847278762272"),
+ mp_float("2.2769269220707411404098824789511028109960805426969209402384299953640837709588816024365833692089872602102800253102843232615323022889715680516973754138570480236132286523755144803566121559030809296084293103003571674839293830836657631512899108803843778146026654975534710966967640900215374985209007459384288818920543903412505632630802504503123307702023737070309432674923096232826075493570374825055900333351"),
+ mp_float("2.1692970184653054875337487830612293501295406944111390724740702789263706811992013522399140952845428708330247108002145522935856490996570635136834723937631672726845754533807329500454557304330708344854663159596161852843228921086150889835567411372009666477928141076733927592584245546597344093149896213555814095993694010432930998020503670258800954793377220936961311237903284785157321722810558193302100216002"),
+ mp_float("2.0719165459502912270612135556365163626832842439586331681987165125298261817507137316116979239777371327832826166972169503044979088623180590952238250997134187361853471114806271580926326049280939384862920331729685077202416430911575148535565160144732775596870304864948195401923880196494160221779524291324096177441003496034362159161242136165985427510213138152486749678546329640319894139292301949132315162941"),
+ mp_float("1.9834717872408587166422389842404987135360095716841378595852239699687847867321193115701787340590825524916330949152323363466116321671803224113218608229162898516047318297834872212374917336610612622128387159113561705903032628970686620014539282698225419305901736391679372262326933704660950910476708476348691280052410275201788602701909544556627227695738983872166582538824689218125000833454491785976269295647"),
+ mp_float("1.9028632234828382329493502437080288075235297614758063043280699598436097611246143215013484065236769632381041799665640842379307035262949725358933760964229440706897156400952433512582566166946427384324751599075886715381616162669661413368605056151232675181648758761902523922957374685135549743911216229540137839548495020143138532833612292342348595356664535308888481048256264934167789024444287782655109044797"),
+ mp_float("1.8291637460410649497785084904713231552569444904076184820530348100408541293602531380213256087549893266624804551974546912890534440041479490487115129425032822278015168608998246696279596351673792942752136295850297876813008713045535790554362205275623491333446606106208077732287528252972777685783357069385757399340869615014516820768090958213021302675426951565219823952704978517793785321090008263088956491242"),
+ mp_float("1.7615862754982323202369914758099513380488760786216629634057219873688252137452742993929087505966449489826071051848906229621200376618580036531644135810582947569189444649393102814852156182217596427711651245842187277434776082690260607540690140226008824274199993541133433631171788524075909136763267826099111117868992413688985316592308082522789250708870156227527394997205565359487665509068511187414632660971"),
+ mp_float("1.6994584073271708545479049555097123721255622380007715476209611601826970848159020790382047560868385527239924202230236718103391170434927616494803941068430548594602874021162509906080111429553676998373776479481884727672640484652083141558359753526340458414367444096264046409739878876246042698742979526354611917085152990371087277375332025384260680155335820969031849552069366729356087352416025952171731671858"),
+ mp_float("1.6422023680737494841353609707446395691614054731621010471104607585990466118060473647114859940499668080748859164832875582770497176153113062900974680182477349207019292375528350267316244310656450298926312659047429592397297279409085078430956923489834347132976829006027245848237307451185747182988242209236409102699337488609479528384991017441347921666180702582280892504991871941775334982149273737133248941021"),
+ mp_float("1.5893190287060991791970105170244193134398768558130971931013190455123027391802900667942916931929172167500650616164568332070540541282323880668222789186404953702664529284818546486672745911474674484658476636137031776116611014027105669252058789725571907345789637006461703198701497204564942131064386055041362340411042890504924948190239673037663477772334793276561553980509209009951195011464660597879842316814"),
+ mp_float("1.5403750487737548270120045950380655933045245425190104407939669193811552909909074571356883325024374613489141788144358778024461386100047099649675067356160599000173094592176930181284074595171071259698516138558155906931492165324078370559102261294707835893241822423557723358250280884482241141111321488811245004153870775913063649385244298859870874069454786472601852887431428912627346926817235714687632090065"),
+ mp_float("1.4949924590718716483349806827374363461003964479151716558583332941902494199287498875428227001298786034849291386809645248363044123552548592259216447655648352011026498072537949643034661042869859677563276224063206605071408511365441592268250807463627182052958719938168744814000735414693090557294152812578041480032761063523027196526153438528009824120889083707808515133996507048222440462623030003911535036975"),
+ mp_float("1.4528401600711286469356121148768430088630774927618579717876437653167689268019451436457671234091171758734977991058679568837486331285848177365523317749778051846666627666793340088567078928680995788137313271261941587702160515497902014744669242448732087548592460756277813512994701524258736576587647576716516819494912232865976470457030424715486514436062354471467905311647140352065234031217964404272233142018"),
+ mp_float("1.4136269376078543281668082578725272597283118055306942655337812967938200035774670289940349283398904717459542347928672714324759612151755854571762198107779964721009799076855591214378016007426825335986670698038907266048507041086869016681418726941461797972680813291488698524083914000290401144757307002153755233796979939711556650251939938404790951211479028956666015786029985302925430526892994181636363065416"),
+ mp_float("1.3770956893079427469274265630199865330642984827938811310495025366005377743780305748240023713610551575337253290938685583992699974201637412066598166974475858059475162410401978408824788298009561814881558015623764087631561846307317139061045103227612179673448118460628526188685998267204285937724854596873044513287753683347992060271611597225072980558108340931709808933409583449044839922431913163397342076964"),
+ mp_float("1.3430186239859019565447299523719722298137824478447814416920453241643528199753364318479779317756852500378319861010463374876260706706570942472861075768510550604470908779436376674426850418118126520918796226090060679957523028877735767474199954001887514528264565781147934685946348158431423852399620677798650975198969524157953358842285258463841627796306225906038643387185816538973244133106152042859861824403"),
+ mp_float("1.311193248147409529865012329310571523427880029768457253316900605480155264616490085794204868534160249592803792087722280253280639553656097959028587359391093356033489121909015586773804887886075973129571372688852135066261208256302974078614502480604095548608196087512160880258928059930446935357561944207580848013011212332753790749394765102575353868312917231809543992862680654400091587931655744771790320151"),
+ mp_float("1.2814389932118026641639281998055732513148544441325888577195087608374878322339384489075226251440540211324893986307326610328524042290085572467084699368820142923136542473792984943299695058274307927152876342704336285137575678634618013478361645597006972037232216239335236111607587928975198037327163611349313549821535900183290382626833953514197065203608294203171441103330385421035272418371131071449144201048"),
+ mp_float("1.2535943673667637766591461028333873066787234693396303774999337263792225061749396514787585924934212560587765746836396292496312075496418492477674555282635092960468346132792065087577580885989296395996768921813798022461170022375664591597876822852486943288180917283614248531226291685988076357602827744281578957786200050957936906051393178134534758923859103386321940385406557202182751588006948821222570399304"),
+ mp_float("1.2275145393885523164353115660144311537644264809468251809901476411206374178589627451249942010025145688566673529587541743461870107540428414746832875895386999728639251776107156594136679153984442902346757087949517753699443248316641486426016618389288571242915241745397805248134692477370683191668457671955961066317260420758895996927584180553456944220118891168844231665924760309345321566462692118597465333281"),
+ mp_float("1.2030692799980848382916006705817432489818792175556924634788820910999316700806012877924958708931631009429026295130030993167271006043124711134791072749923688529377813687770778773265942142053894214733851181787355323230870636413562883149017595743631676673309845296418304640970831193281867545616826623577442559776621314441203415635177669543264237604819044229894538164386882196749628534234183891325548878216"),
+ mp_float("1.1801412006202528342884029040525191720942936254766350506423817056022674975843148675884937563138520495001294445343039361688211609544003681235642645796147860739577069459470481516284110983311329838778200199082671148173803479170666810215735188693817753680720102469391043783996032202755773675813060971675530857194053030723889698533510777664134927701089114031364607791092677418535345962419222513339179448791"),
+ mp_float("1.1586242406945673346159948183091323292426893172280160664963866468577282080252660520816168221099127228621402172991142609002454998308674935256334185046443740145949490975227757852276057201078083688909062772540995116365414223789196081736950765503020687317663792622152634098947505714635619646798281905139946448436513465483044785931430408782851413222450839320894635245604765274891201052223513536425362937288"),
+ mp_float("1.138422363640367641933142616307468726165435470469650315363577775901186075117963610983193180677412736008220210530831256655455473450845568297791504074970709510446981565476573049210249195956674756863502664297335127861514522982968032336505433074708039557576142942969323768283061828943511981333313381331723764438792000300790820215609752755454889312448956837141003104890641293913162451740430539139951765507"),
+ mp_float("1.1194484287301273750515114044410412576573383435032624171582667414192842190488242819327140022712878440472979685299385152312550302054185309739049793306607984806913133691193692650961639739709009584686686779539364855935023439747199080841490527768254874110961256748187040258333850919905180228342625715397406925659720667626659207523714953800572272029141579851945376524632043308889902934536428147772124614483"),
+ mp_float("1.1016232118651033768090941639634292803824576035125626898330763325372736921097158619763946175470152344548856470881505322865977847707971665029631393008713754779458369765530737959392152158430324144128904030420269804570555577893196988322912484746136158685460139136081668062276184791026464525750056984838970229069999955519251580372548263437208378993802433649418934936136791411586764216175939143532242000297"),
+ mp_float("1.0848745528807955646408565230413287576174554387072497914562370089663097215098749543965657830937167127663751344666121031220428196618364523599814388615032847821083194335000965460581709791602310894399619250759040655320153655160227116823681040489902008529856411362136562376630085399537601952806028281787054216562054537280753381049047816948542008923203374381827979422503040574046347084150421285208031008257"),
+ mp_float("1.0691366107677938743846164860005282246372428700325733426315262386711437563851725806796171025131740248626108276333891076947171841797931332768923187865146035049171683534755907096213116620778181672979884008089431484715461879371146814350534968077628091390538972161079747496764084890245725453889069724548919731422053465829560185024002239431972538531388474413437533657388455415450460000660409082278610754529"),
+ mp_float("1.0543492112564305759808774433746607922711818094880621325141600209556415644388350179622509451021473727460017742183219326000995479220071821181536090091169149928275936816652890138105622614562667096349128922496852180150392899874182401077917179157824335230738203141751931021206242332280551172117047019872400812732644445716693102962080742487766046064958384887902628925401953227176186554279128256294146328312"),
+ mp_float("1.0404572737212455216366928962252026829855827707874653169657184343822413236944791868235966121175720913641359830896347501924195566627117899422964524538159013641739516919578692524943024277238620097572950308503282872511385377642680619936460651477953866689205117681215382688498743700367797796991603851798622369073572016289015255494991751452718245308645328487611201153134544595865500308842024730595376110732"),
+ mp_float("1.0274103064232210760873020964507479317148058761281597871307306670217246436304274720125318986469123875725698790652593388358555899479903070070888539725006457848775485940100225506690047714925024527156939003413160517321694635070839491793063368625273044021957849536511760047604994413860322521007395651976108956652557411026936060226256421137865341567600323855979612187088503802179020554315196932098196337075"),
+ mp_float("1.0151619608103260209697214402272410051224719159150429586158306741104815774178856545434939312831094721551119933339747803674033866874976535563642624314814425742918616095891240866207928946807802134300945737989036015479302171467275747960988191122416447078070533469874926144255007180037224309550415919869470298372460193880387875730237308594995070731133678676874058933653914184197781767922702957366101521735"),
+ mp_float("1.00366963700837584522107571639229366187802161504798453652314332932289112419372773913081687543895008583564829930058342452832710470447564483762469753028758821662277410948669571160428091117221067291411078624167826435671153987096512554502793712647270596085188215787682913514321420579717061329709789040418850588663060519709148496473465993644817497782383506026943229675657818312787680928878757136817665459"),
+ mp_float("0.99289413380883135436057444448136922012029941366540581963603356354755295024489263187414574300403216532995245106604341077155588286648793904860682286753504572993571022583055991049391342403616859850363331344821383802739895943997375629711326878537302174476356067850287212712199732059663633118426956107203233916511634618975515090250561798601063447171067199191353465011470728575367504237424437567292888975074"),
+ mp_float("0.9827993374412593590711881018510769158881377926811281452554719358456164135456593495141483514543663947166119193613005420726257604041339712914981555940298481808862230596810308749079623182025169439022159620044069032254570285950490733748853181555210035716322582094947219019628793033406555076871364402029301815331385390374302014368627359897301877340527282829184323882439331791927657944135617975037803275108"),
+ mp_float("0.97335194424054349214281897993468546993712269087103006440913989538101284635474178600733367934163394867655935677226335880254798727812040774121240660701486175647278632215414465106398573776068539919601690241992806791764297958702340891478107392238782505253500829470967549738254935530862934256443154308498318771550558357509092760550222686932700565928876386687754738068636338864946253780554223055107140272981"),
+ mp_float("0.96452121301058342916813473402085527197119691762487912438297131920426239036746421780597565435318449852018135918974700557369122208327590613942101720664392154796440683295292868873108910057237271474328217315732690869741904635096667970281918656947555575386506969986211960444001478847303256015107439282313080742332986197105239401060835273514082299566764376545020446147165941075282159839862966772888579618362"),
+ mp_float("0.95627874346983385414486178675085641871616455895571836585289693451318892719411464057147005935902865838591544652897798628122740345519845310792273812364576795085445214531558968605156822767794303402689954684033195435129924550621428082708593065955431085121976060214146205751807300461356040464923903606022336777823929021503919818877878620419896455040558631778301116727344073827807474648524734262511263416188"),
+ mp_float("0.94859827765803447339134529623051110477405686640302162799592002522833547120972222929920683412204376455132333857739127256997425284407704514411518485592914269149727590553423289886318777393866310796880083183967076770351742925300341077096274282247773089150711053530711895779092118739421071321555758119929170304725714147861318954167341296690537225165598870540931587193671046949526928703500386872547066186623"),
+ mp_float("0.94145552160289587093269445005684881057041577251288996803620541403189957587500195624869881429271305837288441176868523327442628350811907160182099559603609348745552626484921794894455504719386299717480148106651410916276481219577863133011378210207066589008188213647841390503082793468300402313585961471891204713826420484080620721176265387772277159308681333418814666527213998138614270710451089314708785603208"),
+ mp_float("0.93482798490263432436480530488204410859860069026220007834204768766025597880093215342674734180903007006026800010100639665573703514253017212915834146631659495255076034508118722368249484273147708939378331595497797994365334716586174849024064285595707025448106548814254185551306159851050526623262123880137122352792416283365525734333026989821620266091894340014455095529788104630676710646005437968039808665788"),
+ mp_float("0.92869483618519825578018744682106784081956209789549425814924001461008803353510655075924450896494994781936243582567191404525061506382329211318466032181576901366671768114494079974919099750305251315066144108086950608679587578040481970318593964527068979627414493043935490261044008216601413302694251377622705949534612454524584028311966589160212189381368447064779716675223311842880154351646758615931608788596"),
+ mp_float("0.92303677266613162418257382291519456508028536080141791492828317597442798830560084886763269183858116593434325442677026583489330549983905144044153394660563856741184375240049441787530223055398823359452043331938268409422462932642812346773525786611607232455129258694907129791873077795146359446383882763753068355088996018795011602395147289347112763581801620204698371611369706271813786004169839490824189751506"),
+ mp_float("0.91783590225116709987301890678103283987295247339616036330449546469029311011196493223833392502305218466417853158806244233255093475148575344350435270963378219596567513091152883505819113991489064893626942360918898180551911561245373492106412123634570894617688916395312871120695504822934222865886215608259193418696136556261240375607327940011767094050171781107980789653576509018109273283622974815814258875492"),
+ mp_float("0.91307563682255337306659597478126875011811051343665543898866107990182277158289915331298590885085642423753910452110702795217115796281621070858410079938671046873853685403602002326193083218204080862072295704773814858806757981274278536035833854445929915890575160977215153584915383263535754344281396361249397611935645741138409207796943418962720734488873990304658529769318468667276858792892297723601879012123"),
+ mp_float("0.90874059551455711701582979411541993166564257495013810309616932362808530447601166788535910809635955577343403148414474782637723366143535832908491293853571651879973166866932032600380498526056688796077950764570643981291060392336671291599391843389182016765531892913000218885104502050637104646911914193350835613215682958711934620670904046980822323182899009297393006417434054557092763056799978722872170864434"),
+ mp_float("0.90481651692751578157889316539538566781732627636238488294574626818313069919655093442054068707888115079192981881899580221900311645868432060757216124306438465402872425353909865181360135437264685018641691666157109110206858557121393651574714202275181687644499843547260259742323055121908128111806361646130249851745453526528510762501576789388549073992715829514873427210754052140886231110222325592278297166921"),
+ mp_float("0.90129017935458091661077799863429705347259932382380620507653947328199060569709856241103587760763012082212960608341737973253407051517830500323669927711705270754220077779446714982463656616675209707309992686241196240633861909638024775512229077991907576449441601393739053972554557842368322344610275221637038520743639233422865476977181520615688466238719362793873010254162088836220082738535179900011390042026"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00203_gamma_small_x(const bool b_write_output)
+ {
+ return TestCase_case_00203_gamma_small_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00204_gamma_tiny_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00204_gamma_tiny_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,109 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00204_gamma_tiny_x : public TestCaseReal
+ {
+ public:
+ TestCase_case_00204_gamma_tiny_x() { }
+ virtual ~TestCase_case_00204_gamma_tiny_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00204_gamma_tiny_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ mp_float ten_pow_two_k = boost::multiprecision::one();
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::gamma(boost::multiprecision::third() / ten_pow_two_k);
+ ten_pow_two_k *= 100;
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("2.6789385347077476336556929409746776441286893779573011009504283275904176101677438195409828890411887894191590492000722633357190845695044722599777133677084697681672898230500032183425503222471569418175554499527287843947794413057658284016123191415964665260337275840205806355139432410320158394153827008552405210323387989550693638926386839167072816915423096273318811864774965222910556444090780096341646353274"),
+ mp_float("299.42607114155485459962225787181406859967460106556216442679936705460211114835858960802106116000988490063454751570244709297886290678419777998685426688364236175961905514377385837539689114625340018265275850376095797696920128854737619477103098789761436087859301627646804839063760214948489053154720723785285306468662377157777209631501640540916260638118835321914121249901998994445322710760186240305596194827"),
+ mp_float("29999.422817302623371013031563320453420994419695523275892232061505749062775614114989651473414521250316664285495758715872718184406949165827048554845431629231274044645417914643446920814950485207722402155277791368276897804420848548594216635890399290321694915058949061718341663418950916692929313214995249130578830609469633311097070076084382402096984592075944574606892118856878127824534085518267935998759504"),
+ mp_float("2.9999994227846647836980844122465639619173736996808318713279584764571320266252770281036497213266459640725390149934271905161557291450164750714305022937960340803226034527580392333409179678733943867739837143624503786682628840002707981068358429460684566155952086011881884773000943249934395588933477906957461811861267749263542196142996862831391296857437462098669393644926054353233433133140340244142446538516e6"),
+ mp_float("2.999999994227843383953204470702956189193681427049656838821897948783947013957606024850681778057957215462722631944869645996063163302779023778046891434562790127509748256250036633279732147883333953899763606729571276778630413827539973594368450852709264384593739328294350007629294726899813021692392458426516375575551079617750254451388348979879562018003948513350243434781132349690369135024500795385024921983e8"),
+ mp_float("2.999999999942278433513143567257007868501294613287513237143574125159523902095599954120067753137816736219387055464463703671932280069765612228624917295892543250319107676685974105638852242483756086483837667318992657563076147548625936873347419047679092404208917145179976467005290838120512128429750044257492238999002051310457369644828884507756729225222993850795399380669489422630477893578265177701287268406e10"),
+ mp_float("2.9999999999994227843350987968247252637999383875807795579510795217137315644378417011294742078114161093369622007498680613202100287273854971663291203690758382721455594131927198764629005247749015890139021410206671064100777710667250927129106501721912267762231230518988166354100239445076098136162650367641534100836501364205137082632653417532656476244984903814785995978064132379019008082838914426197538341906e12"),
+ mp_float("2.9999999999999942278433509847043624680566981603245276466918821366282010930302527341029797952992692727939575184167220741138315206436857121487827368980055116061402183304367591867029942602138357126747318151081128562959214992009407404708982340911192486920059026318843833197890200190938249218764735364613182376367011112628950648758613936922603718721001883202201599919895645222692635215839719611747198661406e14"),
+ mp_float("2.9999999999999999422784335098467172362021087516681740494277846429837452177454334274163264032087803846775534759937686346831710570291787306497665325617674303268805900002948829156224481282399804831040438686920279507495507319788080212223812298859006325987284833534767510082596233807950464044660797610393365258256509100086818401769567964976205923801913996996304630738600669377753809924807377957588963805633e16"),
+ mp_float("2.999999999999999999422784335098467139723173241693588420655474872773522827319591997386224927156112229446201363451117642843141860715413905804793711372651266157155060046926166737458884260338406458060666137898868682848330750837362349856760139951473161244693161859204882129024760271461134409279615574758679314746992255124440236270746152967994011959727566331154139108522837787642537438315722610194482787983e18"),
+ mp_float("2.9999999999999999999942278433509846713939678476323535747747581523313089984037304100698711076285217223166320136831059412864635984938173229291818129090341738622744778086120612980785888678856122171654579476982206448246716188365736785962184330416762220587213027252483900599312774462861616350319407561053845979618619042761491360058097943430996385022121037456166336439373632982409128901057476185520484181978e20"),
+ mp_float("2.9999999999999999999999422784335098467139393520878450775168043020509573483004483512638991903832484556804193953321832430457524880599052155418648400507820452132647655580760112094628888981159874224999225300221443412068176811618705835542241861373664167576711108501484251936128436942984877897429276203684606439008426627797961668040062482426743211249984911953213165552298043651134099410356251272263602626397e22"),
+ mp_float("2.9999999999999999999999994227843350984671393934882396029293449486924625251927370640153130330817870892417457390406229385810549563419953254318019972639234347931777576467789859382768337003459668188627587441108933066111901268213608100067330295911560171069491827895869205761694897339387109131654372458256358710389822545534251126494151304072187497050120431051856571760830521260714254913934739345845151322479e24"),
+ mp_float("2.9999999999999999999999999942278433509846713939348791321445088671774918204472856277991427956922968657682491849761489550710693563589640176518385892397080635990162058332146591485809775381977763907873789686572662759894244637737609095786313407541438459550043562957650456787257398803513474430178299069072946886532328926789733103161325173002933557240946430532250925578143335374410660232889047419911203972522e26"),
+ mp_float("2.9999999999999999999999999999422784335098467139393487909950566102135439749239922922909912278628570739147701843003022184114049510691283010603468867860633821437673560963899760770824974842611979343066049634839678353378036181721496989788202202885502239275819181729861013339352973197508523766620498412346528567246418377266099605316714280297043367279017006442378199998761519714184955396245215698062314197578e28"),
+ mp_float("2.9999999999999999999999999999994227843350984671393934879099179272542896166549118748664113995425201035476307681763642931846419406034738314519572604910297688664798513785999941367971552542330686905853478017221009451960066180142536131905875241633162841831140384395983864885647796241101090271182597877010069722328319771814040082428335817502281129107260441564679943156110255266629366243533046532832519537069e30"),
+ mp_float("2.9999999999999999999999999999999942278433509846713939348790991760086581115842396859438584640443388740896965539457545428152327912918380190143618604015745405842161488956108749701697314845245165340291443934936135896936103867848044777210948339534192212321911710419779523858538712821681082449582831717829915625984162891390980120160559982477426538834728757170905192121138167626351139820040276414023164680938e32"),
+ mp_float("2.9999999999999999999999999999999999422784335098467139393487909917597601926373841659161581040754481802954862885034819018757044192371199717609394019609835888520396115995216794587096090439556059684243286127277665455989789482211347268085370468309423792415431602864998050182605010451292119656171085258224779674663997612300337498870288976933732248956254752390662014617940558184011255746388471830963503119207e34"),
+ mp_float("2.9999999999999999999999999999999999994227843350984671393934879099175975692875259958360672529926979822820105091012321608523591569652562708967168618109782021613996317686254165564481513157764860885918379918930674518877789208285712564867933881151192604044439262409819377698264958478305570456909656999171222303350860775135430297759526032879024267074047450817280244839574593160236023461531266313896913298359e36"),
+ mp_float("2.9999999999999999999999999999999999999942278433509846713939348790991759756896113751737783630971221741728680105558212252436463497382874149687357393846685867632461857794433646819160530219130311237520951178836795230269732934669336181379742210750741952166279054465048371095932168304650901433070198693774391558364326827960499732540852362919478074852973311831370667729699861613598438663046469118205755923194e38"),
+ mp_float("2.9999999999999999999999999999999999999999422784335098467139393487909917597568957873632593254000279412611636848961045933300838767125976949924770869015797622216890788049962775854776908230762655852852584020335067158181317431080923403164487413204860580232176514916379774115104887579447050361444878180767337600676317326504982830063315132555127912012002974222178604710162457080893303587259190592496501117994e40"),
+ mp_float("2.9999999999999999999999999999999999999999994227843350984671393934879099175975689578409937454081771850845635803494401005713087907923484378299664074057192215862367769713438984494581707257491716776484749644956531051178316658959155011511968803509841509578125002339495428132973519089350251255761630752233718345626815816361283854942203728390924543448867181710232782951075425323122955027751250914274333754585e42"),
+ mp_float("2.9999999999999999999999999999999999999999999942278433509846713939348790991759756895784066735692971895414128309978444489111768886033132905253270661950684263109094261424523593687323035915802116227418486000653031497205981193413461292072083301951068762484641853647218696617147326465516702551827654425506650591151038144771603993196243570774994710109709406792617025163682247429251873238795225768833693060497e44"),
+ mp_float("2.9999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664093044934371831850294978794939023152661025720731518743415607427440823516179181816027174313930145026833161158449687434480930824055119539450012166235059614847022039557346320175388299471776923455680898964179209045332973600464439762309302345503116855159543941894192952747887109279778061306057149044883541811894115e46"),
+ mp_float("2.9999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640604060865260087559669307384395022072990326645484958876845078312462784056674818382121942804573789526453986675867644205585743420550598039533646568175381065669484869239234447170719565442496986312951527844003831696560987555217122412177689539530355249716750358832374092183588417720754960937294582298394625425128e48"),
+ mp_float("2.999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600796980475505250236502578745069978454127339866556778555869292241286903187401034996828918181844512482420827756166087946483632300913054535149130014460376921903551608239232276216501897142646286071557660028869214194485757766743813605903616405761195424692164325214844807887012945041384980638456768808846834e50"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664060076434162765942714217453068857045750876534681037274759170559213301172738828323679064341772962059514211928177002112360146990794428725674749941187636549627422946192859401569162008926309113898746609615317223369340461184296682798330550977843190652292518811538178232266977987107388341984707813907163216055e52"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764015239180968911231250208005462299311726879810907281065827970938369609865634446108069288939525521995847790800625812038321591649525750849111700748399135670178703725034352794856534034507220946277407391726459522934429600015013025708649026755166879782551557975017428229149286719378101812160613338937e54"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119752961843289218174031998123472171906805052888779593305166015369714794157802264684551890989427499414087965543207842799186252448695206073386562846889514929012248759232627742638145992953408164551884427927649662537941516767012814634679134946495622286968572867473162007640489137666164075149429e56"),
+ mp_float("2.999999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119426573364830987230751517558476962453185122326939282655320768970351894933893034088221166603153691778777722920592897949841863876833537620347753499136169122340169330784828664212772364091979167483404246318111152321155269586525719041609966358620693359172343341870013647551023886588443129549e58"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942330948004640492131871275282701035864892302132087954882230652508665603559373751801423462435659211412015329014519832009781683122389771229286454440520443168103435469980904311561148319996378304150592800757147227741032899043456926904851167202870645423500395735031857934282905446688108666e60"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119423276841198559098224384704770510837703561028264695517757321899635876485620138531885740942095127681314747147120299168778651994366360934244093240531168201850818564915779933459262762827664439184577393700571321787347607620074573359260922106013951865435140319086942985398114907897027109e62"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664060076401194232765148100806399934414242899458424941074083341336774466720533812688774043034814224133628362656876430772026453781350499581699618393369744320593810309262929842442087387194724954555549633092920628512514111220012207563468358367107750800026245862352992166173604593315546960698432377e64"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651154619585541113199148514019254201287213482805904356555491872279134087352101171988277943344297142614161232445750844968150018692707270107894607254388183934654558702204173376324094704223768428019626172912024219374895594947968009989530015113032805285609693923874436693657836e66"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119423276511513557007565308897157092136042491926772835002859534489934097330479241094246622341958438696162236137565835090286314174460548642250691559619409337710892376672908657138531858310883891359207006135021102855751924249593517061036198018431368626267364381029900571106303227114e68"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664060076401194232765115132306190868506662138116554774967173192150722976941792842510758706246701662552674896267060517079901760265807310481473479367572263991616058843888356715775521280282034671494675839625527421576876306075528572808199373218503397688099626363960621632415097977858778936407e70"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651151322735520206608390437885067184676522467887299207577617775261332453850591547032513503252594633846507739356127390718260960641682593863039546351420915256715133214656534729787037119813634274233630366684790406238589844642488074488313647909684073117699401981934049657e72"),
+ mp_float("2.999999999999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651151322732256321823808128452262379026570373351099901959214668762869907764427296147758432559353926434340204475758589961413177639299977900332263627689677429428163195229556125819334695271530071610110485285492139475410985767546999376418725285069479763933983384286183e74"),
+ mp_float("2.99999999999999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651151322732223682975962305357934330970070852405737908903030637697885282303565653638900900580811613300014264883330167019483111504808947519154973193222079389664535229567804141144249636444807280767034609116167369240630420671973860587846802467118694873945376407516e76"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651151322732223356587483847126991050489505857196284288972468797387235436048957037213812324262899029178064985060981520316570374684633590494921045267116680380700749514154031327949970658056657862559742129766878088473597664349065422003368861147787140400153877947126e78"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119423276511513227322233533235990625446816176847002072441897527731631789841289375864109510495614384996200906207464316607153914132938979728159538800066637723534503183082550420559579536801479877954093837345791948212899162021209823625333480447795987237879063617163717744e80"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664060076401194232765115132273222335329096021469885852335665215074466880741117012280009787260178549018791892964198729125390163622065252586001750847076341592555305275318426780007709981167348282601290536455962149766086683241069484491493997440733976877044212962642304483147924275e82"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651151322732223353290633826220400292413371670179673597957550192238257561951939235579302504553410963259235061105261291184058320213269397109849686196272153819873027536341091925296840123957001756132336575716858720159131681183813800265917043983500058905469288e84"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119423276511513227322233532906305623356157101039388653740236458630139929326391588454407730332163403025251999792882955413912797766966856882582095723490366476583606378554846375154651596747355322691786019222393661720263894701091806232276233171007290277398398104533e86"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664060076401194232765115132273222335329063052969676786428084453732596714634206863093958297481437578840775547866001634234648882787577130805271700913874385407223909579058391823883108765830960166173285299195837219032452830434075261217927838511573494641936632827188637628479e88"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651151322732223353290630529370379385822613594045486581346859177319652412974065138561500870043591253770160833199114110208316221767228284092875522888577014984394123266362521266030405600405824733390545272782857746733307096107185770844896123120706712177e90"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119423276511513227322233532906305293671155010380312846126817756969070827834531073556620320630383239574270028843975532523475381300594977944525263504394509122076023359667089504008349598973088236336843148819236418748249092575349492544079352402107478030440336e92"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664060076401194232765115132273222335329063052936708286219018546151835372764040756183809111429947800099805369849656536037553992045287987240926694928311486271281082594881917327512084650277401387528576024863567724920244349738568533513396448799735622306278257592241681e94"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999994227843350984671393934879099175975689578406640600764011942327651151322732223353290630529367082535801707003287410447159842566628637494368916160687403852241956743950451344124885195752059022799874325085828519272760926511018951719467298944017489741124974149979499256547975933468153542180198308419961569075374e96"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999942278433509846713939348790991759756895784066406007640119423276511513227322233532906305293670825325378222187051010143550369166765429581696105422842973537794106577862004583616052489854869435349421069934596356039577016071305834280183487500327648205476910466844131991956595576509029751975463399252361266698e98"),
+ mp_float("2.9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999422784335098467139393487909917597568957840664060076401194232765115132273222335329063052936708253250518337085927792002698886017702201280761748610026628879478519692455794950397244951782122274229277483126433686120946509384807501016949765978845036712036799804423205296064199996455041028196737184142343398e100"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00204_gamma_tiny_x(const bool b_write_output)
+ {
+ return TestCase_case_00204_gamma_tiny_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00205_gamma_near_neg_n.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00205_gamma_near_neg_n.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,109 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00205_gamma_near_neg_n : public TestCaseReal
+ {
+ public:
+ TestCase_case_00205_gamma_near_neg_n() { }
+ virtual ~TestCase_case_00205_gamma_near_neg_n() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00205_gamma_near_neg_n");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ mp_float ten_pow_k = boost::multiprecision::one();
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::gamma_near_n(-87, (boost::multiprecision::third() / ten_pow_k));
+ ten_pow_k *= 10;
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("-7.6358845655007984670466106176541379958034170476350344247951207752230011076551341305903013926856855173579515484578021232352511453220773415684805129254939408994533029707910295148186782883512318268281771393864074576031172029194101657258275017383719976311566090177083326314397794279318142126952104842401471817099460276706173881940876594601931903732825601052334610896580058446227727356660108146698961112618e-132"),
+ mp_float("-1.6551052950667703725787539622245256755170228904939280071937225517883807233776022761994020409848915781721399865527298705689720595663916266125245614937750527746100915789502308564174505394572687183163134197447085080351378776768394989543766678944340597915556209864780926692729227962933761928387982427780324526862141581605164416266150278827251960678391020331614898498084692042590804677575843098526322259586e-131"),
+ mp_float("-1.4447141654465126350060750210640397798559847993508749838785937594266039606034640940917534987357561489722324423877993789194497132959304643003122937996862172790250846401779348371340701154032080315379120131844543793849453170049616404940935847000032817757576375652177414633443780255663784386285416587967041138955848488779693739658627028250887503615825141119940908782194001669236409956929971395642603551456e-130"),
+ mp_float("-1.4254371354917432258544841542080834369235708299070219933512279289930168910661561305277110892218085234638150580848855110916760049354816648375693594485915464265426135704810867163778988357884531266676168018823095648575719604291787045089006423261656586024881724310672235260273307396838354705095114791945688745633802651511407862724231922466695203883819135544066402453502152312452592690171832017544117491883e-129"),
+ mp_float("-1.4235259465228117470341779757963278110202160145880758553070103819066193080397360786912962698031657849306982834867554378813901779430762164305208992004564685846624422683905053806812401856662106969272739766881598459121147794264881671478240157926837932600589117448586145961356498786303470066259805063255741410167108554474041712124859484784399433580827788675337211887256437776276496321647252831171721018073e-128"),
+ mp_float("-1.4233349917168984453701679837249464681261611319593074847204483468455707054149144532920632877914822213983147420883775424549851177967586903563262669469199863500470770403880018539813629970906129268165935524306163077975257076824144061504679484584216582770514441676919147252802644497646814436319582683338364956758395946606869411830428201457204952642269896796416531443792211947650189698514185602197896939125e-127"),
+ mp_float("-1.4233158978761731190109324049649870499938769846335310423940783109067042316514714703724619492456886377965381573927951836492504007696965167315979323751944808303537847904462049693634317328343857661385831882494618780730576225225707751193550323468345038953232662151161451912891622951816326083662744480141161787577304624213887347842374951855774381159250754177429012132585981081393786044921334777729942863729e-126"),
+ mp_float("-1.4233139885084982031650199048976539414939208195973778235148991317714575165186124465619454104259376950716654618279800394208403340461140091836492174705057615729136471533547059556093458161374977278792798614271273974953554642284296401358352981918317446786443034498604936306565058202633381747672355229927447109882687093447376422179072182223451718580953449878525189003426792336603913398619500102432707989451e-125"),
+ mp_float("-1.423313797571894686705135339408583464780305977626572004937485866205624293557385807304763835421957168513429897029716433778320055202238518207865294604433557917455270023709477972241440820751880935362545557162318656621155938184820970504729460397514580425089954974710311081838463420689533963366383823675503809778575022138092422889280689662624351392351620980097512916392637158349563669500370274646432715584e-124"),
+ mp_float("-1.4233137784782359748093507617419972631273753904263419994978357189263045251428467875474857843616368188234000009005401981158885692652369112524523210471760129447436475389739227990109117905176418347745307128222840172338025819486007670744883138283991816913139573291318243479198265786982319706264726290179604699596266533017245619062907515418485074836365426506205328502426955563887605378942407283921853996463e-123"),
+ mp_float("-1.4233137765688701200172732995767453136146364320572995041281078994707805402561673903649971013781183491625636987032490986883139709192486051081548007765126693430864699502881940604415764944349063593674330189007888186426916441539665554644491048424318102302333833404647419402595616375221835538232119206967992180348468600337738662423432871886157504892940303189950339204531513222593703918999782369212054955022e-122"),
+ mp_float("-1.4233137763779335347020405622730468234638530218465903902914265901302369982914429440953425201850741543097867288370940758654898227082283620146124452243084993679351595517059116016074848334600614408739317088241030579929962010039272867613021664335962325170855335250219773498284844967401766470350403340205369502755825273531117279839798273912451198463940309272427190559421803668070167602938496051518835897378e-121"),
+ mp_float("-1.4233137763588398761721570386307620541403367276349429376743710491892848774387233111860621741922534807313260005830191546792392214012414450007997444163261246247296835178190865331635023363409308443977450251022401507024034830654661242558788085674361764579229446422007897009934834933791074750605559511154310394985487741812791199439684340801045805604971539032198886518789454934598226265770164531257968615761e-120"),
+ mp_float("-1.4233137763569305103191850837674133848175448221415239529469684933757251083868232581902808359455120303346922164165878026571423638097731761306490092056327938265301088434493356712249999561393374960932572047934289760016038239176257189336837467737562108236838711863639641754289744261702596835051837680172790374576754355330741068631012747318968382403756501531428007818481264030855522241308122583543004029331e-119"),
+ mp_float("-1.4233137763567395737338880522560873149181738729895509334170673976723871779149493785761439888963321879502189589717249519425096463727413241581394280934104305499422370546344034228888850882371055529794557721935754802042758949046567030393472887025026944754053822290382113202493297626462538448219869114550433278060708750980270212687764630714495257553274949405626127109883407537279002956798003920544423571653e-118"),
+ mp_float("-1.4233137763567204800753583507447047958975226731324908748518240818357341297440210589394655068006323523658454705144834658834082373166505997344694728031087911400053273918132426398459133626470530958537324243190769055153580889609376994631178372141360205375892707876119077770839400084757122126305486863402559006332496907263692631095962208074781210539169211397616184124495241245422316723939613827021467961427e-117"),
+ mp_float("-1.4233137763567185707095053806099640448751493689100104055300932346796515905060627431317457068565628229831670095664463284091447173214377919328127130888931721671985993613694037885673247539252987472195495557107779641480429595388870593135923315975916395702671364098242911832759808828221030927966190297729753263727177923335997915650909676299566441169060708132217691558659890399623751753144318486053836881148e-116"),
+ mp_float("-1.4233137763567183797729200835966539447817089556022072581274236325946181964075155326209308291880363157607524083818531262372825917642264599496804670754368215522338460815357390819634900508360593335646977121691489186480661965449098905618626643656278448877548102463957973040673643306091786314006335894050644591705582356328491508754845154728918034420319612676333205325142190492538885707934431647984231065069e-115"),
+ mp_float("-1.4233137763567183606792615538953245745224528834415282050266158682233838855064549434499355351376052461396686442957578652650244451976030325924332896522369855694488986739713382528055007311339612283373973571587870132007117188692017181521317190828151750393649393407316904939634545437359067227288904805258759551932790437333180735319989486665244003078917649486951384273473800527515999262544440050143655780628e-114"),
+ mp_float("-1.4233137763567183587698957009251916538940281559171602691455738479061904256794352022267026329143553373950602711401683708288354576844759249795635035654212233345671089597650343715517053122657832763364179631653315705850513085038451991531318738892239582634477653990871422806489544368017556968707206637580108406740074106484950548005326893379868537931334747781834729418686298503173985875917780164887949645275e-113"),
+ mp_float("-1.4233137763567183585789591156281783619951606919616404742085726775998319913221118984411411199372630954569162801657367656899258993042365259334482863856915649891835700317671920461526093027836456543667581114102596544132662312685386449668179607882275593763984016347291550353953031590426437503070533019695445826641363472229155035680715605255298260195084759265921542908700213219334916870242258962172738964539e-112"),
+ mp_float("-1.4233137763567183585598654570984770328069136956540576647003404035306139186200092795539907540785561336681603655331623002681097633770698348604590363606699383699448172134642854996872362729466884051812783894559280414756878544839583017134360745773075228197220208869510609361693720840809954270128139429781732512350581020062716662414522882262882868415117329826319014302553437504836846494750601390998964796045e-111"),
+ mp_float("-1.4233137763567183585579560912455068998881053935241790754493708113659504532187532370226759013491950782572917277880796022130871773494509874339730491433113845248220401459575081649208315917071749855362529859871117183627005612907094537392317955135568838376116965142447916566007947824825351787371604235458562102223406769275681198709416713354427129227982691123703878217334162892573843048491089879682780593449e-110"),
+ mp_float("-1.423313776356718358557765154660209886596224727286200013441272387458719334261478792939992673849609634023955364294976759608192153812491659177237205087650219819133285942229128480145156790137273523816151529984746424175408985823967564947484888936341970723753119004994133415982330804552173793813483888214847131363358475816148029935577533371582923413912340692237305846141213974595847424332606813929611192159e-109"),
+ mp_float("-1.4233137763567183585577460610016801852670366623021521952096325304200453872857440217514111711103002601231272470823653682588019201699970364148750681792028472020936798447461504320598421602576971563349671994399742051592174806828128631812263728910967405548052044388554191396987630399087695232522640017329903237290724187378825700975875825533515888515828371924834901111994928792782315926354811451447218543754e-108"),
+ mp_float("-1.4233137763567183585577441516358272151341178558201449142661602445696974410500146355263678719202264281900133713584859739839083605558023524838041972901414636116629795136961704888403256789162911446943516045062010072222907970318759926937853009269342273620374511437015997198819786424616426531097786959011631152187919054079580836412746978891011533263727144158657606039228372751442351644301463337488935810289e-107"),
+ mp_float("-1.4233137763567183585577439606992419181208259751721081611806099329831978398678727819769633084949959984348322004721570299536299312351342380709513928509023835024097097207622708224394808482437388502887198969039289995433529724519847539570881603678912199601037596921777947520405991723312835352792572530065168438475526862538189974761754142511066846807918721913915686345515319280618683756942948864882157042675e-106"),
+ mp_float("-1.4233137763567183585577439416055833884194967871073061256221428709945332316830297201169180114353936688392559269560553385985931316983113537740608101889584829020868861641500029720357280419464636685437171375965485737234862284012812731860503234498152584662294807541503544440880406840369014223891651046252502755733414949743635796974171406000909719320447691508110946656511363135813172761081716008523601187682e-105"),
+ mp_float("-1.4233137763567183585577439396962175354493638683008259384637970444873666243838780819785065974838806259578895962796639865594549856556330551451402511128400636715008388424940003423645734660872661445457202624972616295603622665248137144889747846970514953068565898728644138374575443809967870144286644956910394865520369644646357871235710799103741896688211888351565534407259717367994631931628770960460840657073e-104"),
+ mp_float("-1.4233137763567183585577439395052809501523505764201779199119374706335669621891562438019540314104354115534793226887863418150159911743817145725047711465521884797420115970149548595994781172326881075041176389662163837884719792829674602519759568860643075115468104231809369338708495881546029804932823840520377112524837847024444097478286554102012250154738756188423220962567027518678535000559578115544225124925e-103"),
+ mp_float("-1.4233137763567183585577439394861872916226492472321131180583912633361561659550359932396284732004721126298585033764393785283336956201866945483759128368697969821952949368262532518324158097911359323944935060083929584224206001212901837177267170107782358267429634509120390606094101062817535191799935288774018390106068358273642600113115882654331504954965651506984006057483808923837030373624897802676609858518e-102"),
+ mp_float("-1.4233137763567183585577439394842779257696791143133066378730530401072947780314774875159481711760937591242826064701246097155243367938519852397012005712330127624464824955205673167028507913741535333651842264692555802298300034312376274117543242178382621443266110802572064774768503257459400633608912948298751207023027200225957130055675957813740024279803821206036428295189720948212645978799056024035364799932e-101"),
+ mp_float("-1.4233137763567183585577439394840869891843821010214259898545193817594174361561201721369056624684347477017544966126867846835377406819829530064849445415511346345171941415615730971667164836963070421112256086299279651112616078895218698388210694704177271191675123534505538385108543371527770332782467122093389392355366868606494907635961962879020737760167406961092435926618151630143805831061368820721820332593e-100"),
+ mp_float("-1.4233137763567183585577439394840678955258523996922379250526660175643797899377544259509346668115734474429461420432578831514116233965480461054384609666762003684879242878504021067279423143899433803410273395194424507933960766930767055304710872256945665903622505329522688547960232524834848808267432151830496863381990466377151369300403025403339979148346378406113478261253720723536193546468627731793607128343e-99"),
+ mp_float("-1.423313776356718358557743939484065986159999429559319118572480681161273526195609551185856899798025320238543915312096124752362317236507817818326315450950030231112821971900203934033592190267989049012929089594926059836335426974821153268888232566966272150087921690010060230596464443017430906080962422636877049770293669133527471246701231234864831720974942899884053716351210453491334915733896326185984530424e-98"),
+ mp_float("-1.4233137763567183585577439394840657952234141325460272379244621475211268748301919807078843164221918865031311228903993782129434722563887051258935791244956672676531469171369605009338267108619309184961437633682798347005528279477382389238361752486280553822348472116537909163465507433014395454701698835595234603533621734586132602155832461442491496428971941617480914510767006433831545459861520035191737963863e-97"),
+ mp_float("-1.4233137763567183585577439394840657761297556028446980498596602941571138494437381928300724100178637569183969305949080594699893930673158482987023197056426420686700064997843529880527234585517902640040365457274398949342006495408070696272044782154835360948708910966473937826396687150886996561543085636333121425121981709476637283568567237210470796991615900649566010001327083575255499060484902769017762212765e-96"),
+ mp_float("-1.4233137763567183585577439394840657742203897498745651310531801088207125633025936937339910728967634960978105390474698753164218461459505333662907208334146393410937850439846248408424590693601058085789541596323222559926465776621720387172938179336311460031267441574434220982998642539284603102073972820741817239726284908445951946580238227167016022809110094718129580391056040286737716280152812135500736234128e-95"),
+ mp_float("-1.4233137763567183585577439394840657740294531645775518391725320902870724348524542526212999377198467955371307691263598105424339880467338741607585778555857402253860114490056934415767609143150563577558118318641352788750787905870906588784109113986105827513090200305454734718240247609822768760574152928800111406999401373315745432930798100924948627622941076582191157479013810319362458252872113440326188720366e-94"),
+ mp_float("-1.4233137763567183585577439394840657740103595060478505099844672884337084220090800585979999941875070587362765808255419542456130528207243514156626596739986636344232037305545950650735565601562404725306885036406500854625260621485348718308837783903998027995081198697597729958814924805083397342055452461889928828265676961571604520105881758839392640366699341423091911651231188291955607949806695648300304989404e-93"),
+ mp_float("-1.4233137763567183585577439394840657740084501401948803770656608082483720207247590366965496915341266043887432998823720569303809019655805035173602210229495623005401279607282855636730565312927015229218786550418836444769221962794015764458267070468336621844974347562956048723153610038112782886087601626358655127617431247735582605297742960404710740688796165516385954031379172788389687132799131778395030981972e-92"),
+ mp_float("-1.423313776356718358557743939484065774008259203609583363773780160229838380596327098481413458185787094147315493166924185038814830470902307754236501269721695933227729367854896228444546951017785953084064655651615335508331546892608444279663987446788840456772303189954701177694908823427498761392607128850746214647787230657752947496373228212393102419309750857508240231325225158078469404630312040315159290382e-91"),
+ mp_float("-1.4233137763567183585577439394840657740082401099510536624445920954279850165834839062996499228201231284751059677091680890270146074015070116861741389880978856818655355523236171092102764820981340918512974727139971239357311105548468068170439786657114494471324161875865180448446356494569141514288659012703941474144327197274673810922689218904646669487667617868994055817029647410560659605538966549548193060629e-90"),
+ mp_float("-1.4233137763567183585577439394840657740082382005852006923116732889477996801821995870978710701632484317614043477155303663376071057480123714760683858013250746265307154644796628506623274967863953459377907826096717408234725939121888090092899022818564639605656326021671484789165746103354815664676932772977331749081265854711599674977641671351863549163143492426974484498005100229048521318287416141692551706468e-89"),
+ mp_float("-1.4233137763567183585577439394840657740082380096486153952983814082997811465420711551778571599063578790885693790416879729377840797460100005131864332960061418009011951575202625442053034164068733104235840497773753223787880894579219086792922316903355796427729041909033658228429103606751593761535185983766570553226194115465379361962140151935005220360978850826368331222729974017606414265591898609937955400128e-88"),
+ mp_float("-1.4233137763567183585577439394840657740082379905549568655970522202349792931780583119858574086307567929912712341075589473864929543864000469916436858915907764537174886915514658313134236109325013908802730414894243054728402708537792456716798052381487769694933096171398604042000460374421042114275111229356662858562078999325660646325316567826147732257661138290666149437291833620134696827149171907372569804509e-87"),
+ mp_float("-1.423313776356718358557743939484065774008237988645591012626919301428499107841657027666657449900697564073241273133478596969250753622843911287881029791228388142805490706549566487114651399392916518323244641854155247397566497999881527514355146458788212778235159467150342198723188086279117406989718692910773831617177991723039658700011592144952631719708782533129247967587288280985895938949551961531072820216e-86"),
+ mp_float("-1.4233137763567183585577439394840657740082379884546544273299060095478510893080168992347374541916666499783552755712638874489054026642123452708013245317545587768968072148712740648596458452418275542233512109337389692595684861770975686483081455182809761207174853766172099952663587008178240376118174865468053762645068243505111137289222471331792967046878641708445997539609894068519439799638366704592740766363e-85"),
+ mp_float("-1.4233137763567183585577439394840657740082379884355607688002046803597862874546528863915454546224033086568358458003943497520846562595264291435831322534769615529407084813518697454646879794692371249232263262302022862690949558267745078487476689083541941441458194261534008327328065151549610380373518077207271619987553090665946819379143776639007522647454704002858754003146296503767577987089608176970389317377e-84"),
+ mp_float("-1.423313776356718358557743939484065774008237988433651402947234547440979807269316485107226254665493372025563594523160915314954719505969609935605167620770063849289429248608993768701206513761922074134278623160823345523145436237341280067761175793610510225719393677100018263982114063555588780516439257796262149456611963865409311464040026753298022436826722385418732185559781987204759136452594476864374049303e-83"),
+ mp_float("-1.42331377635671835855774393948406577400823798843346046636193753414909915925078284497879433466980254233744516631243610706456724720948304573885480866026322686327336261468524939578256621929386358241603427563215756756261295897756723781716741040197460482645348740886209384080625899620346388794500715779316729811908659356801953778779818730988982776610842466946064573011026204893146871341467665816776095276e-82"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00205_gamma_near_neg_n(const bool b_write_output)
+ {
+ return TestCase_case_00205_gamma_near_neg_n().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00221_various_gamma_func.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00221_various_gamma_func.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,77 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00221_various_gamma_func : public TestCaseReal
+ {
+ public:
+ TestCase_case_00221_various_gamma_func() { }
+ virtual ~TestCase_case_00221_various_gamma_func() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00221_various_gamma_func");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.clear();
+ data.push_back(boost::multiprecision::binomial( 20u, 10u));
+ data.push_back(boost::multiprecision::binomial( 200u, 100u));
+ data.push_back(boost::multiprecision::binomial(2000u, 1000u));
+ data.push_back(boost::multiprecision::binomial( 20u, boost::multiprecision::pi()));
+ data.push_back(boost::multiprecision::binomial( 200u, boost::multiprecision::euler_gamma()));
+ data.push_back(boost::multiprecision::binomial(boost::multiprecision::pi(), 20u));
+ data.push_back(boost::multiprecision::binomial(boost::multiprecision::euler_gamma(), 200u));
+ data.push_back(boost::multiprecision::binomial(boost::multiprecision::pi(), boost::multiprecision::euler_gamma()));
+ data.push_back(boost::multiprecision::real(boost::multiprecision::pochhammer(mp_complex(boost::multiprecision::third(), boost::multiprecision::catalan()), mp_complex(boost::multiprecision::pi(), boost::multiprecision::euler_gamma()))));
+ data.push_back(boost::multiprecision::imag(boost::multiprecision::pochhammer(mp_complex(boost::multiprecision::third(), boost::multiprecision::catalan()), mp_complex(boost::multiprecision::pi(), boost::multiprecision::euler_gamma()))));
+ data.push_back(boost::multiprecision::real(boost::multiprecision::pochhammer(mp_complex(boost::multiprecision::third(), boost::multiprecision::catalan()), 17u)));
+ data.push_back(boost::multiprecision::imag(boost::multiprecision::pochhammer(mp_complex(boost::multiprecision::third(), boost::multiprecision::catalan()), 17u)));
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 12u> a =
+ {{
+ mp_float("184756."),
+ mp_float("9.054851465610328116540417707748416387450458967541333684132e58"),
+ mp_float("2.0481516269894897143351625029808250443964248879813970338203826376717481862020837558289329941826102062014647663199980236924154817980045247920180475497692615785630128966343206471485115239525165122776858861153954625614790737866846415444453361761377007385567381458963007130651045595951447988874620636871851455182855117316627625366377308468293225538904974385948143175503078379644437081008516372482746279142e600"),
+ mp_float("1426.2875030516824045190474871275847729610929647117178800653022745251962712249707445157273933966843872568527224787237025554131878339600530478719032313554763427360721488756093392253813229658100564292171732133350532208227507093154629266943286522621238015096412669116807540438027251666868309539712883280049119239645930336330076174743206247596649403559443674627228992616061900507179654878296462325149959779"),
+ mp_float("23.905807241512394798031322623498819327532394382354962100257335309915288947122100144010787022343352490102943174682028714280647066212565849981503239376815427267462681968008266840836806076583172116229479815702276779531595620821074308701024028942321603306154794376868053004626539188760291493888402142780216534904313067460585404963770412097706832916711745592577404899046617653259420661910864245282648095687"),
+ mp_float("5.6963816832640242844919552652159138827866213713172597878482401725674355827471357835225369384013178060362647450507731446625889429203180720953909308392113979081629970117792139947181063526228392980246705188456776319936934238547470466701633490045271558938144816898886029024857117477476768344525517620614855179138850987077688445942369527715042007920808536944663306693900047804831548532207767701883374488226e-6"),
+ mp_float("-0.000064813661381704035413125766070598403349380018125924589067776393730670039970238017825688419996782474898665714347544897878075841533091153265283467434502901775742227453591410203041876567155233659662991883938956472692298625514100086450383537348892987257000215046403944202337418613133429680795301438175913399121145475000015938979999544284889667921479247850203646268054003574883503064715472183419132372473871"),
+ mp_float("2.2591590103167630190452733430384211373521343658823833761813141983667173059953914970939256890295005366854944600940834213197002027822306748818548861205594799774484976985539727592377899452702878200835064299641918223375658027834460435738482686901141547787547253595277235131884714790921874824761713332395413378999045488707756309020327335384455949550882941358601905770319924198306108918970861855442062137397"),
+ mp_float("-3.6215162717920215625633717539208633118712867642757483374687955271130098748057889599659215315432663567235808345053657354414534961323156841124935122897289092755071176642527846013059555786399905794977356653285448791884290399613283798008262455259167867694210264313203835509563061698853660854598708760557829561095207959771714436896137642117702494838972128190061371150274941459507543811480857300071275836566"),
+ mp_float("0.83099788602765992595492178898464247715558000072537423822967749809394629317938691902002837282366615461021279628533093592288740494116137715229135123184288777457135266694834120576993810702408416134641940525396688798005808868948609128732886975573235337577633420194806096431753278615961754669345692462061813104888472234149917217092389317885470686324503044448468709127256522772934226361651395368905947057546"),
+ mp_float("-6.7195625256450753067370125862972561246633315487427733443556289130561824093050570570502135154581091356227792305458885622653519570699121792170020555378302467880293629322684263401102408762148658601687039807387722039255615124660734869847882817537790378472317878152346927507280453423670226329304049733802574304332827772002207926333958933086568346833578245386822028638114547214217036296604212098373211628956e13"),
+ mp_float("-5.3151927138507502109590981067680725465842152964099134846973687497026217487364530057872799562136824970616293018797829836534101401830288383550955342524270155305699456811988584739699887666310159610776467204263451070037657070761698698983071008397320844517196873980882515586153126567805935301582564276154321299249086930037049432662250081277169327052253061426296436412837509883624088691560327457829392045447e13"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00221_various_gamma_func(const bool b_write_output)
+ {
+ return TestCase_case_00221_various_gamma_func().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00901_zeta_small_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00901_zeta_small_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00901_zeta_small_x : public TestCaseReal
+ {
+ public:
+ TestCase_case_00901_zeta_small_x() { }
+ virtual ~TestCase_case_00901_zeta_small_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00901_zeta_small_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::riemann_zeta((boost::multiprecision::pi() * (k + 1)) / 100);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("-0.52989143886610873048354970600042257350804987660783636564262733355106082990624759925115064483832186739684236368864415708490918046044458556963594255635391126915911055917299174415129553799142744169386872054466172026220410696966856860176009735387632369076843115337291859273435227356928117741709603418856911969676668266121581238045853730146581288285736992850413680486727895404885009516008301945009218108427"),
+ mp_float("-0.56196387327534579021066656738127706453304344361511676017634194961213136781874435994452627022379349607190623051957594828597778203593857189990951955712121933131015432724404036059072908508607926951010425784758855709056260084109404363700460364298217964281235244834372307100893229861268223430784284396493773902978825693771772202895019492973174686565014049125956072989772521895126960870150223806162434221336"),
+ mp_float("-0.59644372010375187723132683987360673498752399037817549999962345855258627905276293783613405951091683578311279257527735088400193208620106361177392499297953586103549489733878746313773570431581747991660107394489075706351043665287046511827283477375736343238140158674548252870851283452390476103499457620054467776108646484227800940901497471437913218357164361596299678358307215044598318184622612782457601713646"),
+ mp_float("-0.63358991472764010082181804054335315967685194059571543642107729231637082043293616779207323440844549147101241280175292394821704006953391846489009693669677503544582035572108915736445556879848577782333530666579489360257381070734700317485115593068908590647947830775862497838805860343717705796858282923048923479754803258445890383657055592560810992923042948188078126134906612352960271360110020254311665125532"),
+ mp_float("-0.6736999714331105312097943977662236810744781644248848439176183169062350349695181340750308965706905245829423925687550752438463094106072914002619864219171752728452706165958186834400515339877067541256327683363728807826909601268665538261505038375469698710394963577386672552175339327782592023996284584409408814394932802149740686059765027351744608143264465048835630714942279885115480114423294687271241363135"),
+ mp_float("-0.71711745153098258240566265979853299359255642810206184381925933480561959487163823136746394353487439723034498130328380049372031842386480233423786219266032762878123463391044151055187501610347350955839379157460549116301160926648992182315690833698870558200296270015087532416910964629452343846234504526363856901688585570524839392131257353608595069368882132261441416303849950318655426119985595880179585805034"),
+ mp_float("-0.76424123601722623843170593770660015115121515940374058493986951820010920306078630160482508318948433568892188687837197431996288984643097558927891561035428776863364351274377313237186018302703717423640144552099372918692193260395828034751243419213360765910846476328753162020275358627477396398556522010680635670027374127032641716399469344012564732600707579301342964582572072197588488544681018424057085004209"),
+ mp_float("-0.81553713283714984035260900774859026088890471699986053005427790929448156188466388732044068953752001837914881596629292530721895217226574163853540260014424285519995107774876798989930777290970329303187311954968074475111893673180755474700000365438232830396116480217778123310514460713466512341272361713768275705425604465272023809756454166289975201697913727254307029221458424474330834433929690504673096985606"),
+ mp_float("-0.87155253454452573522220083269010669477699885399628093188170931456176548368298293629725971580140269231805120216721103304440417160338015781096068695051298328501975108196209494125379252136873206199384741793102780684955494482815901569684768730911271669339850922970508614303469163217135758812309944964651296897132311224314172987507777357378365298017874279958746003197510006509845187691335744021808409321817"),
+ mp_float("-0.93293510444964468380940690538797324310965250425264104723391506514170280594594016760262399958437442067230947016297035063116001069153584851820891831584586067434260323602915919016483225853096036855980598280172392465951431365243730757183618370690023037649495594106943246608571872095442355357161728851513548779804347069345009621314062544683235826220180357379971372858845021514859060547377515578398849824488"),
+ mp_float("-1.0004568449806677554028313441624355467960368977749072891734623715361861533073066061935553560441685297254190182159867770395731961599037945783013550219505501551363414690703000011632020948282298532337211926472620652347551392504542126399969610771136990146413862986397252844148358786921702284045435218683740018094593153410368779729593972952416643166160778324952210874324185474183510203109973806065396173165"),
+ mp_float("-1.0750454480872968085126981435684541374506687352307653311103879239613322707719606609300644660239333627739068303309232536394454077963647332959741022038430594025060067848305694180554390347122943165365198357163274892677337945235550875682168306160185300332837876631851499020666603909047519826060053183852809370989820513175495957054580722978638480210026005925088669541256584912564741722981371405399640198258"),
+ mp_float("-1.1578256346232961169718452709931364161118185258675822990898984247437800420799293028172224849164040815187185790611613639794701513499758819862816885556184435860041580920948521953047715200042248681302487416784861796651824367462550921970512099733034775044189628801608371738337667848718499753558554585282869583761551973681635276257628294496883476422874112957761856753833863078658027354639192964909244540543"),
+ mp_float("-1.2501744041307570819683822159645964891783696670784692826180359187546537447399887496235925714133344109007067428472707665608093913496944007430866734185385914569463924134497264404329018754985023763731237808982215343507953431100461572393802505783893813787234167890366714131586018511950077584223069750163145236795008476890508123842694514730924846285219934445610682491669008325807038654616945245665267586372"),
+ mp_float("-1.3537959803551555398720999206455954637984950403816451305249448213767592603558748336979246888238689834930465647053567112495204011852299020011033927561504287479250653645115870341692251160701860869529991761178850295239845502444988368656964634022880366642044040438181294155038634882233573339405530585008599061593293686605631148484032594433552810911192512600084497868547576216399558542873067048258226252656"),
+ mp_float("-1.470825161366827917565791221501521548527190074183346160500288564332970611305203469820543530706706095328036167511133326860325817588681785569244481914649239102601830171641648040837085272319795660777016252570840631185700247895747744385852305335329699437729060112342806513361216615505998011353003542449757556672800353039617109893826838731650766671958975700674894768468739392316616869647756973637719897465"),
+ mp_float("-1.6039724808287538306403145039882727638659941650890458530275756781983028683316014898180886916542389814454186023273562490653461178532117775585119432861495932275268487057767958075471613326413132534546868156390183677001444325678552649982675373559840579948442844189949591798742340127163839236930747511729023237996656921625761967384144984640372170652557611696389868489461157814774436107421075140132331164437"),
+ mp_float("-1.7567323414446068781526026584179842883936664057876046567381834597766952088129520218477240978309631432523552961820460306258360695262203789014177092334761746699839436870442602752526162019133405853917822856103148124262265833578539349008231377525341555189291761607685112740814592140965891916308275578901593276920388668258087798664133653052282224568824202716202520837963194553988396781477079626022133793709"),
+ mp_float("-1.933688475325504034370939780034054448761734426026108415086067321871618582682103222485644440299063056914362609654964349299677297023614491839054185015271901575767026338172250188527394051502159398105287476004856177306484840111116544024989046130650422030264790795720095847965829807688106325629351503617840450432532764474595046928601142176387535417608157554962388615782500707895264552446636600100882538947"),
+ mp_float("-2.1409743163555302862464475792813994120702889273529235535125034789105993577133141090277529559574831204427642719438578922449166747044601356627704109098692072418814375834793331018546228275199342698147690924828359700794236852688038634147953560837456808305397541746083634707365875050125554964374498133149056106042323248915731431678250113923869301368537289055846770372647634713302737651213784190227624220453"),
+ mp_float("-2.3869884032087202761846515388390460235813063899004498001615458479469100474321839456564501300682659934060665166104516924689994960303076467774709858888012060011890495343432089152766260067234788135585656172579020670336859259895039690860549664225863113078926985492561364528361779538825116346616930316353943311087898755601181402868875894296099374430486188984554368129329605546785317443334921295237947227397"),
+ mp_float("-2.6835464035600073256401466078975494577665423031397978761106415902994586820435250490444413190421341797916242015350331226024604777810246270484460366336110021413261595560616707545052125711303300315832517998426268181842777662129368256048062183415947112456433012316668115437113452325607694813264127235524764426872678762779197785458051327108785296529953700148135496045529143770531506285145870394812912144817"),
+ mp_float("-3.0478158530575126362326252790475156955054127762362610702046714222819969597487655109580237953609055075554192561789117524391681186553737265911068647525934473675255708455649704485973730014241093702310991739054394649825078615053063478652807985660673342743120855685067560659616042441505350883202944566853412936272953024895591917572174220882182959702586503706500117519192935125054230574992094038496829535458"),
+ mp_float("-3.5057332657142467977413249530491276837873949750637662725097123021494820737641029508892527781802896108006694003467341057872339478335917023846777478678816163621380374126613979557782376177414593738645976046276194898106215632155604483601297479675363348715340290531038515427402276831917355547727929035423785828208416340387454868554576289958920642169475002116736793896183347471149375850996160039780269733536"),
+ mp_float("-4.098422663768122742360745718501764199730342216599745002190379152963510391655332668829240002927421946734712628442788116348020914933706013684826548724044470046805479087373492325794834320116093900637026921371904177462404161070476159751825804376955144125783376469817588430097729063859220247353508538749053464877340982332820707780923845598745377428903046569840844470258367451216094708712426914089863776577"),
+ mp_float("-4.895218678662648226244856309674717229747537211704743117067361890939594860026954056568151776974238752681624116092973438485713670144439843671145551189801048036478245907402538215372973281270482537991006690867784091065766212900703729591926054091735238419580536979842840199153823479971318556838910125967858069182772319736257362046063576209011593577375182891385064709051121593293054793181007807172117263701"),
+ mp_float("-6.0228641065601728188074504660309513679230414192058061999566252972942694890056214984262037803361320738110392023487795658852603576251222087447823837174489433120612606087253910116664018260649736330436083574804856442192048778038084900655526635491285932843121401511199858653941980013435974865033229564428489097997721242702949282357823909803184079677691425802757259394630176674686044003106919591910560770574"),
+ mp_float("-7.7404359560013964639089817685186182879049249239735043398716702774174601584128273529982504950000961846704952291523517864554313142268035273462595366435554599220641863546830104692649067261680986216173589213817551157831869337531145264870042470016258791035673989468401612398240220232348644879848660623162346530029231565489650130216464663651072754237424389916853365477124792386133024168708185613424914988526"),
+ mp_float("-10.673069832974111650455191296949106381446931220643915676872011238123509164657482378630031041777468693373974023458500304765571161804733432406343219698844340119780715483660017131597001174032293108725590169438208953577204415816431803132829847255187728714900045722036121083835004641349386991185563784445755954437750948844099337377527658296335550539910192501797628792546638010043703611019738551643622971365"),
+ mp_float("-16.811580026370076066469443276533012882193971696363279242423276780364968775235036323878625910852030569945911751433087088300617645076314259292719879055490546741699375840907152904543782465278482793629571989698374956573938565532962676469752213311371383203226071786525425548044092672950430786139029759258607500706103000839912501388522951491133048222779599114618190309884051937093477851306846178928858891244"),
+ mp_float("-37.729651988478927072840247107647568411918319401494415321373829693133140004892242413153217848900028234106595897709061510771126490011265710174924371736851841746514030034651633620498179760767099423390572833193143724333356374457199721283965222149315361741409885859746169377457200857845950496091480153781456284217076092267929076943855312226569801082624442391612725271768044009497683999542633199992700184912"),
+ mp_float("188.91396336968452297932681362319970125039316309798103884461245533910687971344778706104550623788377894539835167194562746823882310155976030009581051452882195775168465634262357018015529824263356267527978757777157307572078893578258363692037173797646167816880894266334724948839869179465358210071075639622980132909708829727190674798876139414868809981424071020639265214929841914721727306686756989801680370106"),
+ mp_float("27.808864248026543054819942302103885976525915600490903690620681891917375038114321812769900444182934297564034162828378495871811338737084666081766431878717878178755142742866631613540726168214929717550069753311451855627746936453684627752617780112997650230627157917643984882169772455614299305494054887438002180173912326115593372246059722627055866533957104153140012196532690304405511918003760205972337188889"),
+ mp_float("15.257499051245731755988597034673052289717269047418977385351654155260158769625080038935697139262942423979105298241889218260838738534441713550717427998225971190319553705623621942995033629125644230097214186102374948641760668823306912546191107313034962416115157443025395652212883803239197211057264038422616952371884450613127115702062209721930172919841888739387770849171772002334191831575242780260408184212"),
+ mp_float("10.628870535403563452835991198176112298778009920170841556547570526388571429155475862234268213247813655340873955715717764590764689163941158149218043904250638066740109522353319198689431985451474119850654501308890765439693693061326385073985666900321575554126042964970224470737574552124745444667197768006341927273966443897840237350408298424391748682914052953434648211629496554407103787605528733076437964356"),
+ mp_float("8.2218094788851611316345527221943218597939423553280617494602576583511589560722646251570694071176553310267032201518046524572178490240974370102854997120518859569683221988649538529323245291799297173862621702862095895684256463711717282723589146322851644007780278896625195793743384652926380243521115383045321706685274954859451648386930016916461841941383114889316580281927695485299071403813417645704264317991"),
+ mp_float("6.7469528998420958111866668865034150551008159785514057047294179825971398643484123208067761363750496936909526928799544090250942723041251181136985969112338751234071846469723717822195916538909954097429215991872123378667400754056123966076418925580598447282639523679205710597654575871005445038180349158626033058057724902201485091682516599044459395188976837373977407614745511717525731348689440877314896049101"),
+ mp_float("5.7509634613031284294569701403709638311140894377788616982000457027125264819978035065632346877324958311996568599195488235829435334758594749010810974659185744083628298932527015794977026431258034315891491748642735796735369642151679942720238746812632988791646021454049931827294151938646806610881855272435728254941804830632305117332127228391156613872616522259343646801873235857864070284978107001717276757091"),
+ mp_float("5.0334465338988421296129780370747034086031199183790580280314466094574836328605748847724299374639314486229306031547957218676701569222727780970705846341662068102881661859355366777947673753889864265699923378218690610209058662983801360671197186547292654109444136579979382863299028955684123860899031444002417018941687594648018258151064741778607943384688060180080510640956996430022428142982366381287101600245"),
+ mp_float("4.4921317645424053156784162649890738347059513512332983555836831092192034934334368470902753518926882020769147422007694149394364287689683071448126736360631187644007902575828856953578533125034452618054761524077308323423653539188645584034375844395025564604958006194596971828981576012301377353214495148359732892738710114351911672963944347915504129941400615610676219313644050162825884151316839315071433743081"),
+ mp_float("4.069364431858354177072493211640754708914637303621929084453804719675118190748962035125062171945400630101450399486487228917837452885193252013853694108939406219145237034076303973371274534585712314401935633505356056549296912827803280687677806015155943751220453442767141334498645291951425791481393580889753265442295283089224605918419643264107873187924959119518472530395946811051440945049932790003866513726"),
+ mp_float("3.730168392518776045980786145385747544236516096830682821300325666590072400177243086653751446859996248220350143193326241211182084847272249321890801885970810460199475567884241415124470699889807805814158538914314051281424623039743636043571148527456748547301645841740799952573217290141460984779290335114505960722699694252658539655418708451446029421214083232583647294719455313465521935516687431207966369507"),
+ mp_float("3.452093626711042211154794340134403282289063900675416879674955208952226847351073808830378754007629902441800789525042170215288152097799254236826027032101285732968604891820933268467168034521883048736856271761078539622245277998651030750919709008114817736236158552937867967593678536731105255781732200102895725137863336929719356964556048731963092968941721788463295880400730389651917551091947677396118267375"),
+ mp_float("3.2200695088142627187819914542041982184691560866623483186773582094904471597154964858977517743321188286106505879583317589855077992546650840938624730512089814337630627251131624838980789736129858153263687507703421251073421166923476381360198039207261028686419747957440955377265075286497845821638600786687788820606774001325048469861755143126248729917735645209831691523223256114896526398321535248466282975207"),
+ mp_float("3.0236030054883225182225965404884603181716119751039192041379701768894139678879609151101845174159252875611353104122340530467195346779811278040495971283236297786474740808083397266857051500675954395744132746078841319570844743466693603039181469738426241578891076736632493157573324380837154366702509420732891285377740630310390216477561943174486467098721961307094620664155349691982811909232653529272470544449"),
+ mp_float("2.8551633228987592239610199354136159817352208843397535012264878569269364877663899597096201078978318730467813868836611093896998499606706992109026581622261126616678252975151127653618798791363040026296270429440966862435856538729915077398772612123559513893351134817624195102579217423906157268796170711363041577329392087120170273864067246147959577353065430251195138572869811662978609797705534208069256182088"),
+ mp_float("2.7092054958113678746614971060617559281901453821667609772613046661971992793596806261941291141316976139756967676448151974142368913770495535980010584007005489875193354656825637495965428781959617372476883543919675282108708900989856253977732266223683045358818837472334138268186661295769434947426881457167070310893261233391825317863417736600829652394016167394671796036474753927401106565322296580812419370343"),
+ mp_float("2.581556303432530594946456026830391401272426618925539629688316543088051517202781275393379712705111140960264337036715029510606571702056233946106191044536267468353481117823704937431129528411720446719151669585990725774784363826048831285224044882340080860681698145996432542280022210888360889009734240727034378765020751091898691363266772266854530952200613310064001246976003323331387382038583183518374831577"),
+ mp_float("2.4690147872856859980002423642650342530543479477209701198770351965153390401950044498620284350980678432161243828111483191408486831514164841183717293224815272695611697345252800637825629050758353073025061196296624264762684696351388030025387156861162663378619188967640799247596860651496004793368701425501052900963306709568229809656617510292525469860571002775076704730030990633229819252439868602415732142861"),
+ mp_float("2.3690846911023631843575714737220845826771250675561325595805850979689646847901737279205525247720364151864613383678295270822495906695509317269145979451864572587787137202920407685038080445505510658459229517782511824220089180311631977355667520437947601215599357817395730936098078506020463300085068000943026132359504788266425506555272117352316050644640601526872667055395662612349208166636538817785794995958"),
+ mp_float("2.2797906484070740099012141338809133959938770538830765327829975010747431977345068235444022745634538156176168201663470115824444279284378085751629534715545327284516229579883198978703130467596022712674911606548867328247266722311808432699347964616559785063265640984962098801723707011590535274115898629496145756977448363214995530734790397651272684301616862082075763723029558993879211588895662344727179421724"),
+ mp_float("2.1995490517280346276760056688286819602752556756758824097727751179153171587926158231043566279676587840791993478871425782073470311262998336286255253965428265515412682304644119347443139937304372513075658653907143786169616638085268253432226652606414426583122435861648000139206885977987876758847213595515851669939983090336868259901623543060925899018638855167036122923151356180913312349761259428419825510494"),
+ mp_float("2.1270755217494225169579099199736016141171918161376686034754407171445689549639734018725414796942819346888220586937156707336148903714211422626813771720459210637270424288708437350945988921523160918550860440491785042059183872405652001236456533994258597171970181402719976428430650358171654432527844378957481330232694872553432406141528150877357366295576993363157434318039824514092398868849904732637223769691"),
+ mp_float("2.0613174197513304008400728138957727838168680831048996375538386711025009579070170562734785945559794944985686177896214726651511688796103255923580604639322332857421230927662950170808274615455384301288384498125948732842676882769393648667068589831326044716820820173587528023435335761731720742164216248137380761573585015575575464072005674869605547751811614858730029880342159749295898666037895228279280613615"),
+ mp_float("2.0014038370666491692971711154286043834492943389991673621871269313464952717685778822139940388170169182806084918744140415092668711783299223809173913500977658634301541885342982831113057834213445377075540892943074255170249319702248072182066303860659071319602416938483729190721613814904704914946510802354613800664725665607376484818215016499821179231853133959356528854203924859400613804189242863962329217255"),
+ mp_float("1.946607999737656112231655413414961469780841329990683528170155997324023916813588653785719300266898971480834092985982785139560947982924878967797824308248031527405636967980521428922587644239896086063109621484560138043241472927330919402776848601219445316350883799733547911977559100471365594566514915869628358957368686171826552980666662458402871738340084034556656213992667251343825434489067119333525636066"),
+ mp_float("1.8963186354596716118956042091188047243691741122778480597834853413992773892865253728062504512544842465714578537484481506673509625903379276266654282113970074961130328264216663338313294373032671959343509652209753855467548274380586878424600043501969908182098681442248240609519871306983075405738355499002862035759829840625753540755300975197226093707209621482805666127443655920630830932051167428249181984643"),
+ mp_float("1.850017905472121073923238583751790025555227191464697366487919720114180235527951949130317169363368334841220602259870015713594068155332107877695674275587528435324563126191672297892748939328279588449085792845978048815672729079616575164883156989649335636575402546663499346966247515669131804436716966130171366698543799059908238667199122461806631726029737753258964068135837782515424304349337514143642005255"),
+ mp_float("1.8072642099614698815781608686487275110774220560045449605559152383668755495183406562828338795006723366294901100250068976228730039853277619181458410271479269385809849137809889420679864303232983454001787463329743151356781023599032246975257163011076347271272699723200050276936487803692323889519254612636407446028523053588037022252893852475776859052660469981573216205425454102789852638288074231665536862357"),
+ mp_float("1.7676786559082385825594239167631616115112460412661137130899090250302292389335192483383004622155810540223381508623588860429787317791812789654847328658120025027700107046366658149986421934984185523766470885214203739520782116700580926507520820799603862040006249284736081235750663635359828832859068467777505330942128928394585286220829668144338848533658541598123508498758458266596030096450673582187106389726"),
+ mp_float("1.7309343084622003744498248202707949360521407182170010046106187408395648640553206752180439920879575769625883563515044348544013874457896836519681919860137711558956914347841457801651912540657761288050100675601841487725173579705147870769914962581665487716368552526807912951996982061071860430370975297345970418974653883926097722220131803022719944603585344375272050028674430967477822691025141104894250071682"),
+ mp_float("1.6967475799944188804265727421086737458373189834746509197417280552988941170372866062293774057188351868850168294546729822403336187865474100251935144130295468864216470795811510225094664230766352083824062533588977000078245888128737563055558518798037289436346392981576020934952097896242950450807941196023931392226221087977198222942280003985728575768746593754289479848173649640865378424881135319377706635823"),
+ mp_float("1.6648712767423386366329502099462874412969554935124306387526779500151279281787497593124314863997017526096955400213599476609218520817740237745322867655854336548944415190815465946670248770016097596597399309746810513439407443659253956632749198224709448326456339191325784019832020189474489821714521462906846529176595526298111237417204686207748748967245050247605505940759083251100696336864681316643517988188"),
+ mp_float("1.6350889423545163608972947439826164627587579896101830537530996417194641570231587646689405169967717259353032796627045782821978187466642432082695414245499674402552980519575329698094317955022066391965848799780764300261873667097709963117502494039804880826716267669286280768021547638398569890906853603223926905105143759491359289710574859298073500130728435288616652211875639736693255804195756173743373965284"),
+ mp_float("1.6072102246368584577057912386409834002285136486786204522513042809007245352003508441709879017094556605383088825968477636787932510406842524250054156400401841243494148347005056126345412909249224211592403719115006721548156116600935453758556701052167889349857163171949722574879757370778374290530221096833146090680601704262321689433990104225924267708710817081721700887156602565783590662756032156619775145059"),
+ mp_float("1.5810670558832508818343287868131724638644803092139708995833035664348849137549102310872534054271748903833339403169746542067277216980900417244114807097266239754636286697384112381219870182223030915300341000044932699347772715294168942358857292509083677202429574441080293572193329150817205211790666863967880280345171533771996438434930584091676134904218102920063821115836075152154101371850403673808993408159"),
+ mp_float("1.5565104848556994034887490610706367721832149903735081458367438344876461295434192992022826699403966219231162907420548341933354945364265245877029006289601821645187460937640564612158443965477378249533036528197974993469942102638922340427787383349675670926025499368399372484446711274260350614680025451296531358053272082395481227449583272865519486917546293050594582633261491998593536503125622234583438151793"),
+ mp_float("1.5334080342964748569721710374924845590652044910893334584915476010028923905478032201740165035090751375395430121389684494821636459266738100383422157050731980166470627639963259922901117846171134318316159073148404205688257465688295770937925667796553962996140938150445242167878912896337737558888382817653922662814146935369399355018778565999452474519226541088784013791141207229748312319977789533098886028851"),
+ mp_float("1.511641484999415503898020884194330238335850744014373010978095693836433423872826223394239969292733516212094740084419029864742485648734498829643504354457740375568505706903349935136407957414846830573382891141018107728443144311354565654286561077992239076833826792406730426414939460405239706834084500380765031145833036376311444048589271917800495159872065700580045460991746479094595923651484067713073250659"),
+ mp_float("1.4911050082116657328651572127349334361808449853797321159123978866012720075996526004369668534130000703494535334313080462127198886828149098262739903508938981442085565754075991206436198788408330714243208689706205860287481830501779597359201110905511029227629335750497612528971810258056280615561638432304111914408065043676523415846527291662524498211624092283071394429009277172672966160897642245755032260073"),
+ mp_float("1.4717035841148071163187351479150452503498580679069430201805755859035215562024868634795765843581249699117167422870678455674723886919184816577111336105585289144170267838241505328115527991122534367086495199811558169308558030710957887998550920249017806140445027613961245707239448966925635864109587216590868775894052093224723121662214540994513319927893507832703487434360048453411821383578376491012604895102"),
+ mp_float("1.4533516565321632082553276921255162466997044199528848582164534796513376570875935421667436195432332637017147725870528117342147184396377593807140386388717460740085287200893295297080615389869392106994156987079140836864626099143955579915444743383892828437167069813262849809818314697214903413431487491529824537829024950374638788388011180175277593220884847113215020417917896571261947638740690548620020078585"),
+ mp_float("1.4359719836965834068944650538097094897250507013918692901987230066948226918509715404898347429952508371619175203628298635943828538342119338334128913187017216960654551986781503900417642468230306689580886719636442250620390022697579342963251020007597340613316894945061303608270322024945420031701455052329531794936604293163297097014919074380321230833592188323639847401735821827625971152220727147732400544456"),
+ mp_float("1.4194946525329572167895476571907970336639965221283954735101985513396933629006338716432007947628476804092041506749425321856027879215537126271401035328626790719022769255291962202004598187201121366695078129012758772986006582108866760048118582183193622094266196140127750736231364318129564815242574877892657998057480811575884898610302224435916623458779658736459256405816631743066203558953561182829385905977"),
+ mp_float("1.403856229941027892824395072652015849171100178282093760949211408863814792222395106814524140712925129315107616406949545414232233180063947642600257189623929209211795279036089478141151241852452999694177349009758557402236907874244907877848343739600497541310829010564107455261160304894058765354965385847453087485319637216231269963263556354002270907773034733649651717735315451385420455458409094728063461692"),
+ mp_float("1.3889990293664340814321164337730874593790816771265736785801757488178445383979448729312167711747146740136902125613090971575321074240410814773313486040281306959504353834768381493943457795617542912318525224861261642475726257456024804482250192509747757943864942573006431259263106711327185526542627145868108588809067155275100767846017904783950077049024227581181388758364507750808466309802868783787969488789"),
+ mp_float("1.3748704747933895941808980951419157228761225116558693334317403759716551902089519946162994057387622910896000669216857229215856892441425611406166769426224175931466473267862485520963476236368230309544744333245543250683377835354316890673713067568568989088886215812527480238051214548206852024557177719768750979671994279896163852022306874539434650837401227640043549733643172575862993197128818950769326482414"),
+ mp_float("1.3614225473882703476163873271031519453945793828460400103760343640793062385064581004264108550006400726648561135289825234636408295804524808302620957741361981329262767339257211464918359961416228033276979437285941886199256224053665853773058404643898851577740706465228269972093221717898006344429207888759199233031616515690160010978057599115733286394795968962793683762877681652083657433493957109988666208968"),
+ mp_float("1.3486113025285364725466067253958852943600877099017817241193080123924509676299799393246474738304144474899845736197243620889541937067426025811490257287244909796578664891384486478592443966611737437079765753240471793274675998930066598074965831360780063487307658859364904890203563448107736803387426336682560760592394314141564350621202071337026963132940791702216244576678349663986927056880916116411650387068"),
+ mp_float("1.3363964469885073305943290149472237637233374747017482417189076132962859339017802733314112223998620834836851612274112523767386624091179563093141853276803529317236761432658622639084540295221130162740129035828046574279926968635535420835781649697114302486908979282692716847240947845748514337680454219808413904116241009871793837520495977312349632913441017102263792350267730834452153921175825156208249351679"),
+ mp_float("1.3247409677177236590951839109344264639059769553292412305453547867579632850677685053368301856199679382107979983486577737410200109338403749955565136849179035950034483409670260905696677506327042857316180833838785861825487876052202222412992485748034839479334774132897221787754045316656839465322110389213575577184025490095884265783658629756147358882202548321018032807406861604320371779003924175203018230545"),
+ mp_float("1.3136108050132977182454137961596431667588077517395680158140847771483395694680383681728528316624933176326865140320189227478994407719294671644098499173064801447184821997145336273618028903252922787542066256264125050725110152135485280255827064499752227872781979587271460599856488064210852180565687936845593984043987473874438294344266515230239226071636197402507036817678127465876606278179233059606110495263"),
+ mp_float("1.3029745640131149649002312376667168329684179741230193106301820641283401713056196972306951306087227276053259442439660054217786630994673856653644488174848356236497135247541517740412983466355312480343873413897330795429818836356808915412553686186262401099947252006588645163542842793259074933070753138864443858651325111866942675864657064377419348263732491371951939998477211360942145796600044857512339495974"),
+ mp_float("1.2928032593680528524683798124237768750564381698866294122380602478641610389797680110153954872443931037881807296397548025174740181727695421126408698681366996437542661523037270005913761622178473910361351120710645915037827800617017036730659870450569916788744398430348886373722999541616485504243734283164034147635817590013988108832385340436661394026773057778274674679772340279783201086086635862224929229341"),
+ mp_float("1.2830700887250414766599430857207992176106734780289293078186791017807838265156516499114806292263386279587883889394804790959658997090415073688687441499591544349417386255988089863585487178436108400704902184989859084793554799639257909455801417182421570591290197134221805052569366869056144652908728197562222165299560450799304027625167751222887974251844882418102518555985531927925527551322331456110582657996"),
+ mp_float("1.2737502312979090080793724173324046202442434751909287190626089387096904133851314158583905234977157953239512380137075449465068170559959780317507298456564916535875130636866691348682122180833674864113592225052567332006353269115251143138418605001049705523829274568139805706956396325280334650598681011190632391598916853696946053907797261337142456865097369457791897941712250230745153623817310195313443001068"),
+ mp_float("1.2648206683428316502798151352238760119787913208617419872231188403166534409687999273369541740354495928313052292206652749074623779287874569236324386326720852806495663203773863001928914398107880612988396600107630019588203119265773831928381030256288526098212122623708115159615924991766192861741089401767577023635695676538988093186536956430507529905941525310769024062185612075288626347995365221510485906807"),
+ mp_float("1.2562600228085797998286770011468462477008980865502324443293052514479875152450313865718870082241404735299687669576583041711975497912961822865606486706245634339125863526618105176496472233272084090619702259245319381614743973747868790951098456639346050351041924424082097706778276233045701925737696730972073327573290943042084336569094206722262212999822743588991250453187375813906570349996196073987248427957"),
+ mp_float("1.2480484158137505886056654526322942894116379034339767017895221306596621351045052736952410933829902257635947383019596050744816709506011676479664823552311872902877177892257599472836153928004917109334148157720117435814826837474020305115534194294345775662839139747771964186016194942690522704122037524883808434893975416775342031733657224153872099604498823608242207172350295024114168551464212283789931149857"),
+ mp_float("1.2401673379260720684182473604179005539328104954012017210616434446041752471777526795765001868159220038471047541241998847912466625501359003015410858750875468194661357852654860338200139377546320963511262738985475607640873244674295276832745565579313943807325395718007604750589514955633957028657589769545598881005042016095864036910011178322948591867674320927880491998393436814888331322134192933502343041109"),
+ mp_float("1.2325995334926448698783544272217256808241905542564022891960448607941342764337271745500510172699376954921797448056736622463781794423810448413529012751601916686104751576125119724756013429042759327525197643753330271389882473866052958075180018425205256367208335124903882193902256604949278677149435252281054814910980874132471486790391708535535281261765910365958009288443950006441154650183369323373944612546"),
+ mp_float("1.2253288965028159899258654813838402283983374862870463995606477179919463834046453720802264621329571516292643675604017936746479910972608673206090196942056564778591350143047784578325010884995528786988994068216061542573645593465714464246109344161484075938325386748493199859884353247404897582478369516580962489779582882523407714578430823072303287440273400744738534438124377786837766323114518459634481850363"),
+ mp_float("1.2183403766639512882238726675306675535989706639326960729132996835637446740578633062558056045548360507440016835309811971297070386910056334470937622420071856755226415094867756169999816745790140611669192814598125013008060842990597300953186199025267608930633147300673618346577720483466834370107496375684479286867955243277779434499776238087380989062294065402237505476183236064473821545408995016137153272278"),
+ mp_float("1.2116198945401985873472344269247767785751090271445775645143159373809903057262803498637195251013151524972342515023706465833361381220113710675107646892965668877124194698109997179373229670912464452309104123518682893783830471786183260511694430885173314510866281188336407196185907220184514425332123473787585490818606232744899997653386153275556086458659899648169843565248844559241319485642688396343903587655"),
+ mp_float("1.2051542647499627215323716069164733812946617002085183949812617145443020546382766090977435977904673599085615793968784025247987934883423628560652796930455276649221006191625643105150532376045727616760234215121629685380429032989585918307216596392333831364224970645505677936226105061283331774264362209747642455405073763343202538052876561081070412094209716525897621347477707215492062962749680835318541739047"),
+ mp_float("1.198931126343018110607933616314611462308385329272320826888229914931692789455362305734444807554200309132958254196078107498602747180427006433118551664999084056818937724628801668014061400538545939289316265427978825366525477512528010695851028887930172907994830954036708759047494413036796430877004003980160714421676512546412091986593824456755977831208586782247741365354022098698778710792719209978880439219"),
+ mp_float("1.1929388795860976418562707596203673751642071578992335045168647841147835159941165469454799384959294019032398003598718805824444715125418214458743341050986114006556086765530478259778687691190375661049867407107546715457233769562679573122073685019434541029322395271913499891323851312651360073032085735737925110591081308349843724540850447973352725588179166014243663862166878644564596831589362009919026798071"),
+ mp_float("1.1871666284790319840970988408225954688271349680461051808940961092315356952145368364810592423649948093839675585261113453397862393663778143355963676904248895961242269613514110896832113168395969399611116678803079028876148246856400235060072411084641282405749408033818237200958982480300165531973896187573623589427219051566068534417626336459970991673898107252321824087400440887431744813300146169443085264836"),
+ mp_float("1.1816041284042561494288596329520398900668999757474229685066519051874786179654458371063159709022345302195430435652362448223186149851705958787439617971925702100058391778796102502143729009677106931674508145493557720482079292085827940754601878257475165076441884106372680181433901023714680277482471621245312204804533852332332975087829276435644154819453202035073715624789687193050417337461718485141511993297"),
+ mp_float("1.1762417383825827588721504519380520911697389900216558349605083462304087237681586183357208373255718311389456600814530083686969752901158193791439440633774525959356512432924761830245287225253682480509935601329034182957720362068427149543106043103832048353670452264557887145779766360000205618741908519172397946696783614673659892050530221732641770393665550622256501968284091715061280143774641994151736796336"),
+ mp_float("1.1710703774691052189192955346365235162098426242555059879157335902344141135446304438563494374501914271523665152519904594203025332337203728968000923753342689954185016914504970624985802400002128017548594778159664096501570326938360513430166323805514699046488180774850192061142813430107314401708699914400448431337102358798089808335188839766642645947478519908944262844549127762317374897274701486101038403342"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00901_zeta_small_x(const bool b_write_output)
+ {
+ return TestCase_case_00901_zeta_small_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00902_zeta_all_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00902_zeta_all_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00902_zeta_all_x : public TestCaseReal
+ {
+ public:
+ TestCase_case_00902_zeta_all_x() { }
+ virtual ~TestCase_case_00902_zeta_all_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00902_zeta_all_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(101u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::riemann_zeta((boost::multiprecision::pi() * k) / 2);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 101u> a =
+ {{
+ mp_float("-0.5"),
+ mp_float("2.3690846911023631843575714737220845826771250675561325595805850979689646847901737279205525247720364151864613383678295270822495906695509317269145979451864572587787137202920407685038080445505510658459229517782511824220089180311631977355667520437947601215599357817395730936098078506020463300085068000943026132359504788266425506555272117352316050644640601526872667055395662612349208166636538817785794995958"),
+ mp_float("1.1762417383825827588721504519380520911697389900216558349605083462304087237681586183357208373255718311389456600814530083686969752901158193791439440633774525959356512432924761830245287225253682480509935601329034182957720362068427149543106043103832048353670452264557887145779766360000205618741908519172397946696783614673659892050530221732641770393665550622256501968284091715061280143774641994151736796336"),
+ mp_float("1.0462215446234359232003852167924580759866918756316371822102302799942815111872200940576534162917186093945337873576726525497496482268803843430178639940197862116880952936841511399986530398828280496716033184776820048732526254229313840197394669806150636993064056413365659481514958783807625294621609089073850750900996094797963750790274063402595584583188020839057773816853027295339886854614037099368781964968"),
+ mp_float("1.0140728601500397882265887323317847726639716333774749781201007301950868222603292523032711725834723068910606017177679556802992672111289250711773664976266636709553038007376235021074036536620970347165629571391917449773790556122192265289054382129209205739556689721804693490173681743499278431006691412447538372331723192781024400700029287595454515589040815622377095677535319310314454147557577273996185364477"),
+ mp_float("1.0045243121369520561256342084075031459673975503177771617369816095600370264756569479671559306314546264811952718631926694069193817461877518252164821135222662793183444752616854712157490334656729489907241683960724467730858888573053997272546711308072580858858412601899000854931180011366761879411557473104638282726108693401568779587941725888796792198262618890723461572624856886394453564092762615482425396672"),
+ mp_float("1.0014892838852106112387308506281858011036774177714544633189403339805298473115531178886714143436846642669070365810329966716137914358888955369281793743482281061882029361546283463876250176019218748953933157987071582670498646074360430839700980688594016414153450355452166458454852571009721100200819238284647791876877146085446254753946213389281405506225274314872606663892129729345902008120996665927540333948"),
+ mp_float("1.0004957179450844964033744246212238554866459626011464318339675630145694048408430006504887401094985350871284970640869428183205748951968255531771166374326596823919413842332571972011576468586684366888473338989848892702340567285145467369387700041089346890853803979020329588948869902434470416892181302844509091431476291038570479766311976756466511442635111653680736796117394658316021198695361660850058913281"),
+ mp_float("1.0001659104855369653841636229904648609158323669105546563250754559443440431060134613707911467345330946150888515800543120166062857184844835221910384229428738120248953598552632994535969469099217227322583781986004882403125264302640025528257729202326519876678823047966172467588451308122511383467920831383310118471407759584236444641869671144482126023314615145251356459660393919810456003349698687086727527419"),
+ mp_float("1.0000556825031017534035894953151605746332500444431815130985098237388928632045425364612641957578187433636701208593828758396375249254042687979306864613068599935830214414240553012351858997557877763685297729145691875243825683496815296548145277091659362942841367695192725911815753857546026960604447159133214698118659874524874363074977285887793581110915653253169183028706813771226875699624760716641393299895"),
+ mp_float("1.0000187147447851932066420615195107179754380692332584596308618048115377921779248827449512747727267673976741435879770614014360911329360734549513981354843699821108446510106038819251141756718591187275068793415374679049996626550788651016612145793903218565732276211308032366058633717003227323039542239905169312067553413680618625439192048674429825278190931299414684772442435791542796504329450490879215573469"),
+ mp_float("1.0000062946468115166190789713551719035721616860408479757407844533988471907222398431346814503270593831131364060827027523758672194489944124930886107796982283114704820827517006183617209497559465954158936670877400212904697070198148233917500064138552123493020012014740681019800064906428904020007641081720027886142552700105977822652554212822570466136320870677110269065705607916216535289881061679852511094389"),
+ mp_float("1.0000021180069233343710932950677439672246001429796291853182656054429182533704700199285977666102188126738609456640395769673366426116629791214828810640238620692761902104311612850392850051070062092994645599453703973225376180442825860541937192619223235169801759192927182885763576885928580871832283348789589647703711769970312492282955327772258093686638977830736801522251333402722403158927589870168646157104"),
+ mp_float("1.0000007128068891176168643001939036935406201484151777581959923722876201323679758407123393828624064004142128904985471308443813251302249749600095044586308951853297994601157261886808131562595739774862490323695694389068635129554713613419904454049018441286664341794405198878398065401197783159594470421767288881863821384508734787584027508993327326701572709489441423595724301201517542608461283406408763298179"),
+ mp_float("1.0000002399180904308545076336893684727161025552391417564798671329737857469067369912519314180860221402094446167708012244911702143994546817818440669040602242292427147289378001142821042759901245490350710521020199812462230347294510958994294779665692070745690412930852652922133737882961299476280002753758469895578735408227540598899077416519789891792019410313390810440227997670196055847403020840952124484821"),
+ mp_float("1.0000000807567207318341170130707814580896865538282896849936816409364311336414786982129685926975109348158683776584470537791411040468290443824328459678641378932099120778755380174905155013843739411339831283514743790459357111001105583684412833798395040266261606915383167870032802653018355711307978722223502633996142063044626064401855691879976732925834828782731120648376285201069655902764924336469528883354"),
+ mp_float("1.0000000271836222313448484644834598950790939153865636478411689055062560558635311173061824098603750654450377622868608417988319464731788606944111833446655980936139563026626514400456922878842418718424427309434487464901792923398125329408046144239607167039296611090725644523760898649877749275909182395094324418813696945469555610254208423680717542226388009989094301512155858402652863283319709468560848122653"),
+ mp_float("1.0000000091504579519262556759736671741348937311467671417838470625451404826484534335861051851062979959569501559009677003916768823390990702315613862545527423004767599326925982088689933783573837796176100482412127627807745972370716237909627768235127697512907281868205300926629823388120101222208522674635297771474519154983460870172033017824526562800693686906684117213773717756464290250733182865509129417137"),
+ mp_float("1.0000000030802215492679805323498876637058632401037369881247595496654391631232779374462092326598548583281865708227304764715158993216571170296159561533148528675820796477024177329909473198772782915013125819195826352080766904047574260485075420983730798543628800438199834064242004334982934613059036611882547195729084683766946268739190149953964254843870810470213514229820547633901452248921319537605969678812"),
+ mp_float("1.0000000010368668618034816753290213947007097971598441045912079321229336840395999178144205785964538569451176134189646610865299107482884042952057131538242660744295485827261532568131880410092756826692196171137992483276272595586752113541296407064867035971768032664572775112694877709146573899127613943528792680993504698352873410423525435983830641024991640742343417119691351114625591465560294728602984227375"),
+ mp_float("1.0000000003490318400979521846598672855280898436548951085341220824718495600793220303994386730997144901357821775436365744750190070458245887463927621501113473750197283069263128140631992537927089544228681688954927094352768778785541736850687980318773559097824903674297672875668210875855768961104345448356600082249835694354729571170651520982767653562441670393669297391136874134972255154322846987876515187314"),
+ mp_float("1.0000000001174918208543807150631986825583620570171177102963237216911087235758228798669586178439286564665485724100475034266763588570900553063314343356721909835068391202701333959560256142031549591099309439841251160610828781921388071074783132430432002773770701500962217826828510883829336180068363008164205052270624727443685659051134608991033247401913976824294896909063118549387091594538671124569289270043"),
+ mp_float("1.0000000000395503658444422739896602073046569895388102621996027986575893131775954785441550780523496437453003616787813460654261844568182304132606630245947683395402736901309330120288421206740651501444286086442323687738967412222984864451836140784670980076053977754186336660215762458678355446612623853218982205882812906700066672277058454123460349810833784626645049861100280754318820695344915868623570462152"),
+ mp_float("1.0000000000133135393289453876374464057226146459733367057106036009731700240944326526183963839657428478590811098228147196860807578129401162543562118990062713546673107405468576391005034979412910213898776910819261584239259275823198400370394453119275836207415644252050591947224635709503260022605136641169124756284804579340101831199997708353313961719489456180183981896570988921995637593343230852435132018806"),
+ mp_float("1.0000000000044816364653763593618364392297198773534352021124914961714832328713939109204705495244642203916523839968658327849500513982619614993791294124318165486812431227989580906508120653662499369561255476497079570622600098068135534530564472366816230895012654547893556319197336953164147548775089315677582632002049123987818251201068509311040477460566638979220104703028143026113149105503962248961176518912"),
+ mp_float("1.0000000000015086196727123401745719639415325572241826950747598463575162311342565239045710666215126885907594838512263301647167092421936389806942985445122754593433242359839614134231529901649473554068807845177970123659577639031397714178533390011729698204007655775328304944738034830463419296117280596959007675379810263369323023464219105007193234107341734332731203972682416639445871633950868821014103289982"),
+ mp_float("1.0000000000005078353522395359273677140730955538152787037825452666472495480150537336891235997845890033405421067693018198125914324108037394729230795362249457278352888444188019643830338193127903308054441305129840642577462568588218123704464071078552559672835171363159612801843754864629589281249465679401409789906198563838278326189525079004499580761980705385015966117036782904823829317283314373497646176158"),
+ mp_float("1.0000000000001709488193797253999665531796729573478921785977620665622133622658132659663414215432605817526569697822164536890638704970634806739198720161841525786824339020817805991183772292466254038067557838761901765169150038185052354587671001566347760269776120417294592015859664106113189906606948323499769257537546791561623924204389739278994984469448581514929733032382807134603791258095599859844757152185"),
+ mp_float("1.0000000000000575452243242431110349955056509254335336699667575475928286598624491550338303912623486966935572063028496859582071439160411718101323427918044784403817161203990743397649699679353815556838778770368829891692938535838891941519238041495959882017484594484391877207973892803717992729426783986839915177545986258130874620002480496256557202644555576678674820527440285580232723402761271869340076649515"),
+ mp_float("1.0000000000000193710192298530257694205301266671544537768397659131818843827290655429881181451867368768556206394673742110811168818255623188039187672482634788402911756522565785805156223167537627589840724265989896997842406962346191653718758208678423779046505478214222286551115068564042973721526621671932122916141380819685953673977871809230961335181330917306080793408893538734459786670986676821073078996357"),
+ mp_float("1.0000000000000065207216047553624448753535736799473671551932295721482289041484794542016342546878844045168276697185590204445767463445315059962630905769571711585827434655804661326333513089039770074224059008345739892706777935384344932465642005481129274767647355177207836890548046794319770750539798088974616147791133042815217829745364820947752502365644633750663096831555041850376528266579076673425245314923"),
+ mp_float("1.0000000000000021950218433004913772479883595014779448277636054096013318667267513673070330476871380869212636341604686872055804602627023279601911033796269814222803846468250597480820497952155205007344620745489309145091583718228233759626535743114613922576897416869365743678858958336166041487439547410738078456974878935216829274187006215946630060895951850803070475832890508646632343966798421861026103381206"),
+ mp_float("1.0000000000000007388938203456865561262705379170948124080783381579763264074023986257852396960205763289720100278472828113779864901565848914915896300812130994132687258635869873422012073089379307538245147440569942918960453749202089137221915835342666371082957533617761540843216802099447476076147751392555125269085203796546637928080714979159467369388337141472677693293731893604468261227384873803127163416597"),
+ mp_float("1.0000000000000002487283120821673553935216922356653144701266781388450474742190231840047894008527059680435434309806881207551504782554837128067393634662737399046094290268043431065551866320448493195704697052080530307124880955527256820448036107122840178460469617940673459037363219388268966283109782824785228778274596810959967720954556439616132650973647146989163563932571270220519714364284469036014559690284"),
+ mp_float("1.0000000000000000837275553632782911543624232370310733310400507260398416374985913918121941154347428064945512243287693315526302791772642367051516860928791904938904109971112660846077918752628701767776394187864438237538790128189810682906594816470811630402640901372729561968512130462550854297287768545513873111436787502515814294745415090941130711710167456226570656048126031140270781556083095432612633476495"),
+ mp_float("1.0000000000000000281845820830953336285018560802401642318044451799999827962347171304904328612861166128684433872931269287095407166044677705562982813359199274317764893988915309678500992134850351656107074754096964261470738036959782508119837469859916881967728363366327284295693221261633977583701589490107901309530783976922218692388123775637532156193394080431187885835832026298136526376057707594979718756393"),
+ mp_float("1.0000000000000000094875655191598869280314678697757948015435565978395517644120271514333713498486629591815961111521491838962774980107994529766545827202749238650655232267183291738902031798223630156517176980152074166944460271547047337848033727852485251666104436628706142617970149728964891232564209141261260171170848394805649943395809103510817013493347811199883323476911616204766873030892872785048269143756"),
+ mp_float("1.0000000000000000031937283731626838593569040495828469234872789594235008626455472098180097162058468713593991927671501535130535309053491676904031450464039819648096114614923795005209530621109400988632574507075572948254376358908584140357567526307934477627143604596847984437758334822823646108103218819025112549215189501290063588106329900544789387096997325577966911906639802550251932780846908966117700013765"),
+ mp_float("1.0000000000000000010750809468662344391348081528451111206828762864023792711858450837682912117815117957819665817441580378969766595301666751519210436429025167081689067365122766617049099616670408501682646082733232858485633376225703655779542928589697719450577548487285176383565011938778646018282465675561141858685721356996957924881705705881564559997072745876974818110169054707711583945371969592248953033814"),
+ mp_float("1.0000000000000000003618964756183031389235164985557776493395807609839801605800338747614166569209908433282795127930421198406402946309501515714874620003647908840612398700868884318186529597203910016338981527291775382727083870807735114424175648774383618631122980070538553372986662112323585597691856183594368713015230968529704536177712643311636232617801280617996431428466936598942132827160978589155915368256"),
+ mp_float("1.000000000000000000121822509688789923079814553483976499046305049415546585242527761372619178188474753193483082865108798891048044419157494732452607481564697396246897202153848223806188372242423625894910074889218295545926186903215607358250221682938304412621501300231452601857585582823771857070739833340018674206565287946786858918592713338530513117863873681406949394404448217838851218366205185438116760802"),
+ mp_float("1.0000000000000000000410082022533475331952961851412633857860836918249594741936612581262062849951862594111961259301484621032198552967023400229192578580822496669882005528599736973446094646099461869664766027823985783620786651623455338157228506983091745397995255163526597102871245579257619067630289021552217275340588817724845115519693742335711196263446903021578920993928170378363266387359519222121172704906"),
+ mp_float("1.0000000000000000000138042850730190153442232445047774023828228932195548207745417280021331267791705332809635398530147275770725780473818982113916803594731406969586932699021758321574736205954103365219061849956778188264405439995950960506673198808628847192213807405928267309288020230534478812428894264691316751821135875023523198529776382812766080205254186498687024188769893921323249756933709071566575053482"),
+ mp_float("1.0000000000000000000046468334602942300116331447833504062115000340815119614320715903455713911827908051865402543668570657146727173966503982088792993311591330715008172918238297488196746365509283264288614298939048840599081650533715953468618277959040975465077899888535667449379155501258036664014647013934520469890991276374467637867658656721011725716030046730747525214481839440423977788513668273609206668217"),
+ mp_float("1.0000000000000000000015642288675946027294852323911113632368105442966696380276249356227766240251811960569362705104008286066486020724881638844530756464954118653726770236651257389148394660610744752898669313680317375225450189632836057234061370739880434755412907338447736085839805653744381940195344052928172378269766736552802673058625537306010924425001372651091269895935381139617472389832237025682591819818"),
+ mp_float("1.0000000000000000000005265546895803875335308925710371655692175843055020562310561360685255380694523736810271641822029657532378045856842614644021882436236935111204685098857838114236506911662690922964322635578961119774525722255591899602539339251830453495493496682184000098199366378231143954950467137814767987160171440392469665791565398986821199531005944156880653563698549595281203945445686503523912044893"),
+ mp_float("1.0000000000000000000001772501753822616173577327555199420844954546948516276224695658034153538819499448864967186267166587836707542591295383471599891009890065452044541775834048199770412723633590921045650100406754519964874822598561150935645385832498749252849939791718128154495689515379279315330209311879114949058414024757793274566505315787304574589182786166889730426354076032328613729500849509965310282036"),
+ mp_float("1.0000000000000000000000596664036893902873742606886117337877582642889799403278874886718269609597173541819154963299563247883640379486807378081678611498595960545840206724399529553801018813701878980233999086339544640064077329260262492335416810297424470830967149729694429852756478647697817648200488001795098968284581974476555550308758019865420116159414304964896446417506666658515888362836848277356824518863"),
+ mp_float("1.0000000000000000000000200850561729921568498726368643287549794699474339214286190799591412837100712500119948768529502990053062242471186387611037679019763406897675110758040262981786314900335625396397291810637767347970777493029557591795063822049310926300189178358496599742711647723481908781194777559013436818706114080215682364408729713743908883473490390951332995865794504987185834916752948921983449971384"),
+ mp_float("1.0000000000000000000000067610825611732391577434082370666226099835516310498536867152896555587173252180596357164396375513840093356860657666173976045550570846835581070406577112631155844153022736059874442574499847618718134935040926978402912231601438345482465538507228068516614721420285659425023133458976146781989439525122932211655607679031334953064006193248069283614852222997837968447595183494271487194847"),
+ mp_float("1.0000000000000000000000022759327634079240666331125006824671037639190078792107918111949940165956348409264818896625744233604501882295854744416574738521379770027023598277956567335752314041269209865733599863616008228138168540862792539516724813459709228111703540118338460240249486835251014700343768155162139840526010949269991013094493599314327249733337222706919976581612983377642374469994718553635574496041"),
+ mp_float("1.0000000000000000000000007661302604556285398517301356893031354396901936323844790713856552943512348150632528471176757506697834714836642824555840187032837342864669937150030295425343420989512450308526942389916669880918872942273089907756481895869578216029205407258044541380238789554016532302777698251191534080581603115686831248893866092414919384830483904587483332693823546510320757886199252026692252347322"),
+ mp_float("1.0000000000000000000000002578967118109933698099010002662740661474029722779784181312401216286959178307874289293778875171726279496336152150857933307035580651910977583016346212639926621452181656740842557889891036244048432841628081664307391246023218492649602037821339743578627431070163510082615277862369678048487758576534583644059667611289925281431584814071633962753487587707466023545481986864685375438249"),
+ mp_float("1.0000000000000000000000000868138453679767418521000639342552290288692897050255417208529010469796184164100045937562792182279682957245717192415865433414928930736069209960290879933096978925362971109378086146259330831864238812544070219410229394544930481303127110801493189768707606878024560335851823710781689062393527532224135790390526306406815437762468976586119222661853661548280311525550450445927799902579"),
+ mp_float("1.0000000000000000000000000292234968590775146387255342915024354211692143638363879376348869812075270157187459508011701850497471620789848526497485726469697225037746050416990760700539849535537970321687025491431779938525724914070060925871705939204807593913975576020509538057034005284226608308269902548976276458386872818825324492508550368291518456749888797077059130264073853117661922782547022702347511590286"),
+ mp_float("1.0000000000000000000000000098372876475246629256963816410140633849671875857309874935966027381382070603695505674946564277865787065829713892162453982039611811110066451524785763214231940556307173483829442451799448470612795412707346498696012656053759368441299101543329251697945869385633883123960648035543518824841222656788852493068043724988332910182079939010757572714218522783920274574680369148260062890875"),
+ mp_float("1.000000000000000000000000003311452723361598019152306385048373379375235196056437848003736851269828427611361384564976217487522968519284732034672817111247865522995300037242676005812456068916149692103024010349167837077342638945682013524317644294984057449587314930331672985381514235675512091262381174871271245844481734574302320725478412820223609039683179265063458513730607517259546691497300672156968899662"),
+ mp_float("1.0000000000000000000000000011147096163054892218372774119056388101788610378802243466704338752463755425105799074249410790823107408213922115054450178824082410617372788044351106427117027635725549914665998325287237846104084588861750206909164251160256980635292982220989605922278705081211935776845494407822621495937946927761369760272295962687606366026393006287789550700184001232582618968782205675417800278767"),
+ mp_float("1.0000000000000000000000000003752363788610991322871712598327223246765952068256866784335655219997118082081591513340963092771721305595961943020997861413137858321952546814526928639576397372365686977065723234972290933031477095962814300950015281814307594229437412628139607213302456418595718592876870730608875727027422394956141594335097709495868319380642481267495540958842587569694123239574785925812567862904"),
+ mp_float("1.0000000000000000000000000001263130217602815246219010726873285890314422707558073006942285292239370297783265582118291418352528450686504367497381065059417252006082268727524151582410396758708706941059409839667657787491596172284191918905628733599963674214557590572828746281202413304521207490171902165198622650511832206811899400418865160415552174671337163508914192775981928184893222701823706809841345859127"),
+ mp_float("1.0000000000000000000000000000425198098186513860066231344022936064619410011891206842660602961388762936927001394563914302008643278863946912365264417067404340091122268180295800866741146989298292670586340592065397890478362916404642037047748808487527236277649567413045502567836392680898231375424752236952488488389768675538032182372794031014266218102956563211582423265400255918558162665197587286518023917853"),
+ mp_float("1.0000000000000000000000000000143131262463612313246350410596600190098267284056734505753109927017699400454135657498420407302733410905711395578423015184195566418027661411209148756599569283477398156954701316040667391541186558381227680854458177940858328080519250019985036695828661889310521088232221208375182385031579520076434189554878879072668028374764096222660126100345150499462321247836950215762656182175"),
+ mp_float("1.0000000000000000000000000000048181208669096662012774268184299878043131415194256605168380471669830245390011164727062042655505050439550513236668123703308624024502869332602907553194051692786438991336473723485351448314664335616088473310075499051041328200235270825753349947962442150935876615986404654803388874650252605066128374396625552831134479017530731593899884099907203771011079260923578087659952542866"),
+ mp_float("1.0000000000000000000000000000016218880689361647276046705911604045157052548982734230118952884171169373369649484048287057525214298172088771459188855276426139878452682076799629043108622375718998186681619742623634743679242953722910874584930222966154898700815855814421188130652030471328316246522900858644282658002684693623515150331348391980278590141311471772693872139175218315440825822612493012966304815886"),
+ mp_float("1.0000000000000000000000000000005459640762073062458010200137211661650312032212567313183503005015421302066582342864967506523131031105664704330711772164052096412881546666773859722609385239196161046581773207789400675064857118861848872025626694297809304089532404844621981883856755857344244678392261900919224013353004846514568983804292306044798101725160908872231596032378023515030943744448392457976713871811"),
+ mp_float("1.0000000000000000000000000000001837838123468119499987330380919512127984904228648009079851500224387106974706127630858368435078635611087834517179571231496179646223144651931817502650065995925661520987609836980948894962101550076453033877164890035930233333712949316192899903685686819688674069605919455881458681895740340884306230131451623021458590127121107941732567238300910564747571638239477674570366664841"),
+ mp_float("1.0000000000000000000000000000000618657731390792594894916355198131961147023558022917300049380787193176074147723548861817543554443503699615811708405259816579483484960231710639400351364613678727869439988503218968356151627926412131480250589519222288939807489790699888059884526100149716796839550903345018198802282835918081855445576660729921487455129448004203598355019850615935364906357201721800420054881521"),
+ mp_float("1.0000000000000000000000000000000208254134965571317518054201048095594993905753240679617855731722571548586246402793785883294956907645002670523290133665279196391708023904489058401805498503456741717965614251144063429654890366204140780590269570205856105452762970225838116937975934709798459704860875676646896103659365518698517281909176370764318652173140112730136843614898369994870705837385228560608434525939"),
+ mp_float("1.000000000000000000000000000000007010303521586905859836653755305993999609419107454155341915646304477288618415935931355299940187288153054936535414619657631844993040799777681348138708498799848544780734604045374179466705721457341104595482837096855100753418997273892648781465220270845703619704077802924798881905409273409792493879341633260693973578985542659171810526191588439609095099936329422266427674938"),
+ mp_float("1.0000000000000000000000000000000023598261553317221968923909914124077232158269749085310040464710413273354883984868954026944101128105172346175590800832061630871849047520753979539972066307111926487671976628102912618645518135000811825553932260641744071183975431175123650327131510607202081794055147012947022253075924601124424646002024693821770481050454976186023251550587649700967976254627327051548603061347"),
+ mp_float("1.0000000000000000000000000000000007943706668676602453310992061399125206067171512273374033652651224868794036818940890703856375967459304002106698301156145985996503230272181896257371737267178451174885109696757995800602234319713438387714964404519737885865120277504776093675472134121033675322321231768943611354326839544870124734488349355869992850076268416156236812842013825133123904012713779669535897529876"),
+ mp_float("1.0000000000000000000000000000000002674030690583085418558379561005895838124744923615216855999402121632197832219848185438619545605141500440039039071866277582772335299763639303594048377206604834949976452059740241448860900572466242979047949402252561459619067108363085589230454370317259641365981035810986564607963190884267393700728197171028767225119751768753149928177970063879500969183005129633261797788928"),
+ mp_float("1.0000000000000000000000000000000000900138994605083327652829591713420770010896306904704191509655860747243213716219203829442528947378057396934423940935075869466652223416235988926294291027819767083765247563852512285156254437725233527314904487337744826423517187172872073267974295256846282179397828026962497688213042915703565325443449928583345419588197027426855636252119158939034664405746936054556385573727"),
+ mp_float("1.0000000000000000000000000000000000303007071856744930152502287594640435657780430968321538575574147506558037985748870097383996813853953713763862238368294433462025788865179015556157500620255337759700731695503517791957754041532245930416679854707439526022232430171725566270585601770129107729302683778954827267056294294563137448999369358895648896312851851135398347906947927622709530459845585641978933789836"),
+ mp_float("1.0000000000000000000000000000000000101999009203550496988359646555001901457156880587221846372874965954426419015509325698684047924263685076097317696236659644723508818720870497720000721719437524971685849048693647382263679523500216840292186178641860487049858964668824735645934268670301660953208775467844506189999022224587726453866600358823060025521286251233997805472693719141432361482730450029594975763797"),
+ mp_float("1.000000000000000000000000000000000003433516523147243732795760146617388616680783285206288377672485206360481041657050078842364535909632893207173784895949376216922533161434257438044403330881166931805764614536718969211972652618944398252520401404016022350791695734753170207944250248568137042691634915601339749647327330669597275864030840453081539011307198486471407017268247074628724202540376129985584438464"),
+ mp_float("1.0000000000000000000000000000000000011557990422435173033123927920623423756756296214307615281577234207158967481063150345747151669518547023075497650694091855829365013651728072570292929325193651253982433101557321182363736752048520463691329024023339896675185541273492371476609379602785393526216444269082578511281970758802733037998273213507654598760479575036487339793789289175130810895676848288927845378531"),
+ mp_float("1.0000000000000000000000000000000000003890680056569350810586673272066770777448539808492803307346132628067660617436179311018315423714909833961617152668566643082821295138309078352968215671628526495403337684691921528748971741423133643602556449810439559580935138738678973029508483579167787542285290488467685595106659706878455706994480973145701476857370571259936308298514773147232259444956473171488949940394"),
+ mp_float("1.0000000000000000000000000000000000001309690590606767747743089934703393902570596992838453475931639521730337584942821390924079161389635329002034176479322115693900425619001669845273764962371001453470191461123351651032409903526062932000728331635334262468767894969467384494641963218873416482327912110832090041943994961895588035762634135553316442096000183719872328762951268655917496353128306224317342112337"),
+ mp_float("1.0000000000000000000000000000000000000440871369062502436745573314846924912340578474176441665631604239854063762872882606955107969455547295894376698858625321477004339952530923686571532566552331927779841471549174055814508477442992563331442029955526872453742829454969366339354603009311889391116295447148773812786346767497674731101322868733431569126466747734926783990416627171547637532686969589461068595347"),
+ mp_float("1.0000000000000000000000000000000000000148407238666192527776636772239882374120176415145559927743437089692468897552374180662901560415876936188215470347504698844698774571064448541639321877684008656165487118615767643074365580630470386002466868535897526647321742838844104903623833231585945713123898205665506746829515138600169979900558336423899974046596031817209030987237772377042314157716940128394586956425"),
+ mp_float("1.0000000000000000000000000000000000000049957221162623927241801773222753036611708975962750784197552235182098517835485592475867634707892660344568574093547715244851657950200536308620494074580383607447045909590748767220462406242596226512947223582916481718854088415691011005105673498476652269700828961565184876231081101104475233985374739781463516035353839244886518620641442507296400637407043944674781101022"),
+ mp_float("1.0000000000000000000000000000000000000016816726520361105454519921571651022314720646460868028608197396230568329606538498291432974529375218344811248279843391024884731398921582834618003840728774276970701066227718442705249606892624946155008306142044255177719642707290763056784363499789251980362963113534924213806370971377476051313704128102974749204039366168876855039717493083970199185459039246631971962722"),
+ mp_float("1.0000000000000000000000000000000000000005660889142332807298079699211653731716849860165775392219336276239561158249613766200281847077569707734308338301994912758647254211934317372563183746413959435035786541056077898437914680037791265686697971421323772614538828054943711799323348164018411869418620766643545831333253944545088965029691010955803320537259340103318489003700912436914836710578449492545921462144"),
+ mp_float("1.0000000000000000000000000000000000000001905582863762557651328328197940826787793001563790034612005505208690684823402351028390712399815844956946788538672175961412209236992538185468810361381851696300020579753983458736034264635563226077398814651919868639682755190682962311886567123869911701910411006468170798137813202232037011328555033269587327325535921564184736541460306553641475183606453086283228960523"),
+ mp_float("1.0000000000000000000000000000000000000000641462137725082317739260421504893906628551064918870572520446156933304549330508276584784015571642133418172417496127213629391909240970931923608276898197813810034808009214433539798326601757926161760522139516987265412354412682960713339346431644214365913364047283679412457646262944738426636847940749127280251818423858211814063688526437314154994363431451219255532775"),
+ mp_float("1.0000000000000000000000000000000000000000215930612076549166157484080958953869113742776258975111034566678206670785371837337828269206657600488367966019280929074676043335789105216866436037728496560470358631326005779767938944017556490112516511832233291655037598805585827648299690278920246555307475924023012070919720289107000583477298865616504694574566219397249392190639336290794022510975459979678577357609"),
+ mp_float("1.0000000000000000000000000000000000000000072687110414825656513314887395996265924536622418171201944270169507398295718244616131470855200375759629706595565620322289442846602724133103451547516712463750117664913724315755586768637359557485719591082460454232193529024662181873222370719948629394187835970160661112052567431265024284160653741196078153696655169031839766726468965815674252351915586950353296715446"),
+ mp_float("1.0000000000000000000000000000000000000000024468119502129889199599364945422290290094066896909845196270073610858766305103213291111081201492688051942489770675708853022951882651181966202194075681017009585898660507692806106195615700906223702541182373642227316961364890994337101735235313524345231477897043930411962838060062397732205406073323808685311628594768207794936437962780204849767900320709365110829816"),
+ mp_float("1.000000000000000000000000000000000000000000823652045808106843855563224425694987114312276391629346976603940076300612067537343553958276926649968714960295062261863565045726066509261133778460759377830404423566386540722411281644524295170402950941916872344370552905790262728490983206499122907775246574640369759363653853045146224186347235294019986292263765336197567317071060880206414988985369652354409746374"),
+ mp_float("1.0000000000000000000000000000000000000000002772598411189002328458953527461938924685312835657274089924824783374171926635835125718206874097135610019263432076363652284415658967819647922730752783712996335676734843867866561430822097098592042185640921872776836039540208626681216705166743333066148478520947572609855545121064500714624992778492855384864562863760146842979456238765431600381308623297157768092043"),
+ mp_float("1.0000000000000000000000000000000000000000000933319110764250506178142073712819821501643849107945345354842761498721944033577010201826508568051707589927329906550871182622498459602180951881882872838065005929270864043245891702198613909422329894341741354132535520740122139198313844660933774926736037620907503169224926136297660537282650748836716353958310480209114436341803362719315960339961162725810654091769"),
+ mp_float("1.0000000000000000000000000000000000000000000314176246730306325235797880549053680611820148470246254423243024498724369050094630216894388075752964056694983972422636912998372357627913194271517164026414114417295126145076572174567926640454466140550550769586387438510602626567772078349960151033012055309264719499596893228786883062591107500747473955115543104438939779187368782412897405224065473366318655348969"),
+ mp_float("1.0000000000000000000000000000000000000000000105758805183701955405352924540398328439337283460492361510430309800985785411350472346320904136791826990876391579845830330383330265739692618821085674465575114497203167213857214872190166615672762991669578215687053686494511425934420977145053221171091174065776851504521427270932663512161422645276573803469515847260566003233148947707310856530731633745646117686937"),
+ mp_float("1.0000000000000000000000000000000000000000000035600797292245754783920550101522393372034972400799517810648740388471585897619557564407143638443730439485422748161092145566460533489517865987206044887356599767816068638844280965831962183241507399117935218129294680138794131918220638876570955760115978296360689280598200903864665384109699450575825720557114724134613740335237808307616482660515432132617289859446"),
+ mp_float("1.0000000000000000000000000000000000000000000011984030697416473200530853804511442566461939166875532585490692553149182926169226201381562206256740091046359177296555342451365960215468973517307036125245381770413045470691455304639989155549519491605099930520158102392239006144258100426125788122933043835133396313215768239549289869033576575069693936299558014263037195142683179934490546063913242905388088790572"),
+ mp_float("1.0000000000000000000000000000000000000000000004034094814722077066142622836873705924882104006021144161887741506805107386452892442860414724794294752740060128235906712743115046902703183096439443484269160606016588411128113859924091341465888303589746766854156014519315006245950772308073344199025549828768713937123742288449818260715122015841846304076232350052752626554434523381547225907626865145837351740236"),
+ mp_float("1.00000000000000000000000000000000000000000000013579672303139121651705095574103304483312732318662037914100680804201371581903458927732293308893815396478729463506144476511916460471751053021362880894832112460967764040668851551185138690862279698684964773932804032213902679618966101460959180829880424799056939946732524141616546146443590004276579832226538740804425658216847307437433230865026345920786295655"),
+ mp_float("1.0000000000000000000000000000000000000000000000457122373989983316296814627896739550516203146088053189137746294599935635595830727118014620745929402093314949491484782238997032552834194241257861792445820638853587647776702234302793504547515411567845196184445003279428187236577272069153867536107543916329726111577271908786847835108334734065202142680334504975021816643865278836847122806081630020268848203227"),
+ mp_float("1.0000000000000000000000000000000000000000000000153877693170794773668727188044272291315228168351808063705986485763515565936534140475531813297148081433094705796897027241095578261582841064203686709725973573510819361396649305359618637763002832174985212869946783366238886013937600730534671014844515256122584900374171244974767321428604935869900378274585027838072095766378402230468501034722669950860775339629"),
+ mp_float("1.0000000000000000000000000000000000000000000000051798699435534764953016158896156637371514472531774072472397161064187853765539691423935749251344635209551182736217636086768632304250996262258167980547679036102189654100749153496992686963683334121346765981122913189936818217575657228066666267254361504943927523987016106612999435756814945533192247546147325192166360899196381745615583736726619623608928262514"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00902_zeta_all_x(const bool b_write_output)
+ {
+ return TestCase_case_00902_zeta_all_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/cases/test_case_00903_zeta_neg_x.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/cases/test_case_00903_zeta_neg_x.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,107 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+// Automatically generated file
+#include <boost/array.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+#include "../test_case_real.h"
+
+using boost::multiprecision::mp_float;
+
+namespace test
+{
+ namespace real
+ {
+ class TestCase_case_00903_zeta_neg_x : public TestCaseReal
+ {
+ public:
+ TestCase_case_00903_zeta_neg_x() { }
+ virtual ~TestCase_case_00903_zeta_neg_x() { }
+ private:
+ virtual const std::string& name(void) const
+ {
+ static const std::string str("TestCase_case_00903_zeta_neg_x");
+ return str;
+ }
+ virtual void e_float_test(std::vector<mp_float>& data) const
+ {
+ data.resize(51u);
+ for(boost::int32_t k = static_cast<boost::int32_t>(0); k < static_cast<boost::int32_t>(data.size()); k++)
+ {
+ data[static_cast<std::size_t>(k)] = boost::multiprecision::riemann_zeta((-103 * mp_float(k)) / 227);
+ }
+ }
+ virtual const std::vector<mp_float>& control_data(void) const
+ {
+ static const boost::array<mp_float, 51u> a =
+ {{
+ mp_float("-0.5"),
+ mp_float("-0.22523583507956141922689330800104608893914785333926427668857378643762935790424889895690894514440089177472944024001455045464617351652738690321930230561492723942440381858493808941367379185689376094847561119266530532570027007359453628782866760957348811700415077210295825947326315915971151687287954342400694181347207408653173269280377246889202456004926405201689825284101160406886527422722738750641428613027"),
+ mp_float("-0.099760141128788115944686922186900613399141573562129689905149037956739454976760452278497051490809407344263431171470861554749369492025792939489191111606695768084264480796090607661650054307478413077274763850341693435152847321422111074854717010578148117973675598782970069746434219665422613974379719501515215608505662052979482550390886079117869040464987031128916244953886293882547917668588780025763034497986"),
+ mp_float("-0.037345960353052820779839478563982744057912814931901643369517525801522077425812677992845464806546929744506283646267654462855436477287352873085985244519833961340706013180243603423724710547134159366654980975236011268130858152765575988710748951239720430714331927553957874085000436327980573278734838869218672902259460640009981492370226976310364522973549414151925708959015096560784015663484460943349695017619"),
+ mp_float("-0.0068522414190441060371127410646685668273795111059739757809958141401140896546223300324850091613038812201988360020365429630141692849506256937902839318138285832879277027891617708251964303180028595475797662854000001817644821261389832559073384398265920539828853913695535708520058095199617774624377556040327912423656626292525570135808984226849599478895268979263137586691078024251093330449309146592186904678748"),
+ mp_float("0.0060571977266689039218489584867039172652000626388394208442226740015463037796530536593250559861240126027707346296560197343829368802470924154978822894662452503446887601080554728667453456452492835222834626905965590926853705182238061380679195430230801447349054206329719713905748194994412143141171204745855231677174440466045253140969662858388380076216222263042402791582496799599396158054443191978819515922481"),
+ mp_float("0.0091595632630669387378302002268114321895012117778239703609738236439949080306606235004263352158798706836914425502874180583931345746578083299683179107170408631464254074609908412072179047098990892432426331915387205447352529066708679688380772580195266231024824916220835059170628179182331280781777332750907013467233130103960947738738984690508932667847646219336945376122160948002143093893058540440437492997717"),
+ mp_float("0.0071913718898648449672909946117902957983088353549678948818240119616279810064778225454597907302730296020892317259759804128258892033437554393379089083000610567589274271009837090274077427224641162930414214982422142109504530417920383100100174064438237470131958367246774168351971420495130852591930830014228399385693676257838889388136284373704138658178336692260513963377070883081561683721740008854982897397185"),
+ mp_float("0.0032432069259099529347916738537320501182064757649865551929823439474519783715854183433515632203321342640524225919624252679481828736028981555491052389291994189978094583214262051957054090004650423304739204792505187674792115625753530099110452892730146626588894787024276215121872858443571359864656219664244033545843877213668196095406324271130130545425862420435298305019895695300504992064376796022063491272368"),
+ mp_float("-0.00064713105166791278235095760407401431617647625939337252084564106927571277562048459035997591177495861162877735284197037739032090229135947072861632102544505822865970496984157091182591960466024323361324998754264725481802714218993288948567784555531159555678971684683835150079638799344579982184532609781131952244831974256596082734377239681499217897130093224869580793313749561612280200157463386839653982793174"),
+ mp_float("-0.0032386629368285903837383212247653553202825967698441838730548653284495857411801197786510922986681119901510141719810711514580620634029125580786916753187866862280630256961256317808259631290878679112697969727991528831753133681298521295087181287354955749330764465919883379556368368420236464421270729374229850972585307248723552615132081379312614554825252797282730448065098321455661922055290010218822245279842"),
+ mp_float("-0.0039729544688050017370358699254983632200454764192944699239033244616295806214545699194298158289988600539163560228097135264872192517083485658494072795233042800958663593103959396446473522536183009802056728297478805535462483160284594239032798319522812197586648945063988477824727822522822190430253572420972818717414648210427459396866369059973624230273087893308980472552535154759342364677977783399177648042304"),
+ mp_float("-0.0029015742850846418642281878809557527276118072920882047653696706880150133998169980422668421097316672044618294804334684348640407357674579899010083116642547921869574760364314590701767717683835732263301651845219874864117183971235241914867003621220004607618648282279059451582549589397477450313005750019523907330011312669367494330902124525064161943955177163433501675836600459634488006948507255479390449585256"),
+ mp_float("-0.00059399479017800853959790243593155650493032215203386004966072901642262036480030824591158102190041173037123820181732828975610944948404390058245561626585856065623180928837037717037548587361413362284196767082661663041809322260948848872209571903196017349791294328076196050653586147861940981241125709278818049570308479435300073203934079210305088450323129728559653726226788269512145661964633197798277950935441"),
+ mp_float("0.0020141396439082575178986109780277906037565655306797026031043297117719577817114662500639060965055945036838468576477638902235776840328403587120904483660236616558803945618871986230379258636586529921277033867577965512195896034863729631662099454837838421605250320465918653833953434890238680221629437831007338711699833981504728834873996812020979967841856224579414143789074458544127961925432892146715238004778"),
+ mp_float("0.0038524067215349865001531100984602060156492993908022592752065285031104437011273841729805423352867743101368120314460005603784568384544292807993261182274230232428017121999181737542737639983574178114329025908047865488698532819202745357586480881168319876681098695615538767462851288778470443643499285350276753176103423551460342285314430533207752448006876681264094534955425503820538124243620382851424880782223"),
+ mp_float("0.0040201332469242041765712245591227866450509686132692092422163860667566469589695542477664125944915707553575604122131424702917348521743488869703624938023623897847871594387928991069103589176782375590966880446944196390854682755124253778106677252022244816796278453169275991863835592836871562212672421078538807875364999439828184661411598498071606865318767023014497044358850868322845340487573626340657408275931"),
+ mp_float("0.0021219092193264222204264823165509083232159101850734099563012169008462369659206296483790423363972853903638524850930305815463701716957404925137813283196387120112912608389258653872965060287940285368962903788382758168501717393994917643616683705035556781918080995675909666995963230568397374493546808898152246224513118167107594412553301840166220916579240110458583683641165593883222063549437102174183453936861"),
+ mp_float("-0.0014497369604556535513801649804229099166083734966554632471638350522770817989858930140978123047199249367091222375214816649931701916815055817819128486643768753751925497910853729679103963423859830918027244256630288598518213777620700947733862300065890621314153564808409313230721248092543872627346490387801421637402961181208063649284185877327189954887752197696983368991121499419010463341220504522903241843054"),
+ mp_float("-0.0054058072902780096690915046231372576852831861653370398426923503091225851187860883130337337660978055501489166995466084855291517887265203378835822204824103316485042502641716735742426007472762171428278264553668652383893587621997989352648743834907584737929654211713444729022108796597744823412286366081014729384774060063585672290903391457686639477620392564941216645101708914816167802923279664171183886734758"),
+ mp_float("-0.0077621283398685476523626231543112976141387385999950000282448522317650061235056041033458557828473581948779840200473431661569331497969422467812944234381230473075068950114200673122456567001279060600707822756805134115498144677260379766925474196816748795485700942030332065979602195741364682534146653686695515099042603322242923628960685431074238392710625899269213871598059952568024676643791468021231962544467"),
+ mp_float("-0.0064509389640070172542272152792091607374461337023002416563095751760098616454372968400465150987251718682131274250688765931575094918431168380167796087776345915685888470475620806043362304412008313439575008858963161205273677919437585321226198034875604427822907411191278188907271780319656518383455437725774834583088005624843273099430782941090330591037369423227749251938521285542900203200859395097550781494909"),
+ mp_float("-0.00033052484335383809535283673047081401733897769164865989348358482658026730136607165169485154185644655940894978886730011660468974826520518704026156728762631412361799642139503729968737785311880965518782180767316515723732951636548591727280075916700676545769227294086112153897283674046866474964835594157516038880839518922525771696769389287326263632337317521949386197910375667824610264461894566230762001698215"),
+ mp_float("0.0096248262739927638011114019185806587912347554571991063294186260969246207460973429673142919058923222991701321669220673818500487212590595315317410374316532926833565774696745873890159646789336912556977758208186503706335717523172243668344604854340217184998085986571284177597550527494922888986298790464448953701019161639305917552591911423065981619381377837250914684336521875108932716972030178281639009233115"),
+ mp_float("0.019449760320520916178628782936633308047340439902428149200184078040861015868407042314574976082180760076488908348146191234260425651321548984348519946085606804463303461224801612192831409321720148574068798970538658079575690670375817170615428582542414719363155928541596270625718609500205275171087067986787737664514441442446587766662558569669089497858440459619957092542941781831407082425390413303274685210397"),
+ mp_float("0.022385930520541946179777318519861591196908496429327564080513706759016378349174205943755983052998422414410778094551487670755961297175199647644797946043742742458875765082009807286704175313184098084030679153195947036432363443710102689397577399369166744145707076333572988255501692753211193496563443610766315498388419452473203772942341550044903110471922598013014391956723173225405955684778466560857398034174"),
+ mp_float("0.01098350141219592907222321230280429800951585418187100884699799131328100445704559467653763638272435585737141953897175367511961420095256312925544209832355030600809716890761940188140646608579320408724999072749009730488470717689690969405974855681542334994344958046730623290847526236506685070029224682725953134048499619824593723727975220656544375099194726382856620797950147918878175274680597510557835399595"),
+ mp_float("-0.018443806325506055902947634919443558397386675821560865160698631798438901005347764650592149551457516190067738175001079320029621830727267179245506953648618602004933363606676192094725058298202116202307579724097254792147783201407255080144916095960237178516754716112650608784475911309544875142812205546069335781949815068668085704931739125708784981874833139584055415739224916663331991112555580344542744033698"),
+ mp_float("-0.059664951298426637429279589510709118417405509817925328222829648966646717098584491668489930834784053929451208342822647347693033699635219671121302570075166393597021134964680634937050713830059526592386764043250037106468832722994889233727396202755689168412940141576631104241266854497681080731601210588932136734230582742634978113002901251121142219943757206386414340372270063569036945967363857050895767614539"),
+ mp_float("-0.091262758376340711039185182189079064732080957918840845627672462396082152752351472493822917683266953965613626278174391675864110505296041983551824175946751156655961980200936400593154764252241093979732549926137015912542707429455820560945530471098114666154993207928960000650118406684784200964555984193629650430762997451060667478852557329880232909624261579250173046075745557176430211909288879939754643085831"),
+ mp_float("-0.077196151971051904792966954816141171729087463308105755316505870510194247918757844581569390880712661518607215178906648125573506049094262562835099853954697268472904911967668545986281342249362318395429053749488505926258000003596801475606393690937512066550546314836452398595025780757123953566921872170769110494518888632450408902178119786917730880170024678352512134579130556677918125925966600759364494015702"),
+ mp_float("0.020334258368109218102577872552330633997916842195993729605853780030120383680360831187394856980040984132200544269890295197974760726436816474442234204184407748268273516635381770035476427561505705165973970563412632163577029954651985873915448880357421675511215099239744209685894031618898743929403453722605635150656795765189869761067157038713052476745385343416198533257819167817620128536599126013945984661297"),
+ mp_float("0.21095103617830959118230303818647586010678399930260924812010025813338610683841604033838405134420359713603602850147252727297478368809911567764439393082988920025333644578227903438325238867251043049507750940120202271036550257914078473052926740271038467199753761931110160294449825533320230691167534270193725258447746186285099016096295511136471320390563359240226145530855800473951305570034986001236675084985"),
+ mp_float("0.4324407355607316531021372688850619233227869757340477448463342914768158541815475920544101222696281278909155138279114550371588206356830439998125650961404172561513805060518682920085156935083573128117096138139339682728027199332585019675706450018025448463905902499962127462553012034637840022413008555996904431177108596441201715253006754984009509240711375155781398831954825198382039405254692492017462016247"),
+ mp_float("0.5135595798240363013862147198268348742487076016590310348264818917617800617541330342777397248052871178498736608898841031428531557020023867718725146201835619353096493413413714537396352923737424396345228325021555940052368470043162036064027012517581560830566381624364022437345433511885774974753036991718997972430006019393421836700453320871895374394643191052755842290733045304405463525972185770269159729577"),
+ mp_float("0.1869946153389306530361265443431250127782662960433300088362184095397106712512021630227122196222526948722509060532190138468042015824500600969141172585978470450930630861952189819757871382400460825383913427159813563823707774666863716081129862300959277956259177237979037343960986915785803712451283126094044283950536324033192630086844338940870026181918902504620120102014563252396849047349763980687252894464"),
+ mp_float("-0.78553541696731668055788573543282643759245706331767422777975062791252496229336699991740176733450263418205035363712992103237375847138569298538403396507387378187093814510591976101506603054595338341559175222353385035337973321749174380849273752703025662493457448877617512440780091769042289231736233712699988542080358834549671732504447329098939374143951335917874747521726864641892954910758900169843207394398"),
+ mp_float("-2.3277150022421426461037159843629470822609232418943183694134658911790896262054615184876811502407172464200716085112919226261118840643037145843049540840315417071537490293645089459550068330644022958192371483312054196749400132278687373390240815499996800770503653119708352120065028516790148094548869153217859657438964617456768111084807677278669881296775229872518380227529460047961406250487436622935125878639"),
+ mp_float("-3.640349567937565540216773268405777594114008333915444835106654700763064910220953700555658055585972168913527229944853511542025339453704711818335492110772886344355751646850349003884656858945333402196203938238053983290488403991607546108110962985732298253295926071120161233961388569735461963737316685369082662735237724213488533109365059553313430816556491348921106877486994832391155716176167690819797600277"),
+ mp_float("-2.9025935413710599570036416960106637173112553247876769017787446850530877483785809877716937276060470932186042943248133347185711703048405459676048094807045202214068734489899433867551687310280867091286961014084088507327378213913667890492705970320480657701524466623048104091118183981572264764989630062877033448408882665689296885849469603082834428344461708492919875902790547569711163497470269262314374395272"),
+ mp_float("2.3989936512351190171061697000483039034961368375100523044364987140105481564263757969761860105706911186585245107806314461312154279447206695771172169363060641509050340869031195730432368882270088985769686508323177887788193771587031380814519303592703111596110553005867875093328567427256905749618067724007551596213138509414749768812117166102030010232304278570638979497084822363788014791984469198178016101419"),
+ mp_float("13.770723366759676381751643693402519717809625582640512375998245545086360826287274059032767203571599923262985616698807803141405313930996128466091302431810471317082391485786584298286789154898005747783778566110988304766313553732037100939176588899290771975537487444832433609068160503437988520028291376171248514939403840284985108838141108581903946392424091273963776954934771343725244633243775704549645939463"),
+ mp_float("28.117398502829620913842341812088467377118453496494540568289261626787247329057461762096931788596680886020362561947558344907406525537607217363017224137408645854348061025546265982209458554788458947536048280472760873299715550514622615393828159967711709674041809342333694474937170180785472051770352381891400121284670816340643703332535837718992664927294097357578181753838312370162764902736010896961247554832"),
+ mp_float("33.007966956978580578369009420578811464025681173637631119375750063232246703372737212330325564185857315930537122312148155878956287347931217065159785738837596483438328125894381366868844281239511284786487083394103552530056426937667593940280914953095130166964600181548860826912826879960647030392722217355714015563577718295597397116469759738957920752237659258752723561636077947045219658399382986441344078931"),
+ mp_float("4.4694272596305907793391992099321957369059099621007334515869088278728086161625617315040932062956290251280906599069211002115056090680456219436054074926482892957835333113155039694884829833686503605331265480121251575371428593052488779757002785654383434794915628287857134032235869886754426372593015339951388491573289850142612807901382716574797719937154960179285563961636283082164587427913310812457061234294"),
+ mp_float("-84.770335037135220761918415891122949711972160168565818419523791166203974658281759000553242121068409751686046334255837863285863896794249320554198214026272499456562858907721331641274182143317570472088246976628422020854064710078817269335737947080235883128635581734384655346868582295557505734696849266807638158632864241990184265411394167020957668820160104876578357936162928223097271377446412367490047887344"),
+ mp_float("-235.78700002848894419766305293810155874803344238300740796445127630555177161398752289913720916672939469259947286135403674232669994498264888820783313307194292974443739570079836149085794625206465990828583217261978249296221807570674611026932521542170925545638467353528834220136201662938113204530028116004597587244513848064386869972669193736855245945672643092447562573195171676413034162429758681767752457432"),
+ mp_float("-367.32040669524278029798626119212825419435569154367184895972204533121033460477690144865562440206551062110403182600551107638849995482989122432482125686863530803756373409361163785702725169507742963977249567705770561385050617962551051541832544719543767455427421232791445494453559949557852871942769870232443534116871216652882168197445216941964141604967025850498710771684299832704974312494279851472736551642"),
+ mp_float("-252.61481172854904182542387647330969865261534937176953715452720667757313398772101556124855209376337169932238231097575630539877659922400297507959233889344433215188246429918637635254194371521606041821539712950839644453645858650393843816250004012879859908380249347133301543357968323380110321389758380447083073269112431360574408879339009544116131552432392451162507973368473991830772228909889856110102810911"),
+ mp_float("476.57458949935623760927605869361311532693713735858914619552204662783299533870454836359054014186273380421417250471972446772921035812222836086784747076144750542182459153428114044680943738252707503584614175511697251574009473324277958447420222944470715223207426635016820852319233993437011724618024150159456667761999458840556941015913482229737502983977102023101085459553253478926015702476597299916745300193"),
+ mp_float("2109.8392564080299698455019644658044825385883376964813959062672754087269970125619711891739970634168873057629916192941015961030922113927626395721250365850946992719102435364000852943641866084520038785026250110727616533057373810592904040519334154470029566679036386587886849821604674124838050384008058246053314500595766794829383294525247869911808697976061270890595553460616255264575348471736179324278166939"),
+ }};
+ static const std::vector<mp_float> v(a.begin(), a.end());
+ return v;
+ }
+ };
+
+ bool test_case_00903_zeta_neg_x(const bool b_write_output)
+ {
+ return TestCase_case_00903_zeta_neg_x().execute(b_write_output);
+ }
+ }
+}

Added: sandbox/multiprecision/test/real/test_case_real.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/test_case_real.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,38 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _TEST_CASE_REAL_2009_10_24_H_
+ #define _TEST_CASE_REAL_2009_10_24_H_
+
+ #include "../test_case_base.h"
+
+ namespace test
+ {
+ namespace real
+ {
+ class TestCaseReal : public TestCaseBase<boost::multiprecision::mp_float>
+ {
+ private:
+
+ TestCaseReal(const TestCaseReal&);
+ const TestCaseReal& operator=(const TestCaseReal&);
+
+ protected:
+
+ TestCaseReal() { }
+
+ public:
+
+ virtual ~TestCaseReal() { }
+ };
+ }
+ }
+
+#endif // _TEST_CASE_REAL_2009_10_24_H_

Added: sandbox/multiprecision/test/real/test_real.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/test_real.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,108 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <iostream>
+
+#include "test_real.h"
+
+namespace test
+{
+ namespace real
+ {
+ bool test_case_00001_overflow_mul_x (const bool b_write_output);
+ bool test_case_00002_underflow_mul_x (const bool b_write_output);
+ bool test_case_00003_overflow_x_mul_by_n (const bool b_write_output);
+ bool test_case_00004_underflow_x_div_by_n (const bool b_write_output);
+ bool test_case_00006_write_os_floatfield_fixed (const bool b_write_output);
+ bool test_case_00007_write_os_floatfield_scientific(const bool b_write_output);
+ bool test_case_00008_write_os_floatfield_not_set (const bool b_write_output);
+ bool test_case_00009_global_ops_pod_equate (const bool b_write_output);
+ bool test_case_00010_global_ops_pod_operations (const bool b_write_output);
+ bool test_case_00011_various_elem_math (const bool b_write_output);
+ bool test_case_00021_bernoulli (const bool b_write_output);
+ bool test_case_00051_factorial (const bool b_write_output);
+ bool test_case_00052_factorial2 (const bool b_write_output);
+ bool test_case_00071_various_int_func (const bool b_write_output);
+ bool test_case_00101_sin (const bool b_write_output);
+ bool test_case_00102_cos (const bool b_write_output);
+ bool test_case_00103_exp (const bool b_write_output);
+ bool test_case_00104_log (const bool b_write_output);
+ bool test_case_00105_sqrt (const bool b_write_output);
+ bool test_case_00106_rootn (const bool b_write_output);
+ bool test_case_00111_sin_small_x (const bool b_write_output);
+ bool test_case_00112_cos_x_near_pi_half (const bool b_write_output);
+ bool test_case_00113_atan_x_small_to_large (const bool b_write_output);
+ bool test_case_00114_various_trig (const bool b_write_output);
+ bool test_case_00115_various_elem_trans (const bool b_write_output);
+ bool test_case_00121_sinh (const bool b_write_output);
+ bool test_case_00122_cosh (const bool b_write_output);
+ bool test_case_00123_tanh (const bool b_write_output);
+ bool test_case_00124_asinh (const bool b_write_output);
+ bool test_case_00125_acosh (const bool b_write_output);
+ bool test_case_00126_atanh (const bool b_write_output);
+ bool test_case_00201_gamma (const bool b_write_output);
+ bool test_case_00202_gamma_medium_x (const bool b_write_output);
+ bool test_case_00203_gamma_small_x (const bool b_write_output);
+ bool test_case_00204_gamma_tiny_x (const bool b_write_output);
+ bool test_case_00205_gamma_near_neg_n (const bool b_write_output);
+ bool test_case_00221_various_gamma_func (const bool b_write_output);
+ bool test_case_00901_zeta_small_x (const bool b_write_output);
+ bool test_case_00902_zeta_all_x (const bool b_write_output);
+ bool test_case_00903_zeta_neg_x (const bool b_write_output);
+ }
+}
+
+bool test::real::test_real(const bool b_write_output)
+{
+ bool test_ok = true;
+
+ test_ok &= test::real::test_case_00001_overflow_mul_x (b_write_output);
+ test_ok &= test::real::test_case_00002_underflow_mul_x (b_write_output);
+ test_ok &= test::real::test_case_00003_overflow_x_mul_by_n (b_write_output);
+ test_ok &= test::real::test_case_00004_underflow_x_div_by_n (b_write_output);
+ test_ok &= test::real::test_case_00006_write_os_floatfield_fixed (b_write_output);
+ test_ok &= test::real::test_case_00007_write_os_floatfield_scientific(b_write_output);
+ test_ok &= test::real::test_case_00008_write_os_floatfield_not_set (b_write_output);
+ test_ok &= test::real::test_case_00009_global_ops_pod_equate (b_write_output);
+ test_ok &= test::real::test_case_00010_global_ops_pod_operations (b_write_output);
+ test_ok &= test::real::test_case_00011_various_elem_math (b_write_output);
+ test_ok &= test::real::test_case_00021_bernoulli (b_write_output);
+ test_ok &= test::real::test_case_00051_factorial (b_write_output);
+ test_ok &= test::real::test_case_00052_factorial2 (b_write_output);
+ test_ok &= test::real::test_case_00071_various_int_func (b_write_output);
+ test_ok &= test::real::test_case_00101_sin (b_write_output);
+ test_ok &= test::real::test_case_00102_cos (b_write_output);
+ test_ok &= test::real::test_case_00103_exp (b_write_output);
+ test_ok &= test::real::test_case_00104_log (b_write_output);
+ test_ok &= test::real::test_case_00105_sqrt (b_write_output);
+ test_ok &= test::real::test_case_00106_rootn (b_write_output);
+ test_ok &= test::real::test_case_00111_sin_small_x (b_write_output);
+ test_ok &= test::real::test_case_00112_cos_x_near_pi_half (b_write_output);
+ test_ok &= test::real::test_case_00113_atan_x_small_to_large (b_write_output);
+ test_ok &= test::real::test_case_00114_various_trig (b_write_output);
+ test_ok &= test::real::test_case_00115_various_elem_trans (b_write_output);
+ test_ok &= test::real::test_case_00121_sinh (b_write_output);
+ test_ok &= test::real::test_case_00122_cosh (b_write_output);
+ test_ok &= test::real::test_case_00123_tanh (b_write_output);
+ test_ok &= test::real::test_case_00124_asinh (b_write_output);
+ test_ok &= test::real::test_case_00125_acosh (b_write_output);
+ test_ok &= test::real::test_case_00126_atanh (b_write_output);
+ test_ok &= test::real::test_case_00201_gamma (b_write_output);
+ test_ok &= test::real::test_case_00202_gamma_medium_x (b_write_output);
+ test_ok &= test::real::test_case_00203_gamma_small_x (b_write_output);
+ test_ok &= test::real::test_case_00204_gamma_tiny_x (b_write_output);
+ test_ok &= test::real::test_case_00205_gamma_near_neg_n (b_write_output);
+ test_ok &= test::real::test_case_00221_various_gamma_func (b_write_output);
+ test_ok &= test::real::test_case_00901_zeta_small_x (b_write_output);
+ test_ok &= test::real::test_case_00902_zeta_all_x (b_write_output);
+ test_ok &= test::real::test_case_00903_zeta_neg_x (b_write_output);
+
+ return test_ok;
+}

Added: sandbox/multiprecision/test/real/test_real.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/real/test_real.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,22 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _TEST_REAL_2009_10_16_H_
+ #define _TEST_REAL_2009_10_16_H_
+
+ namespace test
+ {
+ namespace real
+ {
+ bool test_real(const bool b_write_output);
+ }
+ }
+
+#endif // _TEST_REAL_2009_10_16_H_

Added: sandbox/multiprecision/test/spot/test_spot.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/spot/test_spot.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,43 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <iomanip>
+#include <iostream>
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "test_spot.h"
+
+/*
+extern "C" int MAIN__(void);
+namespace
+{
+ void linpack_benchmark(void) { MAIN__(); }
+}
+*/
+
+void test::spot::test_spot(void)
+{
+// ::linpack_benchmark();
+
+ using boost::multiprecision::mp_float;
+ using boost::multiprecision::mp_complex;
+
+ const std::streamsize original_prec = std::cout.precision(std::numeric_limits<mp_float>::digits10);
+
+ const mp_float x = boost::multiprecision::sqrt(boost::multiprecision::euler_gamma());
+ std::cout << x << std::endl;
+
+ const mp_float p = boost::multiprecision::log(boost::multiprecision::pi() * 100);
+ std::cout << p << std::endl;
+
+ std::cout.precision(original_prec);
+}

Added: sandbox/multiprecision/test/spot/test_spot.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/spot/test_spot.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,22 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _TEST_SPOT_2009_10_19_H_
+ #define _TEST_SPOT_2009_10_19_H_
+
+ namespace test
+ {
+ namespace spot
+ {
+ void test_spot(void);
+ }
+ }
+
+#endif // _TEST_SPOT_2009_10_19_H_

Added: sandbox/multiprecision/test/test.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/test.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,46 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <iostream>
+#include <string>
+
+#include "imag/test_imag.h"
+#include "real/test_real.h"
+#include "spot/test_spot.h"
+#include <boost/multiprecision/utility/util_timer.hpp>
+
+namespace
+{
+ void test_real_imag(void)
+ {
+ const boost::multiprecision::utility::timer tm;
+ const bool test_real_ok = test::real::test_real(true);
+ const bool test_imag_ok = test::imag::test_imag(true);
+ const double elapsed = tm.elapsed();
+
+ std::string str_real("Real test: ");
+ std::string str_imag("Imag test: ");
+
+ str_real += (test_real_ok ? "All tests OK." : "Fail: Not all tests OK.");
+ str_imag += (test_imag_ok ? "All tests OK." : "Fail: Not all tests OK.");
+
+ std::cout << str_real << std::endl;
+ std::cout << str_imag << std::endl;
+
+ std::cout << "Elapsed time: " << elapsed << " (seconds)" << std::endl;
+ }
+}
+
+int main(int, char**)
+{
+// test::spot::test_spot();
+
+ ::test_real_imag();
+}

Added: sandbox/multiprecision/test/test_case_base.cpp
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/test_case_base.cpp 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,157 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#include <boost/multiprecision/mp_float.hpp>
+#include <boost/multiprecision/mp_float_functions.hpp>
+
+#include "test_case_base.h"
+
+using boost::multiprecision::mp_float;
+using boost::multiprecision::mp_complex;
+
+namespace test
+{
+ static bool compare_single_mp_value(std::string& str_result,
+ const mp_float& my_value,
+ const mp_float& control)
+ {
+ static const mp_float the_epsilon = std::numeric_limits<mp_float>::epsilon();
+
+ str_result.clear();
+
+ // Ensure that the two real numbers are equal in the sense that their difference is
+ // identically zero or that their relative difference is less than epsilon. Recall
+ // that std::numeric_limits<T>::epsilon() is defined as the smallest number of a given
+ // type T which is distinguishable from 1. This means that all significant digits of
+ // the two numbers are identical. Also make sure that the result from mp_float is finite.
+
+ const bool mp_data_is_zero = boost::multiprecision::iszero(my_value);
+ const bool ml_data_is_zero = boost::multiprecision::iszero(control);
+
+ const mp_float delta = boost::multiprecision::abs(my_value - control);
+
+ if(!boost::multiprecision::isfinite(my_value))
+ {
+ // The result from mp_float is not finite. The comparison failed.
+ str_result = "Value is not finite";
+
+ return false;
+ }
+ else if(boost::multiprecision::isneg(my_value) != boost::multiprecision::isneg(control))
+ {
+ // The sign of the result from mp_float and the sign of the result from
+ // the control test are different. The comparison failed.
+ str_result = "Sign mismatch";
+
+ return false;
+ }
+ else if(boost::multiprecision::iszero(delta))
+ {
+ // The two numbers are identical. This also includes the case for which
+ // both numbers are equal to zero. The comparison succeeds.
+ // The comparison succeeds.
+
+ return true;
+ }
+ else if(mp_data_is_zero && (delta >= the_epsilon))
+ {
+ // The result from mp_float is zero and the result from MathLink is non-zero.
+ // The comparison fails if the result from the control test is equal to or
+ // exceeds epsilon.
+ str_result = "Mismatch zero with non-zero";
+
+ return false;
+ }
+ else if(mp_data_is_zero && (delta < the_epsilon))
+ {
+ // The result from mp_float is zero and the result from MathLink is non-zero,
+ // but with absolute value less than epsilon.
+ // The comparison succeeds.
+
+ return true;
+ }
+ else if(ml_data_is_zero && (delta >= the_epsilon))
+ {
+ // The result from the control test is zero and the result from mp_float is non-zero.
+ // The comparison fails if the result from mp_float is equal to or exceeds epsilon.
+ str_result = "Mismatch non-zero with zero";
+
+ return false;
+ }
+ else if(ml_data_is_zero && (delta < the_epsilon))
+ {
+ // The result from the control test is zero and the result from mp_float is non-zero,
+ // but with absolute value less than epsilon.
+ // The comparison succeeds.
+
+ return true;
+ }
+ else
+ {
+ const mp_float abs_mp_data = boost::multiprecision::abs(my_value);
+ const mp_float abs_ml_data = boost::multiprecision::abs(control);
+
+ const mp_float delta_relative = delta / (std::min)(abs_mp_data, abs_ml_data);
+
+ if(delta_relative > the_epsilon)
+ {
+ // The result from the control test is non-zero and the result from mp_float is non-zero.
+ // The comparison fails if the maximum relative difference is equal to or
+ // exceeds epsilon.
+
+ str_result = "Digit comparison failure";
+
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
+ }
+}
+
+bool test::compare_value(std::string& str_result,
+ const mp_float& my_value,
+ const mp_float& control)
+{
+ return compare_single_mp_value(str_result, my_value, control);
+}
+
+bool test::compare_value(std::string& str_result,
+ const mp_complex& my_value,
+ const mp_complex& control)
+{
+ std::string str_result_re;
+ std::string str_result_im;
+
+ const bool b_compare_re = compare_single_mp_value(str_result, my_value.real(), control.real());
+ const bool b_compare_im = compare_single_mp_value(str_result, my_value.imag(), control.imag());
+
+ if(!b_compare_re && !b_compare_im)
+ {
+ str_result = str_result_re + "\n" + str_result_im;
+ return false;
+ }
+ else if(!b_compare_re)
+ {
+ str_result = str_result_re;
+ return false;
+ }
+ else if(!b_compare_im)
+ {
+ str_result = str_result_im;
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+}

Added: sandbox/multiprecision/test/test_case_base.h
==============================================================================
--- (empty file)
+++ sandbox/multiprecision/test/test_case_base.h 2011-09-21 17:18:17 EDT (Wed, 21 Sep 2011)
@@ -0,0 +1,134 @@
+
+// Copyright Christopher Kormanyos 2002 - 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+// This work is based on an earlier work:
+// "Algorithm 910: A Portable C++ Multiple-Precision System for Special-Function Calculations",
+// in ACM TOMS, {VOL 37, ISSUE 4, (February 2011)} (C) ACM, 2011. http://doi.acm.org/10.1145/1916461.1916469
+
+#ifndef _TEST_CASE_BASE_2009_11_12_H_
+ #define _TEST_CASE_BASE_2009_11_12_H_
+
+ #include <string>
+ #include <fstream>
+ #include <iomanip>
+ #include <algorithm>
+ #include <iterator>
+
+
+ #include <boost/multiprecision/mp_float_functions.hpp>
+ #include <boost/noncopyable.hpp>
+
+ namespace test
+ {
+ bool compare_value(std::string& str_result,
+ const boost::multiprecision::mp_float& my_value,
+ const boost::multiprecision::mp_float& control);
+
+ bool compare_value(std::string& str_result,
+ const boost::multiprecision::mp_complex& my_value,
+ const boost::multiprecision::mp_complex& control);
+
+ template<typename T> class TestCaseBase : private boost::noncopyable
+ {
+ protected:
+
+ TestCaseBase() { }
+
+ public:
+
+ virtual ~TestCaseBase() { }
+
+ protected:
+
+ virtual const std::string& name(void) const = 0;
+
+ virtual const std::vector<T>& control_data(void) const = 0;
+
+ virtual void e_float_test(std::vector<T>&) const = 0;
+
+ bool write_output_file(const std::vector<T>& data) const
+ {
+ std::ofstream out((name() + ".txt").c_str());
+
+ if(out.is_open())
+ {
+ static const std::streamsize my_prec = static_cast<std::streamsize>(std::numeric_limits<boost::multiprecision::mp_float>::digits10);
+
+ static_cast<void>(out.setf(std::ios::showpos | std::ios::scientific));
+ static_cast<void>(out.precision(my_prec));
+
+ std::copy(data.begin(), data.end(), std::ostream_iterator<T>(out, "\n"));
+
+ out.close();
+
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+
+ public:
+
+ virtual bool execute(const bool b_write_output) const
+ {
+ std::cout << name() << " : ";
+
+ std::vector<T> e_float_data;
+
+ // Calculate the mp_float test data.
+ e_float_test(e_float_data);
+
+ // Verify equal length of the data tables.
+ if(e_float_data.size() != control_data().size())
+ {
+ std::cout << "Table size mismatch: FAIL" << std::endl;
+ return false;
+ }
+
+ // Optionally write the mp_float test data to an output file.
+ if(b_write_output)
+ {
+ if(!write_output_file(e_float_data))
+ {
+ std::cout << "Can not write output: FAIL" << std::endl;
+ return false;
+ }
+ }
+
+ bool b_compare = true;
+
+ for(typename std::vector<T>::size_type i = 0u; i < e_float_data.size(); i++)
+ {
+ std::string str_result;
+
+ const bool b_result = compare_value(str_result, e_float_data[i], control_data()[i]);
+
+ b_compare &= b_result;
+
+ if(!b_result)
+ {
+ std::cout << str_result << ": Failed at index: " << i << std::endl;
+ }
+ }
+
+ // Compare the mp_float test data with the control data.
+ if(b_compare)
+ {
+ std::cout << "Numerical compare OK: PASS" << std::endl;
+ return true;
+ }
+ else
+ {
+ std::cout << "Numerical compare not OK: FAIL" << std::endl;
+ return false;
+ }
+ }
+ };
+ }
+
+#endif // _TEST_CASE_BASE_2009_11_12_H_


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk