From 9197695fc88502b6a56c7270e824f73faa7749f9 Mon Sep 17 00:00:00 2001 From: Richard Kreckel Date: Mon, 9 Aug 2021 11:39:31 +0200 Subject: [PATCH] Finalize 1.8.1 release. --- NEWS | 9 +++++++++ ginac/relational.cpp | 2 +- ginac/version.h | 13 ++++++++----- m4/ax_cxx_compile_stdcxx.m4 | 15 +++++++++++++-- m4/host-cpu-c-abi.m4 | 21 ++++++++++++++++----- 5 files changed, 47 insertions(+), 13 deletions(-) diff --git a/NEWS b/NEWS index 0a37b6ec..59440fb4 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,14 @@ This file records noteworthy changes. +1.8.1 (9 August 2021) +* Add method relational::canonical() and improve conversion of relational to + Boolean (it now works on many simple symbolic cases). +* Improve normalization of negative exponents. +* Fix indexing multiply referenced objects with ex::operator[]. +* Make functions evalf() their arguments before doing own evalf(). +* Fix bugs in H_evalf() and in evaluation of iterated integrals. +* Several portability improvements and compiler warning fixes. + 1.8.0 (14 October 2020) * New routines for the numerical evaluation of iterated integrals like elliptic multiple polylogarithms or iterated integrals of modular forms. diff --git a/ginac/relational.cpp b/ginac/relational.cpp index d050b2e6..599a2635 100644 --- a/ginac/relational.cpp +++ b/ginac/relational.cpp @@ -308,7 +308,7 @@ relational::safe_bool relational::make_safe_bool(bool cond) const * unequal or undecidable). */ relational::operator relational::safe_bool() const { - const ex df = lh-rh; + const ex df = lh-rh; // like ::canonical() method // We treat numeric and symbolic expression differently if (is_exactly_a(df)) { switch (o) { diff --git a/ginac/version.h b/ginac/version.h index 6d955b3d..bf36a4b1 100644 --- a/ginac/version.h +++ b/ginac/version.h @@ -30,7 +30,7 @@ #define GINACLIB_MINOR_VERSION 8 /* Micro version of GiNaC */ -#define GINACLIB_MICRO_VERSION 0 +#define GINACLIB_MICRO_VERSION 1 // GiNaC library version information. It has very little to do with GiNaC // version number. In particular, library version is OS dependent. @@ -49,12 +49,15 @@ // increasing. This doesn't matter, though: there is not incurred cost // for numbers that are omitted, except for shrinking the available space // of leftover numbers. Not something we need to worry about yet. ;-) -// TODO, when setting GINAC_LT_REVISION to 0: +// +// On Linux, the SONAME is libginac.so.$(GINAC_LT_CURRENT)-$(GINAC_LT_AGE). +// +// TODO, when breaking the SONAME: // * change matrix inverse to use default argument (twice) -// * remove interfaces marked as deprecated -#define GINAC_LT_CURRENT 11 +// * check for interfaces marked as deprecated +#define GINAC_LT_CURRENT 12 #define GINAC_LT_REVISION 0 -#define GINAC_LT_AGE 0 +#define GINAC_LT_AGE 1 /* * GiNaC archive file version information. diff --git a/m4/ax_cxx_compile_stdcxx.m4 b/m4/ax_cxx_compile_stdcxx.m4 index 43087b2e..9413da62 100644 --- a/m4/ax_cxx_compile_stdcxx.m4 +++ b/m4/ax_cxx_compile_stdcxx.m4 @@ -16,7 +16,7 @@ # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with -# preference for an extended mode. +# preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is @@ -35,13 +35,14 @@ # Copyright (c) 2015 Moritz Klammler # Copyright (c) 2016, 2018 Krzesimir Nowak # Copyright (c) 2019 Enji Cooper +# Copyright (c) 2020 Jason Merrill # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. -#serial 11 +#serial 12 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). @@ -62,6 +63,16 @@ AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl AC_LANG_PUSH([C++])dnl ac_success=no + m4_if([$2], [], [dnl + AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, + ax_cv_cxx_compile_cxx$1, + [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], + [ax_cv_cxx_compile_cxx$1=yes], + [ax_cv_cxx_compile_cxx$1=no])]) + if test x$ax_cv_cxx_compile_cxx$1 = xyes; then + ac_success=yes + fi]) + m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do diff --git a/m4/host-cpu-c-abi.m4 b/m4/host-cpu-c-abi.m4 index af8c05ca..6db2aa25 100644 --- a/m4/host-cpu-c-abi.m4 +++ b/m4/host-cpu-c-abi.m4 @@ -1,5 +1,5 @@ -# host-cpu-c-abi.m4 serial 12 -dnl Copyright (C) 2002-2019 Free Software Foundation, Inc. +# host-cpu-c-abi.m4 serial 13 +dnl Copyright (C) 2002-2020 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -457,7 +457,8 @@ EOF dnl Sets the HOST_CPU_C_ABI_32BIT variable to 'yes' if the C language ABI -dnl (application binary interface) is a 32-bit one, or to 'no' otherwise. +dnl (application binary interface) is a 32-bit one, to 'no' if it is a 64-bit +dnl one, or to 'unknown' if unknown. dnl This is a simplified variant of gl_HOST_CPU_C_ABI. AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], [ @@ -467,8 +468,10 @@ AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], case "$gl_cv_host_cpu_c_abi" in i386 | x86_64-x32 | arm | armhf | arm64-ilp32 | hppa | ia64-ilp32 | mips | mipsn32 | powerpc | riscv*-ilp32* | s390 | sparc) gl_cv_host_cpu_c_abi_32bit=yes ;; - *) + x86_64 | alpha | arm64 | hppa64 | ia64 | mips64 | powerpc64 | powerpc64-elfv2 | riscv*-lp64* | s390x | sparc64 ) gl_cv_host_cpu_c_abi_32bit=no ;; + *) + gl_cv_host_cpu_c_abi_32bit=unknown ;; esac else case "$host_cpu" in @@ -493,6 +496,14 @@ AC_DEFUN([gl_HOST_CPU_C_ABI_32BIT], gl_cv_host_cpu_c_abi_32bit=yes ;; + # CPUs that only support a 64-bit ABI. +changequote(,)dnl + alpha | alphaev[4-8] | alphaev56 | alphapca5[67] | alphaev6[78] \ + | mmix ) +changequote([,])dnl + gl_cv_host_cpu_c_abi_32bit=no + ;; + changequote(,)dnl i[34567]86 ) changequote([,])dnl @@ -654,7 +665,7 @@ changequote([,])dnl ;; *) - gl_cv_host_cpu_c_abi_32bit=no + gl_cv_host_cpu_c_abi_32bit=unknown ;; esac fi -- 2.44.0