Browse Source

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.
master
Alexei Sheplyakov 17 years ago
parent
commit
7da4d3ae46
  1. 104
      Makefile.am
  2. 74
      Makefile.in
  3. 20
      autoconf/aclocal.m4
  4. 131
      configure.ac
  5. 4
      doc/Makefile.am
  6. 117
      doc/Makefile.in
  7. 29
      examples/Makefile.am
  8. 116
      examples/Makefile.in
  9. 146
      include/cln/config.h.in
  10. 79
      include/cln/host_cpu.h.in
  11. 10
      m4/cc.m4
  12. 2
      m4/gmp.m4
  13. 2
      m4/longdouble.m4
  14. 984
      src/Makefile.am
  15. 267
      src/Makefile.in
  16. 170
      tests/Makefile.am
  17. 189
      tests/Makefile.in

104
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

74
Makefile.in

@ -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 :

20
autoconf/aclocal.m4

@ -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])

131
configure.ac

@ -1,44 +1,35 @@
dnl AUTOCONF configuration for CLN
dnl
dnl configure.ac ---<autoconf>--->> configure
dnl
dnl configure ---<sh>--->> 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 ---<make>--->> 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])

4
doc/Makefile.am

@ -0,0 +1,4 @@
info_TEXINFOS = cln.texi
AM_MAKEINFOHTMLFLAGS = --no-split

117
doc/Makefile.in

@ -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 :

29
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

116
examples/Makefile.in

@ -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 :

146
include/cln/config.h.in

@ -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 <unistd.h>. */
#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 <alloca.h> 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 */

79
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 */

10
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 <<EOF
void foo() {}
EOF
if AC_TRY_COMMAND([${CC} $CFLAGS $CPPFLAGS
if AC_TRY_COMMAND([${CCAS} $CFLAGS $CPPFLAGS
-S -o conftest.s 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
])

2
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

2
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
])

984
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)

267
src/Makefile.in

@ -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 :

170
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

189
tests/Makefile.in

@ -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 :
Loading…
Cancel
Save