From 7da4d3ae46279298acd5d65637499caab7b57071 Mon Sep 17 00:00:00 2001 From: Alexei Sheplyakov Date: Sat, 23 Aug 2008 22:33:09 +0400 Subject: [PATCH] build: switch to ordinary auto* tools system. Benefits: 1. If a header file gets modified, all dependent stuff gets rebuilt. No need for 'make clean' after each header modification, no more spurious errors, no more spurious rebuilds. 2. No more errors due to redefined preprocessor, compiler, and linker FLAGS. 3. Build scripts don't try to build every *.cc file which happen to lurk in the source directory. --- Makefile.am | 104 ++++ Makefile.in | 74 --- autoconf/aclocal.m4 | 20 - configure.ac | 131 ++--- doc/Makefile.am | 4 + doc/Makefile.in | 117 ----- examples/Makefile.am | 29 ++ examples/Makefile.in | 116 ----- include/cln/config.h.in | 146 ------ include/cln/host_cpu.h.in | 79 +++ m4/cc.m4 | 10 +- m4/gmp.m4 | 2 +- m4/longdouble.m4 | 2 +- src/Makefile.am | 984 ++++++++++++++++++++++++++++++++++++++ src/Makefile.in | 267 ----------- tests/Makefile.am | 170 +++++++ tests/Makefile.in | 189 -------- 17 files changed, 1422 insertions(+), 1022 deletions(-) create mode 100644 Makefile.am delete mode 100644 Makefile.in delete mode 100644 autoconf/aclocal.m4 create mode 100644 doc/Makefile.am delete mode 100644 doc/Makefile.in create mode 100644 examples/Makefile.am delete mode 100644 examples/Makefile.in delete mode 100644 include/cln/config.h.in create mode 100644 include/cln/host_cpu.h.in create mode 100644 src/Makefile.am delete mode 100644 src/Makefile.in create mode 100644 tests/Makefile.am delete mode 100644 tests/Makefile.in diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..abca0df --- /dev/null +++ b/Makefile.am @@ -0,0 +1,104 @@ +SUBDIRS = src tests examples doc +DIST_SUBDIRS = src tests examples doc + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = cln.pc + +EXTRA_DIST = cln.pc.in cln.spec.in + +$(pkgconfig_DATA): config.status + +# Rule to build tar-bzipped distribution package +$(PACKAGE)-$(VERSION).tar.gz: dist + +ACLOCAL_AMFLAGS = -I m4 + + +clnincludedir = $(includedir)/cln + +clninclude_HEADERS = \ +include/cln/SV_real.h \ +include/cln/GV_integer.h \ +include/cln/floatformat.h \ +include/cln/lfloat.h \ +include/cln/null_ring.h \ +include/cln/io.h \ +include/cln/ring.h \ +include/cln/V.h \ +include/cln/GV.h \ +include/cln/GV_number.h \ +include/cln/complex_io.h \ +include/cln/condition.h \ +include/cln/integer_ring.h \ +include/cln/dfloat_io.h \ +include/cln/random.h \ +include/cln/SV_ringelt.h \ +include/cln/ffloat_io.h \ +include/cln/float_class.h \ +include/cln/cln.h \ +include/cln/ffloat_class.h \ +include/cln/float.h \ +include/cln/string.h \ +include/cln/lfloat_io.h \ +include/cln/malloc.h \ +include/cln/lfloat_class.h \ +include/cln/number_io.h \ +include/cln/numtheory.h \ +include/cln/object.h \ +include/cln/proplist.h \ +include/cln/univpoly_rational.h \ +include/cln/univpoly_real.h \ +include/cln/output.h \ +include/cln/real_io.h \ +include/cln/ffloat.h \ +include/cln/sfloat_io.h \ +include/cln/timing.h \ +include/cln/SV_number.h \ +include/cln/complex_ring.h \ +include/cln/univpoly_complex.h \ +include/cln/version.h \ +include/cln/rational.h \ +include/cln/rational_class.h \ +include/cln/rational_io.h \ +include/cln/types.h \ +include/cln/univpoly_modint.h \ +include/cln/modinteger.h \ +include/cln/rational_ring.h \ +include/cln/univpoly_integer.h \ +include/cln/number.h \ +include/cln/GV_complex.h \ +include/cln/GV_modinteger.h \ +include/cln/GV_real.h \ +include/cln/SV_complex.h \ +include/cln/SV_integer.h \ +include/cln/complex.h \ +include/cln/exception.h \ +include/cln/univpoly.h \ +include/cln/SV_rational.h \ +include/cln/complex_class.h \ +include/cln/real.h \ +include/cln/symbol.h \ +include/cln/dfloat_class.h \ +include/cln/modules.h \ +include/cln/real_ring.h \ +include/cln/float_io.h \ +include/cln/GV_rational.h \ +include/cln/input.h \ +include/cln/integer_class.h \ +include/cln/integer_io.h \ +include/cln/real_class.h \ +include/cln/sfloat.h \ +include/cln/sfloat_class.h \ +include/cln/dfloat.h \ +include/cln/SV.h \ +include/cln/integer.h + +## FIXME: we should NOT expose these macros to users +cln_GENERATEDdir = $(includedir)/cln +cln_GENERATED_HEADERS = \ +include/cln/config.h \ +include/cln/host_cpu.h + +EXTRA_DIST += include/cln/config.h.in \ + include/cln/host_cpu.h.in \ + include/cln/version.h.in diff --git a/Makefile.in b/Makefile.in deleted file mode 100644 index 1331aad..0000000 --- a/Makefile.in +++ /dev/null @@ -1,74 +0,0 @@ -# Makefile for cln - -#### Start of system configuration section. #### - -# Directories used by "make install": -prefix = @prefix@ -local_prefix = /usr/local -exec_prefix = @exec_prefix@ -srcdir = @srcdir@ -bindir = @bindir@ -datarootdir = @datarootdir@ -datadir = @datadir@ -libdir = @libdir@ -includedir = @includedir@ -mandir = @mandir@ -DESTDIR = - -# Programs used by "make": -CC = @CC@ -CFLAGS = @CFLAGS@ -RM = rm -f -MKDIR = mkdir -p -@SET_MAKE@ -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_DATA = @INSTALL_DATA@ - -#### End of system configuration section. #### - -SHELL = /bin/sh - -all : force - cd @subdir@ && ${MAKE} all - -install : installdirs force - cd @subdir@ && ${MAKE} install - ${INSTALL_DATA} cln.pc ${DESTDIR}${libdir}/pkgconfig/cln.pc - -installdirs : force - cd @subdir@ && ${MAKE} installdirs - ${MKDIR} ${DESTDIR}${mandir}/man1 - ${MKDIR} ${DESTDIR}${datadir}/aclocal - ${MKDIR} ${DESTDIR}${bindir} - ${MKDIR} ${DESTDIR}${libdir}/pkgconfig - -uninstall : force - cd @subdir@ && ${MAKE} uninstall - ${RM} ${DESTDIR}${libdir}/pkgconfig/cln.pc - -check : force - cd @subdir@ && ${MAKE} check - -mostlyclean : force - cd @subdir@ && ${MAKE} mostlyclean - -clean : force - cd @subdir@ && ${MAKE} clean - -distclean : force - cd @subdir@ && if test -f Makefile; then ${MAKE} distclean; fi - ${RM} config.status config.log config.cache Makefile - ${RM} cln.pc - ${RM} libtool - ${RM} include/cln/config.h include/cln/intparam.h include/cln/floatparam.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/float/cl_float_config.h src/timing/cl_t_config.h - -maintainer-clean : force - cd @subdir@ && if test -f Makefile; then ${MAKE} maintainer-clean; fi - ${RM} config.status config.log config.cache Makefile - ${RM} cln.spec cln.pc - ${RM} libtool - ${RM} include/cln/config.h include/cln/intparam.h include/cln/floatparam.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/float/cl_float_config.h src/timing/cl_t_config.h - -force : diff --git a/autoconf/aclocal.m4 b/autoconf/aclocal.m4 deleted file mode 100644 index 06a06c2..0000000 --- a/autoconf/aclocal.m4 +++ /dev/null @@ -1,20 +0,0 @@ -m4_include([cc.m4]) -m4_include([intparam.m4]) -m4_include([floatparam.m4]) -m4_include([gmp.m4]) - -dnl Borrowed from GNU clisp. -m4_include([alloca.m4]) -m4_include([as-underscore.m4]) -m4_include([general.m4]) -m4_include([gettimeofday.m4]) -m4_include([param.m4]) dnl called intparam.m4 in clisp -m4_include([longdouble.m4]) -m4_include([longlong.m4]) -m4_include([perror.m4]) -m4_include([proto.m4]) -m4_include([rusage.m4]) -m4_include([times.m4]) - -dnl Borrowed from GNU libtool. -m4_include([libtool.m4]) diff --git a/configure.ac b/configure.ac index ba188cb..2636046 100644 --- a/configure.ac +++ b/configure.ac @@ -1,44 +1,35 @@ -dnl AUTOCONF configuration for CLN -dnl -dnl configure.ac ------>> configure -dnl -dnl configure ------>> config.status -dnl --->> include/cln/config.h -dnl cln-config.in --->> cln-config -dnl Makefile.in --->> Makefile -dnl src/Makefile.in --->> src/Makefile -dnl -dnl Makefile ------>> libcln.a -dnl -dnl -AC_INIT(src/integer/gcd/cl_I_gcd.cc) -AC_CONFIG_AUX_DIR(autoconf) -AC_CONFIG_HEADER(include/cln/config.h include/cln/version.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/timing/cl_t_config.h) -AC_PROG_MAKE_SET -dnl This piece of sed script replaces every line containing '@subdir@' -dnl by several consecutive lines, each referencing one subdir. -extrasub="$extrasub"' -/@subdir@/{ -h -g -s/@subdir@/src/ -p -g -s/@subdir@/tests/ -p -g -s/@subdir@/benchmarks/ -p -g -s/@subdir@/examples/ -p -g -s/@subdir@/doc/ -p -d -} -' -dnl +dnl run autoreconf -iv to produce the configure script. + +m4_define([cl_version_major], [1]) +m4_define([cl_version_minor], [2]) +m4_define([cl_version_patchlevel], [2]) +m4_define([cl_version], [cl_version_major.cl_version_minor.cl_version_patchlevel]) + +dnl Libtool's library version information for CLN. +dnl (Not to be confused with CLN's release version.) +dnl Making new releases: +dnl * increment CL_REVISION, +dnl * if any functions/classes have been added, removed or changed, increment +dnl CL_CURRENT and set CL_REVISION to 0, +dnl * if any functions/classes have been added, increment CL_AGE, +dnl * if backwards compatibility has been broken, set CL_AGE to 0. +dnl $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) results in +dnl libcln.so.$(CL_CURRENT)-$(CL_AGE) +m4_define([cl_current], [6]) +m4_define([cl_revision], [0]) +m4_define([cl_age], [0]) +m4_define([cl_lt_version], [cl_current:cl_revision:cl_age]) + +AC_INIT([cln], cln_version) +AC_PREREQ(2.59) +AC_CONFIG_SRCDIR(src/integer/gcd/cl_I_gcd.cc) +AC_CONFIG_AUX_DIR([autoconf]) +AC_CONFIG_HEADERS(include/cln/config.h include/cln/host_cpu.h include/cln/version.h src/base/cl_base_config.h src/base/cl_gmpconfig.h src/timing/cl_t_config.h) +AM_INIT_AUTOMAKE([foreign 1.8 dist-bzip2]) +AH_TOP([#ifdef _CL_CONFIG_H]) +AH_TOP([#include "cln/host_cpu.h"]) +AH_BOTTOM([#endif /* _CL_CONFIG_H */]) + dnl checks for programs dnl AC_PROG_CC @@ -53,8 +44,6 @@ CL_AS_UNDERSCORE dnl sets variable AS_UNDERSCORE, DEFS ASM_UNDERSCORE CL_AS_NOEXECSTACK dnl sets variable ASMFLAGS -AC_PROG_RANLIB - dnl sets variable RANLIB AC_PROG_INSTALL dnl sets variables INSTALL, INSTALL_DATA, INSTALL_PROGRAM dnl @@ -64,11 +53,6 @@ CL_CANONICAL_HOST(autoconf) dnl sets variables host, host_cpu, host_vendor, host_os CL_CANONICAL_HOST_CPU dnl DEFS __${host_cpu}__ -dnl -dnl check for build configuration -dnl -PACKAGE=cln - dnl libtool wants PACKAGE case $host_os in *mingw*) AC_DISABLE_SHARED @@ -81,40 +65,25 @@ esac AC_PROG_LIBTOOL dnl sets variable LIBTOOL -dnl Libtool's library version information for CLN. -dnl (Not to be confused with CLN's release version.) -dnl Making new releases: -dnl * increment CL_REVISION, -dnl * if any functions/classes have been added, removed or changed, increment -dnl CL_CURRENT and set CL_REVISION to 0, -dnl * if any functions/classes have been added, increment CL_AGE, -dnl * if backwards compatibility has been broken, set CL_AGE to 0. -dnl $(CL_CURRENT):$(CL_REVISION):$(CL_AGE) results in -dnl libcln.so.$(CL_CURRENT)-$(CL_AGE) -CL_CURRENT=6 -CL_REVISION=0 -CL_AGE=0 -dnl make substitutions -AC_SUBST(CL_CURRENT) -AC_SUBST(CL_REVISION) -AC_SUBST(CL_AGE) +LT_VERSION_INFO=cl_lt_version +AC_SUBST(LT_VERSION_INFO) + dnl release version -CL_VERSION_MAJOR=1 -CL_VERSION_MINOR=2 -CL_VERSION_PATCHLEVEL=2 +CL_VERSION_MAJOR=cl_version_major +CL_VERSION_MINOR=cl_version_minor +CL_VERSION_PATCHLEVEL=cl_version_patchlevel dnl release version for cln/config.h, so it can be tested by the preprocessor -AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR) -AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR) -AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL) +AC_DEFINE_UNQUOTED(CL_VERSION_MAJOR, $CL_VERSION_MAJOR, [Major version number of CLN]) +AC_DEFINE_UNQUOTED(CL_VERSION_MINOR, $CL_VERSION_MINOR, [Minor version number of CLN]) +AC_DEFINE_UNQUOTED(CL_VERSION_PATCHLEVEL, $CL_VERSION_PATCHLEVEL, [Patchlevel version number of CLN]) dnl concatenated release version -CL_VERSION=$CL_VERSION_MAJOR.$CL_VERSION_MINOR.$CL_VERSION_PATCHLEVEL -AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION) +CL_VERSION=cl_version +AC_DEFINE_UNQUOTED(CL_VERSION, $CL_VERSION, [CLN release number]) AC_SUBST(CL_VERSION) -dnl dnl checks for compiler characteristics dnl -AC_LANG_CPLUSPLUS +AC_LANG([C++]) dnl CL_LONGLONG dnl DEFS HAVE_LONGLONG @@ -166,14 +135,4 @@ CL_LIBGMP dnl dnl That's it. dnl -for f in 'tests/.gdbinit'; do - if test '!' -f "$f"; then - echo "creating $f" -changequote(,)dnl - g=`echo "$f" | sed -e 's,/[^/]*$,,'` -changequote([,])dnl - test "$g" = "$f" || test -d "$g" || mkdir "$g" - cp "$srcdir/$f" "$f" - fi -done -AC_OUTPUT([Makefile src/Makefile tests/Makefile benchmarks/Makefile examples/Makefile doc/Makefile cln.spec cln.pc]) +AC_OUTPUT([Makefile src/Makefile tests/Makefile examples/Makefile doc/Makefile cln.spec cln.pc]) diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..90746d7 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,4 @@ + +info_TEXINFOS = cln.texi +AM_MAKEINFOHTMLFLAGS = --no-split + diff --git a/doc/Makefile.in b/doc/Makefile.in deleted file mode 100644 index cab75eb..0000000 --- a/doc/Makefile.in +++ /dev/null @@ -1,117 +0,0 @@ -# Makefile for cln/doc - -#### Start of system configuration section. #### - -# Directories used by "make": -srcdir = @srcdir@ - -# Directories used by "make install": -prefix = @prefix@ -local_prefix = /usr/local -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -infodir = @infodir@ -mandir = @mandir@ -htmldir = ${datadir}/html -dvidir = ${datadir}/dvi -DESTDIR = - -# Programs used by "make": -RM = rm -f -RM_R = rm -rf -MKDIR = mkdir -p -@SET_MAKE@ - -# Programs used by "make" if you have changed the documentation files: -TEX = tex -TEXI2DVI = texi2dvi -DVIPS = dvips -D600 -MAKEINFO = LANGUAGE= makeinfo -TEXI2HTML = texi2html - -# Programs used by "make install": -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -#### End of system configuration section. #### - -PACKAGE = cln - -SHELL = /bin/sh - -VPATH = ${srcdir} - -all : info dvi ps html - - -info : ${srcdir}/${PACKAGE}.info - -${srcdir}/${PACKAGE}.info : ${srcdir}/${PACKAGE}.texi - cd ${srcdir} && ${MAKEINFO} --no-split ${PACKAGE}.texi - - -dvi : ${srcdir}/${PACKAGE}.dvi - -${srcdir}/${PACKAGE}.dvi : ${srcdir}/${PACKAGE}.texi - cd ${srcdir} && ${TEXI2DVI} ${PACKAGE}.texi - - -ps : ${srcdir}/${PACKAGE}.ps - -${srcdir}/${PACKAGE}.ps : ${srcdir}/${PACKAGE}.dvi - ${DVIPS} -o $@ $< - - -html : ${PACKAGE}.html ${PACKAGE}/${PACKAGE}.html - -${PACKAGE}.html : ${srcdir}/${PACKAGE}.texi - cd ${srcdir} && ${TEXI2HTML} -expandinfo -number -monolithic ${PACKAGE}.texi - -${PACKAGE}/${PACKAGE}.html : ${srcdir}/${PACKAGE}.texi - cd ${srcdir} && ${TEXI2HTML} -expandinfo -number -split_chapter ${PACKAGE}.texi - - -install : all installdirs force - ${INSTALL_DATA} ${srcdir}/${PACKAGE}.info ${DESTDIR}${infodir}/${PACKAGE}.info - @if (install-info --version && \ - install-info --version 2>&1 | sed 1q | fgrep -i -v debian) >/dev/null 2>&1; then \ - echo " install-info --info-dir=${DESTDIR}${infodir} ${DESTDIR}${infodir}/${PACKAGE}.info";\ - install-info --info-dir=${DESTDIR}${infodir} ${DESTDIR}${infodir}/${PACKAGE}.info || :;\ - else : ; fi - ${INSTALL_DATA} ${srcdir}/${PACKAGE}/${PACKAGE}*.html ${DESTDIR}${htmldir} - ${INSTALL_DATA} ${srcdir}/${PACKAGE}.dvi ${DESTDIR}${dvidir}/${PACKAGE}.dvi - -installdirs : force - ${MKDIR} ${DESTDIR}${datadir} - ${MKDIR} ${DESTDIR}${infodir} - ${MKDIR} ${DESTDIR}${htmldir} - ${MKDIR} ${DESTDIR}${dvidir} - -uninstall : force - @if (install-info --version && \ - install-info --version 2>&1 | sed 1q | fgrep -i -v debian) >/dev/null 2>&1; then \ - echo " install-info --info-dir=${DESTDIR}${infodir} --remove ${DESTDIR}${infodir}/${PACKAGE}.info"; \ - install-info --info-dir=${DESTDIR}${infodir} --remove ${DESTDIR}${infodir}/${PACKAGE}.info; \ - else :; fi - ${RM} ${DESTDIR}${infodir}/${PACKAGE}.info - ${RM} ${DESTDIR}${htmldir}/${PACKAGE}_*.html - ${RM} ${DESTDIR}${dvidir}/${PACKAGE}.dvi - -check : all - -mostlyclean : clean - -clean : force - ${RM} *~ *.aux *.toc *.cp *.fn *.ky *.pg *.tp *.vr *.my *.mys *.log core - -distclean : clean - ${RM} Makefile - -maintainer-clean : distclean - ${RM} *.info *.dvi *.ps *.html - ${RM_R} cln/ - -force : - diff --git a/examples/Makefile.am b/examples/Makefile.am new file mode 100644 index 0000000..627d72c --- /dev/null +++ b/examples/Makefile.am @@ -0,0 +1,29 @@ +noinst_PROGRAMS = contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi + + +contfrac_SOURCES = contfrac.cc +contfrac_LDADD = ../src/libcln.la + +e_SOURCES = e.cc +e_LDADD = ../src/libcln.la + +fibonacci_SOURCES = fibonacci.cc +fibonacci_LDADD = ../src/libcln.la + +legendre_SOURCES = legendre.cc +legendre_LDADD = ../src/libcln.la + +lucaslehmer_SOURCES = lucaslehmer.cc +lucaslehmer_LDADD = ../src/libcln.la + +nextprime_SOURCES = nextprime.cc +nextprime_LDADD = ../src/libcln.la + +perfnum_SOURCES = perfnum.cc +perfnum_LDADD = ../src/libcln.la + +pi_SOURCES = pi.cc +pi_LDADD = ../src/libcln.la + + +AM_CPPFLAGS = -I../include -I$(top_srcdir)/include diff --git a/examples/Makefile.in b/examples/Makefile.in deleted file mode 100644 index 4e9517f..0000000 --- a/examples/Makefile.in +++ /dev/null @@ -1,116 +0,0 @@ -# Makefile for cln/examples -# This is only needed while CLN has not been installed in a public place on -# your system (such as /usr/local/include and /usr/local/lib). Once CLN is -# installed, a simple C++ compiler command suffices. - -#### Start of system configuration section. #### - -# Directories used by "make": -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ - -# Programs used by "make": -# C compiler -CC = @CC@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -# C++ compiler -CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -CXXCPP = @CXXCPP@ -INCLUDES = -I../include -I${top_srcdir}/include -I${srcdir} -override CPPFLAGS += ${INCLUDES} -LIBTOOL = @LIBTOOL@ -LIBTOOL_LINK = ${LIBTOOL} --mode=link -MV = mv -LN = ln -RM = rm -f -@SET_MAKE@ -EXEEXT = @EXEEXT@ - -#### End of system configuration section. #### - -SHELL = /bin/sh - -# Needed by ${LIBTOOL}. -top_builddir = .. - -VPATH = ${srcdir} - -FILES_CC := $(notdir $(wildcard ${srcdir}/*.cc)) -FILES_CC := $(filter-out %.i.cc, ${FILES_CC}) - -FILES_I_CC := $(patsubst %.cc,%.i.cc,${FILES_CC}) - -FILES_S := $(patsubst %.cc,%.s,${FILES_CC}) - -FILES_O := $(patsubst %.cc,%.o,${FILES_CC}) - -OBJECTS = ${FILES_O} - -LIBS = ../src/libcln.la -lm -LIBDEPS = ../src/libcln.la - -PROGRAMS = $(addsuffix ${EXEEXT},contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi) -MODULES_contfrac = contfrac -MODULES_e = e -MODULES_fibonacci = fibonacci -MODULES_legendre = legendre -MODULES_lucaslehmer = lucaslehmer -MODULES_nextprime = nextprime -MODULES_perfnum = perfnum -MODULES_pi = pi - -all : $(addsuffix ${EXEEXT}, contfrac e fibonacci legendre lucaslehmer nextprime perfnum pi) - -%.s : %.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@ - -%.s : %.cc - ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@ - -%.o : %.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@ - -%.o : %.cc - ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@ - -%.i : %.c - ${CPP} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@ - -%.i.cc : %.cc - ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@ - -contfrac${EXEEXT} : $(patsubst %,%.o,${MODULES_contfrac}) -e${EXEEXT} : $(patsubst %,%.o,${MODULES_e}) -fibonacci${EXEEXT} : $(patsubst %,%.o,${MODULES_fibonacci}) -legendre${EXEEXT} : $(patsubst %,%.o,${MODULES_legendre}) -lucaslehmer${EXEEXT} : $(patsubst %,%.o,${MODULES_lucaslehmer}) -nextprime${EXEEXT} : $(patsubst %,%.o,${MODULES_nextprime}) -perfnum${EXEEXT} : $(patsubst %,%.o,${MODULES_perfnum}) -pi${EXEEXT} : $(patsubst %,%.o,${MODULES_pi}) -${PROGRAMS} : %${EXEEXT} : ${LIBDEPS} - ${LIBTOOL_LINK} ${CXX} ${CXXFLAGS} ${TARGET_ARCH} $(patsubst %,%.o,$(MODULES_$(*F))) ${LDFLAGS} ${LIBS} -o $@ - - -install : all - -installdirs : - -uninstall : - -check : all - -mostlyclean : clean - -clean : force - ${RM} *.s *.o *.a ${PROGRAMS} a.out core - ${RM} -r .libs _libs - -distclean : clean - ${RM} config.status config.log config.cache Makefile - -maintainer-clean : distclean - -force : diff --git a/include/cln/config.h.in b/include/cln/config.h.in deleted file mode 100644 index 7aad23c..0000000 --- a/include/cln/config.h.in +++ /dev/null @@ -1,146 +0,0 @@ -// Defines CPU and compiler dependent macros - -#ifndef _CL_CONFIG_H -#define _CL_CONFIG_H - -/* These definitions are adjusted by `configure' automatically. */ - - -/* release version */ - -#undef CL_VERSION_MAJOR -#undef CL_VERSION_MINOR -#undef CL_VERSION_PATCHLEVEL -#undef CL_VERSION - - -/* CPU */ -#ifndef __i386__ -#undef __i386__ -#endif - -#ifndef __x86_64__ -#undef __x86_64__ -#endif - -#ifndef __m68k__ -#undef __m68k__ -#endif - -// NB: GCC def's __mips__ both on big-endian and little-endian systems. -#ifndef __mips__ -#undef __mips__ -#endif - -#ifndef __mipsel__ -#undef __mipsel__ -#endif - -#ifndef __mips64__ -#undef __mips64__ -#endif - -#ifndef __sparc__ -#undef __sparc__ -#endif - -#ifndef __sparc64__ -#undef __sparc64__ -#endif - -#ifndef __alpha__ -#undef __alpha__ -#endif - -#ifndef __hppa__ -#undef __hppa__ -#endif - -#ifndef __arm__ -#undef __arm__ -#endif - -#ifndef __rs6000__ -#undef __rs6000__ -#endif - -#ifndef __powerpc64__ -#undef __powerpc64__ -#endif - -#ifndef __m88k__ -#undef __m88k__ -#endif - -#ifndef __convex__ -#undef __convex__ -#endif - -#ifndef __ia64__ -#undef __ia64__ -#endif - -#ifndef __s390__ -#undef __s390__ -#endif - - -/* assembler syntax */ - -/* CL_AS_UNDERSCORE */ -/* Define if C symbols are prefixed by an underscore in assembly language. */ -#undef ASM_UNDERSCORE - - -/* compiler characteristics */ - -/* CL_LONGLONG */ -/* Define if your compiler supports the `long long' type. */ -#undef HAVE_LONGLONG - -/* CL_LONGDOUBLE */ -/* Define if your compiler supports the `long double' type. */ -#undef HAVE_LONGDOUBLE - - -/* header files */ - -/* CL_UNISTD_H */ -/* Define if you have . */ -#undef HAVE_UNISTD_H - -/* CL_GMP_SET_UINTD */ -/* Define one of the following so sizeof(uintD) matches sizeof(mp_limb_t). */ -#undef GMP_DEMANDS_UINTD_LONG_LONG -#undef GMP_DEMANDS_UINTD_LONG -#undef GMP_DEMANDS_UINTD_INT - - -/* functions and declarations */ - -/* CL_ALLOCA */ -/* Define if you have and it should be used (not Ultrix). */ -#undef HAVE_ALLOCA_H -/* Define if you need to link with an external alloca.o when using alloca(). */ -#undef NO_ALLOCA - - -/* compiler characteristics */ - -/* Define if the compiler knows about __attribute__((flatten)). */ -#ifndef CL_HAVE_ATTRIBUTE_FLATTEN -#undef CL_HAVE_ATTRIBUTE_FLATTEN -#endif - -/* CL_CHAR_UNSIGNED */ -#ifndef __CHAR_UNSIGNED__ -#undef __CHAR_UNSIGNED__ -#endif - -/* CL_MACHINE */ -/* see cl_intparam.h */ -/* see cl_floatparam.h */ - - -#endif /* _CL_CONFIG_H */ - diff --git a/include/cln/host_cpu.h.in b/include/cln/host_cpu.h.in new file mode 100644 index 0000000..b18e05f --- /dev/null +++ b/include/cln/host_cpu.h.in @@ -0,0 +1,79 @@ +// Defines CPU dependent macros + +#ifndef _CL_HOST_CPU_CONFIG_H +#define _CL_HOST_CPU_CONFIG_H + +/* These definitions are adjusted by `configure' automatically. */ + +/* CPU */ +#ifndef __i386__ +#undef __i386__ +#endif + +#ifndef __x86_64__ +#undef __x86_64__ +#endif + +#ifndef __m68k__ +#undef __m68k__ +#endif + +// NB: GCC def's __mips__ both on big-endian and little-endian systems. +#ifndef __mips__ +#undef __mips__ +#endif + +#ifndef __mipsel__ +#undef __mipsel__ +#endif + +#ifndef __mips64__ +#undef __mips64__ +#endif + +#ifndef __sparc__ +#undef __sparc__ +#endif + +#ifndef __sparc64__ +#undef __sparc64__ +#endif + +#ifndef __alpha__ +#undef __alpha__ +#endif + +#ifndef __hppa__ +#undef __hppa__ +#endif + +#ifndef __arm__ +#undef __arm__ +#endif + +#ifndef __rs6000__ +#undef __rs6000__ +#endif + +#ifndef __powerpc64__ +#undef __powerpc64__ +#endif + +#ifndef __m88k__ +#undef __m88k__ +#endif + +#ifndef __convex__ +#undef __convex__ +#endif + +#ifndef __ia64__ +#undef __ia64__ +#endif + +#ifndef __s390__ +#undef __s390__ +#endif + +#endif /* _CL_HOST_CPU_CONFIG_H */ + diff --git a/m4/cc.m4 b/m4/cc.m4 index b1c001f..425e799 100644 --- a/m4/cc.m4 +++ b/m4/cc.m4 @@ -3,14 +3,15 @@ dnl to the C-compiler when acting on .s files. Appends that option to ASFLAGS. dnl This macro is adapted from one found in GLIBC-2.3.5. AC_DEFUN([CL_AS_NOEXECSTACK],[ AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AM_PROG_AS]) AC_CACHE_CHECK([whether --noexecstack is desirable for .s files], cl_cv_as_noexecstack, [dnl cat > conftest.c </dev/null]) \ && grep -q .note.GNU-stack conftest.s \ - && AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS -Wa,--noexecstack + && AC_TRY_COMMAND([${CCAS} $CFLAGS $CPPFLAGS -Wa,--noexecstack -c -o conftest.o conftest.s >/dev/null]) then cl_cv_as_noexecstack=yes @@ -19,9 +20,8 @@ EOF fi rm -f conftest*]) if test "$cl_cv_as_noexecstack" = yes; then - ASMFLAGS="$ASMFLAGS -Wa,--noexecstack" + CCASFLAGS="$CCASFLAGS -Wa,--noexecstack" fi - AC_SUBST(ASMFLAGS) ]) @@ -45,6 +45,6 @@ fi rm -f conftest* ]) if test $cl_cv_have_attr_flatten = yes; then - AC_DEFINE(CL_HAVE_ATTRIBUTE_FLATTEN) + AC_DEFINE(CL_HAVE_ATTRIBUTE_FLATTEN, ,[Define if compiler supports __attribute__((flatten))]) fi ]) diff --git a/m4/gmp.m4 b/m4/gmp.m4 index 1ad8898..205101e 100644 --- a/m4/gmp.m4 +++ b/m4/gmp.m4 @@ -81,7 +81,7 @@ case $with_gmp in CL_GMP_CHECK if test "$cl_cv_new_libgmp" = yes; then CL_GMP_SET_UINTD - AC_DEFINE(CL_USE_GMP) + AC_DEFINE(CL_USE_GMP, 1, [Define if GNU MP library is available]) else AC_MSG_WARN([The GNU MP library is too old to be used.]) fi diff --git a/m4/longdouble.m4 b/m4/longdouble.m4 index 70b08e4..e51c4c5 100644 --- a/m4/longdouble.m4 +++ b/m4/longdouble.m4 @@ -26,6 +26,6 @@ AC_TRY_COMPILE([ ], , cl_cv_c_longdouble=yes, cl_cv_c_longdouble=no)]) ]) if test $cl_cv_c_longdouble = yes; then - AC_DEFINE(HAVE_LONGDOUBLE) + AC_DEFINE(HAVE_LONGDOUBLE, ,[Define if compiler supports long double type]) fi ]) diff --git a/src/Makefile.am b/src/Makefile.am new file mode 100644 index 0000000..8f373cc --- /dev/null +++ b/src/Makefile.am @@ -0,0 +1,984 @@ +lib_LTLIBRARIES = libcln.la + +AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src -I$(top_builddir)/include -I$(top_builddir)/src +libcln_la_LDFLAGS = -version-info $(LT_VERSION_INFO) + +libcln_la_SOURCES = \ +base/cl_N.h \ +base/cl_alloca.cc \ +base/cl_alloca.h \ +base/cl_as_exception.cc \ +base/cl_condition.cc \ +base/cl_d0_exception.cc \ +base/cl_debug.cc \ +base/cl_debugout.cc \ +base/cl_free.cc \ +base/cl_immclasses.cc \ +base/cl_inline.h \ +base/cl_inline2.h \ +base/cl_iterator.h \ +base/cl_low.h \ +base/cl_macros.h \ +base/cl_malloc.cc \ +base/cl_maybe_inline.h \ +base/cl_notreached_exception.cc \ +base/cl_offsetof.h \ +base/cl_sysdep.h \ +base/cl_version.cc \ +base/cl_xmacros.h \ +base/digit/cl_2D.h \ +base/digit/cl_2D_div.cc \ +base/digit/cl_2D_exptpos.cc \ +base/digit/cl_D.h \ +base/digitseq/cl_2DS.h \ +base/digitseq/cl_2DS_div.cc \ +base/digitseq/cl_2DS_recip.cc \ +base/digitseq/cl_DS.h \ +base/digitseq/cl_DS_div.cc \ +base/digitseq/cl_DS_endian.h \ +base/digitseq/cl_DS_mul.cc \ +base/digitseq/cl_DS_mul_fftc.h \ +base/digitseq/cl_DS_mul_fftcs.h \ +base/digitseq/cl_DS_mul_fftm.h \ +base/digitseq/cl_DS_mul_fftp.h \ +base/digitseq/cl_DS_mul_fftp3.h \ +base/digitseq/cl_DS_mul_fftp3m.h \ +base/digitseq/cl_DS_mul_fftr.h \ +base/digitseq/cl_DS_mul_kara.h \ +base/digitseq/cl_DS_mul_kara_sqr.h \ +base/digitseq/cl_DS_mul_nuss.h \ +base/digitseq/cl_DS_random.cc \ +base/digitseq/cl_DS_recip.cc \ +base/digitseq/cl_DS_recipsqrt.cc \ +base/digitseq/cl_DS_sqrt.cc \ +base/digitseq/cl_DS_trandom.cc \ +base/digitseq/cl_asm.h \ +base/hash/cl_hash.h \ +base/hash/cl_hash1.h \ +base/hash/cl_hash1weak.h \ +base/hash/cl_hash2.h \ +base/hash/cl_hash2weak.h \ +base/hash/cl_hashset.h \ +base/hash/cl_hashuniq.h \ +base/hash/cl_hashuniqweak.h \ +base/hash/cl_rcpointer2_hashweak_rcpointer.cc \ +base/hash/cl_rcpointer2_hashweak_rcpointer.h \ +base/hash/cl_rcpointer_hashweak_rcpointer.cc \ +base/hash/cl_rcpointer_hashweak_rcpointer.h \ +base/input/cl_read_bad_syntax_exception.cc \ +base/input/cl_read_eof_exception.cc \ +base/input/cl_read_junk_exception.cc \ +base/low/cl_low_div.cc \ +base/low/cl_low_isqrt.cc \ +base/low/cl_low_isqrt2.cc \ +base/low/cl_low_mul.cc \ +base/output/cl_output_dec.cc \ +base/output/cl_output_hex.cc \ +base/output/cl_prin_globals.cc \ +base/proplist/cl_pl_add.cc \ +base/proplist/cl_pl_d.cc \ +base/proplist/cl_pl_get.cc \ +base/random/cl_UL_random.cc \ +base/random/cl_random_def.cc \ +base/random/cl_random_from.cc \ +base/random/cl_random_impl.h \ +base/ring/cl_no_ring.cc \ +base/ring/cl_ring_debug.cc \ +base/string/cl_spushstring.h \ +base/string/cl_spushstring_append.cc \ +base/string/cl_spushstring_push.cc \ +base/string/cl_sstring.cc \ +base/string/cl_sstring.h \ +base/string/cl_st_c2.cc \ +base/string/cl_st_concat1.cc \ +base/string/cl_st_concat2.cc \ +base/string/cl_st_concat3.cc \ +base/string/cl_st_debug.cc \ +base/string/cl_st_hashcode.cc \ +base/string/cl_st_make0.cc \ +base/string/cl_st_make0.h \ +base/string/cl_st_make1.cc \ +base/string/cl_st_make2.cc \ +base/string/cl_st_null.cc \ +base/string/input/cl_st_get1.cc \ +base/string/input/cl_st_get2.cc \ +base/string/input/cl_st_getline1.cc \ +base/string/input/cl_st_getline2.cc \ +base/string/input/cl_st_gettoken.cc \ +base/string/misc/cl_st_class.cc \ +base/string/output/cl_st_print.cc \ +base/symbol/cl_sy_hashcode.cc \ +base/symbol/cl_symbol.cc \ +complex/algebraic/cl_C_abs.cc \ +complex/algebraic/cl_C_abs_aux.cc \ +complex/algebraic/cl_C_signum.cc \ +complex/algebraic/cl_C_sqrt.cc \ +complex/algebraic/cl_DF_hypot.cc \ +complex/algebraic/cl_FF_hypot.cc \ +complex/algebraic/cl_LF_hypot.cc \ +complex/algebraic/cl_R_hypot.cc \ +complex/algebraic/cl_SF_hypot.cc \ +complex/cl_C.h \ +complex/elem/cl_C_equal.cc \ +complex/elem/cl_C_from_R_R_complex.cc \ +complex/elem/cl_C_from_R_R_complex1.cc \ +complex/elem/cl_C_imagpart.cc \ +complex/elem/cl_C_minus.cc \ +complex/elem/cl_C_minus1.cc \ +complex/elem/cl_C_mul.cc \ +complex/elem/cl_C_plus.cc \ +complex/elem/cl_C_plus1.cc \ +complex/elem/cl_C_realpart.cc \ +complex/elem/cl_C_square.cc \ +complex/elem/cl_C_uminus.cc \ +complex/elem/cl_C_zerop.cc \ +complex/elem/division/cl_C_DF_recip.cc \ +complex/elem/division/cl_C_FF_recip.cc \ +complex/elem/division/cl_C_LF_recip.cc \ +complex/elem/division/cl_C_SF_recip.cc \ +complex/elem/division/cl_C_div.cc \ +complex/elem/division/cl_C_recip.cc \ +complex/input/cl_N_from_string.cc \ +complex/input/cl_N_read.cc \ +complex/input/cl_N_read_stream.cc \ +complex/misc/cl_C_class.cc \ +complex/misc/cl_C_conjugate.cc \ +complex/misc/cl_C_debug.cc \ +complex/misc/cl_C_eqhashcode.cc \ +complex/misc/cl_C_expt.cc \ +complex/misc/cl_C_expt_I.cc \ +complex/misc/cl_N_as.cc \ +complex/output/cl_N_aprint.cc \ +complex/output/cl_N_bprint.cc \ +complex/ring/cl_C_ring.cc \ +complex/transcendental/cl_C_acos.cc \ +complex/transcendental/cl_C_acosh.cc \ +complex/transcendental/cl_C_asin.cc \ +complex/transcendental/cl_C_asinh.cc \ +complex/transcendental/cl_C_asinh_aux.cc \ +complex/transcendental/cl_C_atan.cc \ +complex/transcendental/cl_C_atanh.cc \ +complex/transcendental/cl_C_atanh_aux.cc \ +complex/transcendental/cl_C_cis.cc \ +complex/transcendental/cl_C_cos.cc \ +complex/transcendental/cl_C_cosh.cc \ +complex/transcendental/cl_C_exp.cc \ +complex/transcendental/cl_C_expt_C.cc \ +complex/transcendental/cl_C_log.cc \ +complex/transcendental/cl_C_log2.cc \ +complex/transcendental/cl_C_phase.cc \ +complex/transcendental/cl_C_sin.cc \ +complex/transcendental/cl_C_sinh.cc \ +complex/transcendental/cl_C_tan.cc \ +complex/transcendental/cl_C_tanh.cc \ +complex/transcendental/cl_R_cis.cc \ +float/algebraic/cl_F_sqrt.cc \ +float/base/cl_F_globals.cc \ +float/base/cl_F_nan_exception.cc \ +float/base/cl_F_overflow_exception.cc \ +float/base/cl_F_underflow_exception.cc \ +float/cl_F.h \ +float/conv/cl_DF_to_FF.cc \ +float/conv/cl_DF_to_LF.cc \ +float/conv/cl_DF_to_SF.cc \ +float/conv/cl_DF_to_double.cc \ +float/conv/cl_DF_to_float.cc \ +float/conv/cl_FF_to_DF.cc \ +float/conv/cl_FF_to_LF.cc \ +float/conv/cl_FF_to_SF.cc \ +float/conv/cl_FF_to_double.cc \ +float/conv/cl_FF_to_float.cc \ +float/conv/cl_F_from_F.cc \ +float/conv/cl_F_from_F_f.cc \ +float/conv/cl_F_from_I.cc \ +float/conv/cl_F_from_I_def.cc \ +float/conv/cl_F_from_I_f.cc \ +float/conv/cl_F_from_RA.cc \ +float/conv/cl_F_from_RA_def.cc \ +float/conv/cl_F_from_RA_f.cc \ +float/conv/cl_F_to_DF.cc \ +float/conv/cl_F_to_FF.cc \ +float/conv/cl_F_to_LF.cc \ +float/conv/cl_F_to_SF.cc \ +float/conv/cl_F_to_double.cc \ +float/conv/cl_F_to_float.cc \ +float/conv/cl_LF_to_DF.cc \ +float/conv/cl_LF_to_FF.cc \ +float/conv/cl_LF_to_SF.cc \ +float/conv/cl_LF_to_double.cc \ +float/conv/cl_LF_to_float.cc \ +float/conv/cl_SF_to_DF.cc \ +float/conv/cl_SF_to_FF.cc \ +float/conv/cl_SF_to_LF.cc \ +float/conv/cl_SF_to_double.cc \ +float/conv/cl_SF_to_float.cc \ +float/dfloat/algebraic/cl_DF_sqrt.cc \ +float/dfloat/cl_DF.h \ +float/dfloat/conv/cl_DF_from_double.cc \ +float/dfloat/conv/cl_DF_to_doublej.cc \ +float/dfloat/conv/cl_I_to_double.cc \ +float/dfloat/conv/cl_RA_to_double.cc \ +float/dfloat/division/cl_DF_ceil22.cc \ +float/dfloat/division/cl_DF_fceil.cc \ +float/dfloat/division/cl_DF_floor22.cc \ +float/dfloat/division/cl_DF_recip.cc \ +float/dfloat/division/cl_DF_round22.cc \ +float/dfloat/division/cl_DF_trunc22.cc \ +float/dfloat/elem/cl_DF_compare.cc \ +float/dfloat/elem/cl_DF_div.cc \ +float/dfloat/elem/cl_DF_ffloor.cc \ +float/dfloat/elem/cl_DF_from_I.cc \ +float/dfloat/elem/cl_DF_from_RA.cc \ +float/dfloat/elem/cl_DF_fround.cc \ +float/dfloat/elem/cl_DF_ftrunc.cc \ +float/dfloat/elem/cl_DF_futrunc.cc \ +float/dfloat/elem/cl_DF_globals.cc \ +float/dfloat/elem/cl_DF_minus.cc \ +float/dfloat/elem/cl_DF_minusp.cc \ +float/dfloat/elem/cl_DF_mul.cc \ +float/dfloat/elem/cl_DF_plus.cc \ +float/dfloat/elem/cl_DF_plusp.cc \ +float/dfloat/elem/cl_DF_scale.cc \ +float/dfloat/elem/cl_DF_scale_I.cc \ +float/dfloat/elem/cl_DF_to_I.cc \ +float/dfloat/elem/cl_DF_uminus.cc \ +float/dfloat/elem/cl_DF_zerop.cc \ +float/dfloat/input/cl_DF_from_string.cc \ +float/dfloat/misc/cl_DF_abs.cc \ +float/dfloat/misc/cl_DF_as.cc \ +float/dfloat/misc/cl_DF_class.cc \ +float/dfloat/misc/cl_DF_debug.cc \ +float/dfloat/misc/cl_DF_decode.cc \ +float/dfloat/misc/cl_DF_digits.cc \ +float/dfloat/misc/cl_DF_eqhashcode.cc \ +float/dfloat/misc/cl_DF_exponent.cc \ +float/dfloat/misc/cl_DF_idecode.cc \ +float/dfloat/misc/cl_DF_max.cc \ +float/dfloat/misc/cl_DF_min.cc \ +float/dfloat/misc/cl_DF_precision.cc \ +float/dfloat/misc/cl_DF_sign.cc \ +float/dfloat/misc/cl_DF_signum.cc \ +float/division/cl_F_ceil1.cc \ +float/division/cl_F_ceil2.cc \ +float/division/cl_F_ceil22.cc \ +float/division/cl_F_fceil1.cc \ +float/division/cl_F_fceil2.cc \ +float/division/cl_F_ffloor1.cc \ +float/division/cl_F_ffloor2.cc \ +float/division/cl_F_floor1.cc \ +float/division/cl_F_floor2.cc \ +float/division/cl_F_floor22.cc \ +float/division/cl_F_fround1.cc \ +float/division/cl_F_fround2.cc \ +float/division/cl_F_ftrunc1.cc \ +float/division/cl_F_ftrunc2.cc \ +float/division/cl_F_round1.cc \ +float/division/cl_F_round2.cc \ +float/division/cl_F_round22.cc \ +float/division/cl_F_trunc1.cc \ +float/division/cl_F_trunc2.cc \ +float/division/cl_F_trunc22.cc \ +float/elem/cl_F_I_div.cc \ +float/elem/cl_F_I_mul.cc \ +float/elem/cl_F_RA_div.cc \ +float/elem/cl_F_RA_mul.cc \ +float/elem/cl_F_compare.cc \ +float/elem/cl_F_div.cc \ +float/elem/cl_F_minus.cc \ +float/elem/cl_F_minusp.cc \ +float/elem/cl_F_mul.cc \ +float/elem/cl_F_plus.cc \ +float/elem/cl_F_plusp.cc \ +float/elem/cl_F_recip.cc \ +float/elem/cl_F_scale.cc \ +float/elem/cl_F_scale_I.cc \ +float/elem/cl_F_square.cc \ +float/elem/cl_F_uminus.cc \ +float/elem/cl_F_zerop.cc \ +float/elem/cl_I_F_div.cc \ +float/elem/cl_RA_F_div.cc \ +float/ffloat/algebraic/cl_FF_sqrt.cc \ +float/ffloat/cl_FF.h \ +float/ffloat/conv/cl_FF_from_float.cc \ +float/ffloat/conv/cl_FF_to_floatj.cc \ +float/ffloat/conv/cl_I_to_float.cc \ +float/ffloat/conv/cl_RA_to_float.cc \ +float/ffloat/division/cl_FF_ceil22.cc \ +float/ffloat/division/cl_FF_fceil.cc \ +float/ffloat/division/cl_FF_floor22.cc \ +float/ffloat/division/cl_FF_recip.cc \ +float/ffloat/division/cl_FF_round22.cc \ +float/ffloat/division/cl_FF_trunc22.cc \ +float/ffloat/elem/cl_FF_compare.cc \ +float/ffloat/elem/cl_FF_div.cc \ +float/ffloat/elem/cl_FF_ffloor.cc \ +float/ffloat/elem/cl_FF_from_I.cc \ +float/ffloat/elem/cl_FF_from_RA.cc \ +float/ffloat/elem/cl_FF_fround.cc \ +float/ffloat/elem/cl_FF_ftrunc.cc \ +float/ffloat/elem/cl_FF_futrunc.cc \ +float/ffloat/elem/cl_FF_globals.cc \ +float/ffloat/elem/cl_FF_minus.cc \ +float/ffloat/elem/cl_FF_minusp.cc \ +float/ffloat/elem/cl_FF_mul.cc \ +float/ffloat/elem/cl_FF_plus.cc \ +float/ffloat/elem/cl_FF_plusp.cc \ +float/ffloat/elem/cl_FF_scale.cc \ +float/ffloat/elem/cl_FF_scale_I.cc \ +float/ffloat/elem/cl_FF_to_I.cc \ +float/ffloat/elem/cl_FF_uminus.cc \ +float/ffloat/elem/cl_FF_zerop.cc \ +float/ffloat/input/cl_FF_from_string.cc \ +float/ffloat/misc/cl_FF_abs.cc \ +float/ffloat/misc/cl_FF_as.cc \ +float/ffloat/misc/cl_FF_class.cc \ +float/ffloat/misc/cl_FF_debug.cc \ +float/ffloat/misc/cl_FF_decode.cc \ +float/ffloat/misc/cl_FF_digits.cc \ +float/ffloat/misc/cl_FF_eqhashcode.cc \ +float/ffloat/misc/cl_FF_exponent.cc \ +float/ffloat/misc/cl_FF_idecode.cc \ +float/ffloat/misc/cl_FF_max.cc \ +float/ffloat/misc/cl_FF_min.cc \ +float/ffloat/misc/cl_FF_precision.cc \ +float/ffloat/misc/cl_FF_sign.cc \ +float/ffloat/misc/cl_FF_signum.cc \ +float/input/cl_F_from_string.cc \ +float/input/cl_F_read.cc \ +float/input/cl_F_read_stream.cc \ +float/input/cl_F_readparsed.cc \ +float/lfloat/algebraic/cl_LF_sqrt.cc \ +float/lfloat/cl_LF.h \ +float/lfloat/cl_LF_impl.h \ +float/lfloat/division/cl_LF_ceil22.cc \ +float/lfloat/division/cl_LF_fceil.cc \ +float/lfloat/division/cl_LF_floor22.cc \ +float/lfloat/division/cl_LF_recip.cc \ +float/lfloat/division/cl_LF_round22.cc \ +float/lfloat/division/cl_LF_trunc22.cc \ +float/lfloat/elem/cl_I_LF_div.cc \ +float/lfloat/elem/cl_LF_1minus.cc \ +float/lfloat/elem/cl_LF_1plus.cc \ +float/lfloat/elem/cl_LF_2minus.cc \ +float/lfloat/elem/cl_LF_2plus.cc \ +float/lfloat/elem/cl_LF_I_div.cc \ +float/lfloat/elem/cl_LF_I_mul.cc \ +float/lfloat/elem/cl_LF_RA_div.cc \ +float/lfloat/elem/cl_LF_RA_mul.cc \ +float/lfloat/elem/cl_LF_compare.cc \ +float/lfloat/elem/cl_LF_div.cc \ +float/lfloat/elem/cl_LF_ffloor.cc \ +float/lfloat/elem/cl_LF_from_I.cc \ +float/lfloat/elem/cl_LF_from_RA.cc \ +float/lfloat/elem/cl_LF_fround.cc \ +float/lfloat/elem/cl_LF_ftrunc.cc \ +float/lfloat/elem/cl_LF_futrunc.cc \ +float/lfloat/elem/cl_LF_globals.cc \ +float/lfloat/elem/cl_LF_minus1.cc \ +float/lfloat/elem/cl_LF_minusp.cc \ +float/lfloat/elem/cl_LF_mul.cc \ +float/lfloat/elem/cl_LF_plus1.cc \ +float/lfloat/elem/cl_LF_plusp.cc \ +float/lfloat/elem/cl_LF_scale.cc \ +float/lfloat/elem/cl_LF_scale_I.cc \ +float/lfloat/elem/cl_LF_square.cc \ +float/lfloat/elem/cl_LF_to_I.cc \ +float/lfloat/elem/cl_LF_uminus.cc \ +float/lfloat/elem/cl_LF_zerop.cc \ +float/lfloat/elem/cl_RA_LF_div.cc \ +float/lfloat/input/cl_LF_from_string.cc \ +float/lfloat/misc/cl_LF_abs.cc \ +float/lfloat/misc/cl_LF_as.cc \ +float/lfloat/misc/cl_LF_class.cc \ +float/lfloat/misc/cl_LF_debug.cc \ +float/lfloat/misc/cl_LF_decode.cc \ +float/lfloat/misc/cl_LF_digits.cc \ +float/lfloat/misc/cl_LF_eqhashcode.cc \ +float/lfloat/misc/cl_LF_exponent.cc \ +float/lfloat/misc/cl_LF_extend.cc \ +float/lfloat/misc/cl_LF_idecode.cc \ +float/lfloat/misc/cl_LF_leninc.cc \ +float/lfloat/misc/cl_LF_lenincx.cc \ +float/lfloat/misc/cl_LF_max.cc \ +float/lfloat/misc/cl_LF_min.cc \ +float/lfloat/misc/cl_LF_precision.cc \ +float/lfloat/misc/cl_LF_shorten.cc \ +float/lfloat/misc/cl_LF_shortenrel.cc \ +float/lfloat/misc/cl_LF_shortenwith.cc \ +float/lfloat/misc/cl_LF_sign.cc \ +float/lfloat/misc/cl_LF_signum.cc \ +float/lfloat/misc/cl_LF_to_LF.cc \ +float/misc/cl_F_abs.cc \ +float/misc/cl_F_as.cc \ +float/misc/cl_F_decode.cc \ +float/misc/cl_F_digits.cc \ +float/misc/cl_F_epsneg.cc \ +float/misc/cl_F_epspos.cc \ +float/misc/cl_F_eqhashcode.cc \ +float/misc/cl_F_exponent.cc \ +float/misc/cl_F_extendsqrt.cc \ +float/misc/cl_F_extendsqrtx.cc \ +float/misc/cl_F_idecode.cc \ +float/misc/cl_F_leastneg.cc \ +float/misc/cl_F_leastpos.cc \ +float/misc/cl_F_max.cc \ +float/misc/cl_F_min.cc \ +float/misc/cl_F_mostneg.cc \ +float/misc/cl_F_mostpos.cc \ +float/misc/cl_F_precision.cc \ +float/misc/cl_F_rational.cc \ +float/misc/cl_F_shortenrel.cc \ +float/misc/cl_F_sign.cc \ +float/misc/cl_F_sign2.cc \ +float/misc/cl_F_signum.cc \ +float/misc/cl_float_format.cc \ +float/output/cl_F_aprint.cc \ +float/output/cl_F_bprint.cc \ +float/output/cl_F_cprint.cc \ +float/output/cl_F_dprint.cc \ +float/output/cl_F_printb.cc \ +float/random/cl_F_random.cc \ +float/sfloat/algebraic/cl_SF_sqrt.cc \ +float/sfloat/cl_SF.h \ +float/sfloat/division/cl_SF_ceil22.cc \ +float/sfloat/division/cl_SF_fceil.cc \ +float/sfloat/division/cl_SF_ffloor.cc \ +float/sfloat/division/cl_SF_floor22.cc \ +float/sfloat/division/cl_SF_recip.cc \ +float/sfloat/division/cl_SF_round22.cc \ +float/sfloat/division/cl_SF_trunc22.cc \ +float/sfloat/elem/cl_SF_compare.cc \ +float/sfloat/elem/cl_SF_div.cc \ +float/sfloat/elem/cl_SF_from_I.cc \ +float/sfloat/elem/cl_SF_from_RA.cc \ +float/sfloat/elem/cl_SF_fround.cc \ +float/sfloat/elem/cl_SF_ftrunc.cc \ +float/sfloat/elem/cl_SF_futrunc.cc \ +float/sfloat/elem/cl_SF_minus.cc \ +float/sfloat/elem/cl_SF_minusp.cc \ +float/sfloat/elem/cl_SF_mul.cc \ +float/sfloat/elem/cl_SF_plus.cc \ +float/sfloat/elem/cl_SF_plusp.cc \ +float/sfloat/elem/cl_SF_scale.cc \ +float/sfloat/elem/cl_SF_scale_I.cc \ +float/sfloat/elem/cl_SF_to_I.cc \ +float/sfloat/elem/cl_SF_uminus.cc \ +float/sfloat/elem/cl_SF_zerop.cc \ +float/sfloat/input/cl_SF_from_string.cc \ +float/sfloat/misc/cl_SF_abs.cc \ +float/sfloat/misc/cl_SF_as.cc \ +float/sfloat/misc/cl_SF_class.cc \ +float/sfloat/misc/cl_SF_debug.cc \ +float/sfloat/misc/cl_SF_decode.cc \ +float/sfloat/misc/cl_SF_digits.cc \ +float/sfloat/misc/cl_SF_eqhashcode.cc \ +float/sfloat/misc/cl_SF_exponent.cc \ +float/sfloat/misc/cl_SF_idecode.cc \ +float/sfloat/misc/cl_SF_max.cc \ +float/sfloat/misc/cl_SF_min.cc \ +float/sfloat/misc/cl_SF_precision.cc \ +float/sfloat/misc/cl_SF_sign.cc \ +float/sfloat/misc/cl_SF_signum.cc \ +float/transcendental/Makefile.devel \ +float/transcendental/cl_F_atanhx.cc \ +float/transcendental/cl_F_atanx.cc \ +float/transcendental/cl_F_catalanconst.cc \ +float/transcendental/cl_F_catalanconst_def.cc \ +float/transcendental/cl_F_catalanconst_f.cc \ +float/transcendental/cl_F_catalanconst_var.cc \ +float/transcendental/cl_F_catalanconst_var.h \ +float/transcendental/cl_F_cos.cc \ +float/transcendental/cl_F_cosh.cc \ +float/transcendental/cl_F_coshsinh.cc \ +float/transcendental/cl_F_cossin.cc \ +float/transcendental/cl_F_eulerconst.cc \ +float/transcendental/cl_F_eulerconst_def.cc \ +float/transcendental/cl_F_eulerconst_f.cc \ +float/transcendental/cl_F_eulerconst_var.cc \ +float/transcendental/cl_F_eulerconst_var.h \ +float/transcendental/cl_F_exp.cc \ +float/transcendental/cl_F_exp1.cc \ +float/transcendental/cl_F_exp1_def.cc \ +float/transcendental/cl_F_exp1_f.cc \ +float/transcendental/cl_F_exp1_var.cc \ +float/transcendental/cl_F_exp1_var.h \ +float/transcendental/cl_F_expx.cc \ +float/transcendental/cl_F_ln.cc \ +float/transcendental/cl_F_ln10.cc \ +float/transcendental/cl_F_ln10_f.cc \ +float/transcendental/cl_F_ln10_var.cc \ +float/transcendental/cl_F_ln10_var.h \ +float/transcendental/cl_F_ln2.cc \ +float/transcendental/cl_F_ln2_f.cc \ +float/transcendental/cl_F_ln2_var.cc \ +float/transcendental/cl_F_ln2_var.h \ +float/transcendental/cl_F_lnx.cc \ +float/transcendental/cl_F_pi.cc \ +float/transcendental/cl_F_pi_def.cc \ +float/transcendental/cl_F_pi_f.cc \ +float/transcendental/cl_F_pi_var.cc \ +float/transcendental/cl_F_pi_var.h \ +float/transcendental/cl_F_roundpi.cc \ +float/transcendental/cl_F_roundpi2.cc \ +float/transcendental/cl_F_sin.cc \ +float/transcendental/cl_F_sinh.cc \ +float/transcendental/cl_F_sinhx.cc \ +float/transcendental/cl_F_sinx.cc \ +float/transcendental/cl_F_tan.cc \ +float/transcendental/cl_F_tanh.cc \ +float/transcendental/cl_F_tran.h \ +float/transcendental/cl_F_zeta_int.cc \ +float/transcendental/cl_F_zeta_int_def.cc \ +float/transcendental/cl_F_zeta_int_f.cc \ +float/transcendental/cl_LF_atan_recip.cc \ +float/transcendental/cl_LF_atanh_recip.cc \ +float/transcendental/cl_LF_catalanconst.cc \ +float/transcendental/cl_LF_coshsinh.cc \ +float/transcendental/cl_LF_coshsinh_aux.cc \ +float/transcendental/cl_LF_cossin.cc \ +float/transcendental/cl_LF_cossin_aux.cc \ +float/transcendental/cl_LF_eulerconst.cc \ +float/transcendental/cl_LF_exp1.cc \ +float/transcendental/cl_LF_exp_aux.cc \ +float/transcendental/cl_LF_ln10.cc \ +float/transcendental/cl_LF_ln2.cc \ +float/transcendental/cl_LF_pi.cc \ +float/transcendental/cl_LF_ratseries_.cc \ +float/transcendental/cl_LF_ratseries_a.cc \ +float/transcendental/cl_LF_ratseries_ab.cc \ +float/transcendental/cl_LF_ratseries_b.cc \ +float/transcendental/cl_LF_ratseries_p.cc \ +float/transcendental/cl_LF_ratseries_pa.cc \ +float/transcendental/cl_LF_ratseries_pab.cc \ +float/transcendental/cl_LF_ratseries_pb.cc \ +float/transcendental/cl_LF_ratseries_pq.cc \ +float/transcendental/cl_LF_ratseries_pqa.cc \ +float/transcendental/cl_LF_ratseries_pqab.cc \ +float/transcendental/cl_LF_ratseries_pqb.cc \ +float/transcendental/cl_LF_ratseries_q.cc \ +float/transcendental/cl_LF_ratseries_qa.cc \ +float/transcendental/cl_LF_ratseries_qab.cc \ +float/transcendental/cl_LF_ratseries_qb.cc \ +float/transcendental/cl_LF_ratsumseries_pqcd.cc \ +float/transcendental/cl_LF_ratsumseries_pqcd_aux.cc \ +float/transcendental/cl_LF_ratsumseries_pqd.cc \ +float/transcendental/cl_LF_ratsumseries_pqd_aux.cc \ +float/transcendental/cl_LF_tran.h \ +float/transcendental/cl_LF_zeta3.cc \ +float/transcendental/cl_LF_zeta_int.cc \ +integer/2adic/cl_I_2adic_div.cc \ +integer/2adic/cl_I_2adic_recip.cc \ +integer/algebraic/cl_I_rootp.cc \ +integer/algebraic/cl_I_rootp_I.cc \ +integer/algebraic/cl_I_rootp_aux.cc \ +integer/algebraic/cl_I_sqrt.cc \ +integer/algebraic/cl_I_sqrtp.cc \ +integer/bitwise/cl_I_ash.cc \ +integer/bitwise/cl_I_ash_I.cc \ +integer/bitwise/cl_I_ash_exception.cc \ +integer/bitwise/cl_I_boole.cc \ +integer/bitwise/cl_I_byte.h \ +integer/bitwise/cl_I_dpb.cc \ +integer/bitwise/cl_I_dpf.cc \ +integer/bitwise/cl_I_fullbyte.cc \ +integer/bitwise/cl_I_ilength.cc \ +integer/bitwise/cl_I_ldb.cc \ +integer/bitwise/cl_I_ldbtest.cc \ +integer/bitwise/cl_I_ldbx.cc \ +integer/bitwise/cl_I_ldbxtest.cc \ +integer/bitwise/cl_I_log.h \ +integer/bitwise/cl_I_log_aux.cc \ +integer/bitwise/cl_I_logand.cc \ +integer/bitwise/cl_I_logandc2.cc \ +integer/bitwise/cl_I_logbitp.cc \ +integer/bitwise/cl_I_logbitp_I.cc \ +integer/bitwise/cl_I_logcount.cc \ +integer/bitwise/cl_I_logeqv.cc \ +integer/bitwise/cl_I_logior.cc \ +integer/bitwise/cl_I_lognand.cc \ +integer/bitwise/cl_I_lognor.cc \ +integer/bitwise/cl_I_lognot.cc \ +integer/bitwise/cl_I_logorc2.cc \ +integer/bitwise/cl_I_logtest.cc \ +integer/bitwise/cl_I_logxor.cc \ +integer/bitwise/cl_I_mkf.cc \ +integer/bitwise/cl_I_mkfx.cc \ +integer/cl_I.h \ +integer/conv/cl_I_cached_power.cc \ +integer/conv/cl_I_cached_power.h \ +integer/conv/cl_I_digits_need.cc \ +integer/conv/cl_I_from_DS.cc \ +integer/conv/cl_I_from_L.cc \ +integer/conv/cl_I_from_L2.cc \ +integer/conv/cl_I_from_NDS.cc \ +integer/conv/cl_I_from_NUDS.cc \ +integer/conv/cl_I_from_Q.cc \ +integer/conv/cl_I_from_Q2.cc \ +integer/conv/cl_I_from_UDS.cc \ +integer/conv/cl_I_from_UL.cc \ +integer/conv/cl_I_from_UL2.cc \ +integer/conv/cl_I_from_UQ.cc \ +integer/conv/cl_I_from_digits.cc \ +integer/conv/cl_I_mul10plus.cc \ +integer/conv/cl_I_to_L.cc \ +integer/conv/cl_I_to_Q.cc \ +integer/conv/cl_I_to_UL.cc \ +integer/conv/cl_I_to_UQ.cc \ +integer/conv/cl_I_to_digits.cc \ +integer/division/cl_I_ceil1.cc \ +integer/division/cl_I_ceil2.cc \ +integer/division/cl_I_exquo.cc \ +integer/division/cl_I_exquo_exception.cc \ +integer/division/cl_I_exquopos.cc \ +integer/division/cl_I_floor1.cc \ +integer/division/cl_I_floor2.cc \ +integer/division/cl_I_mod.cc \ +integer/division/cl_I_rem.cc \ +integer/division/cl_I_round1.cc \ +integer/division/cl_I_round2.cc \ +integer/division/cl_I_trunc1.cc \ +integer/division/cl_I_trunc2.cc \ +integer/elem/cl_I_compare.cc \ +integer/elem/cl_I_div.cc \ +integer/elem/cl_I_equal.cc \ +integer/elem/cl_I_minus.cc \ +integer/elem/cl_I_minus1.cc \ +integer/elem/cl_I_minusp.cc \ +integer/elem/cl_I_mul.cc \ +integer/elem/cl_I_plus.cc \ +integer/elem/cl_I_plus1.cc \ +integer/elem/cl_I_plusp.cc \ +integer/elem/cl_I_square.cc \ +integer/elem/cl_I_uminus.cc \ +integer/elem/cl_I_zerop.cc \ +integer/gcd/cl_I_gcd.cc \ +integer/gcd/cl_I_gcd_aux.cc \ +integer/gcd/cl_I_gcd_aux2.cc \ +integer/gcd/cl_I_lcm.cc \ +integer/gcd/cl_I_xgcd.cc \ +integer/gcd/cl_low_gcd.cc \ +integer/hash/cl_I_hash_gcobject.cc \ +integer/hash/cl_I_hash_gcobject.h \ +integer/hash/cl_I_hash_gcpointer.cc \ +integer/hash/cl_I_hash_gcpointer.h \ +integer/hash/cl_I_hash_pointer.cc \ +integer/hash/cl_I_hash_pointer.h \ +integer/hash/cl_I_hash_rcobject.cc \ +integer/hash/cl_I_hash_rcobject.h \ +integer/hash/cl_I_hash_rcpointer.cc \ +integer/hash/cl_I_hash_rcpointer.h \ +integer/hash/cl_I_hashcode.cc \ +integer/hash/cl_I_hashweak_rcpointer.cc \ +integer/hash/cl_I_hashweak_rcpointer.h \ +integer/input/cl_I_from_string.cc \ +integer/input/cl_I_read.cc \ +integer/input/cl_I_read_stream.cc \ +integer/input/cl_I_readparsed.cc \ +integer/misc/cl_BN_class.cc \ +integer/misc/cl_FN_class.cc \ +integer/misc/cl_I_abs.cc \ +integer/misc/cl_I_as.cc \ +integer/misc/cl_I_debug.cc \ +integer/misc/cl_I_eqhashcode.cc \ +integer/misc/cl_I_exptpos.cc \ +integer/misc/cl_I_exptpos_I.cc \ +integer/misc/cl_I_max.cc \ +integer/misc/cl_I_min.cc \ +integer/misc/cl_I_oddp.cc \ +integer/misc/cl_I_ord2.cc \ +integer/misc/cl_I_power2p.cc \ +integer/misc/cl_I_signum.cc \ +integer/misc/combin/cl_I_binomial.cc \ +integer/misc/combin/cl_I_combin.h \ +integer/misc/combin/cl_I_doublefactorial.cc \ +integer/misc/combin/cl_I_factorial.cc \ +integer/misc/combin/cl_I_factorial_aux.cc \ +integer/output/cl_I_aprint.cc \ +integer/output/cl_I_bprint.cc \ +integer/output/cl_I_cprint.cc \ +integer/output/cl_I_decstring.cc \ +integer/output/cl_I_dprint.cc \ +integer/output/cl_I_print.cc \ +integer/output/cl_I_print_string.cc \ +integer/random/cl_I_random.cc \ +integer/random/cl_I_trandom.cc \ +integer/ring/cl_0_ring.cc \ +integer/ring/cl_I_ring.cc \ +modinteger/cl_MI.cc \ +modinteger/cl_MI.h \ +modinteger/cl_MI_cond_composite.cc \ +modinteger/cl_MI_debug.cc \ +modinteger/cl_MI_err_comp.cc \ +modinteger/cl_MI_fix16.h \ +modinteger/cl_MI_fix29.h \ +modinteger/cl_MI_fix32.h \ +modinteger/cl_MI_int.h \ +modinteger/cl_MI_int32.h \ +modinteger/cl_MI_lshift.cc \ +modinteger/cl_MI_montgom.h \ +modinteger/cl_MI_pow2.h \ +modinteger/cl_MI_pow2m1.h \ +modinteger/cl_MI_pow2p1.h \ +modinteger/cl_MI_rshift.cc \ +modinteger/cl_MI_std.h \ +numtheory/cl_IF.h \ +numtheory/cl_IF_millerrabin.cc \ +numtheory/cl_IF_smallprimes.cc \ +numtheory/cl_IF_trialdiv.cc \ +numtheory/cl_IF_trialdiv1.cc \ +numtheory/cl_IF_trialdiv2.cc \ +numtheory/cl_nt_cornacchia1.cc \ +numtheory/cl_nt_cornacchia4.cc \ +numtheory/cl_nt_isprobprime.cc \ +numtheory/cl_nt_jacobi.cc \ +numtheory/cl_nt_jacobi_low.cc \ +numtheory/cl_nt_nextprobprime.cc \ +numtheory/cl_nt_sqrtmodp.cc \ +polynomial/cl_UP.h \ +polynomial/elem/cl_UP.cc \ +polynomial/elem/cl_UP_GF2.h \ +polynomial/elem/cl_UP_MI.h \ +polynomial/elem/cl_UP_gen.h \ +polynomial/elem/cl_UP_named.cc \ +polynomial/elem/cl_UP_no_ring.cc \ +polynomial/elem/cl_UP_number.h \ +polynomial/elem/cl_UP_unnamed.cc \ +polynomial/misc/cl_UP_I_hermite.cc \ +polynomial/misc/cl_UP_I_laguerre.cc \ +polynomial/misc/cl_UP_I_tchebychev.cc \ +polynomial/misc/cl_UP_RA_legendre.cc \ +polynomial/misc/cl_UP_debug.cc \ +polynomial/misc/cl_UP_deriv.cc \ +rational/algebraic/cl_RA_rootp.cc \ +rational/algebraic/cl_RA_rootp_I.cc \ +rational/algebraic/cl_RA_sqrtp.cc \ +rational/cl_RA.h \ +rational/division/cl_RA_ceil1.cc \ +rational/division/cl_RA_ceil12.cc \ +rational/division/cl_RA_ceil2.cc \ +rational/division/cl_RA_ceil22.cc \ +rational/division/cl_RA_floor1.cc \ +rational/division/cl_RA_floor12.cc \ +rational/division/cl_RA_floor2.cc \ +rational/division/cl_RA_floor22.cc \ +rational/division/cl_RA_round1.cc \ +rational/division/cl_RA_round12.cc \ +rational/division/cl_RA_round2.cc \ +rational/division/cl_RA_round22.cc \ +rational/division/cl_RA_trunc1.cc \ +rational/division/cl_RA_trunc12.cc \ +rational/division/cl_RA_trunc2.cc \ +rational/division/cl_RA_trunc22.cc \ +rational/elem/cl_RA_compare.cc \ +rational/elem/cl_RA_denominator.cc \ +rational/elem/cl_RA_div.cc \ +rational/elem/cl_RA_equal.cc \ +rational/elem/cl_RA_from_I_I_div.cc \ +rational/elem/cl_RA_from_I_posI.cc \ +rational/elem/cl_RA_from_I_posI1.cc \ +rational/elem/cl_RA_from_I_posI_div.cc \ +rational/elem/cl_RA_minus.cc \ +rational/elem/cl_RA_minus1.cc \ +rational/elem/cl_RA_minusp.cc \ +rational/elem/cl_RA_mul.cc \ +rational/elem/cl_RA_numerator.cc \ +rational/elem/cl_RA_plus.cc \ +rational/elem/cl_RA_plus1.cc \ +rational/elem/cl_RA_plusp.cc \ +rational/elem/cl_RA_recip.cc \ +rational/elem/cl_RA_square.cc \ +rational/elem/cl_RA_uminus.cc \ +rational/elem/cl_RA_zerop.cc \ +rational/input/cl_RA_from_string.cc \ +rational/input/cl_RA_read.cc \ +rational/input/cl_RA_read_stream.cc \ +rational/input/cl_RA_readparsed.cc \ +rational/misc/cl_RA_abs.cc \ +rational/misc/cl_RA_as.cc \ +rational/misc/cl_RA_class.cc \ +rational/misc/cl_RA_debug.cc \ +rational/misc/cl_RA_eqhashcode.cc \ +rational/misc/cl_RA_expt.cc \ +rational/misc/cl_RA_expt_I.cc \ +rational/misc/cl_RA_exptpos.cc \ +rational/misc/cl_RA_exptpos_I.cc \ +rational/misc/cl_RA_max.cc \ +rational/misc/cl_RA_min.cc \ +rational/misc/cl_RA_signum.cc \ +rational/output/cl_RA_aprint.cc \ +rational/output/cl_RA_bprint.cc \ +rational/output/cl_RA_cprint.cc \ +rational/output/cl_RA_dprint.cc \ +rational/output/cl_RA_print.cc \ +rational/ring/cl_RA_ring.cc \ +rational/transcendental/cl_I_logp.cc \ +rational/transcendental/cl_RA_logp.cc \ +real/algebraic/cl_RA_sqrt.cc \ +real/algebraic/cl_R_sqrt.cc \ +real/cl_R.h \ +real/conv/cl_F_from_R.cc \ +real/conv/cl_F_from_R_def.cc \ +real/conv/cl_F_from_R_f.cc \ +real/conv/cl_R_to_DF.cc \ +real/conv/cl_R_to_FF.cc \ +real/conv/cl_R_to_LF.cc \ +real/conv/cl_R_to_SF.cc \ +real/conv/cl_R_to_double.cc \ +real/conv/cl_R_to_float.cc \ +real/division/cl_R_ceil1.cc \ +real/division/cl_R_ceil12.cc \ +real/division/cl_R_ceil2.cc \ +real/division/cl_R_ceil22.cc \ +real/division/cl_R_div_t.h \ +real/division/cl_R_fceil1.cc \ +real/division/cl_R_fceil12.cc \ +real/division/cl_R_fceil2.cc \ +real/division/cl_R_fceil22.cc \ +real/division/cl_R_ffloor1.cc \ +real/division/cl_R_ffloor12.cc \ +real/division/cl_R_ffloor2.cc \ +real/division/cl_R_ffloor22.cc \ +real/division/cl_R_floor1.cc \ +real/division/cl_R_floor12.cc \ +real/division/cl_R_floor2.cc \ +real/division/cl_R_floor22.cc \ +real/division/cl_R_fround1.cc \ +real/division/cl_R_fround12.cc \ +real/division/cl_R_fround2.cc \ +real/division/cl_R_fround22.cc \ +real/division/cl_R_ftrunc1.cc \ +real/division/cl_R_ftrunc12.cc \ +real/division/cl_R_ftrunc2.cc \ +real/division/cl_R_ftrunc22.cc \ +real/division/cl_R_mod.cc \ +real/division/cl_R_rem.cc \ +real/division/cl_R_round1.cc \ +real/division/cl_R_round12.cc \ +real/division/cl_R_round2.cc \ +real/division/cl_R_round22.cc \ +real/division/cl_R_trunc1.cc \ +real/division/cl_R_trunc12.cc \ +real/division/cl_R_trunc2.cc \ +real/division/cl_R_trunc22.cc \ +real/elem/cl_R_compare.cc \ +real/elem/cl_R_div.cc \ +real/elem/cl_R_equal.cc \ +real/elem/cl_R_minus.cc \ +real/elem/cl_R_minus1.cc \ +real/elem/cl_R_minusp.cc \ +real/elem/cl_R_mul.cc \ +real/elem/cl_R_plus.cc \ +real/elem/cl_R_plus1.cc \ +real/elem/cl_R_plusp.cc \ +real/elem/cl_R_recip.cc \ +real/elem/cl_R_square.cc \ +real/elem/cl_R_uminus.cc \ +real/elem/cl_R_zerop.cc \ +real/format-output/TODO-format \ +real/format-output/cl_fmt_cardinal.cc \ +real/format-output/cl_fmt_floatstring.cc \ +real/format-output/cl_fmt_integer.cc \ +real/format-output/cl_fmt_newroman.cc \ +real/format-output/cl_fmt_oldroman.cc \ +real/format-output/cl_fmt_ordinal.cc \ +real/format-output/cl_fmt_paddedstring.cc \ +real/format-output/cl_fmt_scaleexp.cc \ +real/format-output/cl_fmt_tens.cc \ +real/format-output/cl_format.h \ +real/input/cl_R_from_string.cc \ +real/input/cl_R_read.cc \ +real/input/cl_R_read_stream.cc \ +real/misc/cl_R_abs.cc \ +real/misc/cl_R_as.cc \ +real/misc/cl_R_contagion.cc \ +real/misc/cl_R_debug.cc \ +real/misc/cl_R_eqhashcode.cc \ +real/misc/cl_R_expt.cc \ +real/misc/cl_R_expt_I.cc \ +real/misc/cl_R_max.cc \ +real/misc/cl_R_min.cc \ +real/misc/cl_R_rational.cc \ +real/misc/cl_R_rationalize.cc \ +real/misc/cl_R_signum.cc \ +real/output/cl_R_aprint.cc \ +real/output/cl_R_bprint.cc \ +real/output/cl_R_cprint.cc \ +real/random/cl_R_random.cc \ +real/ring/cl_R_ring.cc \ +real/transcendental/cl_R_atan.cc \ +real/transcendental/cl_R_atan2.cc \ +real/transcendental/cl_R_cos.cc \ +real/transcendental/cl_R_cosh.cc \ +real/transcendental/cl_R_coshsinh.cc \ +real/transcendental/cl_R_cossin.cc \ +real/transcendental/cl_R_exp.cc \ +real/transcendental/cl_R_ln.cc \ +real/transcendental/cl_R_log.cc \ +real/transcendental/cl_R_sin.cc \ +real/transcendental/cl_R_sinh.cc \ +real/transcendental/cl_R_tan.cc \ +real/transcendental/cl_R_tanh.cc \ +timing/cl_t_c1.cc \ +timing/cl_t_c2.cc \ +timing/cl_t_current.cc \ +timing/cl_t_current2.cc \ +timing/cl_t_d.cc \ +timing/cl_t_dec.cc \ +timing/cl_t_inc.cc \ +timing/cl_t_minus.cc \ +timing/cl_t_report.cc \ +timing/cl_t_td_minus.cc \ +timing/cl_t_td_plus.cc \ +vector/cl_GV_I.cc \ +vector/cl_GV_I_copy.cc \ +vector/cl_GV_I_debug.cc \ +vector/cl_GV_io.h \ +vector/cl_GV_number.cc \ +vector/cl_GV_number_copy.cc \ +vector/cl_GV_number_debug.cc \ +vector/cl_SV_copy.cc \ +vector/cl_SV_io.h \ +vector/cl_SV_number.cc \ +vector/cl_SV_number_debug.cc \ +vector/cl_SV_ringelt.cc \ +vector/cl_SV_ringelt_debug.cc \ +vector/output/cl_GV_number_aprint.cc \ +vector/output/cl_SV_aprint.cc \ +vector/output/cl_SV_number_aprint.cc + +nodist_libcln_la_SOURCES = \ +base/digitseq/cl_asm.S \ +polynomial/elem/cl_asm_GF2.S + + +ASMFILES = \ +base/digitseq/cl_asm_.cc \ +base/digitseq/cl_asm_arm.h \ +base/digitseq/cl_asm_arm_.cc \ +base/digitseq/cl_asm_hppa.h \ +base/digitseq/cl_asm_hppa_.cc \ +base/digitseq/cl_asm_i386.h \ +base/digitseq/cl_asm_i386_.cc \ +base/digitseq/cl_asm_m68k.h \ +base/digitseq/cl_asm_m68k_.cc \ +base/digitseq/cl_asm_mips.h \ +base/digitseq/cl_asm_mips_.cc \ +base/digitseq/cl_asm_mipsel_.cc \ +base/digitseq/cl_asm_sparc.h \ +base/digitseq/cl_asm_sparc64.h \ +base/digitseq/cl_asm_sparc64_.cc \ +base/digitseq/cl_asm_sparc_.cc + +base/digitseq/cl_asm.S: $(ASMFILES) + $(MKDIR_P) base/digitseq; cp $< $@ + +MORE_ASMFILES = \ +polynomial/elem/cl_asm_GF2.cc \ +polynomial/elem/cl_asm_sparc_GF2.cc + + +polynomial/elem/cl_asm_GF2.S: $(MORE_ASMFILES) + $(MKDIR_P) polynomial/elem; cp $< $@ + +EXTRA_DIST = $(ASMFILES) + diff --git a/src/Makefile.in b/src/Makefile.in deleted file mode 100644 index 11115e1..0000000 --- a/src/Makefile.in +++ /dev/null @@ -1,267 +0,0 @@ -# Makefile for cln/src - -#### Start of system configuration section. #### - -# Directories used by "make": -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ - -# Directories used by "make install": -prefix = @prefix@ -local_prefix = /usr/local -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -libdir = @libdir@ -includedir = @includedir@ -mandir = @mandir@ -DESTDIR = - -# Programs used by "make": -# C compiler -CC = @CC@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -# C++ compiler -CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -CXXCPP = @CXXCPP@ -INCLUDES = -I$(top_srcdir)/src -I$(top_builddir)/src -I../include -I${top_srcdir}/include -override CPPFLAGS += ${INCLUDES} -LDFLAGS = @LDFLAGS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIBTOOL_COMPILE = ${LIBTOOL} --mode=compile -LIBTOOL_LINK = ${LIBTOOL} --mode=link -LIBTOOL_INSTALL = ${LIBTOOL} --mode=install -LIBTOOL_UNINSTALL = ${LIBTOOL} --mode=uninstall -AR = ar -AR_FLAGS = rc -RANLIB = @RANLIB@ -MV = mv -LN = ln -RM = rm -f -MKDIR = mkdir -p -@SET_MAKE@ -# Libtool's library interface versions: -CL_CURRENT = @CL_CURRENT@ -CL_REVISION = @CL_REVISION@ -CL_AGE = @CL_AGE@ - -# Programs used by "make install": -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -#### End of system configuration section. #### - -SHELL = /bin/sh - -# Needed by ${LIBTOOL}. -top_builddir = .. - -# When this Makefile is called with SUBDIR=some_subdirectory, it builds -# only the object files belonging to sources in that subdirectory. The -# final library is built only if SUBDIR=. -SUBDIR = . - -# Define the search path for sources. -# The variable ${aux_srcdir} is needed because new versions of aufoconf tend to -# remove ${srcdir}, ${srcdir} and so on... -aux_srcdir = @srcdir@ -VPATH = ${aux_srcdir}/${SUBDIR} - - -# Need to know the system name. -SYSTEM := $(shell uname -s) - -FILES_CC := $(notdir $(wildcard ${srcdir}/${SUBDIR}/*.cc)) -FILES_CC := $(filter-out %.i.cc, ${FILES_CC}) -ASMFILES_CC := $(patsubst cl_asm_@host_cpu@_%.cc,cl_asm_%.cc, $(filter cl_asm_@host_cpu@_%.cc, ${FILES_CC})) -FILES_CC := $(filter-out cl_asm_%.cc, ${FILES_CC}) - -FILES_I_CC := $(patsubst %.cc,%.i.cc,${FILES_CC}) - -FILES_S := $(patsubst %.cc,%.s,${FILES_CC}) - -FILES_LO := $(patsubst %.cc,%.lo,${FILES_CC}) - -ASMFILES_S := $(patsubst %.cc,%.s,${ASMFILES_CC}) - -ASMFILES_LO := $(patsubst %.cc,%.lo,${ASMFILES_CC}) - -OBJECTS_LO = ${FILES_LO} ${ASMFILES_LO} - -SUBDIRS := $(patsubst ${srcdir}/%/.,%,$(wildcard ${srcdir}/${SUBDIR}/*/.)) -# Avoid certain subdirectories: -# private/ and old/ don't contain valid sources, -# CVS/, RCS/ and SCCS/ are created when people put the sources under version control, -# ii_files/ is created during "make" by SGI C++. -SUBDIRS := $(filter-out old ./old private ./private CVS %/CVS RCS %/RCS SCCS %/SCCS ii_files ./ii_files,${SUBDIRS}) - - -# Rule 'all' must be the first in the file. -all : _all_ - - -# Recurse into subdirectories - -SUBDIRS_DIRDEP := $(patsubst %,%.dirdep,${SUBDIRS}) - -${SUBDIRS_DIRDEP} : %.dirdep : - - -# Target 'all' creates all necessary files for $(SUBDIR) and its subdirectories. - -SUBDIRS_TARGET_ALL := $(patsubst %,%.target_all,${SUBDIRS}) - -${SUBDIRS_TARGET_ALL} : %.target_all : %.dirdep - ${MAKE} SUBDIR=$* all - -ifeq (${SUBDIR},.) -ALLFILES_CC := $(notdir $(wildcard ${srcdir}/*.cc) $(foreach subdir,${SUBDIRS}, $(wildcard ${srcdir}/${subdir}/*.cc) $(wildcard ${srcdir}/${subdir}/*/*.cc) $(wildcard ${srcdir}/${subdir}/*/*/*.cc))) -ALLFILES_CC := $(filter-out %.i.cc, ${ALLFILES_CC}) -ALLASMFILES_CC := $(patsubst cl_asm_@host_cpu@_%.cc,cl_asm_%.cc, $(filter cl_asm_@host_cpu@_%.cc, ${ALLFILES_CC})) -ALLFILES_CC := $(filter-out cl_asm_%.cc, ${ALLFILES_CC}) -ALLFILES_LO := $(patsubst %.cc,%.lo,${ALLFILES_CC}) -ALLASMFILES_LO := $(patsubst %.cc,%.lo,${ALLASMFILES_CC}) -ALLOBJECTS_LO = ${ALLFILES_LO} ${ALLASMFILES_LO} - -_all_ : allo-local ${SUBDIRS_TARGET_ALL} libcln.la -else -_all_ : allo-local ${SUBDIRS_TARGET_ALL} -endif - - -# Target 'alls' creates all .s files for $(SUBDIR) and its subdirectories. - -SUBDIRS_TARGET_ALLS := $(patsubst %,%.target_alls,${SUBDIRS}) - -${SUBDIRS_TARGET_ALLS} : %.target_alls : %.dirdep - ${MAKE} SUBDIR=$* alls - -alls : alls-local ${SUBDIRS_TARGET_ALLS} - -alls-local : ${FILES_S} ${ASMFILES_S} - - -# Target 'allo' creates all .lo files for $(SUBDIR) and its subdirectories. -SUBDIRS_TARGET_ALLO := $(patsubst %,%.target_allo,${SUBDIRS}) - -${SUBDIRS_TARGET_ALLO} : %.target_allo : %.dirdep - ${MAKE} SUBDIR=$* allo - -allo : allo-local ${SUBDIRS_TARGET_ALLO} - -allo-local : ${FILES_LO} ${ASMFILES_LO} - - -ASMFLAGS := @ASMFLAGS@ -ifeq (@AS_UNDERSCORE@,true) -ASMFLAGS += -DUNDERSCORE -endif - -# Rules for normal compilation. - -%.lo : %.c - ${LIBTOOL_COMPILE} ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< - -%.lo : %.cc - ${LIBTOOL_COMPILE} ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< - -# Rules for normal compilation, only needed for debugging. - -%.s : %.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@ - -%.s : %.cc - ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@ - -# Rules for preprocessing. - -%.i : %.c - ${CPP} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@ - -%.i.cc : %.cc - ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@ - -# Rules for assembly language files, - -ifneq (${ASMFILES_LO},) - -ifneq ($(filter @host_cpu@,sparc sparc64),) -${ASMFILES_S} : %.s : %.cc - ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} ${ASMFLAGS} $< | grep -v '^#' | grep -v '^ *#line' | sed -e 's/\([.%]\) /\1/g' -e 's/ , /,/g' -e 's/ :/:/g' -e 's/\$$/#/g' > $@ -else -ifeq (@host_cpu@,m68k) -${ASMFILES_S} : %.s : %.cc -ifeq (@AS_UNDERSCORE@,true) - ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -P ${ASMFLAGS} $< | sed -e 's/\\#/#/g' -e 's/\$$//g' > $@ -else - ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -P ${ASMFLAGS} $< | sed -e 's/\\#/#/g' -e 's/\$$/%/g' > $@ -endif -else -ifeq (@host_cpu@,hppa) -${ASMFILES_S} : %.s : %.cc - -${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -P ${ASMFLAGS} $< > $@ -else -${ASMFILES_S} : %.s : %.cc - ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -P ${ASMFLAGS} $< > $@ -endif -endif -endif - -ifeq (@host_cpu@,hppa) -# Only the native as groks the .SHORTDATA statements -${ASMFILES_LO} : %.lo : %.s - ${LIBTOOL_COMPILE} ${CC} ${CFLAGS} ${TARGET_ARCH} -c $< \ - || COMPILER_PATH=/usr/ccs/bin ${LIBTOOL_COMPILE} ${CC} ${CFLAGS} ${TARGET_ARCH} -c $< \ - || COMPILER_PATH=/bin ${LIBTOOL_COMPILE} ${CC} ${CFLAGS} ${TARGET_ARCH} -c $< -else -${ASMFILES_LO} : %.lo : %.s - ${LIBTOOL_COMPILE} ${CC} ${CFLAGS} ${ASMFLAGS} ${TARGET_ARCH} -c $< -endif - -endif - - -ifeq (${SUBDIR},.) - -${ALLOBJECTS_LO} : ${SUBDIRS_TARGET_ALL} - -libcln.la : ${LIBTOOL} ${ALLOBJECTS_LO} - echo ${ALLOBJECTS_LO} | tr ' ' '\n' > libcln.objectlist - ${LIBTOOL_LINK} ${CXX} -o libcln.la -rpath ${libdir} -version-info ${CL_CURRENT}:${CL_REVISION}:${CL_AGE} ${LDFLAGS} ${LIBS} -objectlist libcln.objectlist - -install : all force - ${MKDIR} ${DESTDIR}${libdir} - ${LIBTOOL_INSTALL} ${INSTALL_PROGRAM} libcln.la ${DESTDIR}${libdir}/libcln.la - ${MKDIR} ${DESTDIR}${includedir}/cln - ${INSTALL_DATA} ${top_srcdir}/include/cln/*.h ${DESTDIR}${includedir}/cln - ${INSTALL_DATA} ../include/cln/*.h ${DESTDIR}${includedir}/cln - -installdirs : force - ${MKDIR} ${DESTDIR}${libdir} - ${MKDIR} ${DESTDIR}${includedir}/cln - -uninstall : force - ${LIBTOOL_UNINSTALL} ${RM} ${DESTDIR}${libdir}/libcln.la - ${RM} -r ${DESTDIR}${includedir}/cln - -check : all - -mostlyclean : clean - -clean : force - ${RM} *.s *.o *.lo *.a *.la *.objectlist core - ${RM} -r .libs _libs - -distclean : clean - ${RM} config.status config.log config.cache Makefile - -maintainer-clean : distclean - -endif - -force : diff --git a/tests/Makefile.am b/tests/Makefile.am new file mode 100644 index 0000000..0685351 --- /dev/null +++ b/tests/Makefile.am @@ -0,0 +1,170 @@ + +ALL_TESTS = \ +exam \ +tests + +ALL_TIMINGS = \ +timemul \ +timesquare \ +timediv \ +timesqrt \ +timegcd \ +timefact \ +timeprint \ +timeLFsqrt \ +timeRAtoLF \ +timeLFRAmul \ +timeRALFdiv \ +timepi \ +timeLFln \ +timeLFexp \ +timeLFsin \ +timeLFcos \ +timeLFsinh \ +timeLFcosh \ +timeLFatan \ +timeLFatanh \ +timeMIpow2recip \ +timeMIpow2div \ +timeMImisc5 \ +timeUPMImul \ +timesqrtmodp \ +main + +##timeexp1 \ +##timeeuler \ +##timecatalan \ +##timezeta3 \ +##timerecip2adic \ +##timediv2adic \ + +TESTS = $(ALL_TESTS) +check_PROGRAMS = $(ALL_TESTS) + +AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src \ +-I$(top_builddir)/include -I$(top_builddir)/src + + +exam_SOURCES = exam.cc exam_I.cc exam_RA.cc exam_SF.cc \ + exam_FF.cc exam_DF.cc exam_LF.cc exam_I_gcd.cc exam_I_sqrtp.cc + +exam_LDADD = ../src/libcln.la + +tests_SOURCES = tests.cc test_I.cc test_I_abs.cc test_I_compare.cc \ + test_I_plus.cc test_I_minus.cc test_I_plus1.cc \ + test_I_minus1.cc test_I_mul.cc test_I_div.cc \ + test_I_gcd.cc test_I_xgcd.cc test_I_ash.cc \ + test_I_evenp.cc test_I_oddp.cc test_I_lognot.cc \ + test_I_logand.cc test_I_logandc1.cc test_I_logandc2.cc \ + test_I_logior.cc test_I_logorc1.cc test_I_logorc2.cc \ + test_I_logxor.cc test_I_lognand.cc test_I_lognor.cc \ + test_I_logeqv.cc test_I_boole.cc test_I_logbitp.cc \ + test_I_logtest.cc test_I_ldb.cc test_I_ldbtest.cc \ + test_I_mkf.cc test_I_dpb.cc test_I_dpf.cc \ + test_I_logcount.cc test_I_ilength.cc test_I_ord2.cc \ + test_I_power2p.cc test_I_isqrt.cc test_I_sqrtp.cc \ + test_I_io.cc test_I_GV.cc \ + test_MI.cc test_MI_canonhom.cc test_MI_plus.cc \ + test_MI_minus.cc test_MI_mul.cc test_MI_recip.cc \ + test_MI_div.cc test_MI_expt.cc \ + test_nt.cc test_nt_jacobi.cc + +tests_LDADD = ../src/libcln.la + +timemul_SOURCES = timemul.cc +timemul_LDADD = ../src/libcln.la + +timesquare_SOURCES = timesquare.cc +timesquare_LDADD = ../src/libcln.la + +timediv_SOURCES = timediv.cc +timediv_LDADD = ../src/libcln.la + +timesqrt_SOURCES = timesqrt.cc +timesqrt_LDADD = ../src/libcln.la + +timegcd_SOURCES = timegcd.cc +timegcd_LDADD = ../src/libcln.la + +timefact_SOURCES = timefact.cc +timefact_LDADD = ../src/libcln.la + +timeprint_SOURCES = timeprint.cc +timeprint_LDADD = ../src/libcln.la + +timeLFsqrt_SOURCES = timeLFsqrt.cc +timeLFsqrt_LDADD = ../src/libcln.la + +timeRAtoLF_SOURCES = timeRAtoLF.cc +timeRAtoLF_LDADD = ../src/libcln.la + +timeLFRAmul_SOURCES = timeLFRAmul.cc +timeLFRAmul_LDADD = ../src/libcln.la + +timeRALFdiv_SOURCES = timeRALFdiv.cc +timeRALFdiv_LDADD = ../src/libcln.la + +timepi_SOURCES = timepi.cc +timepi_LDADD = ../src/libcln.la + +timeexp1_SOURCES = timeexp1.cc +timeexp1_LDADD = ../src/libcln.la + +timeeuler_SOURCES = timeeuler.cc +timeeuler_LDADD = ../src/libcln.la + +timecatalan_SOURCES = timecatalan.cc +timecatalan_LDADD = ../src/libcln.la + +timezeta3_SOURCES = timezeta3.cc +timezeta3_LDADD = ../src/libcln.la + +timeLFln_SOURCES = timeLFln.cc +timeLFln_LDADD = ../src/libcln.la + +timeLFexp_SOURCES = timeLFexp.cc +timeLFexp_LDADD = ../src/libcln.la + +timeLFsin_SOURCES = timeLFsin.cc +timeLFsin_LDADD = ../src/libcln.la + +timeLFcos_SOURCES = timeLFcos.cc +timeLFcos_LDADD = ../src/libcln.la + +timeLFsinh_SOURCES = timeLFsinh.cc +timeLFsinh_LDADD = ../src/libcln.la + +timeLFcosh_SOURCES = timeLFcosh.cc +timeLFcosh_LDADD = ../src/libcln.la + +timeLFatan_SOURCES = timeLFatan.cc +timeLFatan_LDADD = ../src/libcln.la + +timeLFatanh_SOURCES = timeLFatanh.cc +timeLFatanh_LDADD = ../src/libcln.la + +timerecip2adic_SOURCES = timerecip2adic.cc +timerecip2adic_LDADD = ../src/libcln.la + +timediv2adic_SOURCES = timediv2adic.cc +timediv2adic_LDADD = ../src/libcln.la + +timeMIpow2recip_SOURCES = timeMIpow2recip.cc +timeMIpow2recip_LDADD = ../src/libcln.la + +timeMIpow2div_SOURCES = timeMIpow2div.cc +timeMIpow2div_LDADD = ../src/libcln.la + +timeMImisc5_SOURCES = timeMImisc5.cc +timeMImisc5_LDADD = ../src/libcln.la + +timeUPMImul_SOURCES = timeUPMImul.cc +timeUPMImul_LDADD = ../src/libcln.la + +timesqrtmodp_SOURCES = timesqrtmodp.cc +timesqrtmodp_LDADD = ../src/libcln.la + +main_SOURCES = main.cc +main_LDADD = ../src/libcln.la + + diff --git a/tests/Makefile.in b/tests/Makefile.in deleted file mode 100644 index 42c5629..0000000 --- a/tests/Makefile.in +++ /dev/null @@ -1,189 +0,0 @@ -# Makefile for cln/tests - -#### Start of system configuration section. #### - -# Directories used by "make": -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ - -# Programs used by "make": -# C compiler -CC = @CC@ -CFLAGS = @CFLAGS@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -# C++ compiler -CXX = @CXX@ -CXXFLAGS = @CXXFLAGS@ -CXXCPP = @CXXCPP@ -INCLUDES = -I../include -I${top_srcdir}/include -I${srcdir} -I${top_srcdir}/src -I$(top_builddir)/src -override CPPFLAGS += ${INCLUDES} -LIBTOOL = @LIBTOOL@ -LIBTOOL_LINK = ${LIBTOOL} --mode=link -MV = mv -LN = ln -RM = rm -f -@SET_MAKE@ -EXEEXT = @EXEEXT@ - -#### End of system configuration section. #### - -SHELL = /bin/sh - -# Needed by ${LIBTOOL}. -top_builddir = .. - -VPATH = ${srcdir} - -FILES_CC := $(notdir $(wildcard ${srcdir}/*.cc)) -FILES_CC := $(filter-out %.i.cc, ${FILES_CC}) - -FILES_I_CC := $(patsubst %.cc,%.i.cc,${FILES_CC}) - -FILES_S := $(patsubst %.cc,%.s,${FILES_CC}) - -FILES_O := $(patsubst %.cc,%.o,${FILES_CC}) - -OBJECTS = ${FILES_O} - -LIBS = ../src/libcln.la -lm -LIBDEPS = ../src/libcln.la - -PROGRAMS = $(addsuffix ${EXEEXT},exam tests timemul timesquare timediv timesqrt timegcd timefact timeprint timeLFsqrt timeRAtoLF timeLFRAmul timeRALFdiv timepi timeexp1 timeeuler timecatalan timezeta3 timeLFln timeLFexp timeLFsin timeLFcos timeLFsinh timeLFcosh timeLFatan timeLFatanh timerecip2adic timediv2adic timeMIpow2recip timeMIpow2div timeMImisc5 timeUPMImul timesqrtmodp main) -MODULES_exam = exam exam_I exam_RA exam_SF exam_FF exam_DF exam_LF exam_I_gcd exam_I_sqrtp -MODULES_tests = tests \ - test_I \ - test_I_abs test_I_compare test_I_plus test_I_minus test_I_plus1 test_I_minus1 test_I_mul test_I_div \ - test_I_gcd test_I_xgcd \ - test_I_ash test_I_evenp test_I_oddp test_I_lognot test_I_logand test_I_logandc1 test_I_logandc2 test_I_logior test_I_logorc1 test_I_logorc2 test_I_logxor test_I_lognand test_I_lognor test_I_logeqv test_I_boole test_I_logbitp test_I_logtest test_I_ldb test_I_ldbtest test_I_mkf test_I_dpb test_I_dpf test_I_logcount test_I_ilength test_I_ord2 test_I_power2p \ - test_I_isqrt test_I_sqrtp \ - test_I_io test_I_GV \ - test_MI \ - test_MI_canonhom test_MI_plus test_MI_minus test_MI_mul test_MI_recip test_MI_div test_MI_expt \ - test_nt \ - test_nt_jacobi -MODULES_timemul = timemul -MODULES_timesquare = timesquare -MODULES_timediv = timediv -MODULES_timesqrt = timesqrt -MODULES_timegcd = timegcd -MODULES_timefact = timefact -MODULES_timeprint = timeprint -MODULES_timeLFsqrt = timeLFsqrt -MODULES_timeRAtoLF = timeRAtoLF -MODULES_timeLFRAmul = timeLFRAmul -MODULES_timeRALFdiv = timeRALFdiv -MODULES_timepi = timepi -MODULES_timeexp1 = timeexp1 -MODULES_timeeuler = timeeuler -MODULES_timecatalan = timecatalan -MODULES_timezeta3 = timezeta3 -MODULES_timeLFln = timeLFln -MODULES_timeLFexp = timeLFexp -MODULES_timeLFsin = timeLFsin -MODULES_timeLFcos = timeLFcos -MODULES_timeLFsinh = timeLFsinh -MODULES_timeLFcosh = timeLFcosh -MODULES_timeLFatan = timeLFatan -MODULES_timeLFatanh = timeLFatanh -MODULES_timerecip2adic = timerecip2adic -MODULES_timediv2adic = timediv2adic -MODULES_timeMIpow2recip = timeMIpow2recip -MODULES_timeMIpow2div = timeMIpow2div -MODULES_timeMImisc5 = timeMImisc5 -MODULES_timeUPMImul = timeUPMImul -MODULES_timesqrtmodp = timesqrtmodp -MODULES_main = main - -all : exam${EXEEXT} tests${EXEEXT} - -%.s : %.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@ - -%.s : %.cc - ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -S $< -o $@ - -ifdef notyet - -%.o : %.c - ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@ - -%.o : %.cc - ${CXX} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@ - -else - -${FILES_O} : %.o : %.s - ${CC} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} -c $< -o $@ - -endif - -%.i : %.c - ${CPP} ${CFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@ - -%.i.cc : %.cc - ${CXXCPP} ${CXXFLAGS} ${CPPFLAGS} ${TARGET_ARCH} $< > $@ - -../src/libcln.a : - cd ../src ; ${MAKE} libcln.a - -exam${EXEEXT} : $(patsubst %,%.o,$(MODULES_exam)) -tests${EXEEXT} : $(patsubst %,%.o,$(MODULES_tests)) -timemul${EXEEXT} : $(patsubst %,%.o,$(MODULES_timemul)) -timesquare${EXEEXT} : $(patsubst %,%.o,$(MODULES_timesquare)) -timediv${EXEEXT} : $(patsubst %,%.o,$(MODULES_timediv)) -timesqrt${EXEEXT} : $(patsubst %,%.o,$(MODULES_timesqrt)) -timegcd${EXEEXT} : $(patsubst %,%.o,$(MODULES_timegcd)) -timefact${EXEEXT} : $(patsubst %,%.o,$(MODULES_timefact)) -timeprint${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeprint)) -timeLFsqrt${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFsqrt)) -timeRAtoLF${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeRAtoLF)) -timeLFRAmul${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFRAmul)) -timeRALFdiv${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeRALFdiv)) -timepi${EXEEXT} : $(patsubst %,%.o,$(MODULES_timepi)) -timeexp1${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeexp1)) -timeeuler${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeeuler)) -timecatalan${EXEEXT} : $(patsubst %,%.o,$(MODULES_timecatalan)) -timezeta3${EXEEXT} : $(patsubst %,%.o,$(MODULES_timezeta3)) -timeLFln${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFln)) -timeLFexp${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFexp)) -timeLFsin${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFsin)) -timeLFcos${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFcos)) -timeLFsinh${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFsinh)) -timeLFcosh${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFcosh)) -timeLFatan${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFatan)) -timeLFatanh${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeLFatanh)) -timerecip2adic${EXEEXT} : $(patsubst %,%.o,$(MODULES_timerecip2adic)) -timediv2adic${EXEEXT} : $(patsubst %,%.o,$(MODULES_timediv2adic)) -timeMIpow2recip${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeMIpow2recip)) -timeMIpow2div${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeMIpow2div)) -timeMImisc5${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeMImisc5)) -timeUPMImul${EXEEXT} : $(patsubst %,%.o,$(MODULES_timeUPMImul)) -timesqrtmodp${EXEEXT} : $(patsubst %,%.o,$(MODULES_timesqrtmodp)) -main${EXEEXT} : $(patsubst %,%.o,$(MODULES_main)) -${PROGRAMS} : %${EXEEXT} : ${LIBDEPS} - ${LIBTOOL_LINK} ${CXX} ${CXXFLAGS} ${TARGET_ARCH} $(patsubst %,%.o,$(MODULES_$(*F))) ${LDFLAGS} ${LIBS} -o $@ - - -install : all - -installdirs : - -uninstall : - -check : all - ./exam${EXEEXT} - ./tests${EXEEXT} - -mostlyclean : clean - -clean : force - ${RM} *.s *.o *.a exam tests${EXEEXT} main a.out core - ${RM} -r .libs _libs - -distclean : clean - ${RM} config.status config.log config.cache Makefile - -maintainer-clean : distclean - -force :