]> www.ginac.de Git - cln.git/log
cln.git
3 years ago[build] Use autoconf to find out cl_word_alignment.
Alexey Sheplyakov [Mon, 3 Oct 2011 07:22:28 +0000 (10:22 +0300)]
[build] Use autoconf to find out cl_word_alignment.

This way there's no need to define cl_word_alignment for every CPU. Also we
can stop exposing __$cpu__ macros in the public headers (for one our macros
conflict with compiler defined ones).

3 years ago[compile fix] Remove incorrect forward-declaration of perror().
Alexey Sheplyakov [Sun, 26 Feb 2012 19:55:08 +0000 (21:55 +0200)]
[compile fix] Remove incorrect forward-declaration of perror().

First of all, the return type is void, not int (according to C89).
Secondly, perror is required by C89, so there's no need to check for it.

Fixes (cross-) compilation with MinGW.

3 years ago[build] Don't try to find out the exact prototype of gettimeofday().
Alexey Sheplyakov [Tue, 30 Aug 2011 20:28:37 +0000 (23:28 +0300)]
[build] Don't try to find out the exact prototype of gettimeofday().

First of all, according to POSIX gettimeofday() has the following protype:

int gettimeofday(struct timeval *restrict tp, void restrict* tzp);

so GETTIMEOFDAY_DOTS is not really necessary.

Secondly, we always pass NULL as the second argument, so its type does not
really matter.

3 years agoAvoid "'register' storage class specifier is deprecated" warnings.
Richard Kreckel [Thu, 19 Nov 2020 16:40:23 +0000 (17:40 +0100)]
Avoid "'register' storage class specifier is deprecated" warnings.

The 'register' storage class specifier has been deprecated in C++11 and
is incompatible with C++17. GCC and Clang have long been ignoring it.

4 years agoRemove internal inline versions of numerator/denominator(cl_RA).
Richard Kreckel [Mon, 19 Oct 2020 18:36:33 +0000 (20:36 +0200)]
Remove internal inline versions of numerator/denominator(cl_RA).

These functions were not used internally, but they broke LTO because
they were declared extern publicly.

See <https://www.ginac.de/pipermail/cln-list/2020-September/000772.html>.

4 years agoReplace unused macro with cl_unused.
Richard Kreckel [Mon, 19 Oct 2020 08:36:57 +0000 (10:36 +0200)]
Replace unused macro with cl_unused.

It has become customary to use 'unused' within bitfields. Better avoid
this conflict. This fixes cross-compilation issues on several ARM-based
host platforms.

4 years agoAssume types 'long long int' and 'long double' exist.
Richard Kreckel [Sat, 17 Oct 2020 22:23:28 +0000 (00:23 +0200)]
Assume types 'long long int' and 'long double' exist.

The C++11 standard requires in 3.9.1-2 that type 'long long int' exists
and in -8 that type 'long double' exists. So, remove macros HAVE_LONGLONG
and HAVE_LONGDOUBLE. Also, shamelessly update m4/param.m4, m4/intparam.m4,
and m4/floatparam.m4 with code from CLisp.

All this fixes several cross-compilation issues discovered by
Helmut Grohne <helmut@subdivi.de>.

4 years agoFix configury (intptr_t test) for cross-compilation.
Richard Kreckel [Sun, 11 Oct 2020 10:20:44 +0000 (12:20 +0200)]
Fix configury (intptr_t test) for cross-compilation.

Reported by Helmut Grohne <helmut@subdivi.de> (cf. Debian bug#971939).

4 years agoMove factorial check from test section to exam section...
Richard Kreckel [Wed, 1 Jan 2020 11:38:02 +0000 (12:38 +0100)]
Move factorial check from test section to exam section...

...since it has no randomness and no iterations, cf. tests/FILES.

4 years agoFixed factorial calculation on 64-bit windows.
Alexey Sheplyakov [Wed, 1 Jan 2020 11:22:31 +0000 (12:22 +0100)]
Fixed factorial calculation on 64-bit windows.

4 years agoFinalize CLN 1.3.6 release. cln_1-3-6
Richard Kreckel [Thu, 5 Dec 2019 20:56:09 +0000 (21:56 +0100)]
Finalize CLN 1.3.6 release.

4 years agoCommit 2f799401454292 (`Replace typedef int[<negative>] trick with static_assert.`)
Alexey Sheplyakov [Wed, 4 Dec 2019 22:57:14 +0000 (23:57 +0100)]
Commit 2f799401454292 (`Replace typedef int[<negative>] trick with static_assert.`)
breaks cross compilation due to invalid `include/cln/intparam.h` header
produced by the configure script.

CL_INTPARAM_BITSIZE relies on integer multiplication overflow to find out
the bit size of various integer types. However singed integer overflow
is an undefined behavior. Apparently in some contexts GCC uses mod 2^N
arithmetics to evaluate the signed integer expressions. As a result
`typedef int[2*((T)((T)2 * ... * (T)2) == 0) - 1]` trick works with both
signed and unsigned integers (and gives the correct result).

Howerver GCC considers an expression involving an integer overflow as
a non-constant, and refuses to use it in `static_assert`:

$ cat signed_overflow.cc

void f() {
static_assert((int)((int)(1 << 30) * (int)2 * (int)2) == 0, "");
}

$ g++ -c signed_overflow.cc

signed_overflow.cc: In function ‘void f()’:
signed_overflow.cc:2:37: warning: integer overflow in expression [-Woverflow]
  static_assert((int)((int)(1 << 30) * (int)2 * (int)2) == 0, "");
                      ~~~~~~~~~~~~~~~^~~~~~~~
signed_overflow.cc:2:2: error: non-constant condition for static assertion
  static_assert((int)((int)(1 << 30) * (int)2 * (int)2) == 0, "");
  ^~~~~~~~~~~~~

As a result `static_assert((T)((T)2 * ... * (T)2) == 0, "")` never holds
since either 1) the condition can't possibly hold without an overflow,
or 2) GCC rejects the expression when the overflow occurs.

Keep using the old good `typedef int[negative]` in CL_INTPARAM_BITSIZE
to avoid the problem.

4 years ago[DOC] Shorten copyright years, also on PDF.
Richard Kreckel [Mon, 18 Nov 2019 09:11:57 +0000 (10:11 +0100)]
[DOC] Shorten copyright years, also on PDF.

4 years agoFix long-standing bug in the "signed" variants of fprinthexadecimal.
Bruno Haible [Mon, 18 Nov 2019 00:32:13 +0000 (01:32 +0100)]
Fix long-standing bug in the "signed" variants of fprinthexadecimal.

4 years agotest_I_io now succeeds on native Windows.
Bruno Haible [Sun, 27 Oct 2019 22:03:41 +0000 (23:03 +0100)]
test_I_io now succeeds on native Windows.

4 years agoFinalize CLN 1.3.5 release. cln_1-3-5
Richard Kreckel [Sun, 17 Nov 2019 21:28:11 +0000 (22:28 +0100)]
Finalize CLN 1.3.5 release.

4 years agoRestore ABI from version 1.3.4.
Richard Kreckel [Sun, 17 Nov 2019 21:19:14 +0000 (22:19 +0100)]
Restore ABI from version 1.3.4.

Make all signatures of fprintdecimal and fprinthexadecimal non-inline
functions, as they were before.

4 years agoShip INSTALL.windows.
Richard Kreckel [Tue, 5 Nov 2019 22:30:28 +0000 (23:30 +0100)]
Ship INSTALL.windows.

5 years agoAvoid "this statement may fall through" warnings.
Richard Kreckel [Fri, 1 Nov 2019 22:45:11 +0000 (23:45 +0100)]
Avoid "this statement may fall through" warnings.

5 years agoDelete allocation and deallocation operators that are forbidden.
Richard Kreckel [Fri, 1 Nov 2019 22:21:51 +0000 (23:21 +0100)]
Delete allocation and deallocation operators that are forbidden.

This also avoids compiler warnings about non-throwing exception
specifications.

5 years agoAvoid "suggest explicit braces to avoid ambiguous 'else'" warnings.
Richard Kreckel [Fri, 1 Nov 2019 21:55:39 +0000 (22:55 +0100)]
Avoid "suggest explicit braces to avoid ambiguous 'else'" warnings.

5 years agoMake scale_float() not throw a floating_point_underflow_exception...
Richard Kreckel [Fri, 1 Nov 2019 19:37:24 +0000 (20:37 +0100)]
Make scale_float() not throw a floating_point_underflow_exception...

...if cl_inhibit_floating_point_underflow was set to true.

Reported by Jan Rheinländer <jrheinlaender@gmx.de>.

5 years agoInstallation instruction for Microsoft Windows.
Bruno Haible [Mon, 28 Oct 2019 00:43:30 +0000 (01:43 +0100)]
Installation instruction for Microsoft Windows.

* INSTALL.windows: New file, copied from GNU gettext.

5 years agoRetrieve the real time through gettimeofday(), not times().
Bruno Haible [Sun, 27 Oct 2019 21:58:26 +0000 (22:58 +0100)]
Retrieve the real time through gettimeofday(), not times().

5 years agoFix compilation error with MSVC in 64-bit mode.
Bruno Haible [Mon, 28 Oct 2019 00:25:21 +0000 (01:25 +0100)]
Fix compilation error with MSVC in 64-bit mode.

* include/cln/types.h: Test _M_AMD64 in addition to __x86_64__.

5 years agoFix compilation error on MSVC.
Bruno Haible [Sun, 27 Oct 2019 21:51:43 +0000 (22:51 +0100)]
Fix compilation error on MSVC.

Based on code that I wrote for gnulib.

5 years agoFix #if directives that test for native Windows.
Bruno Haible [Sun, 27 Oct 2019 21:20:44 +0000 (22:20 +0100)]
Fix #if directives that test for native Windows.

5 years agoRestore ability to use a C++ compiler that does not claim to support C++11.
Bruno Haible [Sun, 27 Oct 2019 21:01:09 +0000 (22:01 +0100)]
Restore ability to use a C++ compiler that does not claim to support C++11.

5 years agoFetch imported m4 files during autogen.sh invocation.
Bruno Haible [Sun, 27 Oct 2019 19:37:46 +0000 (20:37 +0100)]
Fetch imported m4 files during autogen.sh invocation.

5 years ago64-bit mingw port: Fix undefined references to cl_I_constructor_from_[U]L.
Bruno Haible [Sun, 27 Oct 2019 18:47:07 +0000 (19:47 +0100)]
64-bit mingw port: Fix undefined references to cl_I_constructor_from_[U]L.

5 years ago64-bit mingw port: size_t may be larger than 'unsigned long'.
Bruno Haible [Sun, 27 Oct 2019 18:47:06 +0000 (19:47 +0100)]
64-bit mingw port: size_t may be larger than 'unsigned long'.

5 years ago64-bit mingw port: Extend fprintdecimal and fprinthexadecimal up to 'long long'.
Bruno Haible [Sun, 27 Oct 2019 18:47:04 +0000 (19:47 +0100)]
64-bit mingw port: Extend fprintdecimal and fprinthexadecimal up to 'long long'.

5 years ago64-bit mingw port: Change return type of 'offsetof' to intptr_t.
Robert Szalai [Sun, 27 Oct 2019 18:47:03 +0000 (19:47 +0100)]
64-bit mingw port: Change return type of 'offsetof' to intptr_t.

5 years ago64-bit mingw port: Use intptr_t, not long, to guarantee alignment.
Robert Szalai [Sun, 27 Oct 2019 18:47:01 +0000 (19:47 +0100)]
64-bit mingw port: Use intptr_t, not long, to guarantee alignment.

5 years ago64-bit mingw port: In hash table routines, use 'intptr_t' instead of 'long'.
Robert Szalai [Sun, 27 Oct 2019 18:47:00 +0000 (19:47 +0100)]
64-bit mingw port: In hash table routines, use 'intptr_t' instead of 'long'.

5 years ago64-bit mingw port: Avoid ambiguous overload error due to cl_[su]int change.
Bruno Haible [Sun, 27 Oct 2019 18:46:59 +0000 (19:46 +0100)]
64-bit mingw port: Avoid ambiguous overload error due to cl_[su]int change.

5 years ago64-bit mingw port: Define intV in terms of intP.
Bruno Haible [Sun, 27 Oct 2019 18:46:57 +0000 (19:46 +0100)]
64-bit mingw port: Define intV in terms of intP.

5 years ago64-bit mingw port: Define cl_tag_mask, cl_value_mask w.r.t. cl_uint.
Bruno Haible [Sun, 27 Oct 2019 18:46:56 +0000 (19:46 +0100)]
64-bit mingw port: Define cl_tag_mask, cl_value_mask w.r.t. cl_uint.

Based on a patch by Robert Szalai <robicjedi@gmail.com>.

5 years ago64-bit mingw port: Define sintP, uintP in terms of 'intptr_t', not 'long'.
Bruno Haible [Sun, 27 Oct 2019 18:46:55 +0000 (19:46 +0100)]
64-bit mingw port: Define sintP, uintP in terms of 'intptr_t', not 'long'.

Based on a patch by Robert Szalai <robicjedi@gmail.com>.

5 years ago64-bit mingw port: Fix compilation error of intparam.c.
Bruno Haible [Sun, 27 Oct 2019 18:46:53 +0000 (19:46 +0100)]
64-bit mingw port: Fix compilation error of intparam.c.

5 years ago64-bit mingw port: Verify that pointers fit in 'intptr_t', not 'long'.
Bruno Haible [Sun, 27 Oct 2019 18:46:51 +0000 (19:46 +0100)]
64-bit mingw port: Verify that pointers fit in 'intptr_t', not 'long'.

5 years agoAdd ASSERT_n macros for n up to 8.
Bruno Haible [Sun, 27 Oct 2019 15:40:39 +0000 (16:40 +0100)]
Add ASSERT_n macros for n up to 8.

5 years agoautogen.sh: Always fetch the files; don't let old copies stick around forever.
Bruno Haible [Sun, 27 Oct 2019 14:39:49 +0000 (15:39 +0100)]
autogen.sh: Always fetch the files; don't let old copies stick around forever.

5 years agoAvoid "integer overflow in expression" warning.
Bruno Haible [Sun, 27 Oct 2019 15:06:45 +0000 (16:06 +0100)]
Avoid "integer overflow in expression" warning.

5 years agoReplace typedef int[<negative>] trick with static_assert.
Richard Kreckel [Sun, 27 Oct 2019 13:57:36 +0000 (14:57 +0100)]
Replace typedef int[<negative>] trick with static_assert.

5 years agoUpdate version dependencies of automake, autoconf.
Richard Kreckel [Sun, 27 Oct 2019 13:21:50 +0000 (14:21 +0100)]
Update version dependencies of automake, autoconf.

5 years agoAvoid "multi-line comment" warning.
Bruno Haible [Sun, 27 Oct 2019 13:08:00 +0000 (14:08 +0100)]
Avoid "multi-line comment" warning.

5 years agoAvoid "suggest parentheses around ‘-’ inside ‘>>’" warning.
Bruno Haible [Sun, 27 Oct 2019 13:07:49 +0000 (14:07 +0100)]
Avoid "suggest parentheses around ‘-’ inside ‘>>’" warning.

5 years agoAvoid some "suggest explicit braces to avoid ambiguous ‘else’" warnings.
Bruno Haible [Sun, 27 Oct 2019 13:07:44 +0000 (14:07 +0100)]
Avoid some "suggest explicit braces to avoid ambiguous ‘else’" warnings.

5 years agoAvoid "statement has no effect" warnings.
Bruno Haible [Sun, 27 Oct 2019 13:07:18 +0000 (14:07 +0100)]
Avoid "statement has no effect" warnings.

5 years agoAvoid "typedef ... locally defined but not used" warnings.
Bruno Haible [Sun, 27 Oct 2019 13:07:01 +0000 (14:07 +0100)]
Avoid "typedef ... locally defined but not used" warnings.

5 years agoExtend .gitignore to also ignore built files.
Bruno Haible [Sun, 27 Oct 2019 13:06:06 +0000 (14:06 +0100)]
Extend .gitignore to also ignore built files.

5 years agoMake underlying type sintE of cln::float_format_t explicit.
Richard Kreckel [Sun, 27 Oct 2019 10:16:34 +0000 (11:16 +0100)]
Make underlying type sintE of cln::float_format_t explicit.

Suggested by Jan Rheinländer <jrheinlaender@gmx.de>.

5 years agoRequire C++11 compiler.
Richard Kreckel [Sun, 27 Oct 2019 10:00:23 +0000 (11:00 +0100)]
Require C++11 compiler.

5 years agoUpdate to currently largest known Mersenne prime.
Richard Kreckel [Sun, 27 Oct 2019 08:39:12 +0000 (09:39 +0100)]
Update to currently largest known Mersenne prime.

5 years agoRemove obsolete CVSROOT directory.
Bruno Haible [Sat, 26 Oct 2019 15:02:49 +0000 (17:02 +0200)]
Remove obsolete CVSROOT directory.

5 years agoRemove left-over .deps directories.
Bruno Haible [Sat, 26 Oct 2019 14:54:12 +0000 (16:54 +0200)]
Remove left-over .deps directories.

5 years agoDistribute INSTALL.generic.
Bruno Haible [Sat, 26 Oct 2019 14:53:38 +0000 (16:53 +0200)]
Distribute INSTALL.generic.

5 years agoRevamp and simplify autoconfiguration.
Bruno Haible [Sat, 26 Oct 2019 14:52:28 +0000 (16:52 +0200)]
Revamp and simplify autoconfiguration.

- New file autogen.sh.
- Put build scripts in build-aux/ not autoconf/.
- Install lib-*.m4 and config.rpath through gnulib module 'havelib'.
- Install 'test-driver' through automake.

5 years agoAdded e2k arch support.
Michael Shigorin [Mon, 2 Sep 2019 08:08:55 +0000 (11:08 +0300)]
Added e2k arch support.

About the CPU: https://en.wikipedia.org/wiki/Elbrus_2000
About the Linux port: https://www.altlinux.org/Ports/e2k

5 years agoFix warnings from gcc's -Wshift-overflow.
Bruno Haible [Mon, 7 Jan 2019 06:52:12 +0000 (07:52 +0100)]
Fix warnings from gcc's -Wshift-overflow.

Reported by David van der Spoel <spoel@xray.bmc.uu.se>.

* src/base/cl_macros.h (bit, bitm, minus_bit, minus_bitm): Shift an unsigned
value, not a signed value.

6 years agoAdd support for riscv64 platform.
Manuel A. Fernandez Montecelo [Thu, 3 May 2018 21:28:36 +0000 (23:28 +0200)]
Add support for riscv64 platform.

6 years agoUpdate to recently found large Mersenne prime.
Richard Kreckel [Sun, 18 Mar 2018 11:12:26 +0000 (12:12 +0100)]
Update to recently found large Mersenne prime.

6 years agoSupport MIPS release 6.
YunQiang Su [Sun, 18 Mar 2018 11:05:51 +0000 (12:05 +0100)]
Support MIPS release 6.

MIPS release 6 is not full compatible with the previous releases, it removes
some instructions and changes encoding of some instruction.
the `multu' is included.

MIPS r6 drops `lo' and `hi' registers, and then removes `multu'/`mfhi'/`mflo'.
Instead it uses `mulu' to compute the low part and `muhu' to compute
the high part.

7 years agoUpdate known-to-work-with compilers.
Richard Kreckel [Thu, 4 May 2017 22:17:07 +0000 (00:17 +0200)]
Update known-to-work-with compilers.

And while at it, remove some workarounds for ancient compilers.

8 years agoUpdate to recently found large Mersenne prime.
Richard Kreckel [Thu, 11 Feb 2016 22:23:57 +0000 (23:23 +0100)]
Update to recently found large Mersenne prime.

10 years agoFinalize CLN 1.3.4 release. cln_1-3-4
Richard Kreckel [Thu, 16 Oct 2014 06:12:32 +0000 (06:12 +0000)]
Finalize CLN 1.3.4 release.

10 years agoRemove workarounds for obsolete compilers.
Richard Kreckel [Mon, 13 Oct 2014 19:42:11 +0000 (19:42 +0000)]
Remove workarounds for obsolete compilers.

10 years agoFix support for Mips*.
Richard Kreckel [Sat, 11 Oct 2014 22:40:03 +0000 (22:40 +0000)]
Fix support for Mips*.

Patch by YunQiang Su <wzssyqa@gmail.com> (cf. Debian bug#748325).

10 years agoJanitorial clean-up.
Richard Kreckel [Sat, 11 Oct 2014 22:24:25 +0000 (22:24 +0000)]
Janitorial clean-up.

Remove some unused variables and convert files with CRNL line endings
to files with NL line endings.

10 years agoMake float_format(uintE) more precise.
Richard Kreckel [Sat, 11 Oct 2014 22:15:37 +0000 (22:15 +0000)]
Make float_format(uintE) more precise.

Due to a typo in the binary representation lfo ln(10)/ln(2), this
function could preduce slightly wrong sizes for really huge arguments.

10 years agoFix floating-point input from decimal string.
Richard Kreckel [Sat, 11 Oct 2014 22:03:21 +0000 (22:03 +0000)]
Fix floating-point input from decimal string.

A bug was introduced in 3480230e: The divide-and-conquer method multiplies
with a power of the base, but this power is one too much if there is a
decimal point. This may happen because digits_to_I(...) is also called
from read_float(...). As a result, the number containd spurious zeros
(in the base used for reading it).

Thanks to Thomas Luthe <tluthe@physik.uni-bielefeld.de>.

10 years agoUse 8-byte word alignment on arm64.
Richard Kreckel [Fri, 19 Sep 2014 20:40:20 +0000 (20:40 +0000)]
Use 8-byte word alignment on arm64.

The previous patch cb76b5eb used 4-byte word alignment.
Thanks to Peter Green and Hector Oron for pointing out that
8-byte alignment should be used (cf. Debian bug #757623).

10 years agoFix support for Mips64.
Richard Kreckel [Thu, 22 May 2014 07:52:56 +0000 (07:52 +0000)]
Fix support for Mips64.

Yunquiang Su <wzssyqa@gmail.com> proposed to use 64 bit [su]intD and
long [su]intC on mips64 and mips64el.

While at it, cleaned up the AArch64 definitions from cb76b5eb.

10 years agoAdd AArch64 support.
Marcin Juszkiewicz [Wed, 23 Apr 2014 20:00:38 +0000 (20:00 +0000)]
Add AArch64 support.

While building Fedora 21 for AArch64 we found out that your software is
not building for us. Attached is a fix which adds this architecture in
all required places.

10 years agoRevert "Convert complex numbers to real numbers if imaginary part is floating-point...
Richard Kreckel [Thu, 16 Jan 2014 22:00:42 +0000 (22:00 +0000)]
Revert "Convert complex numbers to real numbers if imaginary part is floating-point 0.0."

This reverts commit 536a0ac50f6c90198982267943af4d551612a9d9.

Cf. <http://www.ginac.de/pipermail/ginac-devel/2014-January/002086.html/>.

10 years agoConvert complex numbers to real numbers if imaginary part is floating-point 0.0.
Richard Kreckel [Mon, 13 Jan 2014 21:49:04 +0000 (21:49 +0000)]
Convert complex numbers to real numbers if imaginary part is floating-point 0.0.

This conversion worked only for rational imaginary parts.

11 years agoMinor fixes for recent CLang.
Richard Kreckel [Sat, 19 Oct 2013 07:19:57 +0000 (07:19 +0000)]
Minor fixes for recent CLang.

Needed for CLang 3.2.

11 years agoAdd subdir-objects to Automake options.
Richard Kreckel [Fri, 11 Oct 2013 21:18:53 +0000 (21:18 +0000)]
Add subdir-objects to Automake options.

This option is needed to keep automake 1.14 happy.

11 years agoFinalize CLN 1.3.3 release. cln_1-3-3
Richard Kreckel [Sun, 21 Jul 2013 21:01:24 +0000 (21:01 +0000)]
Finalize CLN 1.3.3 release.

* Removed some obsolete Makefile.devel.
* Updated autoconf tools.
* Updated version and copyright information.

11 years agoAvoid compiler warning.
Richard Kreckel [Sat, 20 Jul 2013 12:29:41 +0000 (12:29 +0000)]
Avoid compiler warning.

11 years agoSupport for Texinfo-5.0.
Richard Kreckel [Fri, 19 Jul 2013 21:44:30 +0000 (21:44 +0000)]
Support for Texinfo-5.0.

Changed some @itemx into @item. Surround the "Detailed Node Listing"
section of the info page menu with @detailmenu flag.

11 years agoSupport x32 ABI.
Daniel Schepler [Fri, 15 Feb 2013 21:59:24 +0000 (22:59 +0100)]
Support x32 ABI.

Fix autoconf test checking whether mp_limb_t needs to be long long,
which is needed on x32.

11 years agoUpdate to recently found large Mersenne prime.
Richard Kreckel [Fri, 8 Feb 2013 21:06:00 +0000 (22:06 +0100)]
Update to recently found large Mersenne prime.

12 years agoFix some conversions to cl_SF, cl_FF, and cl_DF.
Richard Kreckel [Tue, 9 Oct 2012 06:24:29 +0000 (08:24 +0200)]
Fix some conversions to cl_SF, cl_FF, and cl_DF.

Some conversions failed to properly overflow/underflow with very large
exponents because of premature exponent truncation.

12 years agoFix integer input with leading zeros in power-of-two base.
Richard Kreckel [Sat, 6 Oct 2012 20:44:34 +0000 (22:44 +0200)]
Fix integer input with leading zeros in power-of-two base.

Reading leading '0' characters in integers of base 2, 4, 8, 16, or 32
could result in a NUDS with leading zero digits. This is against the
rules. The result was a misbehaving cl_I down the road.

Thanks to Morgan Deters <mdeters@cs.nyu.edu> of the CVC4 team.

12 years agoDetect s390x and sparc64 as 32-bit architectures.
Richard Kreckel [Sun, 1 Apr 2012 20:38:54 +0000 (22:38 +0200)]
Detect s390x and sparc64 as 32-bit architectures.

CLN fails to build on s390x and sparc64 as it detects them as 32-bit
architectures, due to __s390__ and __sparc__ matching respectively both
s390 and s390x, and both sparc and sparc64. The patch below fixes the
issue. (Reported as Debian bug#639494.)

Thanks to Aurelien Jarno <aurel32@debian.org>.

12 years agoAvoid input stream fail state when reading number at EOF.
Richard Kreckel [Sun, 18 Mar 2012 23:35:03 +0000 (00:35 +0100)]
Avoid input stream fail state when reading number at EOF.

istream::get() puts the stream in fail state when trying to read at
EOF. This is best avoided by first peek()ing what is available.

12 years agoFix bug in converting cl_LF to float, double.
Richard Kreckel [Fri, 2 Mar 2012 22:40:34 +0000 (23:40 +0100)]
Fix bug in converting cl_LF to float, double.

13 years agoFinalize CLN 1.3.2 release. cln_1-3-2
Richard Kreckel [Sun, 8 May 2011 20:26:25 +0000 (22:26 +0200)]
Finalize CLN 1.3.2 release.

13 years agoFix scale_float for large factors on x86.
Richard Kreckel [Tue, 12 Apr 2011 08:00:36 +0000 (10:00 +0200)]
Fix scale_float for large factors on x86.

The routine scale_float(cl_LF, cl_I) in file cl_LF_scale_I.cc had not
been adapted to 64-bit exponents on systems where uintD is 32 bit.

Reported by Michael Miller <millermj@lemoyne.edu>.

13 years agoUpdate documentation about infrastructure requirements.
Richard Kreckel [Sat, 9 Apr 2011 08:32:38 +0000 (10:32 +0200)]
Update documentation about infrastructure requirements.

13 years agoSupport for MSVC.
Richard Kreckel [Sat, 9 Apr 2011 08:04:39 +0000 (10:04 +0200)]
Support for MSVC.

This patch works around problems MSVC has with extern "C" declarations
inside namespace cln. As a result, it should work with MS 32-bit compiler
version 16.00.30319.01.

Thanks to Jan Rheinländer <jrheinlaender@gmx.de>.

13 years agoFix yet another dependent base C++ language issue.
Richard Kreckel [Wed, 2 Feb 2011 22:44:15 +0000 (23:44 +0100)]
Fix yet another dependent base C++ language issue.

13 years agoFix compilation with clang.
Richard Kreckel [Wed, 2 Feb 2011 08:39:05 +0000 (09:39 +0100)]
Fix compilation with clang.

This resolves some depending names that GCC generously accepts.

Thanks to Pawel Worach <pawel.worach@gmail.com>.

14 years agoConfigure: be more cross-compilation friendly.
Alexei Sheplyakov [Tue, 1 Jun 2010 07:45:08 +0000 (09:45 +0200)]
Configure: be more cross-compilation friendly.

Rewrite CL_GMP_SET_UINTD so it works for cross-compilation too.

14 years agoFix the documentation build failure (wrong texinfo).
Alexei Sheplyakov [Tue, 1 Jun 2010 07:42:45 +0000 (09:42 +0200)]
Fix the documentation build failure (wrong texinfo).

Building PDF, PostScript, and DVI versions of the documentation fails
with the following error message(s):
../../doc/cln.texi:1170: Argument of @asis has an extra }.
<inserted text>
                @par
<to be read again>
                   }
According to texinfo maintainer @itemize @asis is illegal, one should
use @itemize @w{} instead.
See <http://lists.gnu.org/archive/html/bug-texinfo/2009-03/msg00016.html>.

14 years agoRemove 'auto' keyword used as storage specifier.
Richard Kreckel [Mon, 10 May 2010 06:59:44 +0000 (08:59 +0200)]
Remove 'auto' keyword used as storage specifier.

That obsolete keyword is being rededicated in C++-0x to another use.

15 years agoFinalize CLN 1.3.1 release. cln_1-3-1
Richard Kreckel [Thu, 24 Sep 2009 07:48:03 +0000 (09:48 +0200)]
Finalize CLN 1.3.1 release.

15 years agoRemove cl_null_string defintion.
Richard Kreckel [Fri, 11 Sep 2009 22:05:29 +0000 (00:05 +0200)]
Remove cl_null_string defintion.

It's been unused since the last release.