Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package calc for openSUSE:Factory checked in at 2023-07-26 13:23:50 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/calc (Old) and /work/SRC/openSUSE:Factory/.calc.new.15225 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "calc" Wed Jul 26 13:23:50 2023 rev:36 rq:1100578 version:2.14.2.0 Changes: -------- --- /work/SRC/openSUSE:Factory/calc/calc.changes 2023-06-01 17:20:00.482333821 +0200 +++ /work/SRC/openSUSE:Factory/.calc.new.15225/calc.changes 2023-07-26 13:24:52.888339145 +0200 @@ -1,0 +2,6 @@ +Sat Jul 22 11:59:05 UTC 2023 - Sarah Kriesch <[email protected]> + +- Update to 2.14.2.0: + * Ported calc to the s390x IBM Mainframe + +------------------------------------------------------------------- Old: ---- calc-2.14.1.6.tar.bz2 New: ---- calc-2.14.2.0.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ calc.spec ++++++ --- /var/tmp/diff_new_pack.UIERSO/_old 2023-07-26 13:24:53.616343539 +0200 +++ /var/tmp/diff_new_pack.UIERSO/_new 2023-07-26 13:24:53.620343562 +0200 @@ -16,10 +16,10 @@ # -%define soname 2_14_1_6 +%define soname 2_14_2_0 %define libname libcalc%{soname} Name: calc -Version: 2.14.1.6 +Version: 2.14.2.0 Release: 0 Summary: C-style arbitrary precision calculator License: LGPL-2.1-only ++++++ calc-2.14.1.6.tar.bz2 -> calc-2.14.2.0.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/CHANGES new/calc-2.14.2.0/CHANGES --- old/calc-2.14.1.6/CHANGES 2023-06-01 03:51:52.000000000 +0200 +++ new/calc-2.14.2.0/CHANGES 2023-07-22 07:57:10.000000000 +0200 @@ -1,4 +1,33 @@ -The following are the changes from calc version 2.14.1.5 to date: +The following are the changes from calc version 2.14.2.0 to date: + + Ported calc to the s390x IBM Mainframe running RHEL9.1. + + Added cal/splitbits.cal: + + splitbits(x, b) + + Given an integer x, split the value into a list of integers, + each of which is at most b bits long. + + The value b must be an integer > 0. + + The number of elements in the returned list is: + + ceil((highbit(x) + 1) / b) + + If x == 0, then a list of 1 element containing 0 is returned. + + If x < 0, then the two's compliment of abs(x) is returned. + Even though calc represents negative integers as positive values + with sign bit, the bits returned by this function are as if + the integer converted as if the integer was a two's compliment value. + + See also the help command: + + ; help resource + + +The following are the changes from calc version 2.14.1.5 to 2.14.1.6: Fixed version numbers in two cases in CHANGES that referred to the 2.14.2.x instead of 2.14.1.x. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/Makefile new/calc-2.14.2.0/Makefile --- old/calc-2.14.1.6/Makefile 2023-06-01 03:54:46.000000000 +0200 +++ new/calc-2.14.2.0/Makefile 2023-07-22 08:18:00.000000000 +0200 @@ -1381,7 +1381,7 @@ # The default calc versions # -VERSION= 2.14.1.6 +VERSION= 2.14.2.0 # Names of shared libraries with versions # @@ -6415,7 +6415,9 @@ file.o: value.h file.o: zmath.h fposval.o: alloc.h +fposval.o: attribute.h fposval.o: banned.h +fposval.o: byteswap.h fposval.o: decl.h fposval.o: endian_calc.h fposval.o: fposval.c @@ -6427,8 +6429,11 @@ fposval.o: have_newstr.h fposval.o: have_offscl.h fposval.o: have_posscl.h +fposval.o: have_stdlib.h fposval.o: have_string.h fposval.o: have_unused.h +fposval.o: longbits.h +fposval.o: zmath.h func.o: alloc.h func.o: attribute.h func.o: banned.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/Makefile.simple new/calc-2.14.2.0/Makefile.simple --- old/calc-2.14.1.6/Makefile.simple 2023-06-01 03:54:46.000000000 +0200 +++ new/calc-2.14.2.0/Makefile.simple 2023-07-22 08:18:00.000000000 +0200 @@ -1239,7 +1239,7 @@ # The default calc versions # -VERSION= 2.14.1.6 +VERSION= 2.14.2.0 # Names of shared libraries with versions # @@ -5699,7 +5699,9 @@ file.o: value.h file.o: zmath.h fposval.o: alloc.h +fposval.o: attribute.h fposval.o: banned.h +fposval.o: byteswap.h fposval.o: decl.h fposval.o: endian_calc.h fposval.o: fposval.c @@ -5711,8 +5713,11 @@ fposval.o: have_newstr.h fposval.o: have_offscl.h fposval.o: have_posscl.h +fposval.o: have_stdlib.h fposval.o: have_string.h fposval.o: have_unused.h +fposval.o: longbits.h +fposval.o: zmath.h func.o: alloc.h func.o: attribute.h func.o: banned.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/README.md new/calc-2.14.2.0/README.md --- old/calc-2.14.1.6/README.md 2021-11-08 03:58:52.000000000 +0100 +++ new/calc-2.14.2.0/README.md 2023-07-22 06:44:05.000000000 +0200 @@ -1,3 +1,25 @@ +# TL;DR Try calc + +## TL;DR Install calc + +``` +misc linux: sudo yum install calc +on Debian: sudo apt install calc +on RHEL: sudo dnf install calc +on Ubuntu: sudo apt install calc +via Termux: apt install calc +via src: sudo make clobber all chk instsll +``` + +## TL;DR Run calc + +``` +misc shell: calc +via bash: calc +via misc app: launch calc via Termux +via zsh: calc +``` + # What is calc? Calc is an interactive calculator which provides for easy large diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/cal/Makefile new/calc-2.14.2.0/cal/Makefile --- old/calc-2.14.1.6/cal/Makefile 2023-02-17 01:39:10.000000000 +0100 +++ new/calc-2.14.2.0/cal/Makefile 2023-07-22 07:51:12.000000000 +0200 @@ -267,21 +267,22 @@ # to keep this list in nice sorted order. # CALC_FILES= README alg_config.cal beer.cal bernoulli.cal \ - bernpoly.cal bigprime.cal bindings brentsolve.cal chi.cal chrem.cal \ - comma.cal constants.cal deg.cal dms.cal dotest.cal ellip.cal \ - factorial.cal factorial2.cal gvec.cal hello.cal hms.cal infinities.cal \ - intfile.cal intnum.cal lambertw.cal linear.cal lnseries.cal lucas.cal \ - lucas_chk.cal mersenne.cal mfactor.cal mod.cal natnumset.cal \ - palindrome.cal pell.cal pi.cal pix.cal pollard.cal poly.cal prompt.cal \ - psqrt.cal qtime.cal quat.cal randbitrun.cal randmprime.cal \ - randombitrun.cal randomrun.cal randrun.cal regress.cal repeat.cal \ - screen.cal seedrandom.cal set8700.cal set8700.line smallfactors.cal \ - solve.cal specialfunctions.cal statistics.cal strings.cal sumsq.cal \ - sumtimes.cal surd.cal test1700.cal test2300.cal test2600.cal \ - test2700.cal test3100.cal test3300.cal test3400.cal test3500.cal \ - test4000.cal test4100.cal test4600.cal test5100.cal test5200.cal \ - test8400.cal test8500.cal test8600.cal test8900.cal toomcook.cal \ - unitfrac.cal varargs.cal xx_print.cal zeta2.cal + bernpoly.cal bigprime.cal bindings brentsolve.cal chi.cal \ + chrem.cal comma.cal constants.cal deg.cal dms.cal dotest.cal \ + ellip.cal factorial.cal factorial2.cal gvec.cal hello.cal hms.cal \ + infinities.cal intfile.cal intnum.cal lambertw.cal linear.cal \ + lnseries.cal lucas.cal lucas_chk.cal mersenne.cal mfactor.cal mod.cal \ + natnumset.cal palindrome.cal pell.cal pi.cal pix.cal pollard.cal \ + poly.cal prompt.cal psqrt.cal qtime.cal quat.cal randbitrun.cal \ + randmprime.cal randombitrun.cal randomrun.cal randrun.cal regress.cal \ + repeat.cal screen.cal seedrandom.cal set8700.cal set8700.line \ + smallfactors.cal solve.cal specialfunctions.cal splitbits.cal \ + statistics.cal strings.cal sumsq.cal sumtimes.cal surd.cal \ + test1700.cal test2300.cal test2600.cal test2700.cal test3100.cal \ + test3300.cal test3400.cal test3500.cal test4000.cal test4100.cal \ + test4600.cal test5100.cal test5200.cal test8400.cal test8500.cal \ + test8600.cal test8900.cal toomcook.cal unitfrac.cal varargs.cal \ + xx_print.cal zeta2.cal # These calc files are now obsolete and are removed by the install rule. # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/cal/README new/calc-2.14.2.0/cal/README --- old/calc-2.14.1.6/cal/README 2022-11-27 21:08:08.000000000 +0100 +++ new/calc-2.14.2.0/cal/README 2023-07-22 07:48:57.000000000 +0200 @@ -1433,6 +1433,60 @@ on the script zeta2.cal. +splitbits.cal + + splitbits(x, b) + + Given an integer x, split the value into a list of integers, + each of which is at most b bits long. + + The value b must be an integer > 0. + + The number of elements in the returned list is: + + ceil((highbit(x) + 1) / b) + + If x == 0, then a list of 1 element containing 0 is returned. + + If x < 0, then the two's compliment of abs(x) is returned. + Even though calc represents negative integers as positive values + with sign bit, the bits returned by this function are as if + the integer converted as if the integer was a two's compliment + value. For example: + + ; L = splitbits(-1, 8); + ; print L[[0]] + 255 + + ; L = splitbits(-2, 8); + ; print L[[0]] + 254 + + ; L = splitbits(-3, 8); + ; print L[[0]] + 253 + + The first element of the list contains the lowest order bits + of x. The last element of the list contains the highest number + bits of x. + + For example: + + ; x = 2^23209-1 + ; L = splitbits(x, 16); + ; print size(L), L[[0]] + + ; print istype(2, 3i), istype(2, "2"), istype(2, null()) + 0 0 0 + + ; mat a[2] + ; b = list(1,2,3) + ; c = assoc() + ; obj chongo {was, here} d; + ; print istype(a,b), istype(b,c), istype(c,d) + 0 0 0 + + statistics.cal gammaincoctave(z,a) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/cal/splitbits.cal new/calc-2.14.2.0/cal/splitbits.cal --- old/calc-2.14.1.6/cal/splitbits.cal 1970-01-01 01:00:00.000000000 +0100 +++ new/calc-2.14.2.0/cal/splitbits.cal 2023-07-22 08:00:43.000000000 +0200 @@ -0,0 +1,83 @@ +/* + * splitbits - split an integer into list on bit boundardies of a fixed size + * + * Copyright (C) 2018,2023 Landon Curt Noll + * + * Calc is open software; you can redistribute it and/or modify it under + * the terms of the version 2.1 of the GNU Lesser General Public License + * as published by the Free Software Foundation. + * + * Calc is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General + * Public License for more details. + * + * A copy of version 2.1 of the GNU Lesser General Public License is + * distributed with calc under the filename COPYING-LGPL. You should have + * received a copy with calc; if not, write to Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Under source code control: 2006/06/07 14:10:11 + * File existed as early as: 2006 + * + * chongo <was here> /\oo/\ http://www.isthe.com/chongo/ + * Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/ + */ + + +/* + * setup splitbits errors + */ +static E_SPLITBITS_1, E_SPLITBITS_2, E_SPLITBITS_3; +if (! iserror(E_SPLITBITS_1)) E_SPLITBITS_1 = newerror("1st argument to splitbits must be an integer"); +if (! iserror(E_SPLITBITS_2)) E_SPLITBITS_2 = newerror("2nd argument to splitbits must be an integer"); +if (! iserror(E_SPLITBITS_3)) E_SPLITBITS_3 = newerror("2nd argument must be an integer > 0"); + + +/* + * define splitbits function + */ +define splitbits(x, b) +{ + local ret; /* list to return */ + local mask; /* 2^b-1 */ + local x_is_reg = 0; /* true if x < 0 */ + + /* firewall */ + if (! isint(x)) { + return error(E_SPLITBITS_1); + } + if (! isint(b)) { + return error(E_SPLITBITS_2); + } + if (b <= 0) { + return error(E_SPLITBITS_3); + } + + /* special case: x == 0 */ + if (x == 0) { + return list(0); + } + + /* setup for splitting x */ + ret = list(); + mask = 2^b-1; + if (x < 0) { + x_is_reg = 1; + x = abs(x); + } + + /* split x */ + while (x > 0) { + printf("%d %x\n", size(ret), x); + if (x_is_reg) { + append(ret, xor(x & mask, mask)); + } else { + append(ret, x & mask); + } + x >>= b; + } + + /* return list */ + return ret; +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/custom/Makefile new/calc-2.14.2.0/custom/Makefile --- old/calc-2.14.1.6/custom/Makefile 2023-06-01 03:54:46.000000000 +0200 +++ new/calc-2.14.2.0/custom/Makefile 2023-07-22 08:18:00.000000000 +0200 @@ -475,7 +475,7 @@ # The default calc versions # -VERSION= 2.14.1.6 +VERSION= 2.14.2.0 # Names of shared libraries with versions # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/custom/Makefile.simple new/calc-2.14.2.0/custom/Makefile.simple --- old/calc-2.14.1.6/custom/Makefile.simple 2023-06-01 03:54:46.000000000 +0200 +++ new/calc-2.14.2.0/custom/Makefile.simple 2023-07-22 08:18:00.000000000 +0200 @@ -445,7 +445,7 @@ # The default calc versions # -VERSION= 2.14.1.6 +VERSION= 2.14.2.0 # Names of shared libraries with versions # diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/fposval.c new/calc-2.14.2.0/fposval.c --- old/calc-2.14.1.6/fposval.c 2022-11-29 00:23:20.000000000 +0100 +++ new/calc-2.14.2.0/fposval.c 2023-07-22 07:33:13.000000000 +0200 @@ -1,7 +1,7 @@ /* * fposval - Determine information about the file position type * - * Copyright (C) 1999,2021 Landon Curt Noll + * Copyright (C) 1999,2021,2023 Landon Curt Noll * * Calc is open software; you can redistribute it and/or modify it under * the terms of the version 2.1 of the GNU Lesser General Public License @@ -72,6 +72,7 @@ #include "alloc.h" #include "have_unused.h" #include "have_memmv.h" +#include "zmath.h" #include "banned.h" /* include after system header <> includes */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/calc-2.14.1.6/version.c new/calc-2.14.2.0/version.c --- old/calc-2.14.1.6/version.c 2023-06-01 03:54:33.000000000 +0200 +++ new/calc-2.14.2.0/version.c 2023-07-22 08:17:43.000000000 +0200 @@ -83,8 +83,8 @@ */ #define MAJOR_VER 2 /* major library version */ #define MINOR_VER 14 /* minor library version */ -#define MAJOR_PATCH 1 /* major software version level */ -#define MINOR_PATCH 6 /* minor software version level */ +#define MAJOR_PATCH 2 /* major software version level */ +#define MINOR_PATCH 0 /* minor software version level */ /*
