2.12.7.1 is the latest stable version. for darwin use
${COMPILER_INCLUDE_DIRS} to find include dirs since
/usr/include may not be there. also, we want INCDIR
to point to the system includes, but we want CALC_INCDIR
to point at ${PREFIX}/include/calc. minor updates to Makefile
patch to do this.
2.12.4.13 to 2.12.7.1 changes from the calc maintainer's CHANGES file:
The following are the changes from calc version 2.12.7.1 to date:
Corrected CHANGES notes that were mixed up for TAB, VT, CR &
NL. The code in 2.12.7.0 is correct. The CHANGE notes should
have read:
The following is a partial list of escape sequences recognized
in strings and in printf formats:
\a audible bell byte 0x07 in ASCII encoding
\b backspace byte 0x08 in ASCII encoding
\f form feed byte 0x0c in ASCII encoding
\n newline byte 0x0a in ASCII encoding
\r return byte 0x0d in ASCII encoding
\t tab byte 0x09 in ASCII encoding
\v vertical tab byte 0x0b in ASCII encoding
Sorry!
The following are the changes from calc version 2.12.6.10: to 2.12.7.0:
Added a patch to replaces the manual search for include files
in $(INCDIR) in the have_*.h targets with compiler invocations.
Thanks goes to Helmut Grohne (helmut at subdivi dot de) who
implemented the patch and posted it to the Debian bug tracker
and Martin Buck (m at rtin-buck dor de) for forwarding it to us.
The check_include make rule was fixed to not assume /usr/include.
The qprintnum() function now takes outdigits as a 3rd argument.
Most of the time, this 3rd argument is just conf->outdigits.
But when it comes to the experimental '%g', this value can
change. This avoids having to modify conf->outdigits.
Fixed a problem where gcc complains about E_FUNC not being defined
for Linux systems as reported by Martin Buck (m at rtin-buck dor de).
Updated the help files help/config, help/display, help/epsilon,
help/fprint, help/printf, and help/strprintf to give more
examples of how display digits and epsilon precision interact
with displaying values.
Added more information about %g in the help file help/printf.
The '\a' is now recognized in a printf format string as the
single byte audible bell character (byte 0x07 in ASCII encoding).
The following is a partial list of escape sequences recognized
in strings and in printf formats:
\a audible bell byte 0x07 in ASCII encoding
\b backspace byte 0x08 in ASCII encoding
\f form feed byte 0x0c in ASCII encoding
\n newline byte 0x0a in ASCII encoding
\r return byte 0x0d in ASCII encoding
\t tab byte 0x09 in ASCII encoding
\v vertical tab byte 0x0b in ASCII encoding
The following are the changes from calc version 2.12.6.9 to 2.12.6.9:
Fixed a number of core dump bugs related to the calculation of
tan(), cot(), sec(), csc(), tanh(), coth(), sech(), and csch(),
asin(), acos(), asinh(), acosh(), where when a call to an
underlying function produced an invalid value. Thanks goes to
github user wuxiuheng for reporting this problem.
A number of trigonometric and hyperbolic functions that incorrectly
returned E_LOGINF, now return a new error code that is more
specific to the trigonometric or hyperbolic function. The
following is a list of these new error codes: E_TAN3 E_TAN4
E_COT3 E_COT4 E_SEC3 E_CSC3 E_TANH3 E_TANH4 E_COTH3 E_COTH4
E_SECH3 E_CSCH3 E_ASIN3 E_ACOS3 E_ASINH3 E_ACOSH3 E_ATAN3 E_ACOT3
E_ASEC3 E_ACSC3 E_ATANH3 E_ACOTH3 E_ASECH3 E_ACSCH3.
Added regression tests 3729 thru 3732 to test E_TAN3, E_COT3,
E_SEC3 and E_CSC3 respectively.
Added experimential %g printf (and strprintf) format implementation
based on pull request from github user 10110111.
Made exterimental changes to macOS builds to not require use of
/usr/include. The INCDIR for macOS uses:
INCDIR= $(shell xcrun --show-sdk-path --sdk macosx)/usr/include
to determine the upper path of the /usr/include directory for macOS.
In some rare cases, the Darwin target seems to not automatically detected.
If you are running under macOS, and that happens, you can force
the target to be Darwin:
# for macOS users only, force the target to be darwin
#
make target=Darwin clobber
make target=Darwin all
make target=Darwin chk
make target=Darwin install
The following are the changes from calc version 2.12.6.6 to 2.12.6.8:
For historical purposes, in lucas.cal, gen_v1(1, n) always returns 4.
Fixed some compiler warnings, thanks to a report by Mike
<michael dot d dot ince at gmail dot com>.
Added work around for a gcc warning bug, thanks to a report by Mike
<michael dot d dot ince at gmail dot com>.
Fixed errors in various help files such as:
mat randbit seed srandom types
Removed the MAXSTRING symbol because it was no longer used by calc.
Increased HIST_SIZE (depth of the history stack) from 10k to 32k.
Increased TTYSIZE (reallocation size for terminal buffers) from 100 to 8191.
Increased MAXDEPTH (maximum depth of input stack) from 10 to 255.
Increased interactive input buffer size from 1024 to 256k. This has the
effect of increasing the maximum length of an input line from a tty.
This helps with an interactive bug that was reported by Ruslan Kabatsayev
(b7 dot 10110111 at gmail dot com).
The calc man page indicates that -d also disables the printing of the
leading tilde.
Added information to "help command" about how to silence messages
while reading calc resource files.
Fixed an error message buffer overflow thanks to a report by
Frank Peters <nlp at northernlightsphoto dot biz>.
Replaced all use of the C funcion sprintf() with snprintf().
Replaced all use of the C funcion vsprintf() with vsnprintf().
Replaced all DONT_HAVE_VSPRINTF with DONT_HAVE_VSNPRINTF.
Replaced all Makefile var ${HAVE_VSPRINTF} with ${HAVE_VSNPRINTF}.
The following are the changes from calc version 2.12.6.4 to 2.12.6.5:
Fixed warning about undefined operations involving the qlink(q)
macro by replacing that macro with an inline-function. Thanks goes
to David Haller <dnh at opensuse dot org> for this fix.
NOTE for Windows 10 users: Pavel Nemec <pane at seznam dot cz>
reported that calc version 2.12.6.4 has been successfully
compiled, installed and running on Windows 10. See README.WINDOWS
for more details.
The following are the changes from calc version 2.12.6.1 to 2.12.6.3:
Improved gen_v1(h,n) in lucas.cal to use an even faster search method.
Improved are checking in lucas.cal. In particular both h and n must be
integers >= 1. In the case of both rodseth_xhn(x, h, n) and gen_v1(h, n)
h must be odd.
Fixed an C code indenting issue that was reported by Thomas Walter
<th dot walter42 at gmx dot de> in zfunc.c.
Fixed a man page warning about ./myfile where the leading dot
was mistook for an nroff macro. Thanks goes to David Haller
<dnh at opensuse dot org> for providing the patch.
Improved gen_v1(h,n) in lucas.cal for cases where h is not a
multiple of 3. Optimized the search for v(1) when h is a
multiple of 3.
Fixed a Makefile problem, reported by Doug Hays <doughays6 at gmail
dot com>, where if a macOS user set BINDIR, LIBDIR, CALC_SHAREDIR
or INCDIR in the top section, their values will be overwritten by
the Darwin specific section.
The following are the changes from calc version 2.12.6.0 to 2.12.6.0:
Added the makefile variable ${COMMON_ADD} that will add flags
to all compile and link commands. The ${COMMON_ADD} flags are
appended to both ${COMMON_CFLAGS} and ${COMMON_LDFLAGS}. This
facility is available to nearly all platforms except those with
very old make commands that do not understand the += operator.
Example on macOS (Darwin), one may invoke clang's -fsanitize
facility by:
make clobber all \
COMMON_ADD='-fsanitize=undefined -fsanitize=address'
Another example. To force C warnings to be treated as errors:
make COMMON_ADD='-Werror'
Created a GitHub repository for calc:
https://github.com/lcn2/calc
NOTE: The calc GitHub repository represents the an active
development stream. While an effort will be made to keep
the master branch of the calc GitHub repository in working
order, that tree may be unstable. Those wishing for more
reliable releases use releases found at calc mirror sites:
http://www.isthe.com/chongo/tech/comp/calc/calc-mirror.html
IMPORTANT NOTE:
On 2017 June 05, the calc GitHub history was re-written.
Anyone who was tracking the calc "pre-release" on GitHub prior
to version 2.12.6.0 should do a:
git reset --hard origin/master
git cleanup -f
Or you may just want to start over:
rm -rf calc
git clone https://github.com/lcn2/calc.git
Sorry about that. The previous GitHub repository was an useful
experiment. Based on what we learned, we decided to rebuild it.
Renamed README to README.FIRST. Added README.md for the
GitHub repository.
Fixed reading from standard input (stdin) when -p is given on
the command line. This now prints hello:
echo hello | calc -p 'stdin = files(0); print fgetline(stdin);'
Added more debugging related to stdin when bit 4 of calc_debug
is set (e.g., running calc with -D16).
Updated the calc(1) man page and 'help file' to explain about
reading from standard input (stdin).
Added some clarifying remarks for 'help ptest' explaining that
the ptest builtin can return 1 is some cases where the test
value is a pseudoprime.
Removed duplicate copyright comments from the help/builtin that
is built.
Fixed a number of typos in the CHANGES file.
The following are the changes from calc version 2.12.5.4 to 2.12.5.6:
Recompile to match current RHEL7.2 libc and friends.
Added fix by Alexandre Fedotov <fedotov at mail dot desy dot de>
to prepend ${T} in front of the CALCPATH path components
${CALC_SHAREDIR} and ${CUSTOMDIR}. Add ${T} in front of ${HELPDIR}
and ${CUSTONHELPDIR} when making conf.h.
Improved the jacobi help page.
Rewrote gen_v1() in the lucas.cal resource file using the method
based on a paper:
"A note on primality tests for N = h*2^n-1", by Oystein J. Rodseth,
Department of Mathematics, University of Bergen, BIT Numerical
Mathematics. 34 (3): pp 451-454.
http://folk.uib.no/nmaoy/papers/luc.pdf
The improved gen_v1() function is capable of returning a value
for all valid values of h and n. As a result, the trial tables
used by gen_v1() have been changed to a short list of values
to try, in order ot likelyhood of success, before doing an
exhaustive search for a v1 value to return.
Removed lucas_tbl.cal calc resource file. This file was made
obsolete by the above rewrite of the lucas.cal resource file.
This file will be removed from the local cal directory and
from CALC_SHAREDIR during a 'make install', 'make clobber',
and 'make uninstall'.
Renamed gen_u0() to gen_u2() in lucas.cal. Provided a gen_u0()
stub function that calls gen_u2() for backward compatibility.
The old gen_v1() method used by the Amdahl 6 group has been
renamed legacy_gen_v1() in lucas.cal. This function is no
longer used by the lucas(h, n) function to test the primality of
h*2^n-1. It is preserved in lucas.cal for historical purposes.
The 'make clobber' rule will attempt to remove all files that
start with libcalc and start with libcustcalc.
The 'man' command is now an alias for the 'help' command.
Fixed extra /'s that were put into CALCPATH because of ${T}.
Fixed extra /'s that were compiled into HELPDIR and CUSTOMHELPDIR.
The fix in 2.12.5.4 to to prepend ${T} in front of the CALCPATH
path components ${CALC_SHAREDIR} and ${CUSTOMDIR} broke the
calc rpm build process. The check-buildroot tool discovered
that the BUILDROOT directory had been improperly put into various
paths and binaries. This has been fixed in 2.12.5.5.
Fixed a crash that showed up on macOS (Darwin) that was reported
by Richard Outerbridge <outer at interlog dot com> and
fixed by Stuart Henderson <stu at spacehopper dot org>.
Thanks goes to both!
The following are the changes from calc version 2.12.5.3 to 2.12.5.3:
Calc version 2.12.5.2 for macOS (Darwin) users, code to installed
calc under /opt/calc. Moreover the CHANGES file did not mention
/opt/calc. Sorry about that!.
A much better tree for macOS (Darwin) users would have been
to install cal under /opt/calc. This release ONLY changes the
macOS (Darwin) install tree to /usr/local.
macOS (Darwin) users who installed calc version 2.12.5.2
should, after installing version 2.12.5.3:
rm -rf /opt/calc
The following are the changes from calc version 2.12.5.1 to 2.12.5.2:
NOTE: calc version 2.12.5.2, for macOS (Darwin) users,
installed under /opt/calc. We neglected to mention this
AND /usr/local would have been a better choice. Sorry!
Fixed in calc version 2.12.5.3.
Removed rules and makefile variables associated with shortened
calc version numbers of less than 4 levels.
Under OS X (Darwin), if /usr/include is missing, warnings
are issued to help the user use xcode-select --install
so that one may properly compile C code.
Lowered REDC levels:
#define MAXREDC 256 /* number of entries in REDC cache */
#define SQ_ALG2 28 /* size for alternative squaring */
config("sq2") == 28 /* was 3388 */
#define MUL_ALG2 28 /* size for alternative multiply */
config("mul2") == 28 /* was 1780 */
#define POW_ALG2 20 /* size for using REDC for powers */
config("pow2") == 20 /* was 176 */
#define REDC_ALG2 25 /* size for using alternative REDC */
config("redc2") == 25 /* was 220 */
The alg_config.cal script appears to be not correctly finding the
best REDC values. While it has been improved, alg_config.cal still
seems to be suspect on how it attempts to find the best values.
Fixed an intro help file mistake found by Roger Hardiman
<roger at rjh dot org dot uk>.
The following are the changes from calc version 2.12.5.0 to 2.12.5.1:
Calc has a new calc-tester mailing list. This list is for those
who are using/testing calc. We also use this list to announce
new versions of calc. To subscribe to the calc-tester mailing
list, visit the following URL:
http://www.isthe.com/chongo/tech/comp/calc/calc-tester.html
This is a low volume moderated mailing list.
This mailing list replaces calc-tester at asthe dot com list.
If you need a human to help you with your mailing list subscription,
please send Email to our special:
calc-tester-maillist-help at asthe dot com
address. To be sure we see your Email asking for help with your
mailing list subscription, please use the following phase in your
Email Subject line:
calc tester mailing list help
That phrase in your subject line will help ensure your
request will get past our anti-spam filters. You may have
additional words in your subject line.
There is a new calc bug report Email address:
calc-bug-report at asthe dot com
This replaces the old calc-bugs at asthe dot com address.
To be sure we see your Email reporting a calc bug, please use the
following phase in your Email Subject line:
calc bug report
That phrase in your subject line will help ensure your
request will get past our anti-spam filters. You may have
additional words in your subject line.
However, you may find it more helpful to simply subscribe
to the calc-tester mailing list (see above) and then to
send your report to that mailing list as a wider set calc
testers may be able to help you.
The following makefile rules that were related to printing the
upper values of the calc version, rules that were made obsolete
in calc version 2.12.4.14, have been removed:
calc_vers calc_ver calc_ve
vers ver ve
Noted that the hash() builtin function, internally known as
quickhash (used for internal objects such as the associative
arrays as well as other internal processes) uses the deprecated
32-bit FNV-0 hash. The use of this deprecated hash is sufficient
for calc internal purposes. Use of FNV-1a is recommended for
a general non-cryptographic quick hash.
The following are the changes from calc version 2.12.4.14 to 2.12.5.0:
For Apple OS X / Darwin target:
MACOSX_DEPLOYMENT_TARGET is no longer defined
using clang compiler
By default, -install-name is used when forming shared libs.
To force -install-name to not be used, set SET_INSTALL_NAME=no.
The have_stdvs.c test uses <stdlib.h> and fixed va_start() test call
that didn't use last arg.
Fixed math_fmt (printf) in value.c where a LEN (SB32) be printed as %d.
Fixed a significant bug where that resulted in an incorrect
complex number comparison. Thanks goes to David Binderman
<dcb314 at hotmail dot com> for identifying the subtle typo!
Make minor fixes to the make depend rule.
Fixed places were calc defined a reserved identifier that
begin with either __ or _[A-Z]. For example, __FILE_H__ has
been replaced with INCLUDE_FILE_H.
Fixed the addall3 example in the script help file. Thanks for this
fix goes to Igor Furlan <igor dot furlan at gmail dot com>.
We made important fixes to the calc command line history:
Fixed a bug in the command line history where calc would sometimes
crash. There was code that used memcpy() instead of memmove()
that could corrupt the command line history when entering a
into into history that was similar to a previous entry. Thanks
goes to Einar Lielmanis <einars at spicausis dot lv> for first
identifying this mistake.
The calc command line history code, in general was not robust.
We made use a patch from Mathias Buhr <napcode at users dot sf
dot net>, that while it uses a bit more memory: is much more
flexible, readable and robust. This patch replaced the improper
use of memcpy() (see above) with better code. Thanks!
The alg_config.cal calc resource file has been reworked to produce
better diagnostics while attempting to determine the ideal values
for mul2, sq2, and pow2. However, it has been shown that this
code is not correct. Suggestions for a replacement are welcome!
calc -u 'read alg_config; config("user_debug", 2),; best_mul2();'
calc -u 'read alg_config; config("user_debug", 2),; best_sq2();'
calc -u 'read alg_config; config("user_debug", 2),; best_pow2();'
Fixed a number of pedantic compiler warnings.
Removed -W and -Wno-comment from the the CCWARN makefile variable.
Removed no_implicit.arg makefile rule. Removed HAVE_NO_IMPLICIT
makefile variable. Removed no_implicit.c source file.
Added WNO_IMPLICT makefile variable to hold the compiler flag
-Wno-implicit for use on selective compile lines.
Added WNO_ERROR_LONG_LONG makefile variable to hold the compiler flag
-Wno-error=long-long for use on selective compile lines.
Added WNO_LONG_LONG makefile variable to hold the compiler flag
-Wno-long-long for use on selective compile lines.
The makefile variable ${MKDIR_ARG} has been replaced with just -p.
Minor fixes were made to the calc.spec.in file.
The target rpm architecture changed from i686 to x86_64. For those
who do not run machine with x86_64, we continue to release a src
rpm. For those without the ability to process an rpm, we will always
to release src tarball.
When building the libcalc and libcustcalc shared libraries,
ONLY the .so and .so.${VERSION} files are created. The .so is
a symlink to the .so.${VERSION} file. Here ${VERSION} is the
full "w.x.y.z" calc version.
Changes from 2.6.8 to 2.6.9
- Thanks to Mike Toews for more robust handling of the thread-setting
environment variables.
- With Appveyor updating to Python 3.7.1, wheels for Python 3.7 are now
available in addition to those for other OSes.
Upstream changes:
CHANGES IN VERSION 1.1-19
NEW FEATURES
influence measure code from car rolled in (see ?influence.merMod)
mkReTrm gets new arguments reorder.terms, reorder.vars to control arrangement of RE terms and individual effects with RE terms within model structures
adding material from the RePsychLing package (on GitHub; see Bates et al 2015 arXiv:1506.04967) to show orthogonal variance components.
USER-VISIBLE CHANGES
as.data.frame.merMod finds conditional variance information stored either as attr(.,"postVar") or attr(.,"condVar") (for glmmTMB compatibility)
change to defaults of [g]lmerControl to print a message when fits are singular
new utility isSingular() function for detecting singular fits; by default a message is printed for singular fits
allFit function/methods have been moved to the main package, rather than being included in an auxiliary source file
post-fitting convergence checks based on estimated gradient and Hessian (see troubleshooting) are no longer performed for (nearly-)singular fits (see isSingular)
CHANGES IN VERSION 1.1-18-1 (2018-08-17)
This is a minor release; the only change is to roll back (unexport) the influence.merMod method, pending resolution of conflicts with the car package
CHANGES IN VERSION 1.1-18 ((2018-08-16)
USER-VISIBLE CHANGES
ranef(.,condVar=TRUE) now works when there are multiple random effects terms per factor
NEW FEATURES
rstudent and influence methods are available for merMod objects
devfun2 function (for generating a deviance function that works on the standard deviation/correlation scale) is now exported
BUG FIXES
lmList now obeys its pool argument (instead of always using what currently is the default, GH #476)
CHANGES IN VERSION 1.1-17 (2018-04-03)
This is a maintenance release only (fixes CRAN problems with cross-platform tests and examples)
CHANGES IN VERSION 1.1-16 (2018-03-28)
BUG FIXES
lmList no longer ignores the subset argument (John Fox)
fixed several minor issues with predicting when (1) grouping variables have different levels from original model (e.g. missing levels/factor levels not explicitly specified in newdata) or (2) re.form is a subset of the original RE formula and some (unused) grouping variables are omitted from newdata (GH #452, #457)
USER-VISIBLE CHANGES
lmList tries harder to collect errors and pass them on as warnings
documented as.function method (given a merMod object, returns a function that computes the deviance/REML criterion for specified parameters)
print method for summary.merMod objects no longer collapses small values of the t-statistic to zero
Upstream changes:
CHANGES IN R 3.5.2:
PACKAGE INSTALLATION:
* New macro CXX_VISIBILITY analogous to C_VISIBILITY (which several
packages have been misusing for C++ code) for the default C++
compiler (but not necessarily one used for non-default C++
dialects like C++14).
TESTING:
* The random number generator tests in tests/p-r-random-tests.R no
longer fail occasionally as they now randomly sample from
"certified" random seeds.
BUG FIXES:
* The "glm" method of drop1() miscalculated the score test
(test="Rao") when the model contained an offset.
* Linear multiple empty models such as lm(y ~ 0) now have a
correctly dimensioned empty coefficient matrix; reported by Brett
Presnell.
* vcov(<empty mlm>) and hence confint() now work (via a consistency
change in summary.lm()).
* confint(<multiple lm()>) now works correctly; reported on R-devel
by Steven Pav.
* quade.test() now also works correctly when its arguments are not
yet sorted along groups, fixing PR#15842.
* Installation on a Unix-alike tries harder to link to the pthread
library where required (rather than relying on OpenMP to provide
it: configuring with --disable-openmp was failing on some Linux
systems).
* The data.frame method for print(x) is fast now also for large
data frames x and got an optional argument max, thanks to
suggestions by Juan Telleria.
* hist() no longer integer overflows in very rare cases, fixing
PR#17450.
* untar() ignored a character compressed argument: however many
external tar programs ignore the flags which should have been set
and automagically choose the compression type, and if appropriate
gzip or bzip2 compression would have been chosen from the magic
header of the tarball.
* zapsmall(x) now works for more "number-like" objects.
* The tools-internal function called from R CMD INSTALL now gets a
warnOption = 1 argument and only sets options(warn = warnOption)
when that increases the warning level (PR#17453).
* Analogously, the tools-internal function called from R CMD check
gets a warnOption = 1 argument and uses the larger of that and
getOption("warn"), also allowing to be run with increased warning
level.
* Parse data now have deterministic parent nodes (PR#16041).
* Calling match() with length one x and POSIXlt table gave a
segfault (PR#17459).
* Fork clusters could hang due to a race condition in cluster
initialization (makeCluster()).
* nextn(n) now also works for larger n and no longer loops
infinitely for e.g, n <- 214e7.
* cooks.distance() and rstandard() now work correctly for multiple
linear models ("mlm").
* polym() and corresponding lm() prediction now also work for a
boundary "vector" case fixing PR#17474, reported by Alexandre
Courtiol.
* With a very large number of variables terms() could segfault
(PR#17480).
* cut(rep(0, 7)) now works, thanks to Joey Reid and Benjamin Tyner
(PR#16802).
* download.file(*, method = "curl", cacheOK = FALSE) should work
now on Windows, thanks to Kevin Ushey's patch in PR#17323.
* duplicated(<dataframe with 'f'>) now works, too, thanks to
Andreas Kersting's PR#17485; ditto for anyDuplicated().
* legend(*, cex = 1:2) now works less badly.
* The print() method for POSIXct and POSIXlt now correctly obeys
getOption("max.print"), fixing a long-standing typo, and it also
gets a corresponding optional max argument.
* Unserialization of raw vectors serialized in ASCII representation
now works correctly.
* <data frame>[TRUE, <new>] <- list(c1, c2) now works correctly,
thanks to Suharto Anggono's PR#15362 and Emil Bode's patch in
PR#17504.
* seq.int(*, by=by, length=n) no longer wrongly "drops fractional
parts" when by is integer, thanks to Suharto Anggono's report
PR#17506.
* Buffering is disabled for file() connections to non-regular files
(like sockets), as well as fifo() and pipe() connections. Fixes
PR#17470, reported by Chris Culnane.
Eliminate merged patches.
Improve java support.
Patch by Michal Gorny.
Upstream changelog
==================
z3-4.8.3
This release covers
bug fixes since 4.8.1
.NET bindings for dotnet standard 1.4 on windows and 64 bit Linux systems and MacOs
z3-4.8.1
New requirements:
A breaking change to the API is that parsers for SMT-LIB2 formulas return a vector of
formulas as opposed to a conjunction of formulas. The vector of formulas correspond to
the set of "assert" instructions in the SMT-LIB input.
New features
A parallel mode is available for select theories, including QF_BV.
By setting parallel.enable=true Z3 will spawn a number of worker threads proportional to the
number of available CPU cores to apply cube and conquer solving on the goal.
The SAT solver by default handle cardinality and PB constraints using a custom plugin
that operates directly on cardinality and PB constraints.
A "cube" interface is exposed over the solver API.
Model conversion is first class over the textual API, such that subgoals created from running a
solver can be passed in text files and a model for the original formula can be recreated from the result.
This has also led to changes in how models are tracked over tactic subgoals. The API for
extracting models from apply_result have been replaced.
An optional mode handles xor constraints using a custom xor propagator.
It is off by default and its value not demonstrated.
The SAT solver includes new inprocessing techniques that are available during simplification.
It performs asymmetric tautology elimination by default, and one can turn on more powerful inprocessing techniques
(known as ACCE, ABCE, CCE). Asymmetric branching also uses features introduced in Lingeling by exploiting binary implication graphs.
Use sat.acce=true to enable the full repertoire of inprocessing methods. By default, clauses that are "eliminated" by acce are tagged
as lemmas (redundant) and are garbage collected if their glue level is high.
Substantial overhaul of the spacer horn clause engine.
Added basic features to support Lambda bindings.
Added model compression to eliminate local function definitions in models when
inlining them does not incur substantial overhead. The old behavior, where models are left
uncompressed can be replayed by setting the top-level parameter model_compress=false.
Integration of a new solver for linear integer arithmetic and mixed linear integer arithmetic by Lev Nachmanson.
It incorporates several improvements to QF_LIA solving based on
. using a better LP engine, which is already the foundation for QF_LRA
. including cuts based on Hermite Normal Form (thanks to approaches described
in "cuts from proofs" and "cutting the mix").
. extracting integer solutions from LP solutions by tightening bounds selectively.
We use a generalization of Bromberger and Weidenbach that allows avoiding selected
bounds tighthenings (https://easychair.org/publications/paper/qGfG).
It solves significantly more problems in the QF_LIA category and may at this point also
be the best solver for your problem as well.
The new solver is enabled only for select SMT-LIB logics. These include QF_LIA, QF_IDL, and QF_UFLIA.
Other theories (still) use the legacy solver for arithmetic. You can enable the new solver by setting
the parameter smt.arith.solver=6 to give it a spin.
Removed features:
interpolation API
duality engine for constrained Horn clauses.
pdr engine for constrained Horn clauses. The engine's functionality has been
folded into spacer as one of optional strategies.
long deprecated API functions have been removed from z3_api.h
Z3 4.7.1. official release
cumulative bug fix since 4.6.0
minor version incremented as API now uses stdbool and stdint: bool and int64_t, uint64_t
Official release Z3 4.6.0.
Theano 1.0.3:
- Theano is now compatible with Python 3.7
- Broadcasting for sparse dot products works correctly
- Subtensor grads do not return int anymore
bcal (Byte CALculator) is a REPL CLI utility for storage expressions,
unit conversions or address calculations. If you can't calculate the
hex address offset for (512 - 16) MiB, or the value when the 43rd bit
of a 64-bit address is set mentally, bcal is for you.
It has a bc(1) mode for general-purpose numerical calculations.
Only 64-bit operating systems are supported.
Packaged by Sijmen J. Mulder in pkgsrc-wip, thanks!
Version 1.0.12:
- Merged Pull Request 11] which simplifies conversion of a
profit matrix to a cost matrix, in the default case.
- Merged Pull Request 7 which fixes a message.
- Added more tests.
Version 0.41.0
This release adds the following major features:
* Diagnostics showing the optimizations done by ParallelAccelerator
* Support for profiling Numba-compiled functions in Intel VTune
* Additional NumPy functions: partition, nancumsum, nancumprod, ediff1d, cov,
conj, conjugate, tri, tril, triu
* Initial support for Python 3 Unicode strings
General Enhancements:
* armv7 support
* invert mapping b/w binop operators and the operator module
* First attempt at parallel diagnostics
* Adding NUMBA_ENABLE_PROFILING envvar, enabling jit event
* Support for np.partition
* Support for np.nancumsum and np.nancumprod
* Add location information to exceptions.
* Support for np.ediff1d
* Support for np.cov
* Support user pipeline class in with lifting
* string support
* Improve error message for empty imprecise lists.
* Enable overload(operator.getitem)
* Support negative indexing in tuple.
* Refactor Const type
* Optimized usage of alloca out of the loop
* Updates for llvmlite 0.26
* Add support for `np.conj/np.conjugate`.
* np.tri, np.tril, np.triu - default optional args
* Permit dtype argument as sole kwarg in np.eye
CUDA Enhancements:
* Add max_registers Option to cuda.jit
Continuous Integration / Testing:
* CI with Azure Pipelines
* Workaround race condition with apt
* Fix issues with Azure Pipelines
* Fix `RuntimeWarning: 'numba.runtests' found in sys.modules`
* Disable openmp in wheel building
* Azure Pipelines templates
* Fix cuda tests and error reporting in test discovery
* Prevent faulthandler installation on armv7l
* Fix CUDA test that used negative indexing behaviour that's fixed.
* Start Flake8 checking of Numba source
Fixes:
* Fix dispatcher to only consider contiguous-ness.
* Fix 3119, raise for 0d arrays in reductions
* Reduce redundant module linking
* Fix AOT on windows.
* Fix memory management of __cuda_array_interface__ views.
* Fix typo in error name.
* Fix the default unboxing logic
* Allow non-global reference to objmode() context-manager
* Fix global reference in objmode for dynamically created function
* CUDA_ERROR_MISALIGNED_ADDRESS Using Multiple Const Arrays
* Correctly handle very old versions of colorama
* Add 32bit package guard for non-32bit installs
* Fix with-objmode warning
* Fix label offset in call inline after parfor pass
* Fixes raising of user defined exceptions for exec(<string>).
* Fix error due to function naming in CI in py2.7
* Fixed TBB's single thread execution and test added for
* Allow matching non-array objects in find_callname()
* Change getiter and iternext to not be pure.
* Make ir.UndefinedType singleton class.
* Fix np.random.shuffle sideeffect
* Raise unsupported for kwargs given to `print()`
* Remove dead script.
* Fix stencil support for boolean as return type
* Fix handling make_function literals
* Add missing unicode != unicode
* Fix complex math sqrt implementation for large -ve values
* This adds arg an check for the pattern supplied to Parfors.
* Sets list dtor linkage to `linkonce_odr` to fix visibility in AOT
Documentation Updates:
* Update 0.40 changelog with additional PRs
* Tweak spacing to avoid search box wrapping onto second line
* Add note about memory leaks with exceptions to docs.
* Add FAQ on CUDA + fork issue.
* Update docs for argsort, kind kwarg partially supported.
* Added mention of njit in 5minguide.rst
* Fix parallel reduction example in docs.
* Fix broken link and mark up problem.
* Size Numba logo in docs in em units.
* just two typos
* Document string support
* Documentation for parallel diagnostics.
Version 0.9.12 Release Notes
New features:
- SkewedVoigtModel was added as built-in model
- Parameter uncertainties and correlations are reported for least_squares
- Plotting of complex-valued models is now handled in ModelResult class
- A model's independent variable is allowed to be an object
- Added usersyms to Parameters() initialization to make it easier to add custom functions and symbols
- the numdifftools package can be used to calculate parameter uncertainties and correlations for all solvers that do not natively support this
- emcee can now be used as method keyword-argument to Minimizer.minimize and minimize function, which allows for using emcee in the Model class
(Bug)fixes:
- asteval errors are now flushed after raising
- max_time and evaluation time for ExpressionModel increased to 1 hour
- loading a saved ModelResult now restores all attributes
- development versions of scipy and emcee are now supported
- ModelResult.eval() do no longer overwrite the userkws dictionary
- running the test suite requires pytest only
- improved FWHM calculation for VoigtModel
Bump to version 2.84
Construct a separate case for lexing '0' from other octal numbers
This avoids needing code to identify this case within the octal number
token generation code.
Ignore '_' within numbers so it can be used as a separator
Adopted from languages like Rust where this can be used to group
digits in thousands for base-10 or power of two for base 2,8,16 to
make them easier to read.
123_456_789 = 123456789
0xafff_1212 = 0xafff1212
The patch makes both the lexer and string conversions support this.
Add array initalizer tests
Ignore SIGTTOU/SIGTTIN. Adjust TSTP processing
When run as other than the master of a process group, nickle may not
get all of its work done before the controlling shell takes over the
tty and resets that control group. This means that any processing of
terminal parameters may generate SIGTTOU/SIGTTIN signals, which end up
re-entering the stop function and causing general chaos. Only SIG_IGN
appears to appease the kernel into dealing with this case correctly.
Make assignments to stdin/stdout/stderr affect C code
Use values of these variables in the C code.
Allow repeat initializers in implicit sized arrays for small dimensions
When initializing an implicitly sized multi-dimensional array, permit
repeat initializers ("...") to be used to fill out smaller dimensions.
This is done by requiring that the maximum number of elements in each
dimension be taken from an initalizer without a repeat element.
This also requires allowing repeat initializers to be useful for
resizable arrays, which required a change to the execution machinery
as well.
Remove incorrect tree walking in CompileSizeDimensions
CompileSizeDimensions was incorrectly interpreting the tree structure
for bare value nodes -- it is either passed an ARRAY, or a single
expression value, which can either be a comprehension, an empty
initializer or a simple expression. The simple expression case was
incorrectly looking for a '...' element to the left, which cannot
happen. It further recursed if it hadn't reached the end of the
dimensions, which is pointless as that case will generate an
error when the initializers are compiled later.
Debian-bug: #911926
Bump to version 2.83
debian: Run CI tests from installed location (/usr/share/nickle/test)
Install tests so they can be run later
debian: Bump standards-version to 4.2.1
Sign tarfiles. Check signature in debian/watch file.
debian: Add autopkgtest CI script
debian: Depend on debhelper version 11
debian: Add debian/watch file
Check to make sure debian package is up-to-date with upstream version.
debian: Add hardening flag to debian/rules
debian: Make debian/copyright conform to standard copyright-format
debian: Add Homepage entry in debian/control
debian: Bump compat to 11
debian: Remove trailing whitespace from debian/changelog
test: Remove spurious printf in check_exp test
Spelling fixes in nickle.1.in
expresion → expression
formating → formatting
Add AC_SYS_LARGEFILE to configure.ac
This ensures that the correct macros to get large file support enabled
are included in the config.h file.
Include debian/source/format in tarball
The tarball is used to build the debian package and without this file
the resulting bits have a lintian warning.
Update to version 2.82
Add .gitignore and .dir-locals.el files
Add tests for exp/log which cover a range of precisions
These check log and exp with mathematical identities to see if they
produce reasonable results at a range of precisions.
Add Math::e_value. Fix exp and log precision error.
e_value computes e to any desired precision.
exp was incorrectly truncating the value just before the last
computation step, which caused it to lose significant precision.
log was range-reducing to 0-1 instead of 2-3, which put it outside the
range of rapid convergence. It also needed another newtons method
iteration step.
Use mktime instead of timelocal
timelocal is a glibc alias for mktime and isn't provided by the musl C
library.
2.2:
This release is the result of 8 months of work with over 149 commits by
58 contributors. Highlights include:
- Add support for Python 3.7. This is the last release to support Python 2.
- Uniform random number generator (RNG) handling which defaults to global
RNGs but allows specification of a single RNG for all random numbers in NX.
- Improved GraphViews to ease subclassing and remove cyclic references
which caused trouble with deepcopy and pickle.
- New Graph method `G.update(H)`
v0.5.1
* The Python 3.6.7 and 3.7.1 point releases changed the standard
tokenizer module in a way that broke patsy. Updated patsy to work
with these point releases.
This release contains the following changes from 0.14.0:
Enhancements
* "Reflect" mode in transforms now works fine when an image dimension has
size 1
* img_as_float now allows single-precision (32-bit) float arrays to pass
through unmodified, rather than being up-converted to 64-bit
* Speed up rgb2gray computation
* The scikit-image viewer now works with different PyQt versions
* The cycle_spin function for enhanced denoising works single-threaded when
dask is not installed now
* scikit-image's io module will no longer inadvertently set the matplotlib
backend when imported
* Fix deprecated get keyword from dask in favor of scheduler
* Add missing cval parameter to threshold_local
API changes
* Remove deprecated dynamic_range in measure.compare_psnr
0.14.0
New Features
* Lookfor function to search across the library: skimage.lookfor.
* nD support for skimage.transform.rescale, skimage.transform.resize,
and skimage.transform.pyramid_* transforms.
* Chan-Vese segmentation algorithm.
* Manual segmentation with matplotlib for fast data annotation:
skimage.future.manual_polygon_segmentation,
skimage.future.manual_lasso_segmentation.
* Hysteresis thresholding: skimage.filters.apply_hysteresis_threshold.
* Segmentation with morphological snakes:
skimage.segmentation.morphological_chan_vese (2D),
skimage.segmentation.morphological_geodesic_active_contour (2D and 3D).
* nD support for image moments: skimage.measure.moments_central,
skimage.measure.moments_central, skimage.measure.moments_normalized,
skimage.measure.moments_hu. This change leads to 3D/nD compatibility
for many regionprops.
* Image moments from coordinate input: skimage.measure.moments_coords,
skimage.measure.moments_coords_central.
* Added 3D support to blob_dog and blob_log.
* Inertia tensor and its eigenvalues can now be computed outside of
regionprops; available in skimage.measure.inertia_tensor.
* Cycle-spinning function for approximating shift-invariance by averaging
results from a series of spatial shifts: skimage.restoration.cycle_spin.
* Haar-like feature: skimage.feature.haar_like_feature,
skimage.feature.haar_like_feature_coord,
skimage.feature.draw_haar_like_feature.
* Data generation with random_shapes function: skimage.draw.random_shapes.
* Subset of LFW (Labeled Faces in the Wild) database:
skimage.data.cbcl_face_database.
* Fully reworked montage function (now with a better padding behavior):
skimage.util.montage.
* YDbDr colorspace conversion routines: skimage.color.rgb2ydbdr,
skimage.color.ydbdr2rgb.
Improvements
* VisuShrink method for skimage.restoration.denoise_wavelet.
* New max_ratio parameter for skimage.feature.match_descriptors.
* skimage.transform.resize and skimage.transform.rescale have a new
anti_aliasing option to avoid aliasing artifacts when down-sampling images.
* Support for multichannel images for skimage.feature.hog.
* Non-local means denoising (skimage.restoration.denoise_nl_means) has a new
optional parameter, sigma, that can be used to specify the noise standard
deviation. This enables noise-robust patch distance estimation.
* New alignment parameter in skimage.feature.plot_matches.
* New seed parameter in skimage.transform.probabilistic_hough_line.
* Various performance improvements.
API Changes
* skimage.util.montage. namespace has been removed, and
skimage.util.montage.montage2d function is now available as
skimage.util.montage2d.
* skimage.morphology.binary_erosion now uses True as border value, and is
now consistent with skimage.morphology.erosion.
Deprecations
* freeimage plugin has been removed from skimage.io.
* skimage.util.montage2d is deprecated and will be removed in 0.15.
Use skimage.util.montage function instead.
* skimage.novice is deprecated and will be removed in 0.16.
* skimage.transform.resize and skimage.transform.rescale have a new
anti_aliasing option that avoids aliasing artifacts when down-sampling
images. This option will be enabled by default in 0.15.
* regionprops will use row-column coordinates in 0.16.
* skimage.morphology.remove_small_holes min_size argument is deprecated
and will be removed in 0.16. Use area_threshold instead.
Upstream changes:
1.13
30 Oct 2018
- Add function pl_translate(), by request.
- Turn README into README.md. With MetaCPAN replacing CPAN,
there is no reason to have a plain-text README anymore
(MetaCPAN doesn't treat the file as special).
- Add a CONTRIBUTING.md file, which is becoming a thing.
- New test file for pl_translate(), and upgrade test files
that for some reason were still using Test::Simple to Test::More.
- Added an :all tag. Why not.
NumPy 1.15.4:
This is a bugfix release for bugs and regressions reported following the 1.15.3
release. The Python versions supported by this release are 2.7, 3.4-3.7. The
wheels are linked with OpenBLAS v0.3.0, which should fix some of the linalg
problems reported for NumPy 1.14.
NumPy 1.15.3:
This is a bugfix release for bugs and regressions reported following the 1.15.2
release. The Python versions supported by this release are 2.7, 3.4-3.7. The
wheels are linked with OpenBLAS v0.3.0, which should fix some of the linalg
problems reported for NumPy 1.14.
Upstream changes:
1.999815 2018-10-19
* Move bitwise operators signed and, signed or, and signed xor from
lib/Math/BigInt/CalcEmu.pm into lib/Math/BigInt/Lib.pm. The file
lib/Math/BigInt/CalcEmu.pm is no longer needed and thus removed.
1.999814 2018-10-01
* Add to_base() and from_base() to Math::BigInt and corresponding library
methods _to_base() and _from_base() to Math::BigInt::Lib. This was inspired
by CPAN RT #122681.
* Fix Makefile.PL to reflect that Test::More is only needed for testing, not
for building.
* In the documentation for each of the to_(bin|hex|oct|bytes) methods, add a
reference to the corresponding from_(bin|hex|oct|bytes) method.
Highlights:
Missing values in features, represented by NaNs, are now accepted in
column-wise preprocessing such as scalers. Each feature is fitted
disregarding NaNs, and data containing NaNs can be transformed. The
new impute module provides estimators for learning despite missing
data.
ColumnTransformer handles the case where different features or columns
of a pandas.DataFrame need different preprocessing. String or pandas
Categorical columns can now be encoded with OneHotEncoder or
OrdinalEncoder.
TransformedTargetRegressor helps when the regression target needs to
be transformed to be modeled. PowerTransformer and KBinsDiscretizer
join QuantileTransformer as non-linear transformations.
Added sample_weight support to several estimators (including KMeans,
BayesianRidge and KernelDensity) and improved stopping criteria in
others (including MLPRegressor, GradientBoostingRegressor and
SGDRegressor).
This release is also the first to be accompanied by a Glossary of
Common Terms and API Elements.
What is new in gsl-2.5:
** doc bug fix in binomial distribution figure
** added Wishart distribution
** added new module for digital filtering (gsl_filter); current filters include:
Gaussian filter
median filter
recursive median filter
impulse detection filter
** added new module for moving window statistics (gsl_movstat)
** added statistics functions:
gsl_stats_median()
gsl_stats_select()
gsl_stats_mad()
gsl_stats_mad0()
gsl_stats_Sn_from_sorted_data()
gsl_stats_Qn_from_sorted_data()
gsl_stats_gastwirth_from_sorted_data()
gsl_stats_trmean_from_sorted_data()
** added Romberg integration (gsl_integration_romberg)
** bug fix in deprecated functions gsl_multifit_wlinear_svd and
gsl_multifit_wlinear_usvd
** documention corrected to state that gsl_sf_legendre functions do
not include Condon-Shortley phase by default
** bug fix in exponential fitting example when using larger number
of points
** changed internal workspace inside gsl_spmatrix to a union to
avoid casting
** bug fixes in ode-initval2 for very rare solver crashing cases
** add histogram2d figure to manual (was missing in 2.4)
** bug fix in gsl_spmatrix_add for duplicate input arguments
** add support for negative arguments nu in gsl_sf_bessel_Jnu and
gsl_sf_bessel_Ynu
** better texinfo documentation for gsl_sf_hyperg functions
** fix vector and matrix fread/fwrite testing on windows systems
when tmpfile() fails
** fix for rstat/test.c on PPC64