]> www.ginac.de Git - cln.git/log
cln.git
3 years agoINSTALL.CMake: proper installation command
Alexey Sheplyakov [Thu, 7 Jan 2021 15:51:30 +0000 (19:51 +0400)]
INSTALL.CMake: proper installation command

`make install` is not going to work with Ninja

3 years agobuild/CMake: defined `long_long_(big|little)_endian` to intparam.h
Alexey Sheplyakov [Wed, 6 Jan 2021 20:00:32 +0000 (00:00 +0400)]
build/CMake: defined `long_long_(big|little)_endian` to intparam.h

... for consistency with autotools build.

3 years agobuild/autotools: fixed CL_VERSION substitution in cln.pc.in
Alexey Sheplyakov [Wed, 6 Jan 2021 19:52:06 +0000 (23:52 +0400)]
build/autotools: fixed CL_VERSION substitution in cln.pc.in

3 years agobuild/autotools: repaired make dist
Alexey Sheplyakov [Thu, 7 Jan 2021 13:21:29 +0000 (17:21 +0400)]
build/autotools: repaired make dist

version.h.in does not exist any more, don't distribute it

3 years agocmake build: moved cl_config.h.cmake to `autoconf`
Alexey Sheplyakov [Sun, 3 Jan 2021 06:52:03 +0000 (10:52 +0400)]
cmake build: moved cl_config.h.cmake to `autoconf`

So both cl_config.h.in (generated by autoconf) and cl_config.h.cmake
reside in the same directory

3 years agocmake: cl_config.h: avoid redefining GMP_DEMANDS_UINTD_* macros
Alexey Sheplyakov [Sat, 2 Jan 2021 17:45:28 +0000 (21:45 +0400)]
cmake: cl_config.h: avoid redefining GMP_DEMANDS_UINTD_* macros

3 years agocmake: defined `short_little_endian`, `int_little_endian` macros
Alexey Sheplyakov [Sat, 2 Jan 2021 16:34:34 +0000 (20:34 +0400)]
cmake: defined `short_little_endian`, `int_little_endian` macros

... so CL_CPU_BIG_ENDIAN_P is set in src/base/cl_sysdep.h both for
autotools and CMake builds.

Note 1.

Checking for endianness of both `short` and `int` is necessary only
for 16-bit systems (where `short` can be 8-bit). I doubt anyone is
going to run CLN on such systems in the 21st century. Nevertheless
CMake does the right thing even for such targets (i.e. it tries to
find a 16-bit integer type and figure out its endianness).

Note 2.

These days (circa 2021) the vast majority of CPU architectures are
little endian, so the problem is mostly irrelevant.

3 years agocmake: bail out if the source tree has been configured...
Alexey Sheplyakov [Sun, 3 Jan 2021 07:33:42 +0000 (11:33 +0400)]
cmake: bail out if the source tree has been configured...

.. and print a helpful message.

Before:

./configure
mkdir ../cln_build
cd ../cln_build && cmake -GNinja ../cln && cmake --build .

[cryptic error due to a redefined macro or something]

After:

./configure
mkdir ../cln_build
cd ../cln_build && cmake -GNinja ../cln && cmake --build .

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:24 (message):
  Source directory has been already configured by configure script. Please
  run `make distclean` in /home/asheplyakov/work/sw/cln and try again.

-- Configuring incomplete, errors occurred!

3 years agocmake: tell the compiler how to handle cl_asm_.cc
Alexey Sheplyakov [Sat, 2 Jan 2021 09:21:01 +0000 (13:21 +0400)]
cmake: tell the compiler how to handle cl_asm_.cc

Pass `-x assembler-with-cpp` to GCC/Clang. Don't use asm loops with
other compilers.

3 years agoRevert "[build] Rename cl_asm files to make CMake happy"
Alexey Sheplyakov [Fri, 1 Jan 2021 21:43:40 +0000 (01:43 +0400)]
Revert "[build] Rename cl_asm files to make CMake happy"

This reverts commit e67df7a533c7f768f48a591ec3b6f1e4cf4cdbe4.
Apparently it causes `make distclean` (autotools) to remove asm sources.

3 years agoCLN can be built with CMake
Alexey Sheplyakov [Sun, 28 Aug 2011 20:05:31 +0000 (23:05 +0300)]
CLN can be built with CMake

See INSTALL.CMake for the details

3 years ago[build] Rename cl_asm files to make CMake happy
Alexey Sheplyakov [Sat, 10 Mar 2012 16:09:07 +0000 (18:09 +0200)]
[build] Rename cl_asm files to make CMake happy

CMake insists on compiling *.cc files with a C++ compiler.

3 years ago[build] Move CLN version info into the include/cln/version.h file...
Alexey Sheplyakov [Mon, 27 Feb 2012 21:47:18 +0000 (23:47 +0200)]
[build] Move CLN version info into the include/cln/version.h file...

The point is to have a single definition of version for autotools and
CMake builds.

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.

3 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>.

3 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.

3 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>.

3 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.

4 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.

4 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.

4 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.

4 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>.

4 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.

4 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().

4 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__.

4 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.

4 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.

4 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.

4 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.

4 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.

4 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'.

4 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'.

4 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.

4 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.

4 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'.

4 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.

4 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.

4 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>.

4 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>.

4 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.

4 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'.

4 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.

4 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.

4 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.

4 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.

4 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.

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

4 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.

4 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.

4 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.

4 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.

4 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.

4 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>.

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

4 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.

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

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

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

4 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.

4 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.

9 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.

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

9 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).

9 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.

9 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.

9 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>.

9 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.

10 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.

10 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.

10 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.

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

10 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.

11 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.

11 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>.