Changes that might impact existing code
Eigen 3.3 fixes a few shortcomings that might impact existing code:
* Eigen 3.3 clarifies the usage of the Index type in SparseMatrix,
PermutationMatrix, Transpositions, as detailed below.
* The normalize and normalized methods will now leave their input
unchanged if its norm is 0 or too close to 0. Previously this
resulted in a vector containing NaNs or infinities.
* internal::significant_decimals_impl is deprecated and users of
custom scalar types are encouraged to overload
NumTraits<>::digits10().
In Eigen 3.3, the evaluation mechanism of expressions has been
completely rewritten. c.f. http://eigen.tuxfamily.org/index.php?title=3.3
Looks as though C++11 support was added and Eigen 2 support removed.
Detailed changelog:
http://eigen.tuxfamily.org/index.php?title=ChangeLog#Eigen_3.3.4
Changes from 2.6.2 to 2.6.3
- Documentation now available at readthedocs.io_.
- Support for floor() and ceil() functions added by Caleb P. Burns.
- NumPy requirement increased from 1.6 to 1.7 due to changes in iterator
flags.
- Sphinx autodocs support added for documentation on readthedocs.org.
- Fixed a bug where complex constants would return an error, fixing
problems with `sympy` when using NumExpr as a backend.
- Fix for 277 whereby arrays of shape (1,...) would be reduced as
if they were full reduction. Behavoir now matches that of NumPy.
- String literals are automatically encoded into 'ascii' bytes for
convience.
Maxima 5.40 change log
======================
New items in core:
------------------
[0eda309] New functions encode_time and decode_time, with test cases.
New items in share:
-------------------
[534a7d1] add symplectic_ode package
[46a7a0f] Add Kaplan-Meier's survival and empirical distribution estimators
Changes in core:
----------------
[cb259bb] change O(n^2) method for flattening list to O(n) method.
[21cf8e1] split totient into two parts
[6ef2b26] optimized gcfactor and tried to make it easier to read.
[1594167] optimize gc squaring and inline gctime1
[d7ff7c3] inline gctimes.
[4c8b6c6] sped up psumsq.
[f306940] speeded up imodp.
[efadb61] new implementation of ; is about a factor of 2 faster on sbcl
[9c79308] move jacbi and related functions from rat3c to numth
[75d8ceb] sped up divsum by splitting it in two parts where the lower
Numerous cross-compiling changes.
Numerous documentation changes and improvements.
Build/installation improvements.
Many updates to examples.
Many changes and improvements to test system.
Changes in share:
--------------
[9c7c70c] Commit new version of COMA. Sent by Wilhelm Haager
[0ef9ab0] Check for a constant "variable" of integration in romberg and bromberg
[834ffb3] Import ODEPACK fortran code.
[06bc1bd] Julia() and mandelbrot() are modified to create maxoutXXX.gnuplot
[dca80e3] plotdf: An option to change the arrow density. Patch from themusicgod1.
Bug fixes:
----------
[6ff1570] fix bug 3291: ecl on Linux needs utf-8
[db7788f] fix bug3300 Incorrect sha256sum output
[b896d1f] In rtest_translator, skip some tests which cause a crash (bug #3291).
[f1bc324] Implement numerical evaluation for gamma_greek. Fixes SF bug #3277.
[eec3d7f] In tests for kill(props), work around bug #3289.
[6267b88] In lsquares_mse, ensure temporary variable is assigned the correct value. #3282.
[b58a547] In lsquares_mse, ensure temporary variable is assigned the correct value. #3282.
[a7239b1] In RISCHLOGEPROG, detect zero divisor. This fixes SF bug #3274.
[eaacba6] Unlock :common-lisp package when compiling with SBCL. Fixes SF bug #3271.
[71ee1c0] Fix bug #2740: demo(romberg) fails
[5fb8f81] Add test for bug #2295: Failure to evaluate definite integral
[35c625e] Add tests for bug #2314: Two different results for an integral
[56fb70e] In tests for simplify_sum, add a few more tests from bug report #3236.
Unnumbered bugs:
----------------
[06c0fc7] operatingsystem: Make chdir work with recent gcl versions.
[7277f54] gcfactor(4/(%i+1)) gave an internal error in $bothcoef.
[c477689] Give informative error message when some index is not an integer: "rat(-1) isn't an integer?" from mailing list 2017-03-04.
[96c57d5] work around bug in gcl decode-universal-time.
[b4819b4] work around bug in gcl decode-universal-time.
[a36bf53] When evaluating float(diff(...)), apply float only to the first argument. Fixes bug reported to mailing list 2017-02-27.
[bffe54f] In GETL-LM-FCN-PROP, return NIL for argument which is not a symbol. Fixes bug reported to mailing list 2017-03-04.
[ef1fa9e] Remove built-in symbols from the list for user-defined properties. Fixes bug reported to mailing list 2017-02-24.
[70e05dd] Handle Lisp arrays in MQAPPLY expressions more carefully. Fixes bug reported to mailing list 2017-02-02.
[761cc1c] Handle Lisp arrays in MQAPPLY expressions more carefully. Fixes bug reported to mailing list 2017-02-02.
[b6dd08c] A solve() enhancement by Richard Fateman that should fix a zillion of bug tickets.
[b6b5c5c] Translate define and ":=" correctly by nuking the translator property. Fixes bug reported to mailing list circa 2017-01-24.
[5cfc6fd] Fix bernoulli and binomial pdfs when p=0 or p=1
[d6739e9] Fix bernoulli and binomial pdfs when p=0 or p=1
Maxima 5.39 change log
======================
New items in core:
------------------
New functions firstn and lastn
Changes in core:
----------------
Special variable clean-up
Crosscompiling support
Gnuplot 5.0 or newer versions
Documentation updates
function save: portable way to save "fast" arrays (hash tables)
functions timedate, parse_timedate: handle timezone offsets
Floating point overflow handling
Complex numericals
Testsuite additions and improvements
GIT fixes
ODE improvements
Load .wxm files from wxMaxima
Temporary file handling improvements
New in share:
-------------
package decfp: decimal bigfloat package (thanks to Richard Fateman)
Changes in share:
-----------------
In some share test scripts, put reset() at the top
package solver: rename solver.mac to Solver.mac
package stringproc: new functions slessp, slesspignore, sgreaterp, sgreaterpignore (string comparison)
package charsets: several updates and improvements; still work in progress
package boolsimp: code clean-up; no functional changes
package descriptive, functions continuous_freq, discrete_freq: faster counting algorithm; accept arrays as well as lists
Bug fixes:
----------
[54822ea] Fixed bug #3258: diff with negative order in integrate
[0e4ed41] Fix issue #3255 by changing how resimplification works
[55ba236] In risplit, in preparation of fixing issue #3255 (logarc)
[6e7f9dd] Partial fix#3216: In package lapack, load without compile
[ad86a80] Fixed bug #3232: In ezunits, don't compile predicate functions
[0ec66c6] Fixed GCL bug #49689: Mark a known failure in rtest11
[98b0349] Fixed bug #3213: Round when formatting bigfloats
[3745efa] Another test for bug #3244.
[67fd622] Fixed bug #3246: look-up entries for inv. trig antiderivatives
[120d8be] Fixed bug #3241: In MQAPPLY1, call AMPERCHK
[e916dd0] Fixed bug #3235: In RGRP, rephrase test for ECL
[7060221] Add tests from bug #3221
[2204fca] Fixed bug #3221: elliptic_pi(n,z,m) wrong for z > %pi/2
[cb3dc1c] Fixed bug #453: algsys fails in simple case
[7efa7eb] Add tests from SF bug 2059.
[4851e2c] Add tests from SF [bugs:2038] and [bugs:#2736]
640ca75 SF [bug:#1266][bug:#3208] Don't use $radcan when simplifying in algsys.
2986fc0 Fix SF [bugs:#3208]. Use sqrtdenest in algsys to simplify partial solutions.
5fd2f55 [bugs:#3208] algsys.lisp:presultant: resimplify result
4734ec8 share-subdirs.lisp is auto-generated *and* in version control - which is afaik unavoidable for the lisp-only build system. It also currently is out-of-sync with the repo => Updated the repo version.
f91d677 Increase output when running share/contrib/diffequations/tests
a5873ba SF bugs 3210 and 3212. Fix algsys regressions.
9a4694f Bug #2796 can't load ode2 with n declared constant
3c6c473 Bug report ID: 1621 Wrong solution to ode2
cf9cbb2 Fixed bug #2667: Distinguish trig function exponents in TeX
bf4cf94 In rtest_log, additional tests for SF bug #3105.
9ef3fee Fixed bug #3148: Most of the change is in indentation
8f523fc Fixed bug #3194: No simplification of tan(x+n*%pi) and cot(x+n*%pi)
fdadebc Fixed bug #3186 and other get_plot_option issues.
3fd2b4c Fixed bug #3022: Update the RPM spec file
aa0a365 Fixed bug #3180: declare(foo, antisymmetric)
9ad3f2f Add test for SF bug #3090
a57ff0c Add test for SF bug #3170
4568937 Fixed bug #3144: Avoid unbounded recursion in PTIMES%E
0bcccbe Fixed bug #3109: is(sin(x) <= 1) returns "unknown"
037ea4a Fixed bugs #3114, #3115: introduced by [647516] Fix integrate(x=0,x)
Unnumbered bugs:
----------------
[c8007b9] Partial fix to read_xpm.
[35790e2] Correct documentation for rest
[eb56614] Fix test for orderlessp transitive
[85aff4c] Fix in gcl-builds smismatch
[d37c3e4] Fix in timedate, round TZ
[74800c2] Remove redundant definition of copy from share/affine
[8ec3a05] Another fix for summation of rational functions
[394ca66] In package facexp, remove "&&" because
[b7ee537] Ensure that *OPR-TABLE* associates "{" with $SET
[9f43849] Ran update_examples on Simplification.texi
[dd6fbb1] Fix uses of complex-float-numerical-eval-p
[07363c2] Fix bug in running test files
[6d1b6fe] Partially fixed assumptions regarding products and powers
[639dd40] Partially fixed assumptions regarding products and powers
[691cbc4] Fix taylor testsuite failure bug introduced by [22f4fd]
Changes from version 3.1.5 to version 3.1.6:
- Improved MPFR manual.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.5/#fixed> and ChangeLog file).
- Autotools: Under Linux, make sure that the old dtags (when supported)
are used if LD_LIBRARY_PATH is defined; otherwise "make check" would
check an installed, compatible MPFR library found in LD_LIBRARY_PATH
instead of the one that has been built with "make".
Changes to 0.9.7 not immediately obvious
Version 0.9.6 Release Notes
Support for SciPy 0.14 has been dropped: SciPy 0.15 is now required.
This is especially important for lmfit maintenance, as it means we can
now rely on SciPy having code for differential evolution and do not
need to keep a local copy.
A brute force method was added, which can be used either with
Minimizer.brute() or using the method='brute' option to
Minimizer.minimize(). This method requires finite bounds on all varying
parameters, or that parameters have a finite brute_step attribute set
to specify the step size.
Custom cost functions can now be used for the scalar minimizers using
the reduce_fcn option.
Many improvements to documentation and docstrings in the code were
made. As part of that effort, all API documentation in this main Sphinx
documentation now derives from the docstrings.
Uncertainties in the resulting best-fit for a model can now be
calculated from the uncertainties in the model parameters.
Parameters have two new attributes: brute_step, to specify the step
size when using the brute method, and user_data, which is unused but
can be used to hold additional information the user may desire. This
will be preserved on copy and pickling.
Highlights:
* Fixed unit conversion from negative constant numbers bgo#778311 (PioneerAxon)
* Better error highlighting (PioneerAxon)
* Fix null token causing segfault (PioneerAxon)
* Added Desktop Publishing Point length unit bgo#778449 (Robert Roth)
* Use angle units from settings in search provider bgo#778274 (Robert Roth)
* Fixed incorrect value for ans in variable popup bgo#778242 (Robert Roth)
* Zeroth root of numbers is undefined bgo#775759 (Robert Roth)
* Added additional temperature unit shortcuts for conversion. bgo#775300 (Robert Roth)
* Use proper chain-up syntax (Rico Tzschichholz)
* Use MPC for complex numbers bgo#759439 (Philip Wood)
* Add shortcut to close current window bgo#755398 (Robert Roth)
* Fix conversion unit change bgo#748732 (Robert Roth)
* Fixed conversion user interface for LTR bgo#711587 (Robert Roth)
- v0.8f (2017/08/02)
* Emergency fix (thanks Bruno) for another bug revealed by `expl3` update.
- v0.8e (2017/07/30)
* Add `\surd` to access the sqrt symbol.
* Fix bug exposed by expl3 update to booleans.
* Add Deja Vu Math TeX Gyre in list of symbols.
* Add `\sime` alias for `\simeq` and `\nsimeq` for `\nsime`.
(For negations it's helpful when they have consistent naming.)
in our case, __STDC_VERSION__ isn't defined when built as C++.
The fix isn't completeely right, it insists on <fenv.h> if built as C++.
Not entirely unreasonable, and makes this build on NetBSD/powerpc as well,
which doesn't like the redefinition of fegetround() and fesetround().
Bump PKGREVISION.
A "smart" LP perturbation was implemented in the primal and
dual simplex solvers. Now LP is perturbed only if it is
necessary, and by default perturbation is not activated.
The sum of primal infeasibilites that appears in the terminal
output of the primal simplex solver (as "inf = ...") now
corresponds to the original bounds of variables. This allows to
see how much perturbed solution violates the original bounds.
The long-step technique was implemented for phase I of the
primal simplex solver. This feature can be enabled by
specifying --flip option for glpsol or by specifying
glp_smcp.r_test = GLP_RT_FLIP on api level. For many LP
instances the long-step technique allows reducing the number
of simplex iterations to 30-70%. Please note that unlike the
dual simplex, where this technique can be used on both phase I
and II, for the primal simplex it can be used only on phase I,
where the sum of primal infeasibilities (which is a convex
piecewise linear function) is minimized.
An internal objective scaling was included in both primal and
dual simplex solvers. For many LP/MIP instances this feature
improves numerical stability (for the dual solver) and prevents
cycling near the optimum (for the primal solver).
The Posix version of glp_time (glpk/src/env/time.c) was changed
to resolve time_t issue on msys2.
Three new example models in MathProg were added:
life_goe.mod (Conway's Game of Life garden of eden checker);
tiling.mod (Rectifiable polyomino tilings generator);
toto.mod (Covering code generator).
Add missing DEPENDS.
Upstream changes:
1.01
15 Aug 2017
- Move Math::Utils dependancy from 1.06 to 1.10. A test
was failing in 21-secondd.t because the older version's
pl_evaluate() wasn't handling lists back then.
1.00
9 Aug 2017
- Add tests, more POD clean-up, send to CPAN.
18 Jul 2017
- Add references for the central and forward difference
methods.
- Have not been able to find a reference for the second
derivative difference method, annoyingly.
- Minimum perl version set to 5.10.1.
17 Jul 2017
- Added a forward difference approximation method (bug was filed
for this as user Maitraya Baliyan was expecting it instead of
the central difference approximation method that Derivative1()
used).
- Added names forwarddiff() and centraldiff() for export.
Derivative1() is aliased to centraldiff(), so as not to break
old code.
- Likewise, seconddx() is now the exported name of the second
derivative difference method, with Derivative2() aliased to it.
- There is now an EXPORT tag, ':all'.
- POD is more descriptive, has more examples, and uses the
new names.
The makefile.include fragment included by all of the project
makefiles unconditionally sets $(CC), $(LD), $(AR) and $(RANLIB)
to $(PREFIX){gcc,ld,ar,ranlib}. Their intent was to provide a
facility for cross-compiling the code, but the use of $(PREFIX)
for this purpose was unfortunate.
This change adds a patch to set $(PREFIX) to the empty string in
the makefiles, which should fix the problem with the smallest
set of changes.
allow overriding MKOCTFILE_* and use it to provide a full path gfortran,
so the invocation doesn't fail because gfortran isn't normally in PATH
Force the use of bsdtar. unpacking yielding random PaxHeaders.1234 triggers
an octave package sanity check making the build of the 'signal' package
fail with a cryptic error with no further diagnostics.
bump PKGREVISION
Fixes build with PKGSRC_FORTRAN=gfortran (6.4) on netbsd. resulting
binary works fine. I suspect the issue is that the wrong gcc (one without
fortran support) is invoked.
Changes:
- Compat with the new Yahoo iCharts API. Yahoo removed the older API,
this release restores ability to download from Yahoo.
- ``DataReader`` now supports Quandl.
- Removed Oanda as it became subscription only.
- web sessions are closed properly at the end of use
- Handle commas in large price quotes
- Test suite fixes for test_get_options_data
- Test suite fixes for test_wdi_download
- avoid monkey patching requests.Session
- `get_data_yahoo` now treats ``'null'`` strings as missing values
Docs are now generated with pdoc.
Merged Pull Request 24, from @czlee:
* Change to step 4: When it looks for a uncovered zero, rather than starting at row 0, column 0, it starts where it left off, i.e. at the last uncovered zero it found. Since it doesn't start at (0,0), when it gets to the last column it now loops around to the first, and exits unsuccessfully if it got back to where it started. This change reduces this reduces the solving time for (certain) large matrices. For instance, in tests, solving a matrix of size 394×394 goes from about 2 minutes to about 4 seconds.
* Since Python 3 started cracking down on unnatural comparisons, the DISALLOWED constant added in Pull Request 19 no longer works. (It raises a TypeError for unorderable types, as is expected in Python 3.) Since this constant is meant to act like infinity, this modification just changes the two lines where it would otherwise try to make an illegal (in Python 3) comparison between a number and DISALLOWED_OBJ() and gets it to behave as if DISALLOWED is always larger.
Added Travis CI integration.
Added some unit tests. See tests and tests/README.md.
Bug Fixes
* Fixed a bug in failing to compute rolling computations of a column-MultiIndexed DataFrame
* Fixed a pytest marker failing downstream packages’ tests suites
Conversion
* Bug in pickle compat prior to the v0.20.x series, when UTC is a timezone in a Series/DataFrame/Index
* Bug in Series construction when passing a Series with dtype='category'.
* Bug in DataFrame.astype() when passing a Series as the dtype kwarg..
Indexing
* Bug in Float64Index causing an empty array instead of None to be returned from .get(np.nan) on a Series whose index did not contain any NaN s
* Bug in MultiIndex.isin causing an error when passing an empty iterable
* Fixed a bug in a slicing DataFrame/Series that have a TimedeltaIndex
I/O
* Bug in read_csv() in which files weren’t opened as binary files by the C engine on Windows, causing EOF characters mid-field, which would fail
* Bug in read_hdf() in which reading a Series saved to an HDF file in ‘fixed’ format fails when an explicit mode='r' argument is supplied
* Bug in DataFrame.to_latex() where bold_rows was wrongly specified to be True by default, whereas in reality row labels remained non-bold whatever parameter provided.
* Fixed an issue with DataFrame.style() where generated element ids were not unique
* Fixed loading a DataFrame with a PeriodIndex, from a format='fixed' HDFStore, in Python 3, that was written in Python 2
Plotting
* Fixed regression that prevented RGB and RGBA tuples from being used as color arguments
* Fixed an issue with DataFrame.plot.scatter() that incorrectly raised a KeyError when categorical data is used for plotting
Reshaping
* PeriodIndex / TimedeltaIndex.join was missing the sort= kwarg
* Bug in joining on a MultiIndex with a category dtype for a level.
* Bug in merge() when merging/joining with multiple categorical columns
Categorical
* Bug in DataFrame.sort_values not respecting the kind parameter with categorical data
Packaged by Filip Hajny and updated by Kamel Derouiche and me.
scikit-learn is a Python module integrating classic machine learning
algorithms in the tightly-knit scientific Python world (numpy, scipy,
matplotlib). It aims to provide simple and efficient solutions to
learning problems, accessible to everybody and reusable in various
contexts: machine-learning as a versatile tool for science and
engineering.
The package does not include a change log, but one major feature
added since 20140106 is support for transforms of sizes other
than powers of two by means of the chirp Z transform.
* What is new in gsl-2.4:
** migrated documentation to Sphinx software, which has built-in
support for latex equations and figures in HTML output
** add const to declaration of appropriate gsl_rstat routines
** bug fix for #45730: change gsl_sf_sin/cos to libm sin/cos
** fix Cholesky documentation regarding upper triangle on output
** added routines to compute integrals with fixed-point quadrature,
based on IQPACK (Konrad Griessinger)
** added routines for Hermite polynomials, gsl_sf_hermite_*
(Konrad Griessinger)
** added new nonlinear least squares example for fitting
a Gaussian to data
** deprecated routines:
gsl_sf_coupling_6j_INCORRECT
gsl_sf_coupling_6j_INCORRECT_e
** deprecated routine 'gsl_linalg_hessenberg' (replaced
by gsl_linalg_hessenberg_decomp)
** removed routines which were deprecated in v2.1:
gsl_bspline_deriv_alloc
gsl_bspline_deriv_free
** changed COD expression to Q R Z^T instead of Q R Z to
be consistent with standard texts
** added check for nz == 0 in gsl_spmatrix_get
(reported by Manuel Schmitz)
** permit zero-dimension blocks, vectors, matrics, subvectors,
submatrices, and views of the above (bug #49988)
** added routine gsl_linalg_COD_lssolve2 for regularized
least squares problems
some typos.
From DESCR:
Math::Calc::Units is a simple calculator that keeps track of units. It
currently handles combinations of byte sizes and duration only, although
adding any other multiplicative types is easy. Any unknown type is
treated as a unique user type (with some effort to map English plurals
to their singular forms).
being one example), and the logic for building it is conditional, causing
PLIST mismatches for GLIBC users.
Reported by Jason Bacon in pkgsrc-users.
Bump PKGREVISION
This package will provide a complete implementation of unicode
maths for XeLaTeX and LuaLaTeX. Unicode maths is currently
supported by the following fonts: Cambria Math (Microsoft),
Minion Math (Johannes Kuster, typoma GmbH) Latin Modern Math
(Boguslaw Jackowski, Janusz M. Nowacki) TeX Gyre Pagella Math
(Boguslaw Jackowski, Janusz M. Nowacki) Asana-Math fonts
(Apostolos Syropolous), Neo Euler (Khaled Hosny), STIX (STI
Pub), and XITS Math (Khaled Hosny). As well as running XeTeX or
LuaTeX, this package requires recent versions of the fontspec,
expl3, xpackages, filehook, ucharcat and lualatex-math
packages.
The mathspec package provides an interface to typeset
mathematics in XeLaTeX with arbitrary text fonts using fontspec
as a backend. The package is under development and later
versions might to be incompatible with this version, as this
version is incompatible with earlier versions. The package
requires at least version 0.9995 of XeTeX.
Highlights
* Operations like a + b + c will reuse temporaries on some platforms,
resulting in less memory use and faster execution.
* Inplace operations check if inputs overlap outputs and create temporaries
to avoid problems.
* New __array_ufunc__ attribute provides improved ability for classes to
override default ufunc behavior.
* New np.block function for creating blocked arrays.
New functions
* New np.positive ufunc.
* New np.divmod ufunc provides more efficient divmod.
* New np.isnat ufunc tests for NaT special values.
* New np.heaviside ufunc computes the Heaviside function.
* New np.isin function, improves on in1d.
* New np.block function for creating blocked arrays.
* New PyArray_MapIterArrayCopyIfOverlap added to NumPy C-API.
This is a minor bug-fix release in the 0.20.x series and includes some small regression fixes, bug fixes and performance improvements. We recommend that all users upgrade to this version.
We have improved the trust-region update rule in the primal-based Newton method. It's significantly faster (e.g., twice faster or more) on some problems (see the technical report).
We now support scipy objects in the Python interface
The main features of this release are several new time series models based on the statespace framework, multiple imputation using MICE as well as many other enhancements. The codebase also has been updated to be compatible with recent numpy and pandas releases.
Statsmodels is using now github to store the updated documentation which is available under http://www.statsmodels.org/stable for the last release, and http://www.statsmodels.org/dev/ for the development version.
New .agg() API for Series/DataFrame similar to the groupby-rolling-resample API’s, see here
Integration with the feather-format, including a new top-level pd.read_feather() and DataFrame.to_feather() method, see here.
The .ix indexer has been deprecated, see here
Panel has been deprecated, see here
Addition of an IntervalIndex and Interval scalar type, see here
Improved user API when grouping by index levels in .groupby(), see here
Improved support for UInt64 dtypes, see here
A new orient for JSON serialization, orient='table', that uses the Table Schema spec and that gives the possibility for a more interactive repr in the Jupyter Notebook, see here
Experimental support for exporting styled DataFrames (DataFrame.style) to Excel, see here
Window binary corr/cov operations now return a MultiIndexed DataFrame rather than a Panel, as Panel is now deprecated, see here
Support for S3 handling now uses s3fs, see here
Google BigQuery support now uses the pandas-gbq library, see here
Improvements
------------
- setup.py detects conda env and uses installed conda (hdf5, bzip2, lzo
and/or blosc) packages when building from source.
Bugs fixed
----------
- Linux wheels now built against built-in blosc.
- Fixed windows absolute paths in ptrepack, ptdump, ptree.
Updates to keep with API changes in newer NumPy versions
Removed several warnings
Fix bugs in function stringcontains()
Detection of the POWER processor
Fix pow result casting
Fix integers to negative integer powers
Detect numpy exceptions in expression evaluation
Better handling of RC versions
Upstream changes:
0.65 2017-05-03
[API Changes]
- Config options irand and primeinc are deprecated. They will carp if set.
[FUNCTIONALITY AND PERFORMANCE]
- Add Math::BigInt::Lite to list of known bigint objects.
- sum_primes fix for certain ranges with results near 2^64.
- is_prime, next_prime, prev_prime do a lock-free check for a find-in-cache
optimization. This is a big help on on some platforms with many threads.
- C versions of LogarithmicIntegral and inverse_li rewritten.
inverse_li honors the documentation promise within FP representation.
Thanks to Kim Walisch for motivation and discussion.
- Slightly faster XS nth_prime_approx.
- PP nth_prime_approx uses inverse_li past 1e12, which should run
at a reasonable speed now.
- Adjusted crossover points for segment vs. LMO interval prime_count.
- Slightly tighter prime_count_lower, nth_prime_upper, and Ramanujan bounds.
0.64 2017-04-17
[FUNCTIONALITY AND PERFORMANCE]
- inverse_li switched to Halley instead of binary search. Faster.
- Don't call pre-0.46 GMP backend directly for miller_rabin_random.
0.63 2017-04-16
[FUNCTIONALITY AND PERFORMANCE]
- Moved miller_rabin_random to separate interface.
Make catching of negative bases more explicit.
0.62 2017-04-16
[API Changes]
- The 'irand' config option is removed, as we now use our own CSPRNG.
It can be seeded with csrand() or srand(). The latter is not exported.
- The 'primeinc' config option is deprecated and will go away soon.
[ADDED]
- irand() Returns uniform random 32-bit integer
- irand64() Returns uniform random 64-bit integer
- drand([fmax]) Returns uniform random NV (floating point)
- urandomb(n) Returns uniform random integer less than 2^n
- urandomm(n) Returns uniform random integer in [0, n-1]
- random_bytes(nbytes) Return a string of CSPRNG bytes
- csrand(data) Seed the CSPRNG
- srand([UV]) Insecure seed for the CSPRNG (not exported)
- entropy_bytes(nbytes) Returns data from our entropy source
- :rand Exports srand, rand, irand, irand64
- nth_ramanujan_prime_upper(n) Upper limit of nth Ramanujan prime
- nth_ramanujan_prime_lower(n) Lower limit of nth Ramanujan prime
- nth_ramanujan_prime_approx(n) Approximate nth Ramanujan prime
- ramanujan_prime_count_upper(n) Upper limit of Ramanujan prime count
- ramanujan_prime_count_lower(n) Lower limit of Ramanujan prime count
- ramanujan_prime_count_approx(n) Approximate Ramanujan prime count
[FUNCTIONALITY AND PERFORMANCE]
- vecsum is faster when returning a bigint from native inputs (we
construct the 128-bit string in C, then call _to_bigint).
- Add a simple Legendre prime sum using uint128_t, which means only for
modern 64-bit compilers. It allows reasonably fast prime sums for
larger inputs, e.g. 10^12 in 10 seconds. Kim Walisch's primesum is
much more sophisticated and over 100x faster.
- is_pillai about 10x faster for composites.
- Much faster Ramanujan prime count and nth prime. These also now use
vastly less memory even with large inputs.
- small speed ups for cluster sieve.
- faster PP is_semiprime.
- Add prime option to forpart restrictions for all prime / non-prime.
- is_primitive_root needs two args, as documented.
- We do random seeding ourselves now, so remove dependency.
- Random primes functions moved to XS / GMP, 3-10x faster.
0.61 2017-03-12
[ADDED]
- is_semiprime(n) Returns 1 if n has exactly 2 prime factors
- is_pillai(p) Returns 0 or v wherev v! % n == n-1 and n % v != 1
- inverse_li(n) Integer inverse of Logarithmic Integral
[FUNCTIONALITY AND PERFORMANCE]
- is_power(-1,k) now returns true for odd k.
- RiemannZeta with GMP was not subtracting 1 from results > 9.
- PP Bernoulli algorithm changed to Seidel from Brent-Harvey. 2x speedup.
Math::BigNum is 10x faster, and our GMP code is 2000x faster.
- LambertW changes in C and PP. Much better initial approximation, and
switch iteration from Halley to Fritsch. 2 to 10x faster.
- Try to use GMP LambertW for bignums if it is available.
- Use Montgomery math in more places:
= sqrtmod. 1.2-1.7x faster.
= is_primitive_root. Up to 2x faster for some inputs.
= p-1 factoring stage 1.
- Tune AKS r/s selection above 32-bit.
- primes.pl uses twin_primes function for ~3x speedup.
- native chinese can handle some cases that used to overflow. Use Shell
sort on moduli to prevent pathological-but-reasonable test case.
- chinese directly to GMP
- Switch to Bytes::Random::Secure::Tiny -- fewer dependencies.
- PP nth_prime_approx has better MSE and uses inverse_li above 10^12.
- All random prime functions will use GMP versions if possible and
if a custom irand has not been configured.
They are much faster than the PP versions at smaller bit sizes.
- is_carmichael and is_pillai small speedups.
Upstream changes: 2017-03-15 v1.999811 pjacklam
* Fix an old in the Math::BigFloat methods as_hex(), as_oct(), and as_bin()
methods resulting in loss of accuracy. This bug was introduced in bug in
Math-BigInt-1.76. Due to a naive copy and paste by me, and lack of tests,
this bug was also present in the newer to_hex(), to_oct(), and to_bin()
methods. This shows the bug, as it did not print "0xffff...":
print Math::BigFloat -> from_hex("f" x 30) -> as_hex();
* Fix incorrect formatting in the output from the Math::BigFloat methods
to_hex(), to_oct(), and to_bin() when the output was zero. A prefix was
added when it shouldn't have been.
* Add tests to bigintpm.inc and bigfltpm.inc for better testing of as_hex(),
as_oct(), and as_bin() as well as to_hex(), to_oct(), and to_bin().
* "Synchronize" tests and code formatting in bigintpm.inc and bigfltpm.inc.
2017-03-01 v1.999810 pjacklam
* CPAN RT #120240 revealed that the problems with undefined values is still
present. After a close examination, I believe the only way to get this
really working is to to make blog() call objectify() differently depending
on whether the base for the logarithm is undefined or not. That way we can
avoid objectify() converting the undefined value to a zero. Ideally, we
should warn about undefined values when used in any other context, but we'll
handle that in a later release. See also the related changelog entry for
v1.999801.
* Fix the way the argument count is computed in objectify(). When an argument
count of 0 is given, it means that we should objectify all input arguments.
However, it turned out that the actual argument count was computed
incorrectly.
* Fix CPAN RT #120242 rearding c3 method resolution.
- Fixed bugs in numeral systems.
- Fixed bugs related to infinity (Inf).
- Fixed bugs related to Not a Number (NaN).
- Updated and cleanup documentation.
- Cleaned up code structure.
- OpenLibm support.
NumPy 1.12.1 supports Python 2.7 and 3.4 - 3.6 and fixes bugs and regressions
found in NumPy 1.12.0. In particular, the regression in f2py constant parsing
is fixed.
2.1.0.2
- Enhancements
* Support for assigning Ruby Complex types to GSL::Matrix::Complex. (@v0dro)
* Support for 2D interpolation by exposing GSLs interp2d and
spline2d. (@v0dro)
* Support for Ruby 2.4. (@badlamer)
- Fixes
* Fix NArray superclass mismatch problem. (@v0dro)
Ensure data cache value array is aligned adequately
Data caches are used to store pointers and other potentially long
values. Make sure that the position of the values portion of the cache
is aligned to a suitable address. Fixes a bus error on sparc64 machines.
Building nickle on arm64 now, change package names
built .deb and .rpm files are now amd64 instead of i386
Update to version 2.78
Also depend on bison and flex
newer version of flex doesn't have yyunput
This line was just removing a warning about yyunput unused; newer
versions of flex don't even have that symbol anymore. Better to have a
warning than fail to compile.
Adapt tests to new automake requirements
Automake now has a separate variable for the program to run the test
scripts with, and breaks if you try to embed that in the
TESTS_ENVIRONMENT variable, which used to be how this was done.
Use 'G' format for elements when printing arrays in 'g' format
This restricts array printing to just recurse one level.
When using pointer as hash, first cast to intptr_t
This avoids a compiler warning when pointers are not the same size as
HashValues.
Initialize 'replace' in NewTypedBox
When left uninitialized, undefined results will occur. This caused a
test failure on MIPS when being built with PIE support.
Debian bug 857840.
Reported-by: James Cowgill <jcowgill@debian.org>
Open quote character is a single char, not a string
When checking to see if a string needs to be dequoted, check the first
character of the string against the quote character, rather than
checking the whole string.
Probably using strings for the quote markers wasn't the best API
choice as this would have been caught by typechecking had the quote
characters been an int instead.
Define release date in configure.ac and use that instead of build date
This avoids encoding the current date into the resulting output so
that it can be reproduced.
Add JSON input/output code
Reverse data written in linked FileChains
FileChains are linked in newest-in order, so they need to be written
last-first.
Add is_hash primitive
Checks whether a value is a hash
Abort karatsuba multiply in more places
removed gratuitous -O2 from Makefile.am to let CFLAGS handle it
Added a lightly-optimized choose(n, k) function to math.5c.
The lack of a choose operator has continually bugged me;
I've constantly rewritten it "the bad way". This is a
lightly optimized version of that function that seems to
handle most edge cases reasonably. It has only been tested a
little bit.
added check mode to sudoku solver
cleaned up a bunch of sudoku solver stuff
added edge cache to sudoku example
tutorial: Close a couple of SGML tags
nsgmls found a couple of unclosed tags which may make some versions
of docbook tools unhappy.
Fix release docs to use git log instead of git-log
git-log disappeared a long time ago
actually added Sudoku example
added Sudoku generator example
added sudoku example
octave is using gnulib for portability, but has an additional wrapper
around it. unfortunately that means that this type signature is no longer
portable. netbsd doesn't have struct tm_zone, others do.
I failed to use gnulib to provide struct tm_zone, using an OS-specific macro
as an ugly hack.
reported by hans
many new features, numerous bug-fixes, improved test coverage and
better documentation. There have been a number of deprecations and
API changes in this release, which are documented below. All users
are encouraged to upgrade to this release, as there are a large number
of bug-fixes and optimizations. Moreover, our development attention
will now shift to bug-fix releases on the 0.19.x branch, and on adding
new features on the master branch.
Upstream changes:
Changes in Version 1.7-14
o Several convenience interfaces to read.zoo() have been added:
read.table.zoo(), read.csv.zoo(), read.csv2.zoo(), read.delim.zoo(),
read.delim2.zoo(). All of these first call the corresponding read.*()
function to read the data from a text file (with the respective default
settings) and subsequently call read.zoo() to turn the data into
a zoo series.
o na.approx.default() did not properly process the "maxgap" argument
if y did not contain any NAs but NAs were only created implicitly
by xout being different from x (pointed out by Stefan Metzger).
A suitable fix has been added that merges x and xout first.
o aggregate.zoo() and rollapply.zoo() gained the argument coredata=TRUE
which can control whether only the coredata is passed to each subset
(previous behavior) or the full zoo series.
o The "its" package has been archived on CRAN and hence removed from
the list of zoo's suggested packages. However, various methods for
objects of class "its" continue to be available in zoo in case someone
still uses the legacy code.
Upstream changes:
CHANGES IN R 3.3.3
NEW FEATURES
Changes when redirection of a http:// URL to a https:// URL is encountered:
The internal methods of download.file() and url() now report that they cannot follow this (rather than failing silently).
(Unix-alike) download.file(method = "auto") (the default) re-tries with method = "libcurl".
(Unix-alike) url(method = "default") with an explicit open argument re-tries with method = "libcurl". This covers many of the usages, e.g. readLines() with a URL argument.
INSTALLATION on a UNIX-ALIKE
The configure check for the zlib version is now robust to versions longer than 5 characters, including 1.2.11.
UTILITIES
Environmental variable _R_CHECK_TESTS_NLINES_ controls how R CMD check reports failing tests (see §8 of the ‘R Internals’ manual).
DEPRECATED AND DEFUNCT
(C-level Native routine registration.) The undocumented styles field of the components of R_CMethodDef and R_FortranMethodDef is deprecated.
BUG FIXES
vapply(x, *) now works with long vectors x. (PR#17174)
isS3method("is.na.data.frame") and similar are correct now. (PR#17171)
grepRaw(<long>, <short>, fixed = TRUE) now works, thanks to a patch by Mikko Korpela. (PR#17132)
Package installation into a library where the package exists via symbolic link now should work wherever Sys.readlink() works, resolving PR#16725.
"Cincinnati" was missing an "n" in the precip dataset.
Fix buffer overflow vulnerability in pdf() when loading an encoding file. Reported by Talos (TALOS-2016-0227).
getDLLRegisteredRoutines() now produces its warning correctly when multiple DLLs match, thanks to Matt Dowle's PR#17184.
Sys.timezone() now returns non-NA also on platforms such as Ubuntu 14.04.5 LTS, thanks to Mikko Korpela's PR#17186.
format(x) for an illegal "POSIXlt" object x no longer segfaults.
methods(f) now also works for f "(" or "{".
(Windows only) dir.create() did not check the length of the path to create, and so could overflow a buffer and crash R. (PR#17206)
On some systems, very small hexadecimal numbers in hex notation would underflow to zero. (PR#17199)
pmin() and pmax() now work again for ordered factors and 0-length S3 classed objects, thanks to Suharto Anggono's PR#17195 and PR#17200.
bug.report() did not do any validity checking on a package's BugReports field. It now ignores an empty field, removes leading whitespace and only attempts to open http:// and https:// URLs, falling back to emailing the maintainer.
Bandwidth selectors bw.ucv() and bw.SJ() gave incorrect answers or incorrectly reported an error (because of integer overflow) for inputs longer than 46341. Similarly for bw.bcv() at length 5793.
Another possible integer overflow is checked and may result in an error report (rather than an incorrect result) for much longer inputs (millions for a smooth distribution).
findMethod() failed if the active signature had expanded beyond what a particular package used. (Example with packages XR and XRJulia on CRAN.)
qbeta() underflowed too early in some very asymmetric cases. (PR#17178)
R CMD Rd2pdf had problems with packages with non-ASCII titles in ‘.Rd’ files (usually the titles were omitted).
Up the version to 0.12.2.
Update the CHANGELOG.
Fix lexer tokenizer to get R1C1 addresses properly parsed.
For now, a lexer name that contains a '[' and ']' pair can have any
characters in-between, in order to have e.g. 'R[-5]C' properly
parsed as a name.
Fix a range address parsing error.
It previously failed to parse 'R[-5]C:R[-1]C'.
Add a test case that ixion currently fails to parse.
Export these hash::operator(...) symbols.
add CI config
While here, drop maintainership - I haven't used the thing in years,
and definitely not since its conversion to a CMake build (of which I
know nothing).
-----------------------------------------
- 1.14 G7UM6iSk Sat Jul 30 06:44:28:46 -0500 2016
* synchronized README and Changes to updated POD
- 1.12 G7OMKBCn Sun Jul 24 20:11:12:49 -0500 2016
* added digit set 'b96' as a reordering of 'asc'
- 1.10 G7OMF3ZT Sun Jul 24 15:03:35:29 -0500 2016
* added new digit sets from Math::Base::Convert
* switched all old hex() to distinct new heX() and updated POD to
reflect
* fixed META license to match POD and resolve issue:
<HTTPS://RT.CPAN.Org/Public/Bug/Display.html?id=60122> (Thanks again
xenoterracide.)
* removed PT from VERSION to resolve issue:
<HTTPS://RT.CPAN.Org/Public/Bug/Display.html?id=60275> (Thanks
Alexandr.)
----------------------------------------
0.69 - 02 Dec 2016, H.Merijn Brand
* Several OO fixes, more tests, more docs
0.68 - 29 Nov 2016, H.Merijn Brand
* List non-core modules/version used on very verbose in xlscat
* Option to export all sheets in a spreadsheet to CSV (UTF-8 only)
* Add OO interface
* Feature: add new spreadsheets to existing book (even of different types)
0.67 - 17 Jun 2016, H.Merijn Brand
* CPANTESTERS showed that some versions really messed op numeric/percentage
---------------------------------------
Changes in v2.13 - Jonathan "Duke" Leto
September 2015
--------------------------
* Fix bug where as_list() did not work correctly for non-square matrices.
Reported by Elia Liitiäinen in RT #116968
-------------------------------------
2.14 2017-02-01 Shlomif
- Hopefully fix the GPG signature.
- https://rt.cpan.org/Ticket/Display.html?id=120062
- Thanks to Pavel Mateja for the report.
2.13 2016-11-18 Shlomif
- Fix the tests on older libgmps.
- See https://rt.cpan.org/Ticket/Display.html?id=118816
- Thanks to Hugo van der Sanden for the patches.
- Refactoring of the test suite.
2.12 2016-11-09 Shlomif
- Add support for testing methods that return lists.
- Add broot, brootrem, bsqrtrem, is_perfect_power, is_perfect_square
- Thanks to Hugo van der Sanden for the patches
- https://rt.cpan.org/Ticket/Display.html?id=118677
-----------------------------------------
2017-02-05 v1.6004 pjacklam
* Fix typos in POD.
* Update link in SUPPORT section.
* Minor improvements to the documentation (POD).
---------------------------------------
2017-02-10 v1.999809 pjacklam
* When a new method is added to Math::BigInt or Math::BigFloat, and this new
method requires a new backend library method, die with a suitable error
message if the installed backend library does not support this new method.
The error message says that the method requires a newer version of the
backend library.
* Fix typos in Math::BigFloat and Math::BigInt.
* Add bfib() and blucas() to Math::BigInt. They return Fibonacci and Lucas
numbers, respectively. The actual computation of the numbers is done by the
backend library. Documented both methods in POD. Add test files bfib-mbi.t
and blucas-mbi.t.
* Add _fib() and _lucas() to Math::BigInt::Lib. They return Fibonacci and
Lucas numbers, respectively. Document both methods in POD. Add test files
author-lib-arithmetic-unary-_fib.t and author-lib-arithmetic-unary-_lucas.t.
-------------------------------------
From: https://cran.r-project.org/web/packages/quantreg/ChangeLog
5.21
1. Allowed ... to be passed in plot.summary.crqs.
2. Fixed namespace bug in dynrq, and added an Edgeworth wacky AR(1) example
to dynrq.Rd.
3. Fixed rqss bug about length of residual vector
5.23
1. Added a "cluster" option for summary.rq() when using the bootstrap option
this option implements the wild gradient bootstrap method of Hagemann (2016).
See boot.rq for further details. [Needs further testing.]
2. Added a sfn method for rq models, and in the process modified somewhat
the return object for both rq.fit.sfn and rq.fit.sfnc so that it is compatible
with other rq.fit objects.
5.24
1. Reverted to the old fortran versions of srqfn.f and srqfnc.f, ie removed
Martin Maechler's C versions, in preparation for some new sparse forms of the
bootstrapping functions. Made a couple of slight changes in the return object
for these functions.
2. Fixed a sihttps://cran.r-project.org/web/packages/quantreg/ChangeLoggn error in the cluster option pointed out in an email of
Andreas on May 9 2016.
3. Added jackknife option to boot.rq for the proposal of Portnoy.
4. Adapted boot.rq and friends so that when there are multiple taus
summary.rqs reuses the same randomization for each of the taus to facilitate
joint inference with the bootstrap realizations.
5.25
1. When method = "sfn" store model$x in sparse form. Then when
bootstrapping use method = "sfn" rather than the usual "br" method.
2. When using the "cluster" option for bootstrap allow "sfn" as above.
3. When na.action = "omit" and length(fit$na.action) > 0, then omit
these values from the strata indicator "cluster". This would seem to
help bring together the survey package and quantreg as desired by
email correspondance with donald706.
5.26
1. Fixed long line per Kurt's suggestion.
2. Added some comments about method "sfn" in the man page for rq.
5.27
1. removed lines that cat'd taus from rqprocess in the khmal.R
2. fixed environment problem in nlrq, according to suggestion of
Vaidotas Zemlys-Balevicius email August 9 2016.
5.28
1. Cleaned up the fortran source a bit in accordance with Kurt's mandate
of late August 2016. There are still some offensive items mainly in crq.f
that should be dealt with, but I wasn't able to dig into this at the moment.
Since arpack installs a dynamic library, its BUILDLINK_DEPMETHOD
shouldn't be set to "build" by default.
Bump PKGREVISION of octave for its runtime dependency change.
Features a case sensitive command line interface, internal IEEE 754
calculations with 15 significant digits, calculations with real and
complex numbers, variables and user defined functions, logarithmic
and exponential functions, trigonometric and hyperbolic function
and selected mathematical constants and rounding functions.
Packaged by Carsten Larsen via PR pkg/51922
* Linear Least Squares / Minimum Norm solution
* Symmetric-indefinite Factorization: Aasen’s tridiagonalization
* Symmetric-indefinite Factorization: New storage format for L factor in Rook Pivoting and Bunch Kaufman of LDLT
* Symmetric eigenvalue problem: Two-stage algorithm for reduction to tridiagonal form
* Improved Complex Jacobi SVD
* LAPACKE interfaces
The following modules were renamed to simplify maintenance.
* src/prob.h RENAMED -> src/api/prob.h
* src/glpapi01.c RENAMED -> src/api/prob1.c
* src/glpapi02.c RENAMED -> src/api/prob2.c
* src/glpapi03.c RENAMED -> src/api/prob3.c
* src/glpapi04.c RENAMED -> src/api/prob4.c
* src/glpapi05.c RENAMED -> src/api/prob5.c
* src/env/tls.c
TLS (thread local storage class specifier) option was added;
see comments in tls.c for details.
* configure.ac, config.h.in
Test for TLS was added.
* src/env/tls.c
Dll support was added.
The following modules were changed to add __cdecl specifier
for functions passed to qsort (this is needed only on compiling
GLPK with MSVC to run under MS Windows).
* src/api/cpxbas.c
* src/cglib/cfg1.c
* src/cglib/gmigen.c
* src/cglib/mirgen.c
* src/misc/wclique1.c
* src/simplex/spychuzc.c
* src/glpios10.c
* src/glpios11.c
* examples/glpsol.c
* src/glpk.h, src/env/env.c
The API routine glp_version was changed to avoid initialization
of the GLPK environment. The new API routine glp_config was
added (but not documented yet).
* INSTALL
Description of the configure option '--with-zlib' was removed.
FFTW 3.3.6-pl1:
* Bugfix: FFTW 3.3.6 had the wrong libtool version number, and generated
shared libraries of the form libfftw3.so.2.6.6 instead of
libfftw3.so.3.*.
FFTW 3.3.6:
* The fftw_make_planner_thread_safe() API introduced in 3.3.5 didn't
work, and this 3.3.6 fixes it. Sorry about that.
* compilation fixes for IBM XLC
* compilation fixes for threads on Windows
* fix SIMD autodetection on amd64 when (_MSC_VER > 1500)
FAILED (KNOWNFAIL=8, SKIP=9, errors=1, failures=1)
==========================
NumPy 1.12.0 Release Notes
==========================
This release supports Python 2.7 and 3.4 - 3.6.
Highlights
==========
The NumPy 1.12.0 release contains a large number of fixes and improvements, but
few that stand out above all others. That makes picking out the highlights
somewhat arbitrary but the following may be of particular interest or indicate
areas likely to have future consequences.
* Order of operations in ``np.einsum`` can now be optimized for large speed improvements.
* New ``signature`` argument to ``np.vectorize`` for vectorizing with core dimensions.
* The ``keepdims`` argument was added to many functions.
* New context manager for testing warnings
* Support for BLIS in numpy.distutils
* Much improved support for PyPy (not yet finished)
Dropped Support
===============
* Support for Python 2.6, 3.2, and 3.3 has been dropped.
Added Support
=============
* Support for PyPy 2.7 v5.6.0 has been added. While not complete (nditer
``updateifcopy`` is not supported yet), this is a milestone for PyPy's
C-API compatibility layer.
Build System Changes
====================
* Library order is preserved, instead of being reordered to match that of
the directories.
Deprecations
============
Assignment of ndarray object's ``data`` attribute
-------------------------------------------------
Assigning the 'data' attribute is an inherently unsafe operation as pointed
out in gh-7083. Such a capability will be removed in the future.
Unsafe int casting of the num attribute in ``linspace``
-------------------------------------------------------
``np.linspace`` now raises DeprecationWarning when num cannot be safely
interpreted as an integer.
Insufficient bit width parameter to ``binary_repr``
---------------------------------------------------
If a 'width' parameter is passed into ``binary_repr`` that is insufficient to
represent the number in base 2 (positive) or 2's complement (negative) form,
the function used to silently ignore the parameter and return a representation
using the minimal number of bits needed for the form in question. Such behavior
is now considered unsafe from a user perspective and will raise an error in the
future.
Future Changes
==============
* In 1.13 NAT will always compare False except for ``NAT != NAT``,
which will be True. In short, NAT will behave like NaN
* In 1.13 np.average will preserve subclasses, to match the behavior of most
other numpy functions such as np.mean. In particular, this means calls which
returned a scalar may return a 0-d subclass object instead.
Multiple-field manipulation of structured arrays
------------------------------------------------
In 1.13 the behavior of structured arrays involving multiple fields will change
in two ways:
First, indexing a structured array with multiple fields (eg,
``arr[['f1', 'f3']]``) will return a view into the original array in 1.13,
instead of a copy. Note the returned view will have extra padding bytes
corresponding to intervening fields in the original array, unlike the copy in
1.12, which will affect code such as ``arr[['f1', 'f3']].view(newdtype)``.
Second, for numpy versions 1.6 to 1.12 assignment between structured arrays
occurs "by field name": Fields in the destination array are set to the
identically-named field in the source array or to 0 if the source does not have
a field::
>>> a = np.array([(1,2),(3,4)], dtype=[('x', 'i4'), ('y', 'i4')])
>>> b = np.ones(2, dtype=[('z', 'i4'), ('y', 'i4'), ('x', 'i4')])
>>> b[:] = a
>>> b
array([(0, 2, 1), (0, 4, 3)],
dtype=[('z', '<i4'), ('y', '<i4'), ('x', '<i4')])
In 1.13 assignment will instead occur "by position": The Nth field of the
destination will be set to the Nth field of the source regardless of field
name. The old behavior can be obtained by using indexing to reorder the fields
before
assignment, e.g., ``b[['x', 'y']] = a[['y', 'x']]``.
Compatibility notes
===================
DeprecationWarning to error
---------------------------
* Indexing with floats raises ``IndexError``,
e.g., a[0, 0.0].
* Indexing with non-integer array_like raises ``IndexError``,
e.g., ``a['1', '2']``
* Indexing with multiple ellipsis raises ``IndexError``,
e.g., ``a[..., ...]``.
* Non-integers used as index values raise ``TypeError``,
e.g., in ``reshape``, ``take``, and specifying reduce axis.
FutureWarning to changed behavior
---------------------------------
* ``np.full`` now returns an array of the fill-value's dtype if no dtype is
given, instead of defaulting to float.
* np.average will emit a warning if the argument is a subclass of ndarray,
as the subclass will be preserved starting in 1.13. (see Future Changes)
``power`` and ``**`` raise errors for integer to negative integer powers
------------------------------------------------------------------------
The previous behavior depended on whether numpy scalar integers or numpy
integer arrays were involved.
For arrays
* Zero to negative integer powers returned least integral value.
* Both 1, -1 to negative integer powers returned correct values.
* The remaining integers returned zero when raised to negative integer powers.
For scalars
* Zero to negative integer powers returned least integral value.
* Both 1, -1 to negative integer powers returned correct values.
* The remaining integers sometimes returned zero, sometimes the
correct float depending on the integer type combination.
All of these cases now raise a ``ValueError`` except for those integer
combinations whose common type is float, for instance uint64 and int8. It was
felt that a simple rule was the best way to go rather than have special
exceptions for the integer units. If you need negative powers, use an inexact
type.
Relaxed stride checking is the default
--------------------------------------
This will have some impact on code that assumed that ``F_CONTIGUOUS`` and
``C_CONTIGUOUS`` were mutually exclusive and could be set to determine the
default order for arrays that are now both.
The ``np.percentile`` 'midpoint' interpolation method fixed for exact indices
-----------------------------------------------------------------------------
The 'midpoint' interpolator now gives the same result as 'lower' and 'higher' when
the two coincide. Previous behavior of 'lower' + 0.5 is fixed.
``keepdims`` kwarg is passed through to user-class methods
----------------------------------------------------------
numpy functions that take a ``keepdims`` kwarg now pass the value
through to the corresponding methods on ndarray sub-classes. Previously the
``keepdims`` keyword would be silently dropped. These functions now have
the following behavior:
1. If user does not provide ``keepdims``, no keyword is passed to the underlying
method.
2. Any user-provided value of ``keepdims`` is passed through as a keyword
argument to the method.
This will raise in the case where the method does not support a
``keepdims`` kwarg and the user explicitly passes in ``keepdims``.
The following functions are changed: ``sum``, ``product``,
``sometrue``, ``alltrue``, ``any``, ``all``, ``amax``, ``amin``,
``prod``, ``mean``, ``std``, ``var``, ``nanmin``, ``nanmax``,
``nansum``, ``nanprod``, ``nanmean``, ``nanmedian``, ``nanvar``,
``nanstd``
``bitwise_and`` identity changed
--------------------------------
The previous identity was 1, it is now -1. See entry in `Improvements`_ for
more explanation.
ma.median warns and returns nan when unmasked invalid values are encountered
----------------------------------------------------------------------------
Similar to unmasked median the masked median `ma.median` now emits a Runtime
warning and returns `NaN` in slices where an unmasked `NaN` is present.
Greater consistancy in ``assert_almost_equal``
----------------------------------------------
The precision check for scalars has been changed to match that for arrays. It
is now::
abs(actual - desired) < 1.5 * 10**(-decimal)
Note that this is looser than previously documented, but agrees with the
previous implementation used in ``assert_array_almost_equal``. Due to the
change in implementation some very delicate tests may fail that did not
fail before.
``NoseTester`` behaviour of warnings during testing
---------------------------------------------------
When ``raise_warnings="develop"`` is given, all uncaught warnings will now
be considered a test failure. Previously only selected ones were raised.
Warnings which are not caught or raised (mostly when in release mode)
will be shown once during the test cycle similar to the default python
settings.
``assert_warns`` and ``deprecated`` decorator more specific
-----------------------------------------------------------
The ``assert_warns`` function and context manager are now more specific
to the given warning category. This increased specificity leads to them
being handled according to the outer warning settings. This means that
no warning may be raised in cases where a wrong category warning is given
and ignored outside the context. Alternatively the increased specificity
may mean that warnings that were incorrectly ignored will now be shown
or raised. See also the new ``suppress_warnings`` context manager.
The same is true for the ``deprecated`` decorator.
C API
-----
No changes.
New Features
============
Writeable keyword argument for ``as_strided``
---------------------------------------------
``np.lib.stride_tricks.as_strided`` now has a ``writeable``
keyword argument. It can be set to False when no write operation
to the returned array is expected to avoid accidental
unpredictable writes.
``axes`` keyword argument for ``rot90``
---------------------------------------
The ``axes`` keyword argument in ``rot90`` determines the plane in which the
array is rotated. It defaults to ``axes=(0,1)`` as in the originial function.
Generalized ``flip``
--------------------
``flipud`` and ``fliplr`` reverse the elements of an array along axis=0 and
axis=1 respectively. The newly added ``flip`` function reverses the elements of
an array along any given axis.
* ``np.count_nonzero`` now has an ``axis`` parameter, allowing
non-zero counts to be generated on more than just a flattened
array object.
BLIS support in ``numpy.distutils``
-----------------------------------
Building against the BLAS implementation provided by the BLIS library is now
supported. See the ``[blis]`` section in ``site.cfg.example`` (in the root of
the numpy repo or source distribution).
Hook in ``numpy/__init__.py`` to run distribution-specific checks
-----------------------------------------------------------------
Binary distributions of numpy may need to run specific hardware checks or load
specific libraries during numpy initialization. For example, if we are
distributing numpy with a BLAS library that requires SSE2 instructions, we
would like to check the machine on which numpy is running does have SSE2 in
order to give an informative error.
Add a hook in ``numpy/__init__.py`` to import a ``numpy/_distributor_init.py``
file that will remain empty (bar a docstring) in the standard numpy source,
but that can be overwritten by people making binary distributions of numpy.
New nanfunctions ``nancumsum`` and ``nancumprod`` added
-------------------------------------------------------
Nan-functions ``nancumsum`` and ``nancumprod`` have been added to
compute ``cumsum`` and ``cumprod`` by ignoring nans.
``np.interp`` can now interpolate complex values
------------------------------------------------
``np.lib.interp(x, xp, fp)`` now allows the interpolated array ``fp``
to be complex and will interpolate at ``complex128`` precision.
New polynomial evaluation function ``polyvalfromroots`` added
-------------------------------------------------------------
The new function ``polyvalfromroots`` evaluates a polynomial at given points
from the roots of the polynomial. This is useful for higher order polynomials,
where expansion into polynomial coefficients is inaccurate at machine
precision.
New array creation function ``geomspace`` added
-----------------------------------------------
The new function ``geomspace`` generates a geometric sequence. It is similar
to ``logspace``, but with start and stop specified directly:
``geomspace(start, stop)`` behaves the same as
``logspace(log10(start), log10(stop))``.
New context manager for testing warnings
----------------------------------------
A new context manager ``suppress_warnings`` has been added to the testing
utils. This context manager is designed to help reliably test warnings.
Specifically to reliably filter/ignore warnings. Ignoring warnings
by using an "ignore" filter in Python versions before 3.4.x can quickly
result in these (or similar) warnings not being tested reliably.
The context manager allows to filter (as well as record) warnings similar
to the ``catch_warnings`` context, but allows for easier specificity.
Also printing warnings that have not been filtered or nesting the
context manager will work as expected. Additionally, it is possible
to use the context manager as a decorator which can be useful when
multiple tests give need to hide the same warning.
New masked array functions ``ma.convolve`` and ``ma.correlate`` added
---------------------------------------------------------------------
These functions wrapped the non-masked versions, but propagate through masked
values. There are two different propagation modes. The default causes masked
values to contaminate the result with masks, but the other mode only outputs
masks if there is no alternative.
New ``float_power`` ufunc
-------------------------
The new ``float_power`` ufunc is like the ``power`` function except all
computation is done in a minimum precision of float64. There was a long
discussion on the numpy mailing list of how to treat integers to negative
integer powers and a popular proposal was that the ``__pow__`` operator should
always return results of at least float64 precision. The ``float_power``
function implements that option. Note that it does not support object arrays.
``np.loadtxt`` now supports a single integer as ``usecol`` argument
-------------------------------------------------------------------
Instead of using ``usecol=(n,)`` to read the nth column of a file
it is now allowed to use ``usecol=n``. Also the error message is
more user friendly when a non-integer is passed as a column index.
Improved automated bin estimators for ``histogram``
---------------------------------------------------
Added 'doane' and 'sqrt' estimators to ``histogram`` via the ``bins``
argument. Added support for range-restricted histograms with automated
bin estimation.
``np.roll`` can now roll multiple axes at the same time
-------------------------------------------------------
The ``shift`` and ``axis`` arguments to ``roll`` are now broadcast against each
other, and each specified axis is shifted accordingly.
The ``__complex__`` method has been implemented for the ndarrays
----------------------------------------------------------------
Calling ``complex()`` on a size 1 array will now cast to a python
complex.
``pathlib.Path`` objects now supported
--------------------------------------
The standard ``np.load``, ``np.save``, ``np.loadtxt``, ``np.savez``, and similar
functions can now take ``pathlib.Path`` objects as an argument instead of a
filename or open file object.
New ``bits`` attribute for ``np.finfo``
---------------------------------------
This makes ``np.finfo`` consistent with ``np.iinfo`` which already has that
attribute.
New ``signature`` argument to ``np.vectorize``
----------------------------------------------
This argument allows for vectorizing user defined functions with core
dimensions, in the style of NumPy's
:ref:`generalized universal functions<c-api.generalized-ufuncs>`. This allows
for vectorizing a much broader class of functions. For example, an arbitrary
distance metric that combines two vectors to produce a scalar could be
vectorized with ``signature='(n),(n)->()'``. See ``np.vectorize`` for full
details.
Emit py3kwarnings for division of integer arrays
------------------------------------------------
To help people migrate their code bases from Python 2 to Python 3, the
python interpreter has a handy option -3, which issues warnings at runtime.
One of its warnings is for integer division::
$ python -3 -c "2/3"
-c:1: DeprecationWarning: classic int division
In Python 3, the new integer division semantics also apply to numpy arrays.
With this version, numpy will emit a similar warning::
$ python -3 -c "import numpy as np; np.array(2)/np.array(3)"
-c:1: DeprecationWarning: numpy: classic int division
numpy.sctypes now includes bytes on Python3 too
-----------------------------------------------
Previously, it included str (bytes) and unicode on Python2, but only str
(unicode) on Python3.
Improvements
============
``bitwise_and`` identity changed
--------------------------------
The previous identity was 1 with the result that all bits except the LSB were
masked out when the reduce method was used. The new identity is -1, which
should work properly on twos complement machines as all bits will be set to
one.
Generalized Ufuncs will now unlock the GIL
------------------------------------------
Generalized Ufuncs, including most of the linalg module, will now unlock
the Python global interpreter lock.
Caches in `np.fft` are now bounded in total size and item count
---------------------------------------------------------------
The caches in `np.fft` that speed up successive FFTs of the same length can no
longer grow without bounds. They have been replaced with LRU (least recently
used) caches that automatically evict no longer needed items if either the
memory size or item count limit has been reached.
Improved handling of zero-width string/unicode dtypes
-----------------------------------------------------
Fixed several interfaces that explicitly disallowed arrays with zero-width
string dtypes (i.e. ``dtype('S0')`` or ``dtype('U0')``, and fixed several
bugs where such dtypes were not handled properly. In particular, changed
``ndarray.__new__`` to not implicitly convert ``dtype('S0')`` to
``dtype('S1')`` (and likewise for unicode) when creating new arrays.
Integer ufuncs vectorized with AVX2
-----------------------------------
If the cpu supports it at runtime the basic integer ufuncs now use AVX2
instructions. This feature is currently only available when compiled with GCC.
Order of operations optimization in ``np.einsum``
--------------------------------------------------
``np.einsum`` now supports the ``optimize`` argument which will optimize the
order of contraction. For example, ``np.einsum`` would complete the chain dot
example ``np.einsum(‘ij,jk,kl->il’, a, b, c)`` in a single pass which would
scale like ``N^4``; however, when ``optimize=True`` ``np.einsum`` will create
an intermediate array to reduce this scaling to ``N^3`` or effectively
``np.dot(a, b).dot(c)``. Usage of intermediate tensors to reduce scaling has
been applied to the general einsum summation notation. See ``np.einsum_path``
for more details.
quicksort has been changed to an introsort
------------------------------------------
The quicksort kind of ``np.sort`` and ``np.argsort`` is now an introsort which
is regular quicksort but changing to a heapsort when not enough progress is
made. This retains the good quicksort performance while changing the worst case
runtime from ``O(N^2)`` to ``O(N*log(N))``.
``ediff1d`` improved performance and subclass handling
------------------------------------------------------
The ediff1d function uses an array instead on a flat iterator for the
subtraction. When to_begin or to_end is not None, the subtraction is performed
in place to eliminate a copy operation. A side effect is that certain
subclasses are handled better, namely astropy.Quantity, since the complete
array is created, wrapped, and then begin and end values are set, instead of
using concatenate.
Improved precision of ``ndarray.mean`` for float16 arrays
---------------------------------------------------------
The computation of the mean of float16 arrays is now carried out in float32 for
improved precision. This should be useful in packages such as Theano
where the precision of float16 is adequate and its smaller footprint is
desireable.
Changes
=======
All array-like methods are now called with keyword arguments in fromnumeric.py
------------------------------------------------------------------------------
Internally, many array-like methods in fromnumeric.py were being called with
positional arguments instead of keyword arguments as their external signatures
were doing. This caused a complication in the downstream 'pandas' library
that encountered an issue with 'numpy' compatibility. Now, all array-like
methods in this module are called with keyword arguments instead.
Operations on np.memmap objects return numpy arrays in most cases
-----------------------------------------------------------------
Previously operations on a memmap object would misleadingly return a memmap
instance even if the result was actually not memmapped. For example,
``arr + 1`` or ``arr + arr`` would return memmap instances, although no memory
from the output array is memmaped. Version 1.12 returns ordinary numpy arrays
from these operations.
Also, reduction of a memmap (e.g. ``.sum(axis=None``) now returns a numpy
scalar instead of a 0d memmap.
stacklevel of warnings increased
--------------------------------
The stacklevel for python based warnings was increased so that most warnings
will report the offending line of the user code instead of the line the
warning itself is given. Passing of stacklevel is now tested to ensure that
new warnings will receive the ``stacklevel`` argument.
This causes warnings with the "default" or "module" filter to be shown once
for every offending user code line or user module instead of only once. On
python versions before 3.4, this can cause warnings to appear that were falsely
ignored before, which may be surprising especially in test suits.
Bugfix: FFTW 3.3.6 had the wrong libtool version number, and generated shared libraries of the form libfftw3.so.2.6.6 instead of libfftw3.so.3.*.
FFTW 3.3.6
The fftw_make_planner_thread_safe() API introduced in 3.3.5 didn't work, and this 3.3.6 fixes it. Sorry about that.
Compilation fixes for IBM XLC.
Compilation fixes for threads on Windows.
fix SIMD autodetection on amd64 when (_MSC_VER > 1500)
MASTER_SITES= site1 \
site2
style continuation lines to be simple repeated
MASTER_SITES+= site1
MASTER_SITES+= site2
lines. As previewed on tech-pkg. With thanks to rillig for fixing pkglint
accordingly.
Update DEPENDS
Upstream changes:
2017-01-11 v1.6003 pjacklam
* Fix syntax for required version of Math::BigInt::Lib.
* Better checking of POD coverage.
* Sync test files with Math-BigInt-1.999808.
2016-12-03 v1.6002 pjacklam
* Use ExtUtils::MakeMaker rather than Module::Install in Makefile.PL
* Don't use Devel::CheckLib. It fails on Windows even in cases where
this distribution would build just fine.
* Update BUGS file.
* Remove author information in LICENSE file.
* Inform that the TODO file is not up to date.
* Remove INSTALL file. The information is in the README file.
2016-11-23 v1.6001 pjacklam
* Sync test files with Math-BigInt-1.999801.
* Correct version number in CHANGES file.
2016-11-15 v1.6000 pjacklam
* Sync test files with Math-BigInt-1.999800.
* Update bundled Devel::CheckLib from v1.03 to v1.07.
* Math::BigInt::GMP is now a subclass of Math::BigInt::Lib, so remove pure
Perl methods from Math::BigInt::GMP that are implemented in the superclass
Math::BigInt::Lib. The methods removed are _digit(), _num(), _nok(), and
_log_int(). The version of _log_int() implemented in Math::BigInt::GMP was
buggy anyway.
* Fix _check() so it doesn't give a "use of uninitialized value" warning if
given an undefined "object".
* Trim whitespace in all files.
* Better use of the functionality in Test::More in t/bigintg.t.
Update DEPENDS
Upstream changes:
2017-01-11 v1.3003 pjacklam
* Fix syntax for required version of Math::BigInt::Lib.
* Better checking of POD coverage.
* Sync test files with Math-BigInt-1.999808.
* _from_hex() now accepts input without a "0x" prefix.
* _from_bin() is more now efficient as it utilises the fact that
Math::Pari::_hex_cvt() assumes the input is binary if the strings is
prefixed by "0b".
* Implement _to_hex(), _to_oct(), and _to_bin() for conversion to hexadecimal,
octal, and binary without prefix.
* Fix _nok() to work around a bug in Math::Pari::binomial(). It doesn't
correctly handle cases where both n and k are very large.
* Correct a few cases where non-OO syntax was used, e.g., "$x = _one();"
should be "$x = $class -> _one();".
* _inc() and _dec() now uses post-increment and post-decrement, respectively,
rather than adding or subtracting one.
* In test file t/01load.t, display the PARI library version number.
2016-12-03 v1.3002 pjacklam
* Use ExtUtils::MakeMaker rather than Module::Install in Makefile.PL
* Remove author information in LICENSE file.
2016-11-23 v1.3001 pjacklam
* Sync test files with Math-BigInt-1.999801. Add t/mbi_rand.t, t/mbimbf.t,
and t/mbimbf.inc since these are included in the test suite for the other
backend libraries (GMP and Pari).
* Add _nok() by using Pari's binomial() function.
* Add _lcm() by using Pari's lcm() function.
2016-11-15 v1.3000 pjacklam
* Sync test files with Math-BigInt-1.999800.
* Math::BigInt::Pari is now a subclass of Math::BigInt::Lib, so remove pure
Perl methods from Math::BigInt::Pari that are implemented in the superclass
Math::BigInt::Lib. The methods removed are _modinv() and _log_int(). The
version of _log_int() implemented in Math::BigInt::GMP was buggy anyway.
* Add methods _str() and _set(), and correct _num() method.
Upstream changes:
2017-01-11 v1.999808 pjacklam
* In Math::BigInt and Math::BigFloat, add methods bdfac() for double
factorial. Add tests for this method.
* In Math::BigInt and Math::BigFloat, add methods to_hex(), to_oct(), and
to_bin() for hexadecimal, octal, and binary string output without prefix.
Even for Math::BigFloat there is still only support for integer output. Add
tests for these methods.
* Add test for as_oct() corresponding to the old tests for as_hex() and
as_bin().
* In Math::BigInt::Lib, add method _dfac() for double factorial. Add
corresponding tests.
* In Math::BigInt::Lib, fix bug in overloaded "int".
* In Math::BigInt::Lib, implement much faster versions of _from_hex(),
_from_oct(), and _from_bin().
* In Makefile.PL, improve the wording in the message displayed if some of
the installed backend libraries are not a subclass of Math::BigInt::Lib (and
hence will not provide
* Fix minor bugs in some of the author library test files (t/author-lib*.t).
* Allow leading and trailing whitespace in the input to from_hex(),
from_oct(), and from_bin(). Add tests to verify. This is a regressions
(CPAN RT #119805).
2016-12-23 v1.999807 pjacklam
* Add a message to Makefile.PL recommending upgrade if old libraries are
installed. This message is more or less equivalent to the one appearing in
Math-BigInt up until v1.997.
* Improve the documentation (POD) in Math::BigInt::Lib.
* Speed up _sqrt() and _root() in Math::BigInt::Lib.
* Remove checking for exception cases (cases that would return +Inf, -Inf, or
NaN) in Math::BigInt::Lib. It has been documented for a long time that such
checking should be done by the caller.
* Add library methods _to_bin(), _to_oct(), _to_hex(), which are equivalent to
the _as_bin(), _as_oct(), and _as_hex() methods respectively, except that
the _to_*() methods don't use a prefix in the output. This removes the need
for the frequent removal of the various prefixes. Now each _as_*() method
calls the equivalent _to_*() method, adds a prefix, and returns the output.
The _to_*() methods are faster than the equivalent _as_*() methods were.
* Add author test files for the methods _to_bin(), _to_oct(), and _to_hex().
* Add library method _to_bytes(). The method _as_bytes() would have been
called _to_bytes() if I had thought of it earlier. The method _as_bytes() is
now just an alias to _to_bytes(). The _to_bytes() method also fixes a bug
that was present in the _as_bytes() method. (CPAN RT #119346).
* Add author test files for the method _to_bytes().
* Add more tests for library methods _inc() and _dec(). When trying to bring
the Math::BigInt::BitVect library back to life I realized that the test
suite didn't catch certain errors in _inc() and _dec().
* Die if trying to use as_bytes() or from_bytes() with a backend library that
doesn't support the corresponding library methods.
* Correct minor errors in the output messages in the test files.
* Improve/correct various comments in the source code.
* More diagnostic output is displayed by the author test files if the
AUTHOR_DEBUGGING environment variable is set.
2016-12-13 v1.999806 pjacklam
* Add more logic to Makefile.PL regarding INSTALLDIRS (CPAN RT #119199
and #119225).
* In the TODO file, remove stuff that has been implemented.
2016-12-11 v1.999805 pjacklam
* Fix Makefile.PL so that this module installs over the core version.
* Add more tests for _nok() (binomial coefficient "n over k"). These new tests
revealed some problems with some of the backend libraries when _nok() was
given very large arguments.
* Remove t/Math/BigFloat/#Subclass.pm#, which is an Emacs temporary file
included by accident.
2016-12-07 v1.999804 pjacklam
* Implement as_bytes(), as requested (CPAN RT 119096). Also implement the
inverse conversion from_bytes(). This applies to Math::BigInt only. (Alas,
these methods will be inherited from Math::BigInt into Math::BigFloat,
Math::BigRat etc. where the methods won't work. Fixing this class
relationship is an issue of its own.)
* Implement _as_bytes() and _from_bytes() in Math::BigInt::Lib. Preferably,
the various backend libraries will implement faster versions of their
own. Add author test files for testing these methods thorougly.
* Fix from_hex(), from_oct(), and from_bin().
- When called as instance methods, the new value should be assigned to the
invocand unless the invocand is read-only (a constant).
- When called as instance methods, the assigned value was incorrect, if the
invocand was inf or NaN.
- Add tests to t/from_hex-mbf.t, t/from_oct-mbf.t, and t/from_bin-mbf.t
to confirm the fix.
- Add new test files t/from_hex-mbi.t, t/from_oct-mbi.t, and
t/from_bin-mbi.t for better testing of these methods with Math::BigInt.
* Correct typo in Math/BigInt/Lib.pm (otherise -> otherwise) (CPAN RT 118829).
* Add POD coverage testing of Math::BigInt::Lib to t/03podcov.t.
2016-12-03 v1.999803 pjacklam
* Remove BENCHMARK file. The information was obsolete.
* Use ExtUtils::MakeMaker rather than Module::Install in Makefile.PL
* Reorder CHANGES file (this file) so the newest entries appear at the top.
* Fix error in test information text in various author test files.
* Remove author information in LICENSE file.
* Inform that the TODO file is not up to date.
2016-11-28 v1.999802 pjacklam
* When bzero(), bone(), binf(), and bnan() are used as constructors, don't
check whether the class allows the object to be modified. A constructor
isn't modifying any existing object. This applies to both Math::BigInt and
Math::BigFloat.
* Improve bgcd() and blcm(). This applies to both Math::BigInt and
Math::BigFloat.
Change bl3 to pdflib-lite to fix binary package distribution.
Grace-5.1.25
- killing set data from GUI and scripts now clears set comments
- undid "always overwrite set comments when reading data in" from 5.1.24
- fixed Fourier transform DC-term amplitude (rep. #630)
- newer versions of "make" tried to regenerate documentation (rep. #2240)
Grace-5.1.24
- fixed detection of dynamic loading libraries (rep. # 2238)
- install PDF docs instead of the DVI ones
- added cephes/COPYING (from Debian)
- a workaround for broken input of non-ASCII text under UTF8 locales
- always overwrite set comments when reading data in
==========================
NumPy 1.11.3 Release Notes
==========================
Numpy 1.11.3 fixes a bug that leads to file corruption when very large files
opened in append mode are used in ``ndarray.tofile``. It supports Python
versions 2.6 - 2.7 and 3.2 - 3.5. Wheels for Linux, Windows, and OS X can be
found on PyPI.
Contributors to maintenance/1.11.3
==================================
A total of 2 people contributed to this release. People with a "+" by their
names contributed a patch for the first time.
- Charles Harris
- Pavel Potocek +
Pull Requests Merged
====================
- `#8341 <https://github.com/numpy/numpy/pull/8341>`__: BUG: Fix ndarray.tofile large file corruption in append mode.
- `#8346 <https://github.com/numpy/numpy/pull/8346>`__: TST: Fix tests in PR #8341 for NumPy 1.11.x
Upstream changes:
gtools 3.5.0 - 2015-04-28
-------------------------
New Functions:
- New roman2int() functon to convert roman numerals to integers
without the range restriction of utils::as.roman().
- New asc() and chr() functions to convert between ASCII codes and
characters. (Based on the 'Data Debrief' blog entry for 2011-03-09
at http://datadebrief.blogspot.com/2011/03/ascii-code-table-in-r.html).
- New unByteCode() and unByteCodeAssign() functions to convert a
byte-code functon to an interpeted code function.
- New assignEdgewise() function for making assignments into locked
environments. (Used by unByteCodeAssign().)
Enhacements:
- mixedsort() and mixedorder() now have arguments 'decreasing',
'na.last', and 'blank.last' arguments to control sort ordering.
- mixedsort() and mixedirdeR() now support Roman numerals via the
arguments 'numeric.type', and 'roman.case'. (Request by David
Winsemius, suggested code changes by Henrik Bengtsson.)
- speed up mixedorder() (and hence mixedsort()) by moving
suppressWarnings() outside of lapply loops. (Suggestion by Henrik
Bengtsson.)
- The 'q' argument to quantcut() now accept an integer
indicating the number of equally spaced quantile groups to
create. (Suggestion and patch submitted by Ryan C. Thompson.)
Bug fixes:
- Removed stray browser() call in smartbind().
- ddirichlet(x, alpha) was incorrectly returning NA when for any i,
x[i]=0 and alpha[i]=1. (Bug report by John Nolan.)
Other changes:
- Correct typographical errors in package description.
gtools 3.4.2 - 2015-04-06
-------------------------
New features:
- New function loadedPackages() to display name, version, and path of
loaded packages (package namespaces).
- New function: na.replace() to replace missing values within a
vector with a specified value.`
Bug fixes:
- Modify keywords() to work properly in R 3.4.X and later.
gtools 3.4.1 - 2014-05-27
-------------------------
Bug fixes:
- smartbind() now converts all non-atomic type columns (except factor)
to type character instead of generating an opaque error message.
Other changes:
- the argument to ASCIIfy() is now named 'x' instead of 'string'.
- minor formatting changes to ASCIIfy() man page.
gtools 3.4.0 - 2014-04-14
-------------------------
New features:
- New ASCIIfy() function to converts character vectors to ASCII
representation by escaping them as \x00 or \u0000 codes.
Contributed by Arni Magnusson.
gtools 3.3.1 - 2014-03-01
-------------------------
Bug fixes:
- 'mixedorder' (and hence 'mixedsort') not properly handling
single-character strings between numbers, so that '1a2' was being
handled as a single string rather than being properly handled as
c('1', 'a', '2').
gtools 3.3.0 - 2014-02-11
-------------------------
New features:
- Add the getDependencies() function to return a list of dependencies
for the specified package(s). Includes arguments to control whether
these dependencies should be constructed using information from
locally installed packages ('installed', default is TRUE), avilable
CRAN packages ('available', default is TRUE) and whether to include
base ('base', default=FALSE) and recommended ('recommended', default
is FALSE) packages.
Bug fixes:
- binsearch() was returning the wrong endpoint & value when the found
value was at the upper endpoint.
gtools 3.2.1 - 2014-01-13
-------------------------
Bug fixes:
- Resolve circular dependency with gdata
gtools 3.2.0 - 2014-01-11
-------------------------
New features:
- The keywords() function now accepts a function or function name as
an argument and will return the list of keywords associated with the
named function.
- New function stars.pval() which will generate p-value significance
symbols ('***', '**', etc.)
Bug fixes:
- R/mixedsort.R: mixedorder() was failing to correctly handle numbers
including decimals due to a faulty regular expression.
Other changes:
- capture() and sprint() are now defunct.
gtools 3.1.1 - 2013-11-06
-------------------------
Bug fixes:
- Fix problem with mixedorder/mixedsort when there is zero or one
elements in the argument vector.
gtools 3.1.0 - 2013-09-22
-------------------------
Major changes:
- The function 'addLast()' (deprecated since gtools 3.0.0) is no
longer available, and has been marked defunct.
Bug fixes:
- Modified 'mixedorder()' to use Use 'suppressWarnings() instead of
'options(warn=-1)'. This will avoid egregious warning messages when
called from within a nested environment, such as when run from
within 'knitr'
gtools 3.0.0 - 2013-07-06
-------------------------
Major changes:
- The function 'addLast()' has been deprecated because it directly
manipulates the global environment, which is expressly prohibited by
the CRAN policies.
- A new function, 'lastAdd()' has been created to replace 'addLast()'.
The name has been changed because the two functions require
different syntax. 'addLast()' was used like this:
byeWorld <- function() cat("\nGoodbye World!\n")
addLast(byeWorld)
The new 'lastAdd()' function is used like this:
byeWorld <- function() cat("\nGoodbye World!\n")
.Last <- lastAdd(byeWorld)
Bug fixes:
- Update checkRVersion() to work with R version 3.0.0 and later.
Other changes:
- Remove cross-reference to (obsolete?) moc package
- The function 'assert()' (deprecated since gtools 2.5.0) is no longer
available and has been marked defunct.
gtools 2.7.1 - 2013-03-17
-------------------------
Bug fixes:
- smartbind() was not properly handling factor columns when the first
data frame did not include the relevant column.
gtools 2.7.0 - 2012-06-19
-------------------------
New features:
- smartbind() has a new 'sep' argument to allow specification of the
character(s) used to separate components of constructed column names
- smartbind() has a new 'verbose' argument to provide details on how
coluumns are being processed
Bug fixes:
- smartbind() has been enhanced to improve handling of factor and
ordered factor columns.
* What is new in gsl-2.3:
** bug fix in documentation for gsl_linalg_LU_refine
(bug #49728, Joey De Pauw)
** added gsl_multifit_linear_tsvd and gsl_multifit_wlinear_tsvd
to give user more control over cutoff for truncated SVD
** added routines for Generalized Cross Validation for
regularized linear least squares
** improved rstat example program and added documentation for
gsl_rstat_sd_mean (Jonathan Leto)
** added function gsl_multifit_linear_rank
** bug fix in nonlinear least squares when using data weights with
finite-difference Jacobian
** add 2D subspace method for large systems (multilarge_nlinear)
** bug fix in gsl_ran_beta for small parameters
(bug #47646, Yu Liu)
** bug fix in gsl_complex_tan for negative imaginary arguments
(bug #47347, Yu Liu)
** doc bug fix: value of golden ratio
** fixed scaling issue in 2D subspace nonlinear least squares
method
** optimize dogleg methods to calculate Gauss-Newton point
only when needed
Linking lapack with the gold linker fails with this error:
fatal error: --sysroot=: must take a non-empty argument
Similar to recent fixes to math/blas and math/lapack
Linking lapack with the gold linker fails with this error:
fatal error: --sysroot=: must take a non-empty argument
DragonFly has been using the gold linker by default for a while now.
Since I don't have time to track down this linking problem, I'm going
to restore the build on DragonFly by setting an environment variable
that forces DF to use the classic GNU linker instead.
This was already fixed on math/blas which uses the lapack common
makefile, so just relocate the fix to lapack.
Linking blas with the gold linker fails with this error:
fatal error: --sysroot=: must take a non-empty argument
DragonFly has been using the gold linker by default for a while now.
Since I don't have time to track down this linking problem, I'm going
to restore the build on DragonFly by setting an environment variable
that forces DF to use the classic GNU linker instead.
At this point in time, I don't know if BLAS is unique or if LAPACK
and others need the same workaround. If the latter, this variable
may need to be moved to the common LAPACK makefile.
Upstream changes:
0.60 2016-10-09
[ADDED]
- vecfirstidx { expr } @n returns first index with expr true
[FUNCTIONALITY AND PERFORMANCE]
- Expanded and modified prime count sparse tables. Prime counts from 30k
to 90M are 1.2x to 2.5x faster. It has no appreciable effect on the
speed of prime counts larger than this size.
- fromdigits works with bigint first arg, no need to stringify.
Slightly faster for bigints, but slower than desired.
- Various speedups and changes for fromdigits, todigits, todigitstring.
- vecprod in PP for negative high-bit would return double not bigint.
- Lah numbers added as Stirling numbers of the third kind. They've been
in the GMP code for almost 2 years now. Also for big results, directly
call the GMP code and objectify the result.
- Small performance change to AKS (r,s) selection tuning.
- On x86_64, use Montgomery math for Pollard/Brent Rho. This speeds up
factoring significantly for large native inputs (e.g. 10-20 digits).
- Use new GMP zeta and riemannr functions if possible, making some of
our operations much faster without Math::MPFR.
- print_primes with large args will try GMP sieve for big speedup. E.g.
use bigint; print_primes(2e19,2e19+1e7);
goes from 37 minutes to 7 seconds. This also removes a mistaken blank
line at the end for certain ranges.
- PP primes tries to use GMP. Only for calls from other PP code.
- Slightly more accuracy in native ExponentialIntegral.
- Slightly more accuracy in twin_prime_count_approx.
- nth_twin_prime_approx was incorrect over 1e10 and over 2e16 would
infinite loop due to Perl double conversion.
- nth_twin_prime_approx a little faster and more accurate.
Upstream changes:
2016-11-23 v1.999801 pjacklam
* Fix, hopefully once and for all, the longstanding problem of handling undef
as an operand to mathematical methods. The only method that accepts undef as
an operand is blog(), where the second operand might be undef, as in
$x->blog() or $x->blog($b), where $b is undef. The undef signifies that
Euler's number should be used as the base. With this fix, we should be able
to get Math::BigInt::Lite working again.
* Add least common multiple method _lcm() to Math::BigInt::Lib, and add
corresponding test file t/author-lib-arithmetic-binary-_lcm.t and test data
file t/author-lib-arithmetic-binary-_lcm.dat.
* Remove internal function __lcm() which has become redundant now that _lcm()
is in the library.
* Make it possible to use bgcd() and blcm() as class methods, since other
methods can be used as class methods. This applies to both Math::BigInt and
Math::BigFloat.
* Fix blcm() with negative input. The LCM should always be non-negative. This
applies to both Math::BigInt and Math::BigFloat.
* Add tests for bgcd() and blcm() in t/bigintpm.t and t/bigfltpm.t.
* Fix tests for blcm() assuming that LCM(0,0) should be a NaN. LCM(0,0) is 0
by convention.
* Prefer Class->config('option') over Class->config()->{option}. However, this
does not seem to be working for all options. It seems that this won't work
properly until we move the global variables into the OO interface.
* Explicitly specify the library in all test files that are shared between
Math-BigInt and the library distributions (FaatCalc, GMP, Pari, ...) with,
e.g., "use Math::BigInt only => 'Calc';". This way, it will fail immediately
if the specified library can't be loaded rather than using the fallback
library.
pkgsrc changes: removed all patches to do with qt5 support, upstream
code does it now. blindly moved some patches that were replacing
INSTALL_PROGRAM to INSTALL_LIB as the build changed. added patch
replacing struct tm_zone with timezone_t to accommodate for missing
type in NetBSD - same as libgnu does.
ok adam
Summary of important user-visible changes for version 4.2:
---------------------------------------------------------
** The parser has been extended to accept, but ignore, underscore
characters in numbers. This facilitates writing more legible code
by using '_' as a thousands separator or to group nibbles into bytes
in hex constants.
Examples: 1_000_000 == 1e6 or 0xDE_AD_BE_EF
** The parser has been extended to understand binary numbers which
begin with the prefix '0b' or '0B'. The value returned is Octave's
default numeric class of double, not at unsigned integer class.
Therefore numbers greater than flintmax, i.e., 2^53, will lose some
precision.
Examples: 0b101 == 5 or 0B1100_0001 == 0xC1
** gnuplot 4.4 is now the minimum version supported by Octave.
** The default set of colors used to plot lines has been updated to be
compatible with Matlab's new default color scheme. The line plot
color scheme can be set with the axes property "ColorOrder".
** The default colormap is now set to "viridis" which is also the
default colormap in matplotlib. This new colormap fixes some of the
main issues with the old default colormap "jet" such as its bad
"luminance profile" and is also more similar to Matlab's new default
colormap "parula".
** The colormap function no longer supports the input argument "list"
to show built-in colormaps. Use "help colormap" to find the
built-in colormaps.
** The graphics command "hold on" now ensures that each new plot added
to an existing plot has a different color or linestyle according to
the "ColorOrder" and/or "LineStyleOrder" properties. This is
equivalent to the old command "hold all" and was made for Matlab
compatibility. Existing code *may* produce differently colored
plots if it did not specify the color for a plot and relied on each
new plot having the default first color in the "ColorOrder"
property.
** When starting, Octave now looks in the function path for a file
startup.m and executes any commands found there. This change was
made to accommodate Matlab users. Octave has it's own configuration
system based on the file .octaverc which is preferred.
** Octal ('\NNN') and hex ('\xNN') escape sequences in single quoted
strings are now interpreted by the function do_string_escapes().
The *printf family of functions now supports octal and hex escape
sequences in single-quoted strings for Matlab compatibility.
** Special octal and hex escape sequences for the pattern and
replacement strings in regular expressions are now interpreted for
Matlab compatibility.
octal: '\oNNN' or '\o{NNN}'
hex : '\xNN' or '\x{NN}'
** Unknown escape sequences in the replacement string for regexprep are
now substituted with their unescaped version and no warning is
emitted. This change was made for Matlab compatibility.
Example: regexprep ('a', 'a', 'x\yz')
=> 'xyz'
** mkfifo now interprets the MODE argument as an octal, not decimal,
integer. This is consistent with the equivalent shell command.
** linspace now returns an empty matrix if the number of requested
points is 0 or a negative number. This change was made to be
compatible with Matlab releases newer than 2011. In addition,
Octave no longer supports matrix inputs for A or B.
** The cov function now returns the complex conjugate of the result
from previous versions of Octave. This change was made for
compatibility with Matlab.
** condest now works with a normest1 compatible syntax.
** The griddata function no longer plots the interpolated mesh if no
output argument is requested, instead the vector or array of
interpolated values is always returned for Matlab compatibility.
** The new function "light" and the corresponding graphics object
provide light and shadow effects for patch and surface objects.
** The surfnorm function now returns unnormalized (magnitude != 1)
normal vectors for compatibility with Matlab.
** The normal vectors returned from isonormals have been reversed to
point towards smaller values for compatibility with Matlab.
** The quadl function now uses an absolute, rather than relative,
tolerance for Matlab compatibility. The default tolerance is 1e-6
which may result in lower precision results than previous versions
of Octave which used eps as the relative tolerance. The quadl
function has also been extended to return a second output with the
total number of function evaluations.
** The textscan function is now built-in and is much faster and much
more Matlab-compatible than the previous m-file version.
** Dialog boxes--errordlg, helpdlg, inputdlg, listdlg, msgbox,
questdlg, and warndlg--now exclusively use Qt for rendering.
Java based versions have been removed.
** The axes properties "TitleFontSizeMultiplier" and "TitleFontWeight"
are now implemented which control the default appearance of text
created with title().
The axes property "LabelFontSizeMultiplier" is now implemented
which controls the default appearance of text created with
xlabel(), ylabel(), or zlabel().
** The graphics property "box" for axes now defaults to "off".
To obtain equivalent plots to previous versions of Octave use
set (0, "DefaultAxesBox", "on");
in your .octaverc file.
** The graphics property "boxstyle" has been implemented. The default
is "back" which draws only the back planes in a 3-D view. If the
option is "full" then all planes are drawn.
** The graphics property "erasemode" has been hidden, and will
eventually be removed. This property has also been removed
from Matlab, and was never implemented in Octave.
** The graphics property "graphicssmoothing" for figures now controls
whether anti-aliasing will be used for lines. The default is "on".
** The value "zero" for the axes properties "xaxislocation" and
"yaxislocation" has been deprecated and will be removed from
Octave 4.6. Use "origin" instead.
** The publish function allows easy publication of Octave script files
in HTML or other formats, including figures and output created by
this script. It comes with its counterpart grabcode, which lets one
literally grab the HTML published code from a remote website, for
example.
** The value of the MEX variable TrapFlag now defaults to 0, which will
cause Octave to abort execution of a MEX file and return to the
prompt if an error is encountered in mexCallMATLAB.
** The MEX API now includes the function mexCallMATLABWithTrap. This
function will not abort if an error occurs during mexCallMATLAB, but
instead will return execution to the MEX function for error
handling.
** The MEX API functions for input validation that begin with "mxIs"
(e.g., mxIsDouble, mxIsEmpty, etc.) now return type bool rather than
type int.
** The functions mxAssert and mxAssertS for checking assertions have
been added. In order to avoid a performance penalty they are only
compiled in to debug versions of a MEX file, i.e., that are produced
when the '-g' option is given to mex or mkoctfile.
** Other new MEX API functions include mexEvalStringWithTrap,
mxIsScalar, mxCreateUninitNumericArray, mxCreateUninitNumericMatrix.
** Other new functions added in 4.2:
audioformats
camlight
condeig
deg2rad
dialog
evalc
hash
im2double
isocaps
lighting
localfunctions
material
normest1
ode23
ode45
odeget
odeplot
odeset
padecoef
profexport
psi
rad2deg
reducepatch
reducevolume
smooth3
uibuttongroup
** Deprecated functions.
The following functions have been deprecated in Octave 4.2 and will
be removed from Octave 4.6 (or whatever version is the second major
release after 4.2):
Function | Replacement
---------------------|------------------
bitmax | flintmax
mahalanobis | mahal in Octave-Forge statistics pkg
md5sum | hash
octve_config_info | __octave_config_info__
onenormest | normest1
sleep | pause
usleep | pause
wavread | audioread
wavwrite | audiowrite
** The following functions were deprecated in Octave 3.8 and have been
removed from Octave 4.2.
default_save_options java_new
gen_doc_cache java_unsigned_conversion
interp1q javafields
isequalwithequalnans javamethods
java_convert_matrix re_read_readline_init_file
java_debug read_readline_init_file
java_invoke saving_history
** The global error_state variable in Octave's C++ API has been
deprecated and will be removed in a future version. Now the error
and print_usage functions throw an exception
(octave::execution_exception) after displaying the error message.
This makes the error and print_usage functions in C++ work more like
the corresponding functions in the scripting language.
** The default error handlers in liboctave have been updated to use
exceptions. After displaying an error message they no longer return
control to the calling program. The error handler function can be
customized through the global variables
"current_liboctave_error_handler" and
"current_liboctave_error_with_id_handler". If a programmer has
installed their own custom error handling routines when directly
linking with liboctave then these must be updated to throw an
exception and not return to the calling program.
** The system for common errors and warnings has been renamed from
gripe_XXX to either err_XXX if error is called or warn_XXX if
warning is called. The gripe_XXX functions are deprecated and will
be removed in version 4.6.
** New configure option, --enable-address-sanitizer-flags, to build
Octave with memory allocator checks (similar to those in valgrind)
built in.
Upstream changes:
2016-11-04 v1.999727 pjacklam
* Skip test exceeding the range of VAX floating point number in t/bigintpm.inc
(CPAN RT 118468).
* Fix typo in lib/Math/BigInt.pm (CPAN RT 118550).
2016-11-15 v1.999800 pjacklam
* Upgrade bundled Module::Install from version 1.16 to version 1.17.
* Add Math::BigInt::Lib (lib/Math/BigInt/Lib.pm), a parent class for
Math::BigInt backend libraries.
* Use objects in Math::BigInt::Calc, not just array refs. Also use OO-style,
i.e., use $class->_add($x, $y) rather than _add($class, $x, $y).
* Not all library methods modify the invocand, so call library methods as,
e.g, $x = $LIB->method($x, $y) rather than just $LIB->method($x, $y).
* Math::BigInt::Calc is now a subclass of Math::BigInt::Lib.
* Add Math::BigInt::Lib::Minimal (t/Math/BigInt/Lib/Minimal.pm) for testing
inheritance from Math::BigInt::Lib.
* Minor simplification in Math::BigInt::Calc->_str().
* Speed up Math::BigInt::Calc->_root().
* Remove test files that were included in the previous release by accident.
* Add more tests and use more verbose output in some tests.
* Fix typo in lib/Math/BigFloat.pm
* Fix documentation error in lib/Math/Calc.pm
* Use Config::Tiny and an .ini file to handle the library specific
configuration for the author-lib*.t test files.
Prompted by beta.repology.org.
Changes from 2.6.0 to 2.6.1
* Fixed a performance regression in some situations as consequence of
increasing too much the BLOCK_SIZE1 constant. After more careful
benchmarks (both in VML and non-VML modes), the value has been set
again to 1024 (down from 8192). The benchmarks have been made with
a relatively new processor (Intel Xeon E3-1245 v5 @ 3.50GHz), so
they should work well for a good range of processors again.
* Added NetBSD support to CPU detection. Thanks to Thomas Klausner.
Upstream changes:
28 August 2016: statmod 1.4.26
- Fortran function gaussq2 updated to Fortran 77.
5 August 2016: statmod 1.4.25
- Add CITATION file.
- pinvgauss() now uses an asymptotic approximation to compute right
tail probabilities for extreme large quantiles. This allows it to
give correct right tail probabilities for virtually any quantile.
- Fix to qinvgauss() to avoid NA values when computing extreme tail
quantiles where the inverse Gaussian density is subject to floating
underflow.
- Bug fix to qresiduals() and qresid.invgauss() for the inverse
Guassian distribution.
Upstream changes:
Changes in Version 1.7-13
o The window() method erroneously dropped the dimension in case of
1-column zoo series. Fixed now.
o Bug fix in NA handling of rollmax() pointed out by Cory Fletcher.
o A few as.yearmon/as.yearqtr methods were not registered in
the NAMESPACE but are now.
o If there are less then two non-NAs in na.approx() then approx()
cannot be applied. Instead of throwing an error (as up to version
1.7-12) simply no NAs are replaced now.
o Bug fix for lag(z, k = k, na.pad = TRUE) which ignored na.pad = TRUE
if 'k' was a vector of lags.
Upstream changes:
CHANGES IN R 3.3.2:
NEW FEATURES:
* extSoftVersion() now reports the version (if any) of the readline
library in use.
* The version of LAPACK included in the sources has been updated to
3.6.1, a bug-fix release including a speedup for the
non-symmetric case of eigen().
* Use options(deparse.max.lines=) to limit the number of lines
recorded in .Traceback and other deparsing activities.
* format(<AsIs>) looks more regular, also for non-character atomic
matrices.
* abbreviate() gains an option named = TRUE.
* The online documentation for package methods is extensively
rewritten. The goals are to simplify documentation for basic
use, to note old features not recommended and to correct
out-of-date information.
* Calls to setMethod() no longer print a message when creating a
generic function in those cases where that is natural: S3
generics and primitives.
INSTALLATION and INCLUDED SOFTWARE:
* Versions of the readline library >= 6.3 had been changed so that
terminal window resizes were not signalled to readline: code has
been added using a explicit signal handler to work around that
(when R is compiled against readline >= 6.3). (PR#16604)
* configure works better with Oracle Developer Studio 12.5.
UTILITIES:
* R CMD check reports more dubious flags in files
src/Makevars[.in], including -w and -g.
* R CMD check has been set up to filter important warnings from
recent versions of gfortran with -Wall -pedantic: this now
reports non-portable GNU extensions such as out-of-order
declarations.
* R CMD config works better with paths containing spaces, even
those of home directories (as reported by Ken Beath).
DEPRECATED AND DEFUNCT:
* Use of the C/C++ macro NO_C_HEADERS is deprecated (no C headers
are included by R headers from C++ as from R 3.3.0, so it should
no longer be needed).
BUG FIXES:
* The check for non-portable flags in R CMD check could be stymied
by src/Makevars files which contained targets.
* (Windows only) When using certain desktop themes in Windows 7 or
higher, Alt-Tab could cause Rterm to stop accepting input.
(PR#14406; patch submitted by Jan Gleixner.)
* pretty(d, ..) behaves better for date-time d (PR#16923).
* When an S4 class name matches multiple classes in the S4 cache,
perform a dynamic search in order to obey namespace imports.
This should eliminate annoying messages about multiple hits in
the class cache. Also, pass along the package from the
ClassExtends object when looking up superclasses in the cache.
* sample(NA_real_) now works.
* Packages using non-ASCII encodings in their code did not install
data properly on systems using different encodings.
* merge(df1, df2) now also works for data frames with column names
"na.last", "decreasing", or "method". (PR#17119)
* contour() caused a segfault if the labels argument had length
zero. (Reported by Bill Dunlap.)
* unique(warnings()) works more correctly, thanks to a new
duplicated.warnings() method.
* findInterval(x, vec = numeric(), all.inside = TRUE) now returns
0s as documented. (Reported by Bill Dunlap.)
* (Windows only) R CMD SHLIB failed when a symbol in the resulting
library had the same name as a keyword in the .def file.
(PR#17130)
* pmax() and pmin() now work with (more ?) classed objects, such
as "Matrix" from the Matrix package, as documented for a long
time.
* axis(side, x = D) and hence Axis() and plot() now work correctly
for "Date" and time objects D, even when "time goes backward",
e.g., with decreasing xlim. (Reported by William May.)
* str(I(matrix(..))) now looks as always intended.
* plot.ts(), the plot() method for time series, now respects cex,
lwd and lty. (Reported by Greg Werbin.)
* parallel::mccollect() now returns a named list (as documented)
when called with wait = FALSE. (Reported by Michel Lang.)
* If a package added a class to a class union in another package,
loading the first package gave erroneous warnings about
"undefined subclass".
* c()'s argument use.names is documented now, as belonging to the
(C internal) default method. In "parallel", argument recursive
is also moved from the generic to the default method, such that
the formal argument list of base generic c() is just (...).
* rbeta(4, NA) and similarly rgamma() and rnbinom() now return
NaN's with a warning, as other r<dist>(), and as documented.
(PR#17155)
* Using options(checkPackageLicense = TRUE) no longer requires
acceptance of the licence for non-default standard packages such
as compiler. (Reported by Mikko Korpela.)
* split(<very_long>, *) now works even when the split off parts are
long. (PR#17139)
* min() and max() now also work correctly when the argument list
starts with character(0). (PR#17160)
* Subsetting very large matrices (prod(dim(.)) >= 2^31) now works
thanks to Michael Schubmehl's PR#17158.
* bartlett.test() used residual sums of squares instead of
variances, when the argument was a list of lm objects. (Reported
by Jens Ledet Jensen).
* plot(<lm>, which = *) now correctly labels the contour lines for
the standardized residuals for which = 6. It also takes the
correct p in case of singularities (also for which = 5).
(PR#17161)
* xtabs(~ exclude) no longer fails from wrong scope, thanks to
Suharto Anggono's PR#17147.
* Reference class calls to methods() did not re-analyse previously
defined methods, meaning that calls to methods defined later
would fail. (Reported by Charles Tilford).
* findInterval(x, vec, left.open = TRUE) misbehaved in some cases.
(Reported by Dmitriy Chernykh.)
NumPy 1.11.2 Release Notes
**************************
Numpy 1.11.2 supports Python 2.6 - 2.7 and 3.2 - 3.5. It fixes bugs and
regressions found in Numpy 1.11.1 and includes several build related
improvements. Wheels for Linux, Windows, and OS X can be found on PyPI.
Pull Requests Merged
====================
Fixes overridden by later merges and release notes updates are omitted.
- #7736 BUG: Many functions silently drop 'keepdims' kwarg.
- #7738 ENH: Add extra kwargs and update doc of many MA methods.
- #7778 DOC: Update Numpy 1.11.1 release notes.
- #7793 BUG: MaskedArray.count treats negative axes incorrectly.
- #7816 BUG: Fix array too big error for wide dtypes.
- #7821 BUG: Make sure npy_mul_with_overflow_<type> detects overflow.
- #7824 MAINT: Allocate fewer bytes for empty arrays.
- #7847 MAINT,DOC: Fix some imp module uses and update f2py.compile docstring.
- #7849 MAINT: Fix remaining uses of deprecated Python imp module.
- #7851 BLD: Fix ATLAS version detection.
- #7896 BUG: Construct ma.array from np.array which contains padding.
- #7904 BUG: Fix float16 type not being called due to wrong ordering.
- #7917 BUG: Production install of numpy should not require nose.
- #7919 BLD: Fixed MKL detection for recent versions of this library.
- #7920 BUG: Fix for issue #7835 (ma.median of 1d).
- #7932 BUG: Monkey-patch _msvccompile.gen_lib_option like other compilers.
- #7939 BUG: Check for HAVE_LDOUBLE_DOUBLE_DOUBLE_LE in npy_math_complex.
- #7953 BUG: Guard against buggy comparisons in generic quicksort.
- #7954 BUG: Use keyword arguments to initialize Extension base class.
- #7955 BUG: Make sure numpy globals keep identity after reload.
- #7972 BUG: MSVCCompiler grows 'lib' & 'include' env strings exponentially.
- #8005 BLD: Remove __NUMPY_SETUP__ from builtins at end of setup.py.
- #8010 MAINT: Remove leftover imp module imports.
- #8020 BUG: Fix return of np.ma.count if keepdims is True and axis is None.
- #8024 BUG: Fix numpy.ma.median.
- #8031 BUG: Fix np.ma.median with only one non-masked value.
- #8044 BUG: Fix bug in NpyIter buffering with discontinuous arrays.
LAPACK 3.6.1: What’s new
[Mark Gates, UTK] blocked back-transformation for the non-symmetric eigenvalue problem
It blocks NB gemv calls into one gemm call inside trevc. To do
that, it needs a new routine, trevc3, because unfortunately the
lwork was not passed into trevc. Attached is the performance speedup
for dgeev. It gives a nice 1.5x speedup for N=20000, and that
appears to still be increasing with N. This is not the improvements
that Greg Henry recently provided for doing the triangular solves
as BLAS-3 instead of BLAS-1. That will take a while to process,
but we expect another, even larger increase in performance when
those changes are applied. This also does not include doing multiple
(BLAS-1) triangular solves in parallel, which is available in MAGMA,
since that requires OpenMP or pthreads.
### 1.1.3 / 06.08.2016
Author: Alexandre Balon-Perin <abalonperin@gilt.jp>
Date: Fri Aug 5 17:19:29 2016 +0900
* Fix issue with iconv on Ubuntu 12.04
* This fix is related to a bug in the iconv implementation packaged in libc6 on Ubuntu 12.04
* For some reasons, the encoding options //TRANSLIT//IGNORE are improperly applied.
* When //TRANSLIT is specified, instead of rescuing errors related to //TRANSLIT and checking if the //IGNORE is set, the code simply crashes.
### 1.1.2 / 29.03.2016
Author: Aleksandr Boykov <aleksandr.boykov@parelio.com>
Date: Mon Mar 28 14:07:35 2016 -0400
fixes compact! method when the excel document has dates
AFAIR, pkgsrc's ruby23-base dose not met below problem but here is changes:
* Gem was not compiling on Ruby 2.3.0 due to non-availability of
correct headers. This minor release fixes that problem.
A Python Approximate Bayesian Computing (ABC) Population Monte Carlo
(PMC) implementation based on Sequential Monte Carlo (SMC) with Particle
Filtering techniques.