Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package e-antic for openSUSE:Factory checked in at 2022-12-06 14:24:01 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/e-antic (Old) and /work/SRC/openSUSE:Factory/.e-antic.new.1835 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "e-antic" Tue Dec 6 14:24:01 2022 rev:9 rq:1040474 version:1.3.0 Changes: -------- --- /work/SRC/openSUSE:Factory/e-antic/e-antic.changes 2022-10-25 13:59:21.464407574 +0200 +++ /work/SRC/openSUSE:Factory/.e-antic.new.1835/e-antic.changes 2022-12-06 14:24:17.826098318 +0100 @@ -1,0 +2,13 @@ +Tue Dec 6 00:45:14 UTC 2022 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 1.3.0 + * Added support for FLINT 2.8 and 2.9 + * Added short and unsigned short operators to C++ interface. + +------------------------------------------------------------------- +Tue Oct 25 17:29:21 UTC 2022 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 1.2.3 + * Library version bump was missing + +------------------------------------------------------------------- Old: ---- e-antic-1.2.2.tar.gz New: ---- e-antic-1.3.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ e-antic.spec ++++++ --- /var/tmp/diff_new_pack.vc7d4W/_old 2022-12-06 14:24:18.306102411 +0100 +++ /var/tmp/diff_new_pack.vc7d4W/_new 2022-12-06 14:24:18.310102445 +0100 @@ -19,7 +19,7 @@ %define skip_python2 1 %define lname libeantic1 Name: e-antic -Version: 1.2.2 +Version: 1.3.0 Release: 0 Summary: Real Embedded Algebraic Number Theory in C License: LGPL-2.1-or-later AND LGPL-3.0-or-later ++++++ e-antic-1.2.2.tar.gz -> e-antic-1.3.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/ChangeLog new/e-antic-1.3.0/ChangeLog --- old/e-antic-1.2.2/ChangeLog 2022-10-25 11:44:03.833327945 +0200 +++ new/e-antic-1.3.0/ChangeLog 2022-12-06 00:29:45.285683924 +0100 @@ -4,6 +4,29 @@ .. current developments +v1.3.0 +==================== + +**Added:** + +* Added support for FLINT 2.8 and 2.9 +* Added short and unsigned short operators to C++ interface. + + + +v1.2.3 +==================== + +**Added:** + +* Added automatic update on conda-forge with every release. + +**Fixed:** + +* Fixed soname which was not bumped in the 1.2.2 release. + + + v1.2.2 ==================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/README.md new/e-antic-1.3.0/README.md --- old/e-antic-1.2.2/README.md 2022-10-25 11:44:03.736065894 +0200 +++ new/e-antic-1.3.0/README.md 2022-12-06 00:29:45.189021913 +0100 @@ -27,7 +27,7 @@ The dependencies are: - - [FLINT 2.6 or 2.7](https://flintlib.org) + - [FLINT 2.6, 2.7, 2.8, or 2.9](https://flintlib.org) - [Arb](https://arblib.org/) - [ANTIC](https://github.com/wbhart/antic) - [Boost](https://www.boost.org/) for the C++ library @@ -89,8 +89,8 @@ You can try out the projects in this repository in a very limited environment online by clicking the following links: -* **libeantic** [](https://mybinder.org/v2/gh/flatsurf/e-antic/1.2.2?filepath=binder%2FSample.libeantic.ipynb) -* **pyeantic** [](https://mybinder.org/v2/gh/flatsurf/e-antic/1.2.2?filepath=binder%2FSample.pyeantic.ipynb) +* **libeantic** [](https://mybinder.org/v2/gh/flatsurf/e-antic/1.3.0?filepath=binder%2FSample.libeantic.ipynb) +* **pyeantic** [](https://mybinder.org/v2/gh/flatsurf/e-antic/1.3.0?filepath=binder%2FSample.pyeantic.ipynb) ## Build with conda-forge Dependencies diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/configure new/e-antic-1.3.0/configure --- old/e-antic-1.2.2/configure 2022-10-25 11:44:24.527960764 +0200 +++ new/e-antic-1.3.0/configure 2022-12-06 00:30:05.788027849 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for e-antic 1.2.2. +# Generated by GNU Autoconf 2.71 for e-antic 1.3.0. # # Report bugs to <vincent.delecr...@math.cnrs.fr>. # @@ -610,8 +610,8 @@ # Identity of this package. PACKAGE_NAME='e-antic' PACKAGE_TARNAME='e-antic' -PACKAGE_VERSION='1.2.2' -PACKAGE_STRING='e-antic 1.2.2' +PACKAGE_VERSION='1.3.0' +PACKAGE_STRING='e-antic 1.3.0' PACKAGE_BUGREPORT='vincent.delecr...@math.cnrs.fr' PACKAGE_URL='' @@ -1248,7 +1248,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures e-antic 1.2.2 to adapt to many kinds of systems. +\`configure' configures e-antic 1.3.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1315,7 +1315,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of e-antic 1.2.2:";; + short | recursive ) echo "Configuration of e-antic 1.3.0:";; esac cat <<\_ACEOF @@ -1396,7 +1396,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -e-antic configure 1.2.2 +e-antic configure 1.3.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1433,7 +1433,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by e-antic $as_me 1.2.2, which was +It was created by e-antic $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2387,7 +2387,7 @@ # Define the identity of the package. PACKAGE='e-antic' - VERSION='1.2.2' + VERSION='1.3.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3155,7 +3155,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by e-antic $as_me 1.2.2, which was +This file was extended by e-antic $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3210,7 +3210,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -e-antic config.status 1.2.2 +e-antic config.status 1.3.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/configure.ac new/e-antic-1.3.0/configure.ac --- old/e-antic-1.2.2/configure.ac 2022-10-25 11:44:03.729358166 +0200 +++ new/e-antic-1.3.0/configure.ac 2022-12-06 00:29:45.182355568 +0100 @@ -2,7 +2,7 @@ dnl We need at least autoconf 2.69 for this configure.ac to work. AC_PREREQ([2.69]) -AC_INIT([e-antic], [1.2.2], [vincent.delecr...@math.cnrs.fr]) +AC_INIT([e-antic], [1.3.0], [vincent.delecr...@math.cnrs.fr]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.14.1 subdir-objects tar-pax foreign]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/doc/configure new/e-antic-1.3.0/doc/configure --- old/e-antic-1.2.2/doc/configure 2022-10-25 11:44:23.874112549 +0200 +++ new/e-antic-1.3.0/doc/configure 2022-12-06 00:30:05.158058303 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for e-antic-doc 1.2.2. +# Generated by GNU Autoconf 2.71 for e-antic-doc 1.3.0. # # Report bugs to <vincent.delecr...@math.cnrs.fr>. # @@ -610,8 +610,8 @@ # Identity of this package. PACKAGE_NAME='e-antic-doc' PACKAGE_TARNAME='e-antic-doc' -PACKAGE_VERSION='1.2.2' -PACKAGE_STRING='e-antic-doc 1.2.2' +PACKAGE_VERSION='1.3.0' +PACKAGE_STRING='e-antic-doc 1.3.0' PACKAGE_BUGREPORT='vincent.delecr...@math.cnrs.fr' PACKAGE_URL='' @@ -1253,7 +1253,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures e-antic-doc 1.2.2 to adapt to many kinds of systems. +\`configure' configures e-antic-doc 1.3.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1324,7 +1324,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of e-antic-doc 1.2.2:";; + short | recursive ) echo "Configuration of e-antic-doc 1.3.0:";; esac cat <<\_ACEOF @@ -1399,7 +1399,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -e-antic-doc configure 1.2.2 +e-antic-doc configure 1.3.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1436,7 +1436,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by e-antic-doc $as_me 1.2.2, which was +It was created by e-antic-doc $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -2390,7 +2390,7 @@ # Define the identity of the package. PACKAGE='e-antic-doc' - VERSION='1.2.2' + VERSION='1.3.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3406,7 +3406,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by e-antic-doc $as_me 1.2.2, which was +This file was extended by e-antic-doc $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -3461,7 +3461,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -e-antic-doc config.status 1.2.2 +e-antic-doc config.status 1.3.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/doc/configure.ac new/e-antic-1.3.0/doc/configure.ac --- old/e-antic-1.2.2/doc/configure.ac 2022-10-25 11:44:03.736065894 +0200 +++ new/e-antic-1.3.0/doc/configure.ac 2022-12-06 00:29:45.185688740 +0100 @@ -2,7 +2,7 @@ dnl We need at least autoconf 2.69 for this configure.ac to work. AC_PREREQ([2.69]) -AC_INIT([e-antic-doc], [1.2.2], [vincent.delecr...@math.cnrs.fr]) +AC_INIT([e-antic-doc], [1.3.0], [vincent.delecr...@math.cnrs.fr]) AC_CONFIG_AUX_DIR([.]) AM_INIT_AUTOMAKE([1.14.1 subdir-objects tar-pax foreign]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/doc/manual/pyeantic/conf.py new/e-antic-1.3.0/doc/manual/pyeantic/conf.py --- old/e-antic-1.2.2/doc/manual/pyeantic/conf.py 2022-10-25 11:44:03.736065894 +0200 +++ new/e-antic-1.3.0/doc/manual/pyeantic/conf.py 2022-12-06 00:29:45.185688740 +0100 @@ -18,7 +18,7 @@ author = 'the e-antic authors' # The full version, including alpha/beta/rc tags -release = '1.2.2' +release = '1.3.0' # -- General configuration --------------------------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/configure new/e-antic-1.3.0/libeantic/configure --- old/e-antic-1.2.2/libeantic/configure 2022-10-25 11:44:13.443988884 +0200 +++ new/e-antic-1.3.0/libeantic/configure 2022-12-06 00:29:54.721895669 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for libeantic 1.2.2. +# Generated by GNU Autoconf 2.71 for libeantic 1.3.0. # # Report bugs to <vincent.delecr...@math.cnrs.fr>. # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='libeantic' PACKAGE_TARNAME='libeantic' -PACKAGE_VERSION='1.2.2' -PACKAGE_STRING='libeantic 1.2.2' +PACKAGE_VERSION='1.3.0' +PACKAGE_STRING='libeantic 1.3.0' PACKAGE_BUGREPORT='vincent.delecr...@math.cnrs.fr' PACKAGE_URL='' @@ -1389,7 +1389,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures libeantic 1.2.2 to adapt to many kinds of systems. +\`configure' configures libeantic 1.3.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1460,7 +1460,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libeantic 1.2.2:";; + short | recursive ) echo "Configuration of libeantic 1.3.0:";; esac cat <<\_ACEOF @@ -1586,7 +1586,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libeantic configure 1.2.2 +libeantic configure 1.3.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1961,7 +1961,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libeantic $as_me 1.2.2, which was +It was created by libeantic $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3449,7 +3449,7 @@ # Define the identity of the package. PACKAGE='libeantic' - VERSION='1.2.2' + VERSION='1.3.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -3639,9 +3639,9 @@ fi -libeantic_version_info=1:5:0 +libeantic_version_info=2:0:1 -libeanticxx_version_info=1:5:0 +libeanticxx_version_info=2:0:1 # Check whether --enable-silent-rules was given. @@ -19211,7 +19211,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libeantic $as_me 1.2.2, which was +This file was extended by libeantic $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19279,7 +19279,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -libeantic config.status 1.2.2 +libeantic config.status 1.3.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/configure.ac new/e-antic-1.3.0/libeantic/configure.ac --- old/e-antic-1.2.2/libeantic/configure.ac 2022-10-25 11:44:03.729358166 +0200 +++ new/e-antic-1.3.0/libeantic/configure.ac 2022-12-06 00:29:45.182355568 +0100 @@ -2,7 +2,7 @@ dnl We need at least autoconf 2.69 for this configure.ac to work. AC_PREREQ([2.69]) -AC_INIT([libeantic], [1.2.2], [vincent.delecr...@math.cnrs.fr]) +AC_INIT([libeantic], [1.3.0], [vincent.delecr...@math.cnrs.fr]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_AUX_DIR([.]) @@ -12,8 +12,8 @@ dnl Set to c+1:0:0 on a non-backwards-compatible change. dnl Set to c+1:0:a+1 on a backwards-compatible change. dnl Set to c:r+1:a if the interface is unchanged. -AC_SUBST([libeantic_version_info], [1:5:0]) -AC_SUBST([libeanticxx_version_info], [1:5:0]) +AC_SUBST([libeantic_version_info], [2:0:1]) +AC_SUBST([libeanticxx_version_info], [2:0:1]) AM_SILENT_RULES([yes]) # non-verbose make; override with ./configure --disable-silent-rules diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/e-antic/local.h.in new/e-antic-1.3.0/libeantic/e-antic/local.h.in --- old/e-antic-1.2.2/libeantic/e-antic/local.h.in 2022-10-25 11:44:03.732712030 +0200 +++ new/e-antic-1.3.0/libeantic/e-antic/local.h.in 2022-12-06 00:29:45.185688740 +0100 @@ -16,9 +16,9 @@ /* e-antic version number */ #define E_ANTIC_VERSION_MAJOR 1 -#define E_ANTIC_VERSION_MINOR 2 -#define E_ANTIC_VERSION_PATCHLEVEL 2 -#define E_ANTIC_VERSION "1.2.2" +#define E_ANTIC_VERSION_MINOR 3 +#define E_ANTIC_VERSION_PATCHLEVEL 0 +#define E_ANTIC_VERSION "1.3.0" #define E_ANTIC_RELEASE (E_ANTIC_VERSION_MAJOR * 10000 + \ E_ANTIC_VERSION_MINOR * 100 + \ E_ANTIC_VERSION_PATCHLEVEL) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/e-antic/renf_elem_class.hpp new/e-antic-1.3.0/libeantic/e-antic/renf_elem_class.hpp --- old/e-antic-1.2.2/libeantic/e-antic/renf_elem_class.hpp 2022-03-12 21:50:52.437802129 +0100 +++ new/e-antic-1.3.0/libeantic/e-antic/renf_elem_class.hpp 2022-12-06 00:24:20.197243532 +0100 @@ -1,7 +1,7 @@ /* This is a -*- C++ -*- header file. Copyright (C) 2016-2018 Vincent Delecroix - 2019-2021 Julian Rüth + 2019-2022 Julian Rüth This file is part of e-antic @@ -57,6 +57,8 @@ /// // -> (x ~ 1.4142136) /// ``` class LIBEANTIC_API renf_elem_class : boost::ordered_field_operators<renf_elem_class>, + boost::ordered_field_operators<renf_elem_class, short>, + boost::ordered_field_operators<renf_elem_class, unsigned short>, boost::ordered_field_operators<renf_elem_class, int>, boost::ordered_field_operators<renf_elem_class, unsigned int>, boost::ordered_field_operators<renf_elem_class, long>, @@ -76,6 +78,8 @@ /// Create an element in the rationals. /// These are shortcuts equivalent to calling /// `renf_elem_class(*renf_class::make(), value)`. + renf_elem_class(short); + renf_elem_class(unsigned short); renf_elem_class(int); renf_elem_class(unsigned int); renf_elem_class(long); @@ -92,6 +96,8 @@ /// ==* `renf_elem_class(const renf_class&, integer/rational)` *== /// Create a rational element in the field `k`. + renf_elem_class(const renf_class& k, short); + renf_elem_class(const renf_class& k, unsigned short); renf_elem_class(const renf_class& k, int); renf_elem_class(const renf_class& k, unsigned int); renf_elem_class(const renf_class& k, long); @@ -152,6 +158,8 @@ /// a.parent() == *K /// // -> true /// ``` + renf_elem_class & operator=(short); + renf_elem_class & operator=(unsigned short); renf_elem_class & operator=(int); renf_elem_class & operator=(unsigned int); renf_elem_class & operator=(long); @@ -376,6 +384,14 @@ /// Elements in a number field and integers/rationals can be combined with /// the usual arithmetic operators `+`, `-`, `*`, `/` and the corresponding /// inplace operators `+=`, `-=`, `*=`, `/=`. + renf_elem_class & operator+=(short); + renf_elem_class & operator-=(short); + renf_elem_class & operator*=(short); + renf_elem_class & operator/=(short); + renf_elem_class & operator+=(unsigned short); + renf_elem_class & operator-=(unsigned short); + renf_elem_class & operator*=(unsigned short); + renf_elem_class & operator/=(unsigned short); renf_elem_class & operator+=(int); renf_elem_class & operator-=(int); renf_elem_class & operator*=(int); @@ -412,6 +428,12 @@ /// ==* Relational Operators with Integers & Rationals *== /// Elements in a number field and integers/rationals can be compared with /// the usual relational operators `==`, `!=`, `<`, `<=`, `>=`, `>`. + LIBEANTIC_API friend bool operator==(const renf_elem_class&, short); + LIBEANTIC_API friend bool operator<(const renf_elem_class&, short); + LIBEANTIC_API friend bool operator>(const renf_elem_class&, short); + LIBEANTIC_API friend bool operator==(const renf_elem_class&, unsigned short); + LIBEANTIC_API friend bool operator<(const renf_elem_class&, unsigned short); + LIBEANTIC_API friend bool operator>(const renf_elem_class&, unsigned short); LIBEANTIC_API friend bool operator==(const renf_elem_class&, int); LIBEANTIC_API friend bool operator<(const renf_elem_class&, int); LIBEANTIC_API friend bool operator>(const renf_elem_class&, int); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/srcxx/libeanticxx.map new/e-antic-1.3.0/libeantic/srcxx/libeanticxx.map --- old/e-antic-1.2.2/libeantic/srcxx/libeanticxx.map 2022-03-05 08:34:19.698026414 +0100 +++ new/e-antic-1.3.0/libeantic/srcxx/libeanticxx.map 2022-12-06 00:23:48.625226683 +0100 @@ -172,3 +172,28 @@ "eantic::renf_class::make(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::function<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > (long)>, long)"; }; } LIBEANTICXX_1.0.0; +LIBEANTICXX_1.3.0 { + global: + extern "C++" { + "eantic::renf_elem_class::renf_elem_class(short)"; + "eantic::renf_elem_class::renf_elem_class(eantic::renf_class const&, short)"; + "eantic::renf_elem_class::operator=(short)"; + "eantic::renf_elem_class::operator+=(short)"; + "eantic::renf_elem_class::operator-=(short)"; + "eantic::renf_elem_class::operator*=(short)"; + "eantic::renf_elem_class::operator/=(short)"; + "eantic::operator==(eantic::renf_elem_class const&, short)"; + "eantic::operator<(eantic::renf_elem_class const&, short)"; + "eantic::operator>(eantic::renf_elem_class const&, short)"; + "eantic::renf_elem_class::renf_elem_class(unsigned short)"; + "eantic::renf_elem_class::renf_elem_class(eantic::renf_class const&, unsigned short)"; + "eantic::renf_elem_class::operator=(unsigned short)"; + "eantic::renf_elem_class::operator+=(unsigned short)"; + "eantic::renf_elem_class::operator-=(unsigned short)"; + "eantic::renf_elem_class::operator*=(unsigned short)"; + "eantic::renf_elem_class::operator/=(unsigned short)"; + "eantic::operator==(eantic::renf_elem_class const&, unsigned short)"; + "eantic::operator<(eantic::renf_elem_class const&, unsigned short)"; + "eantic::operator>(eantic::renf_elem_class const&, unsigned short)"; + }; +} LIBEANTICXX_1.1.0; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/srcxx/renf_elem_class.cpp new/e-antic-1.3.0/libeantic/srcxx/renf_elem_class.cpp --- old/e-antic-1.2.2/libeantic/srcxx/renf_elem_class.cpp 2022-04-10 11:39:20.178322315 +0200 +++ new/e-antic-1.3.0/libeantic/srcxx/renf_elem_class.cpp 2022-12-06 00:23:48.625226683 +0100 @@ -1,6 +1,6 @@ /* - Copyright (C) 2018 Vincent Delecroix - Copyright (C) 2019-2022 Julian Rüth + Copyright (C) 2018 Vincent Delecroix + 2019-2022 Julian Rüth This file is part of e-antic @@ -282,6 +282,12 @@ *a = *value.a; } +renf_elem_class::renf_elem_class(short value) + : renf_elem_class(renf_class::make(), value) {} + +renf_elem_class::renf_elem_class(unsigned short value) + : renf_elem_class(renf_class::make(), value) {} + renf_elem_class::renf_elem_class(int value) : renf_elem_class(renf_class::make(), value) {} @@ -319,6 +325,12 @@ renf_elem_zero(a, nf->renf_t()); } +renf_elem_class::renf_elem_class(const renf_class& k, short value) + : renf_elem_class(k, static_cast<long>(value)) {} + +renf_elem_class::renf_elem_class(const renf_class& k, unsigned short value) + : renf_elem_class(k, static_cast<unsigned long>(value)) {} + renf_elem_class::renf_elem_class(const renf_class& k, int value) : renf_elem_class(k, static_cast<long>(value)) {} @@ -527,6 +539,16 @@ if (nf) renf_elem_clear(a, nf->renf_t()); } +renf_elem_class & renf_elem_class::operator=(short value) +{ + return *this = static_cast<long>(value); +} + +renf_elem_class & renf_elem_class::operator=(unsigned short value) +{ + return *this = static_cast<unsigned long>(value); +} + renf_elem_class & renf_elem_class::operator=(int value) { return *this = static_cast<long>(value); @@ -973,6 +995,72 @@ throw std::logic_error("not implemented: cannot compare renf_elem_class from different number fields"); } +renf_elem_class& renf_elem_class::operator+=(short rhs) +{ + return *this += static_cast<long>(rhs); +} + +renf_elem_class& renf_elem_class::operator-=(short rhs) +{ + return *this -= static_cast<long>(rhs); +} + +renf_elem_class& renf_elem_class::operator*=(short rhs) +{ + return *this *= static_cast<long>(rhs); +} + +renf_elem_class& renf_elem_class::operator/=(short rhs) +{ + return *this /= static_cast<long>(rhs); +} + +bool operator==(const renf_elem_class& lhs, short rhs) { + if (rhs == 0) + return lhs.is_zero(); + return lhs == static_cast<long>(rhs); +} + +bool operator<(const renf_elem_class& lhs, short rhs) { + return lhs < static_cast<long>(rhs); +} + +bool operator>(const renf_elem_class& lhs, short rhs) { + return lhs > static_cast<long>(rhs); +} + +renf_elem_class& renf_elem_class::operator+=(unsigned short rhs) +{ + return *this += static_cast<unsigned long>(rhs); +} + +renf_elem_class& renf_elem_class::operator-=(unsigned short rhs) +{ + return *this -= static_cast<unsigned long>(rhs); +} + +renf_elem_class& renf_elem_class::operator*=(unsigned short rhs) +{ + return *this *= static_cast<unsigned long>(rhs); +} + +renf_elem_class& renf_elem_class::operator/=(unsigned short rhs) +{ + return *this /= static_cast<unsigned long>(rhs); +} + +bool operator==(const renf_elem_class& lhs, unsigned short rhs) { + return lhs == static_cast<unsigned long>(rhs); +} + +bool operator<(const renf_elem_class& lhs, unsigned short rhs) { + return lhs < static_cast<unsigned long>(rhs); +} + +bool operator>(const renf_elem_class& lhs, unsigned short rhs) { + return lhs > static_cast<unsigned long>(rhs); +} + renf_elem_class& renf_elem_class::operator+=(int rhs) { return *this += static_cast<long>(rhs); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/test/renfxx/t-assignment.cpp new/e-antic-1.3.0/libeantic/test/renfxx/t-assignment.cpp --- old/e-antic-1.2.2/libeantic/test/renfxx/t-assignment.cpp 2021-11-23 02:10:32.040586660 +0100 +++ new/e-antic-1.3.0/libeantic/test/renfxx/t-assignment.cpp 2022-12-06 00:23:48.625226683 +0100 @@ -1,6 +1,6 @@ /* Copyright (C) 2017 Vincent Delecroix - 2020-2021 Julian Rüth + 2020-2022 Julian Rüth This file is part of e-antic @@ -20,7 +20,7 @@ using namespace eantic; -TEMPLATE_TEST_CASE("Assign renf_elem_class from integers", "[renf_elem_class]", int, unsigned int, long, unsigned long, long long, unsigned long long) +TEMPLATE_TEST_CASE("Assign renf_elem_class from integers", "[renf_elem_class]", short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long) { using T = TestType; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/test/renfxx/t-binop.cpp new/e-antic-1.3.0/libeantic/test/renfxx/t-binop.cpp --- old/e-antic-1.2.2/libeantic/test/renfxx/t-binop.cpp 2021-11-23 02:10:32.040586660 +0100 +++ new/e-antic-1.3.0/libeantic/test/renfxx/t-binop.cpp 2022-12-06 00:23:48.625226683 +0100 @@ -1,6 +1,6 @@ /* Copyright (C) 2017 Vincent Delecroix - 2020-2021 Julian Rüth + 2020-2022 Julian Rüth This file is part of e-antic @@ -53,6 +53,18 @@ c -= b; REQUIRE(!c); + c += static_cast<short>(1); + REQUIRE(c); + + c -= static_cast<short>(1); + REQUIRE(!c); + + c += static_cast<unsigned short>(1u); + REQUIRE(c); + + c -= static_cast<unsigned short>(1u); + REQUIRE(!c); + c += 1; REQUIRE(c); @@ -124,6 +136,18 @@ c /= b; REQUIRE(c == 1); + c *= static_cast<short>(2); + REQUIRE(c == 2); + + c /= static_cast<short>(2); + REQUIRE(c == 1); + + c *= static_cast<unsigned short>(2u); + REQUIRE(c == 2); + + c /= static_cast<unsigned short>(2u); + REQUIRE(c == 1); + c *= 2; REQUIRE(c == 2); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/test/renfxx/t-cmp.cpp new/e-antic-1.3.0/libeantic/test/renfxx/t-cmp.cpp --- old/e-antic-1.2.2/libeantic/test/renfxx/t-cmp.cpp 2021-11-23 02:10:32.040586660 +0100 +++ new/e-antic-1.3.0/libeantic/test/renfxx/t-cmp.cpp 2022-12-06 00:23:48.625226683 +0100 @@ -1,6 +1,6 @@ /* Copyright (C) 2018 Vincent Delecroix - 2021 Julian Rüth + 2022 Julian Rüth This file is part of e-antic @@ -86,7 +86,7 @@ } } -TEMPLATE_TEST_CASE("Relational Operators with Integers", "[renf_elem_class]", int, unsigned int, long, unsigned long, long long, unsigned long long) +TEMPLATE_TEST_CASE("Relational Operators with Integers", "[renf_elem_class]", short, unsigned short, int, unsigned int, long, unsigned long, long long, unsigned long long) { using T = TestType; @@ -94,7 +94,10 @@ const auto& K = GENERATE_REF(take(16, renf_classs(state))); auto a = GENERATE_REF(take(8, renf_elem_classs(state, K))); - T b = GENERATE(0, std::numeric_limits<T>::min(), std::numeric_limits<T>::max()); + // Strangley, GENERATE returns in int/unsigned int when T is a + // short/unsigned short here. We cast explicitly to avoid compiler + // warnings. + T b = static_cast<T>(GENERATE(0, std::numeric_limits<T>::min(), std::numeric_limits<T>::max())); check_relop(a, b); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/libeantic/test/renfxx/t-constructor.cpp new/e-antic-1.3.0/libeantic/test/renfxx/t-constructor.cpp --- old/e-antic-1.2.2/libeantic/test/renfxx/t-constructor.cpp 2022-04-10 00:38:51.004962737 +0200 +++ new/e-antic-1.3.0/libeantic/test/renfxx/t-constructor.cpp 2022-12-06 00:23:48.625226683 +0100 @@ -34,6 +34,10 @@ SECTION("Construct from extreme integers") { + REQUIRE(renf_elem_class(std::numeric_limits<short>::min()) == std::numeric_limits<short>::min()); + REQUIRE(renf_elem_class(std::numeric_limits<short>::max()) == std::numeric_limits<short>::max()); + REQUIRE(renf_elem_class(std::numeric_limits<unsigned short>::min()) == std::numeric_limits<unsigned short>::min()); + REQUIRE(renf_elem_class(std::numeric_limits<unsigned short>::max()) == std::numeric_limits<unsigned short>::max()); REQUIRE(renf_elem_class(std::numeric_limits<int>::min()) == std::numeric_limits<int>::min()); REQUIRE(renf_elem_class(std::numeric_limits<int>::max()) == std::numeric_limits<int>::max()); REQUIRE(renf_elem_class(std::numeric_limits<unsigned int>::min()) == std::numeric_limits<unsigned int>::min()); @@ -93,6 +97,10 @@ SECTION("Construct from extreme integers with a given field") { + REQUIRE(renf_elem_class(*K, std::numeric_limits<short>::min()) == std::numeric_limits<short>::min()); + REQUIRE(renf_elem_class(*K, std::numeric_limits<short>::max()) == std::numeric_limits<short>::max()); + REQUIRE(renf_elem_class(*K, std::numeric_limits<unsigned short>::min()) == std::numeric_limits<unsigned short>::min()); + REQUIRE(renf_elem_class(*K, std::numeric_limits<unsigned short>::max()) == std::numeric_limits<unsigned short>::max()); REQUIRE(renf_elem_class(*K, std::numeric_limits<int>::min()) == std::numeric_limits<int>::min()); REQUIRE(renf_elem_class(*K, std::numeric_limits<int>::max()) == std::numeric_limits<int>::max()); REQUIRE(renf_elem_class(*K, std::numeric_limits<unsigned int>::min()) == std::numeric_limits<unsigned int>::min()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/pyeantic/configure new/e-antic-1.3.0/pyeantic/configure --- old/e-antic-1.2.2/pyeantic/configure 2022-10-25 11:44:21.281861754 +0200 +++ new/e-antic-1.3.0/pyeantic/configure 2022-12-06 00:30:02.581516162 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for pyeantic 1.2.2. +# Generated by GNU Autoconf 2.71 for pyeantic 1.3.0. # # Report bugs to <julian.ru...@fsfe.org>. # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='pyeantic' PACKAGE_TARNAME='pyeantic' -PACKAGE_VERSION='1.2.2' -PACKAGE_STRING='pyeantic 1.2.2' +PACKAGE_VERSION='1.3.0' +PACKAGE_STRING='pyeantic 1.3.0' PACKAGE_BUGREPORT='julian.ru...@fsfe.org' PACKAGE_URL='' @@ -1387,7 +1387,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pyeantic 1.2.2 to adapt to many kinds of systems. +\`configure' configures pyeantic 1.3.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1458,7 +1458,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pyeantic 1.2.2:";; + short | recursive ) echo "Configuration of pyeantic 1.3.0:";; esac cat <<\_ACEOF @@ -1585,7 +1585,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pyeantic configure 1.2.2 +pyeantic configure 1.3.0 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1803,7 +1803,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pyeantic $as_me 1.2.2, which was +It was created by pyeantic $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3074,7 +3074,7 @@ # Define the identity of the package. PACKAGE='pyeantic' - VERSION='1.2.2' + VERSION='1.3.0' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -14106,7 +14106,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pyeantic $as_me 1.2.2, which was +This file was extended by pyeantic $as_me 1.3.0, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14165,7 +14165,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -pyeantic config.status 1.2.2 +pyeantic config.status 1.3.0 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/pyeantic/configure.ac new/e-antic-1.3.0/pyeantic/configure.ac --- old/e-antic-1.2.2/pyeantic/configure.ac 2022-10-25 11:44:03.732712030 +0200 +++ new/e-antic-1.3.0/pyeantic/configure.ac 2022-12-06 00:29:45.185688740 +0100 @@ -2,7 +2,7 @@ dnl We need at least autoconf 2.69 for this configure.ac to work. AC_PREREQ([2.69]) -AC_INIT([pyeantic], [1.2.2], [julian.ru...@fsfe.org]) +AC_INIT([pyeantic], [1.3.0], [julian.ru...@fsfe.org]) AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([1.14.1 tar-pax foreign]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/e-antic-1.2.2/pyeantic/test/bin/python.in new/e-antic-1.3.0/pyeantic/test/bin/python.in --- old/e-antic-1.2.2/pyeantic/test/bin/python.in 2022-03-12 21:50:00.919782095 +0100 +++ new/e-antic-1.3.0/pyeantic/test/bin/python.in 2022-10-25 23:33:21.604222554 +0200 @@ -32,7 +32,11 @@ # Support libasan loading on macOS when our library has been built with -fsanitize=address. if [ ! -z "$EANTIC_DYLD_INSERT_LIBRARIES" ]; then - export DYLD_INSERT_LIBRARIES="$EANTIC_DYLD_INSERT_LIBRARIES:$DYLD_INSERT_LIBRARIES" + if [ -z "$DYLD_INSERT_LIBRARIES" ]; then + export DYLD_INSERT_LIBRARIES="$EANTIC_DYLD_INSERT_LIBRARIES" + else + export DYLD_INSERT_LIBRARIES="$EANTIC_DYLD_INSERT_LIBRARIES:$DYLD_INSERT_LIBRARIES" + fi fi exec python3 $@