]> www.ginac.de Git - cln.git/log
cln.git
16 years ago[BUGFIX] cln/config.h: fix include guard.
Alexei Sheplyakov [Sun, 21 Sep 2008 13:37:21 +0000 (17:37 +0400)]
[BUGFIX] cln/config.h: fix include guard.

16 years ago[BUGFIX]: cl_asm_.cc: fix include paths.
Alexei Sheplyakov [Sun, 21 Sep 2008 13:38:52 +0000 (17:38 +0400)]
[BUGFIX]: cl_asm_.cc: fix include paths.

Proper fix would be to remove that file. YMMV, but on "modern" CPUs (k7,
pentium[234], k8) gcc generated code works 1.5 -- 2 times faster.

16 years agocl_{GV,SV}: use std::size_t for size of vectors (instead of obscure uintC).
Alexei Sheplyakov [Mon, 22 Sep 2008 08:55:01 +0000 (12:55 +0400)]
cl_{GV,SV}: use std::size_t for size of vectors (instead of obscure uintC).

16 years agoEquip vectors (cl_[SG]V_*) with STL-alike size() method.
Alexei Sheplyakov [Mon, 15 Sep 2008 21:26:08 +0000 (01:26 +0400)]
Equip vectors (cl_[SG]V_*) with STL-alike size() method.

16 years agobuild: define EXTRA_PROGRAMS to shut up automake warnings.
Alexei Sheplyakov [Sun, 7 Sep 2008 16:17:27 +0000 (20:17 +0400)]
build: define EXTRA_PROGRAMS to shut up automake warnings.

16 years agoFix programs for timing 2-adic operations: tests/time{div,recip}2adic.cc
Alexei Sheplyakov [Sun, 7 Sep 2008 16:14:55 +0000 (20:14 +0400)]
Fix programs for timing 2-adic operations: tests/time{div,recip}2adic.cc

At least they compile and run now. TODO: deobfuscate the code and provide
helpful usage messages.

16 years ago[bugfix] Actually compile in version info into the library.
Alexei Sheplyakov [Sun, 7 Sep 2008 15:33:11 +0000 (19:33 +0400)]
[bugfix] Actually compile in version info into the library.

src/base/cl_version.cc: don't #include "cl_sysdep.h", so the version info
actually gets compiled into the library.

Due to the changes introduced in 7da4d3ae ("build: switch to ordinary auto*
tools system") including "cln/version.h" after "cl_config.h" is no-op (yes,
this is intended).

16 years ago[bugfix] build: generate cl_config.h properly.
Alexei Sheplyakov [Sun, 7 Sep 2008 13:18:04 +0000 (17:18 +0400)]
[bugfix] build: generate cl_config.h properly.

cl_config.h file was useless due to stupid typo (#ifdef instead of #ifndef,
introduced in 7da4d3ae). Fix it.

16 years agobenchmarks: time{catalan,euler,exp1,zeta3}.cc actually compile and work now.
Alexei Sheplyakov [Sun, 7 Sep 2008 14:39:54 +0000 (18:39 +0400)]
benchmarks: time{catalan,euler,exp1,zeta3}.cc actually compile and work now.

These benchmarks use internal CLN functions. Even worse -- they expect to
find these functions in the global namespace. Declare internal CLN functions
in the namespace cln.

16 years ago[bugfix] Public headers need GMP_DEMANDS_UINTD_* macros.
Alexei Sheplyakov [Sun, 7 Sep 2008 07:56:58 +0000 (11:56 +0400)]
[bugfix] Public headers need GMP_DEMANDS_UINTD_* macros.

Put them back into cln/config.h.in (until a better solution is found).

16 years agoImprove installation instructions.
Alexei Sheplyakov [Wed, 27 Aug 2008 12:19:03 +0000 (16:19 +0400)]
Improve installation instructions.

16 years ago[bugfix] install intparam.h (auto-generated) header.
Alexei Sheplyakov [Wed, 27 Aug 2008 06:28:14 +0000 (10:28 +0400)]
[bugfix] install intparam.h (auto-generated) header.

Actually it's a bad idea to expose those defines to user, but CLN public
headers depend on them.

16 years agoRemove libtool bits from the repository.
Alexei Sheplyakov [Wed, 27 Aug 2008 06:12:17 +0000 (10:12 +0400)]
Remove libtool bits from the repository.

This makes packagers' life a bit easier.

16 years agodon't expose configure generated headers to users.
Alexei Sheplyakov [Wed, 27 Aug 2008 05:51:35 +0000 (09:51 +0400)]
don't expose configure generated headers to users.

Those HAVE_FOO collide with #define's introduced by a package which uses
CLN. The result is very funny (debugging this is not, though).

16 years agocln.texi: display copyright information in the info file, ...
Alexei Sheplyakov [Tue, 27 May 2008 06:35:54 +0000 (10:35 +0400)]
cln.texi: display copyright information in the info file, ...

... use @ifnottex instead of @ifinfo so relevant pages are included into
the HTML version of the manual.

16 years agotests: test_I_io: ignore read_integer() failures on woe32.
Alexei Sheplyakov [Tue, 27 May 2008 13:39:19 +0000 (17:39 +0400)]
tests: test_I_io: ignore read_integer() failures on woe32.

The test always fail on woe32, so ignore errors (but print relevant info).

16 years agobuild: compile benchmark programs too.
Alexei Sheplyakov [Tue, 26 Aug 2008 16:59:31 +0000 (20:59 +0400)]
build: compile benchmark programs too.

16 years agobuild: switch to ordinary auto* tools system.
Alexei Sheplyakov [Sat, 23 Aug 2008 18:33:09 +0000 (22:33 +0400)]
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.

16 years agotests: #include <iostream> and using namespace std; for std::cout and std::endl
Alexei Sheplyakov [Sat, 23 Aug 2008 18:22:56 +0000 (22:22 +0400)]
tests: #include <iostream> and using namespace std; for std::cout and std::endl

Otherwise timing programs fail to compile.

16 years agoFix header paths braindamage in the tests directory too.
Alexei Sheplyakov [Sat, 23 Aug 2008 16:09:17 +0000 (20:09 +0400)]
Fix header paths braindamage in the tests directory too.

16 years agobuild: don't insist on turning on optimization.
Alexei Sheplyakov [Sat, 23 Aug 2008 15:11:28 +0000 (19:11 +0400)]
build: don't insist on turning on optimization.

Since there's no CL_REQUIRE/CL_PROVIDE junk any more, optimization is
not mandatory.

16 years agoUse paths relative the `src' directory in the #include directives.
Alexei Sheplyakov [Sat, 23 Aug 2008 14:49:10 +0000 (18:49 +0400)]
Use paths relative the `src' directory in the #include directives.

Typical CLN source file starts with

 // General includes.
 #include "cl_sysdep.h"

 // Specification.
 #include "cl_2DS.h"

 // Implementation.

 #include "cl_2D.h"
 #include "cl_DS.h"

It takes a while to figure out which files are included. So, use paths relative
to the `src' directory, like this:

 // General includes.
 #include "base/cl_sysdep.h"

 // Specification.
 #include "src/base/digitseq/cl_2DS.h"

 // Implementation.

 #include "base/digit/cl_2D.h"
 #include "base/digitseq/cl_DS.h"

This makes CLN less hacker hostile.

16 years agobump library version, since CLN doesn't export global object ctors any more.
Alexei Sheplyakov [Thu, 21 Aug 2008 19:50:07 +0000 (23:50 +0400)]
bump library version, since CLN doesn't export global object ctors any more.

Those cl_module__blah__firstglobalfun functions don't even exist any more.

16 years agoremove CL_REQUIRE/CL_PROVIDE macro and associated autoconf tests.
Alexei Sheplyakov [Thu, 21 Aug 2008 18:44:01 +0000 (22:44 +0400)]
remove CL_REQUIRE/CL_PROVIDE macro and associated autoconf tests.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_UP) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 16:01:23 +0000 (20:01 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_UP) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_UP_no_ring) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 15:51:59 +0000 (19:51 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_UP_no_ring) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_UP_named) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 15:49:28 +0000 (19:49 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_UP_named) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_UP_unnamed) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 15:32:14 +0000 (19:32 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_UP_unnamed) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoGet rid CL_REQUIRE/CL_PROVIDE(cl_F_epsneg), it is not really necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:06:02 +0000 (16:06 +0400)]
Get rid CL_REQUIRE/CL_PROVIDE(cl_F_epsneg), it is not really necessary.

Move static variables [SFDL]F_negative_epsilon into LF_negative_epsilon()
function (which is the only user of those variables) in order to avoid
possible static order initialization problems. While at it, make
LF_negative_epsilon() function static.

16 years agoGet rid CL_REQUIRE/CL_PROVIDE(cl_F_epspos), it is not really necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:06:02 +0000 (16:06 +0400)]
Get rid CL_REQUIRE/CL_PROVIDE(cl_F_epspos), it is not really necessary.

Move static variables [SFDL]F_epsilon into LF_epsilon() function (which
is the only user of those variables) in order to avoid possible static
order initialization problems. While at it, make LF_epsilon() function
static.

16 years agoGet rid CL_REQUIRE/CL_PROVIDE(cl_F_leastneg), it is not really necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:06:02 +0000 (16:06 +0400)]
Get rid CL_REQUIRE/CL_PROVIDE(cl_F_leastneg), it is not really necessary.

Move static variables least_negative_[SFDL]F into least_negative_LF() function
(which is the only user of those variables) in order to avoid possible static
order initialization problems. While at it, make least_negative_LF() function
static.

16 years agoGet rid CL_REQUIRE/CL_PROVIDE(cl_F_leastpos), it is not really necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:06:02 +0000 (16:06 +0400)]
Get rid CL_REQUIRE/CL_PROVIDE(cl_F_leastpos), it is not really necessary.

Move static variables least_positive_[SFDL]F into least_positive_LF() function
(which is the only user of those variables) in order to avoid possible static
order initialization problems. While at it, make least_positive_LF() function
static.

16 years agoGet rid CL_REQUIRE/CL_PROVIDE(cl_F_mostneg), it is not really necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:06:02 +0000 (16:06 +0400)]
Get rid CL_REQUIRE/CL_PROVIDE(cl_F_mostneg), it is not really necessary.

Move static variables most_negative_[SFDL]F into most_negative_LF() function
(which is the only user of those variables) in order to avoid possible static
order initialization problems. While at it, make most_negative_LF() function
static.

16 years agoGet rid CL_REQUIRE/CL_PROVIDE(cl_F_mostpos), it is not really necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:06:02 +0000 (16:06 +0400)]
Get rid CL_REQUIRE/CL_PROVIDE(cl_F_mostpos), it is not really necessary.

Move static variables most_positive_[SFDL]F into most_positive_LF() function
(which is the only user of those variables) in order to avoid possible static
order initialization problems. While at it, make most_positive_LF() function
static.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_fmt_floatstring)...
Alexei Sheplyakov [Thu, 21 Aug 2008 14:34:06 +0000 (18:34 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_fmt_floatstring)...

The code doesn't seem to initialize any static objects at all.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_F_catalanconst_var).
Alexei Sheplyakov [Thu, 21 Aug 2008 16:44:33 +0000 (20:44 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_F_catalanconst_var).

Turn cl_[SDFL]F_catalanconst global variables into functions (which return
a reference to the static value) in order to avoid static initialization
order problems.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_F_eulerconst_var).
Alexei Sheplyakov [Thu, 21 Aug 2008 16:27:17 +0000 (20:27 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_F_eulerconst_var).

Turn cl_[SDFL]F_eulerconst global variables into functions (which return
a reference to the static value) in order to avoid static initialization
order problems.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_F_exp1_var).
Alexei Sheplyakov [Thu, 21 Aug 2008 14:16:31 +0000 (18:16 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_F_exp1_var).

Turn cl_[SDFL]F_exp1 global variables into functions (which return a reference
to the static value) in order to avoid static initialization order problems.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_F_ln10_var).
Alexei Sheplyakov [Thu, 21 Aug 2008 14:14:24 +0000 (18:14 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_F_ln10_var).

Turn cl_[SDFL]F_ln10 global variables into functions (which return a constant
reference to the static value) in order to avoid static initialization order
problems.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_F_ln2_var).
Alexei Sheplyakov [Thu, 21 Aug 2008 14:12:39 +0000 (18:12 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_F_ln2_var).

Turn cl_[SDFL]F_ln2 global variables into functions (which return a constant
reference to the static value) in order to avoid static initialization order
problems.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_F_pi_var).
Alexei Sheplyakov [Thu, 21 Aug 2008 14:08:01 +0000 (18:08 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_F_pi_var).

Turn cl_[SDFL]F_pi global variables into functions (which return a constant
reference to the static value) in order to avoid static initialization order
problems.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_GV_I) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 17:20:54 +0000 (21:20 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_GV_I) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_GV_number) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 17:18:57 +0000 (21:18 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_GV_number) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_SV_number) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 17:18:11 +0000 (21:18 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_SV_number) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_SV_ringelt) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 17:16:50 +0000 (21:16 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_SV_ringelt) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoGet rid CL_REQUIRE/CL_PROVIDE(cl_fmt_scaleexp), it is not necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:06:02 +0000 (16:06 +0400)]
Get rid CL_REQUIRE/CL_PROVIDE(cl_fmt_scaleexp), it is not necessary.

Move a bunch of static objects (tenth, SF_zero, FF_zero, etc) into
the function get_float_params (which is the only user of those variables)
in order to avoid possible static order initialization problems.

16 years agoRemove CL_REQUIRE/CL_PROVIDE(cl_I_doublefactorial) as it's unnecessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 12:02:59 +0000 (16:02 +0400)]
Remove CL_REQUIRE/CL_PROVIDE(cl_I_doublefactorial) as it's unnecessary.

The only user of doublefakul_table array is doublefactorial function, so
put that array inside it in order to avoid possible static initialization
order problems.

16 years agoRemove CL_REQUIRE/CL_PROVIDE(cl_I_factorial) as it's not really necessary.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:58:06 +0000 (15:58 +0400)]
Remove CL_REQUIRE/CL_PROVIDE(cl_I_factorial) as it's not really necessary.

factorial() is the only function which uses fakul_table[] array, so move
it into that function in order to avoid possible static initialization
order problems.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_MI) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:56:43 +0000 (15:56 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_MI) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_RA_ring) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:55:45 +0000 (15:55 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_RA_ring) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_I_ring) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:55:11 +0000 (15:55 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_I_ring) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_R_ring) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:54:46 +0000 (15:54 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_R_ring) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_LF_globals) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:46:29 +0000 (15:46 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_LF_globals) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_FF_globals) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:46:16 +0000 (15:46 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_FF_globals) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoGet rid of CL_REQUIRE/CL_PROVIDE(cl_ieee).
Alexei Sheplyakov [Thu, 21 Aug 2008 18:00:49 +0000 (22:00 +0400)]
Get rid of CL_REQUIRE/CL_PROVIDE(cl_ieee).

While at it, remove work around for ancient (fixed in 8+ years) glibc/Linux
bug (the kernel and/or libc was initializing FPU into non-IEEE mode, so division
by 0 resulted in SIGFPE instead of NaN).

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_DF_globals) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:24:30 +0000 (15:24 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_DF_globals) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_C_ring) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:18:34 +0000 (15:18 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_C_ring) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_symbol) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:17:50 +0000 (15:17 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_symbol) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_st_null) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:17:06 +0000 (15:17 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_st_null) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_no_ring) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:15:09 +0000 (15:15 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_no_ring) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_random_def) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 11:11:08 +0000 (15:11 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_random_def) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoReplace CL_REQUIRE/CL_PROVIDE(cl_prin_globals) with portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 09:56:15 +0000 (13:56 +0400)]
Replace CL_REQUIRE/CL_PROVIDE(cl_prin_globals) with portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoreplace CL_REQUIRE/CL_PROVIDE(cl_0_ring) with (more) portable code.
Alexei Sheplyakov [Thu, 21 Aug 2008 09:05:39 +0000 (13:05 +0400)]
replace CL_REQUIRE/CL_PROVIDE(cl_0_ring) with (more) portable code.

The order of initialization of non-local objects in different compilation units
is not specified in C++. Hence special care should be taken to avoid static
initialization order fiasco. CLN solved the problem with some evil (GCC
specific, and even GCC-version-specific) hack. Replace it with a technique
similar to one used in STL to initialize std::cout and friends.

16 years agoCorrect typo in definition of binomial.
Richard Kreckel [Mon, 2 Jun 2008 20:29:42 +0000 (20:29 +0000)]
Correct typo in definition of binomial.

(Reported by Warren Weckesser.)

16 years agoRemove support for K&R C compilers.
Bruno Haible [Sun, 25 May 2008 08:12:47 +0000 (08:12 +0000)]
Remove support for K&R C compilers.

16 years agoFix sparc64 build with -DNO_ASM and reduce compiler warnings.
Richard Kreckel [Mon, 21 Apr 2008 20:56:29 +0000 (20:56 +0000)]
Fix sparc64 build with -DNO_ASM and reduce compiler warnings.

16 years agoFix last ChangeLog entry.
Bruno Haible [Sat, 19 Apr 2008 01:41:10 +0000 (01:41 +0000)]
Fix last ChangeLog entry.

16 years agoFix a bug in FN_to_NDS in configurations where intDsize < intPsize.
Bruno Haible [Fri, 18 Apr 2008 23:56:32 +0000 (23:56 +0000)]
Fix a bug in FN_to_NDS in configurations where intDsize < intPsize.

16 years agoFix VPATH build [Alexei Sheplyakov].
Richard Kreckel [Mon, 7 Apr 2008 21:32:02 +0000 (21:32 +0000)]
Fix VPATH build [Alexei Sheplyakov].

16 years agoRe-esatblish 1.2.0 ABI, broken 2008-02-22 [Alexei Sheplyakov].
Richard Kreckel [Mon, 7 Apr 2008 21:30:53 +0000 (21:30 +0000)]
Re-esatblish 1.2.0 ABI, broken 2008-02-22 [Alexei Sheplyakov].

* src/float/input/cl_F_readparsed.cc: Add obsolete signature with index
args uintL.
* src/integer/input/cl_I_readparsed.cc: Likewise.
* src/rational/input/cl_RA_readparsed.cc: Likewise.

16 years agoFinalize release 1.2.2. cln_1-2-2
Richard Kreckel [Sat, 5 Apr 2008 21:03:28 +0000 (21:03 +0000)]
Finalize release 1.2.2.

16 years agoPrepare for Release 1.2.2.
Richard Kreckel [Fri, 4 Apr 2008 22:34:55 +0000 (22:34 +0000)]
Prepare for Release 1.2.2.

16 years agoRe-establish ABI, broken 2008-01-20.
Richard Kreckel [Fri, 4 Apr 2008 22:09:56 +0000 (22:09 +0000)]
Re-establish ABI, broken 2008-01-20.

* src/float/ffloat/conv/cl_FF_from_float.cc: Add obsolete signature of
cl_float_to_FF_pointer.
* src/float/dfloat/conv/cl_DF_from_double.cc: Add obsolete signature of
cl_double_to_DF_pointer.

16 years agoFix hack from 2008-01-20 that broke on ARM.
Bruno Haible [Tue, 1 Apr 2008 00:51:50 +0000 (00:51 +0000)]
Fix hack from 2008-01-20 that broke on ARM.

16 years agoFinalize release 1.2.1. cln_1-2-1
Richard Kreckel [Mon, 24 Mar 2008 21:55:10 +0000 (21:55 +0000)]
Finalize release 1.2.1.

16 years agoNew file, for recreating the build prerequisites after a CVS checkout.
Bruno Haible [Mon, 24 Mar 2008 02:05:40 +0000 (02:05 +0000)]
New file, for recreating the build prerequisites after a CVS checkout.

16 years agoFix bug introduced on 2008-02-23.
Bruno Haible [Mon, 24 Mar 2008 02:03:41 +0000 (02:03 +0000)]
Fix bug introduced on 2008-02-23.

16 years agoOptional support for configure --with-gmp=GMP-PREFIX.
Richard Kreckel [Sat, 15 Mar 2008 21:13:51 +0000 (21:13 +0000)]
Optional support for configure --with-gmp=GMP-PREFIX.

16 years agoSupport for gcc-4.3 snapshots.
Bruno Haible [Sun, 24 Feb 2008 18:56:36 +0000 (18:56 +0000)]
Support for gcc-4.3 snapshots.

16 years agoChange "make alls" and "make allo" to recurse into subdirectories.
Bruno Haible [Sat, 23 Feb 2008 18:06:32 +0000 (18:06 +0000)]
Change "make alls" and "make allo" to recurse into subdirectories.
* src/Makefile.in (alls-local): Renamed from alls.
(allo-local): Renamed from allo.
(SUBDIRS_TARGET_ALL): Renamed from SUBDIRS_TARGET.
(alls, allo): New rules.
(SUBDIRS_TARGET_ALLS, SUBDIRS_TARGET_ALLO): New variables.

16 years agoMake index variables uintC.
Richard Kreckel [Fri, 22 Feb 2008 21:30:26 +0000 (21:30 +0000)]
Make index variables uintC.

16 years ago * More robust definition of CL_HAVE_ATTRIBUTE_FLATTEN.
Richard Kreckel [Fri, 15 Feb 2008 23:51:10 +0000 (23:51 +0000)]
* More robust definition of CL_HAVE_ATTRIBUTE_FLATTEN.

16 years ago* (CL_HAVE_ATTRIBUTE_FLATTEN) Fix broken macro name.
Richard Kreckel [Tue, 12 Feb 2008 21:51:53 +0000 (21:51 +0000)]
* (CL_HAVE_ATTRIBUTE_FLATTEN) Fix broken macro name.

16 years ago* Upgrade to files from libtool 1.5.26.
Richard Kreckel [Sun, 10 Feb 2008 21:37:28 +0000 (21:37 +0000)]
* Upgrade to files from libtool 1.5.26.

16 years agoAvoid compiler warning about ignored 'flatten' attribute directive.
Richard Kreckel [Sat, 9 Feb 2008 16:44:17 +0000 (16:44 +0000)]
Avoid compiler warning about ignored 'flatten' attribute directive.

16 years agoEnable modifying operators by default.
Richard Kreckel [Thu, 7 Feb 2008 00:13:05 +0000 (00:13 +0000)]
Enable modifying operators by default.

16 years agoEnable modifying operators by default.
Richard Kreckel [Wed, 6 Feb 2008 23:58:21 +0000 (23:58 +0000)]
Enable modifying operators by default.

16 years agoFix crash in output of huge numbers.
Richard Kreckel [Wed, 6 Feb 2008 08:11:34 +0000 (08:11 +0000)]
Fix crash in output of huge numbers.

16 years ago Fix cl_F output of more than 2^32 decimal digits:
Richard Kreckel [Mon, 4 Feb 2008 23:51:56 +0000 (23:51 +0000)]
    Fix cl_F output of more than 2^32 decimal digits:
        * src/base/string/cl_sstring.cc (cl_sstring): make len uintC.
        * src/base/string/cl_sstring.h: Likewise.

16 years agoAllow 64-bit builds on MacOS X 10.5.
Bruno Haible [Wed, 23 Jan 2008 12:07:02 +0000 (12:07 +0000)]
Allow 64-bit builds on MacOS X 10.5.

16 years ago* CLN-1.2.1 (libcln.so.5.0.1)
Richard Kreckel [Tue, 22 Jan 2008 21:54:38 +0000 (21:54 +0000)]
* CLN-1.2.1 (libcln.so.5.0.1)

16 years agoAvoid some gcc warnings.
Bruno Haible [Tue, 22 Jan 2008 00:19:25 +0000 (00:19 +0000)]
Avoid some gcc warnings.

16 years agoAvoid gcc warning about "unused variable".
Bruno Haible [Tue, 22 Jan 2008 00:19:14 +0000 (00:19 +0000)]
Avoid gcc warning about "unused variable".

16 years agoAvoid gcc warnings about "statement without effect".
Bruno Haible [Tue, 22 Jan 2008 00:18:56 +0000 (00:18 +0000)]
Avoid gcc warnings about "statement without effect".

16 years agoAvoid gcc warnings about type-punning and "... break strict-aliasing rules".
Bruno Haible [Tue, 22 Jan 2008 00:18:15 +0000 (00:18 +0000)]
Avoid gcc warnings about type-punning and "... break strict-aliasing rules".

16 years agoAdd OS X Leopard (as reported by Ron Garret).
Richard Kreckel [Mon, 21 Jan 2008 17:58:37 +0000 (17:58 +0000)]
Add OS X Leopard (as reported by Ron Garret).

16 years ago* Update to fixes in doc subdir. cln_1-2-0
Richard Kreckel [Sat, 19 Jan 2008 20:50:30 +0000 (20:50 +0000)]
* Update to fixes in doc subdir.

16 years ago* Add table of contents in TeX output.
Richard Kreckel [Sat, 19 Jan 2008 20:50:15 +0000 (20:50 +0000)]
* Add table of contents in TeX output.

16 years agodoc/Makefile.in: texi2html -split_chapter doesn't generate cln_toc.html
Richard Kreckel [Sat, 19 Jan 2008 20:49:57 +0000 (20:49 +0000)]
doc/Makefile.in: texi2html -split_chapter doesn't generate cln_toc.html
any more.

16 years ago* Release 1.2.0.
Richard Kreckel [Sat, 19 Jan 2008 20:21:26 +0000 (20:21 +0000)]
* Release 1.2.0.