Packaged for wip by Kamel Ibn Aziz Derouiche and myself.
Statsmodels is a Python package that provides a complement to scipy
for statistical computations including descriptive statistics and
estimation and inference for statistical models
Packaged for wip by Kamel Ibn Aziz Derouiche and myself.
A Python package for describing statistical models and for
Patsy is a Python library for describing statistical models
(especially linear models, or models that have a linear component)
and building design matrices. Patsy brings the convenience of R
formulas to Python.
Fix CPU detection patch while here.
Changes from 2.5.2 to 2.6.0
===========================
- Introduced a new re_evaluate() function for re-evaluating the
previous executed array expression without any check. This is meant
for accelerating loops that are re-evaluating the same expression
repeatedly without changing anything else than the operands. If
unsure, use evaluate() which is safer.
- The BLOCK_SIZE1 and BLOCK_SIZE2 constants have been re-checked in
order to find a value maximizing most of the benchmarks in bench/
directory. The new values (8192 and 16 respectively) give somewhat
better results (~5%) overall. The CPU used for fine tuning is a
relatively new Haswell processor (E3-1240 v3).
- The '--name' flag for `setup.py` returning the name of the package
is honored now (issue #215).
Changes from 2.5.1 to 2.5.2
===========================
- conj() and abs() actually added as VML-powered functions, preventing
the same problems than log10() before (PR #212). Thanks to Tom Kooij
for the fix!
Changes from 2.5 to 2.5.1
=========================
- Fix for log10() and conj() functions. These produced wrong results
when numexpr was compiled with Intel's MKL (which is a popular build
since Anaconda ships it by default) and non-contiguous data (issue
#210). Thanks to Arne de Laat and Tom Kooij for reporting and
providing a nice test unit.
- Fix that allows numexpr-powered apps to be profiled with pympler.
Thanks to @nbecker.
Changes from 2.4.6 to 2.5
=========================
- Added locking for allowing the use of numexpr in multi-threaded
callers (this does not prevent numexpr to use multiple cores
simultaneously). (PR #199, Antoine Pitrou, PR #200, Jenn Olsen).
- Added new min() and max() functions (PR #195, CJ Carey).
Changes from 2.4.5 to 2.4.6
===========================
- Fixed some UserWarnings in Solaris (PR #189, Graham Jones).
- Better handling of MSVC defines. (#168, Francesc Alted).
Changes from 2.4.4 to 2.4.5
===========================
- Undone a 'fix' for a harmless data race. (#185 Benedikt Reinartz,
Francesc Alted).
- Ignore NumPy warnings (overflow/underflow, divide by zero and
others) that only show up in Python3. Masking these warnings in
tests is fine because all the results are checked to be
valid. (#183, Francesc Alted).
Changes from 2.4.3 to 2.4.4
===========================
- Fix bad #ifdef for including stdint on Windows (PR #186, Mike Sarahan).
Changes from 2.4.3 to 2.4.4
===========================
* Honor OMP_NUM_THREADS as a fallback in case NUMEXPR_NUM_THREADS is not
set. Fixes#161. (PR #175, Stefan Erb).
* Added support for AppVeyor (PR #178 Andrea Bedini)
* Fix to allow numexpr to be imported after eventlet.monkey_patch(),
as suggested in #118 (PR #180 Ben Moran).
* Fix harmless data race that triggers false positives in ThreadSanitizer.
(PR #179, Clement Courbet).
* Fixed some string tests on Python 3 (PR #182, Antonio Valentino).
Changes from 2.4.2 to 2.4.3
===========================
* Comparisons with empty strings work correctly now. Fixes#121 and
PyTables #184.
Changes from 2.4.1 to 2.4.2
===========================
* Improved setup.py so that pip can query the name and version without
actually doing the installation. Thanks to Joris Borgdorff.
Changes from 2.4 to 2.4.1
=========================
* Added more configuration examples for compiling with MKL/VML
support. Thanks to Davide Del Vento.
* Symbol MKL_VML changed into MKL_DOMAIN_VML because the former is
deprecated in newer MKL. Thanks to Nick Papior Andersen.
* Better determination of methods in `cpuinfo` module. Thanks to Marc
Jofre.
* Improved NumPy version determination (handy for 1.10.0). Thanks
to Åsmund Hjulstad.
* Benchmarks run now with both Python 2 and Python 3. Thanks to Zoran
Plesivčak.
Changes from 2.3.1 to 2.4
=========================
* A new `contains()` function has been added for detecting substrings
in strings. Only plain strings (bytes) are supported for now. See
PR #135 and ticket #142. Thanks to Marcin Krol.
* New version of setup.py that allows better management of NumPy
dependency. See PR #133. Thanks to Aleks Bunin.
Changes from 2.3 to 2.3.1
=========================
* Added support for shift-left (<<) and shift-right (>>) binary operators.
See PR #131. Thanks to fish2000!
* Removed the rpath flag for the GCC linker, because it is probably
not necessary and it chokes to clang.
Upstream changes:
1.708 2015-11-01 14:33:27-05:00 America/New_York
[MAYBE JUST POSSIBLY A BREAKING CHANGE]
- ...but probably not
- fix the <=> operator to behave more predictably
- now implemented in terms of ==, <, and >
- thanks, Karen Etheridge!
1.707 2015-07-17 20:36:41-04:00 America/New_York
- do not lose a min or max of 0 when intersecting two tolerances
(thanks, Michael Carman!)
Upstream changes:
0.72 Sat Aug 29 21:51:19 2015
- The random seed was based on time of day and was a bit too
predictable. Applying patch provided by Jonathan Yu:
https://rt.cpan.org/Public/Bug/Display.html?id=48080
Done for version 2.7.6 (released 20/06/2016):
[last column crossreferences current development release 2.8.0]
Fixed
1- [from 2.7.5] O(1) == O(x) returned 0 [#1765]
2- matsolve(a,b) and a^(-1) gave wrong results [or SEGV] when t_MAT [F86]
a was not square and a,b "modular" (F2m,Flm,FpM,FqM,F2xqM,FlxqM)
same for x^(-1) [#1666]
3- e=ellinit("11a1"); ellztopoint(e,3*e.omega[1]/5)[2] wrong [#1683] [F97]
4- K.codiff incorrect if [K:Q] > 2 [F130]
5- nfrootsof1(polcyclo(85)) -> 85 instead of 170 [#1766] [F133]
6- at \p19, polroots((x+1)^2*(x-1)^7*(x^2-x+1)^5*1.0)-> SEGV [#1767] [F134]
BA 7- ellsea returned the trace instead of the cardinal as documented. [F135]
BA 8- ellsea(,,1) could return a wrong result [#1768] [F136]
MC 9- memory leak in pari_close: sopath not freed [F138]
10- isprimepower(30011^(3*17)) returned 0 [F141]
BA 11- [mpi] interrupt/alarm could cause a crash [F143]
BA 12- [mpi] relinking empty t_LIST caused a crash [F144]
BA 13- my(s=1,a=0);forstep(i=1,20,s,s++;a+=i);a -> wrong result [F146]
14- sqrt(0) -> loss of accuracy (sqrtn was correct) [F148]
15- K = bnrinit(bnfinit(y^2-5),[1,[1,1]]); bnrdisc(K) ->wrong [#1804] [F152]
16- ellztopoint(ellinit([-1,0]), I) -> wrong result [#1800] [F153]
Overview of changes in gnome-calculator 3.20.1
* Fix: precedence of root operator (Alexis Poirier and Alberto Ruiz)
* Update: Translation (Translation team)
--------------------------------------
0.34 Sun Apr 29 21:21:38 CEST 2012
Behavior of merge_range adjusted, now it works:
<merge_range> Content </ merge_range>. (As described in the POD)
Merge range formatting tends to collide with non-merged formatting,
thanks to Nigel Metheringham.
Fixed some documentation errors, thanks to Robert James Clay.
Made Spreadsheet::WriteExcel links in format docs more generic (Nigel Metheringham)
Added missing cell comment documentation
----------------------------------------------
2.40 2013-11-06
! Fix for minor typo/bug that caused issues with Math::BigInt.
RT 90061.
2.39 2013-06-06
! Added Debian patch for Pod encoding. RT #85897.
Thanks Gregor Herrmann.
2.38 2012-22-11
Maintenance release. Minor fixes only.
! Removed failing testcases to allow S::WE to be tested/packaged
on recent perls.
! Fix filter_column bug where filter is applied to the wrong column.
Merge pull request #4 from blazzy/master.
! Enabled set_zoom() for Chart worksheets. It was documented but
wasn't working. Reported by Praphull Kumar.
! Enabled set_tab_color() for Chart worksheets. It was documented
but wasn't working.
! Fix typo in docs. Closes RT#70432.
! Fix for rounding in test with longdoubles. Fixes RT#68954.
! Handle chart sheets with utf8 name. Fixes RT#67014.
! Fix for undefined formulas. Fixes RT#61560.
-------------------------------------
0.15
- revert a numeric formatting change which caused isssues with Spreadsheet::Read.
0.14
- change default date format to yyyy-mm-dd. This matches Spreadsheet::ParseExcel.
- handle xml tag attributes in varying order (RT #86667, et.al.)
2.010809
MakeMaker of 5.22 (and, maybe, 5.20) started to call test_dynamic target in the daughter Makefile.
Correct "{" in RExes of libPARI/gphelp.
Attempt to workaround a broken config of gcc on vendor's Perl on Solaris.
2.01080900
Repackage as zip
SciPy 0.17.0 is the culmination of 6 months of hard work. It contains 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.17.x branch, and on adding new features on the
master branch.
This release requires Python 2.6, 2.7 or 3.2-3.5 and NumPy 1.6.2 or greater.
Release highlights:
* New functions for linear and nonlinear least squares optimization with
constraints: scipy.optimize.lsq_linear and scipy.optimize.least_squares
* Support for fitting with bounds in scipy.optimize.curve_fit.
* Significant improvements to scipy.stats, providing many functions with
better handing of inputs which have NaNs or are empty, improved
documentation, and consistent behavior between scipy.stats and
scipy.stats.mstats.
* Significant performance improvements and new functionality in
scipy.spatial.cKDTree.
SciPy 0.16.0 is the culmination of 7 months of hard work.
Highlights of this release include:
* A Cython API for BLAS/LAPACK in scipy.linalg
* A new benchmark suite. It’s now straightforward to add new benchmarks,
and they’re routinely included with performance enhancement PRs.
* Support for the second order sections (SOS) format in scipy.signal.
Overview of changes in gnome-calculator 3.20.0
* Update: Translation (Translation team)
Overview of changes in gnome-calculator 3.19.91
* Fix: Check for null on variables ought to autocomplete (fixes#762426) (Alberto Ruiz)
* Updated Czech translation (Marek Černocký)
* Updated Catalan translation (Jordi Mas)
* Updated Galician translations (Fran Dieguez)
* Updated Swedish translation (Anders Jonsson)
* Updated Serbian translation (Мирослав Николић)
* Updated Brazilian Portuguese translation (Fábio Nogueira)
Overview of changes in gnome-calculator 3.19.90
* New: Upgrade license for all source files to GPLv3+ (Michael Catanzaro)
* New: Use Soup instead of GVFS to download the IMF/ECB currency data (Alberto Ruiz)
* Fix: Silence a compiler warning (Michael Catanzaro)
* Fix: Remove Lithuanian litas from currency list (Michael Catanzaro)
* Fix: Fix use of GtkStyleContext for GTK+ 3.20 (Michael Catanzaro)
* Fix: Clarify license on number.vala (Michael Catanzaro)
* Fix: Clarify license on mpfr.vapi (Michael Catanzaro)
* Fix: Installed tests: Update expectations (Matthias Clasen)
* Fix: Set the accessible name on the mode chooser (Matthias Clasen)
* Fix: Do not reset second currency on first currency change, fixes#260166 (Robert Roth)
* Fix: Fix Chinese Yuan symbol, fixes#761075 (Alberto Ruiz)
* Fix: Add a missing tag to the AppData file (Richard Hughes)
* Update: Upgrade appdata (Michael Catanzaro)
* Update: Translation (Translation team)
Overview of changes in gnome-calculator 3.19.4
* New: Migrate MathConverter, MathWindow, HistoryView and HistoryEntry to GtkBuilder template (Alberto Ruiz)
* Fix: Remove unused -D defines from Makefile.am and configure.vapi for both src/ and lib/ (Alberto Ruiz)
* Fix: Check if base exponent are complex for xpowy() method (Gerlof Fokkema)
* Fix: Prevent infinte loop on some operations with imaginary numbers, bug #757657 (Kyle Green)
* Fix: e^(-0.5) returned the wrong value, bug #756960 (Felix Pelletier)
* Fix: Missing mnemonic bond in Gross Profit Margin dialog (Martin Simon)
* Fix: Use load_from_resource in the Gtk.CssProvider instead of opening the file manually (Alberto Ruiz)
* Fix: Use builddir for gresource.xml to satisfy Vala/autotools behaviour, bug #760679 (Michael Catanzaro)
* Fix: Rename gnome-calculator.doap name tag to GNOME Calculator instead of gnome-calculator (Alberto Ruiz)
* Fix: Use AM_DISTCHECK_CONFIGURE_FLAGS (Michael Catanzaro)
* Fix: MathDisplay grabs focus after being shown, bug #748743 (Elita.A.A.Lobo)
* Fix: math-equation: "No history" message should disappear when appropriate, bug #759943 (Michael Catanzaro)
* Update : Translation (Translation team)
Overview of changes in gnome-calculator 3.19.2
* Update : Translation (Translation team)
Overview of changes in gnome-calculator 3.19.1
* Fix : Explicitly link required libraries for gnome-calculator and gcalcmd binaries (Andreas Henriksson)
* Update : Translation (Translation team)
Overview of changes in gnome-calculator 3.18.0
* Fix : SYD function was returning the wrong value (Matthias Clasen)
* Fix : Fix dialogs sizing for financial functions (Matthias Clasen)
* Update : Translation (Translation team)
Overview of changes in gnome-calculator 3.17.92
* Update : Alberto Ruiz as new maintainer in doap file (Alberto Ruiz)
* Update : Build System improvements (Michael Catanzaro, Robert Ancell)
* Update : Portuguese, Polish and Chinese (Taiwan) translations (Translation team)
Overview of changes in gnome-calculator 3.17.3
* Update : Stop using gnome-common (Robert Ancell)
* Fix : Remove incorrect assertion in search provider (Michael Catanzaro)
Overview of changes in gnome-calculator 3.17.2
* Update : Split many files into an internal convenience library (Michael Catanzaro)
* Update : Remove workaround for bug #737222 (Michael Catanzaro)
* Update : Translations (Translation team)
* Fix : Search provider should discard child stdout/stderr (Michael Catanzaro)
* Fix : Syntax error in desktop file keywords Bosnian translation (Kalev Lember)
Overview of changes in gnome-calculator 3.16.0
* Update : Translations (Translation team)
nloptr is an R interface to NLopt. NLopt is a free/open-source library
for nonlinear optimization, providing a common interface for a number
of different free optimization routines available online as well as
original implementations of various other algorithms.
3.2.4
NEW FEATURES
install.packages() and related functions now give a more informative
warning when an attempt is made to install a base package.
summary(x) now prints with less rounding when x contains infinite values.
provideDimnames() gets an optional unique argument.
shQuote() gains type = "cmd2" for quoting in cmd.exe in Windows.
The data.frame method of rbind() gains an optional argument stringsAsFactors
(instead of only depending on getOption("stringsAsFactors")).
smooth(x, *) now also works for long vectors.
tools::texi2dvi() has a workaround for problems with the texi2dvi script
supplied by texinfo 6.1.
It extracts more error messages from the LaTeX logs when in emulation mode.
DEPRECATED AND DEFUNCT
Use of SUPPORT_OPENMP from header ‘Rconfig.h’ is deprecated in favour of
the standard OpenMP define _OPENMP.
(This has been the recommendation in the manual for a while now.)
The make macro AWK which is long unused by R itself but recorded in file
‘etc/Makeconf’ is deprecated and will be removed in R 3.3.0.
The C header file ‘S.h’ is no longer documented: its use should be
replaced by ‘R.h’.
3.2.3
NEW FEATURES
Some recently-added Windows time zone names have been added to the
conversion table used to convert these to Olson names. (Including
those relating to changes for Russia in Oct 2014, as in PR#16503.)
(Windows) Compatibility information has been added to the manifests
for ‘Rgui.exe’, ‘Rterm.exe’ and ‘Rscript.exe’. This should allow
win.version() and Sys.info() to report the actual Windows version up
to Windows 10.
Windows "wininet" FTP first tries EPSV / PASV mode rather than only
using active mode (reported by Dan Tenenbaum).
which.min(x) and which.max(x) may be much faster for logical and integer
x and now also work for long vectors.
The ‘emulation’ part of tools::texi2dvi() has been somewhat enhanced,
including supporting quiet = TRUE. It can be selected by texi2dvi =
"emulation".
(Windows) MiKTeX removed its texi2dvi.exe command in Sept 2015:
tools::texi2dvi() tries texify.exe if it is not found.
(Windows only) Shortcuts for printing and saving have been added to
menus in Rgui.exe.
loess(..., iterTrace=TRUE) now provides diagnostics for robustness
iterations, and the print() method for summary(<loess>) shows slightly
more.
The included version of PCRE has been updated to 8.38, a bug-fix release.
View() now displays nested data frames in a more friendly way.
Upstream changes:
Changes in version 1.0-5 (2016-02-02)
o improvements in quantile estimation
Changes in version 1.0-4 (2016-01-19)
o a new algorithm for quantile estimation, again. Quantiles are
now computed by a stochastic root finding algorithm. Note
that f.quantile in the output of qmv{t,norm} is now (again)
the squared difference between the cdf evaluated at the
quantile and the level. The \code{interval} argument to the
quantile functions is used as a starting value for the
root finder when available.
o clean-ups in C and R code and documentation
Changes in version 1.0-3 (2015-07-21)
o new algorithm for quantile estimation. Quantiles are
now computed by minimising the squared distance between the
distribution function and the probability whereas previous versions
used uniroot(). The procedure is now performed multiple times with
difference random seeds in order to stabilise the results. The
\code{interval} argument to the quantile functions is IGNORED now.
Upstream changes:
0.04
13 Jul 2015
- Whitespace and POD clean up. Functions are described
individually.
- Added error checking for the array lengths.
- Modernized the use of EXPORT, added a minimum perl version, etc.
0.03
26 May 2015
- Remove pod-coverage.t from the test directory.
0.02
17 May 2015
- Get package up to more-or-less current standards using
Module-Starter. Tests and documentation updates come
with the next release.
Some improvements were made in the primal and dual simplex
solvers to make the solution process more numerically stable.
An experimental long-step ratio test feature was added to the
dual simplex. On API level this feature is available thru the
GLP_RT_FLIP option. For glpsol it is available thru the options
--flip (for MIP) or --flip and --dual (for LP). This feature is
not documented yet.
Additional check was added to reject wrong solutions sometimes
reported by the PROXY heuristic.
A bug (memory leak) was fixed in the FPUMP heuristic routine.
The header sql.h was renamed to avoid conflicts with standard
ODBC headers.
Upstream changes:
Maxima 5.38 change log
New items in core:
commit [ae11414]: Images in the HTML manual now are automatically shrinked to fit within the browser window, if neeeded.
commit [d817ac5]: A singlepage HTML manual (doc/info/maxima_singlepage.html)
commit [2b0f8c4]: Docu/Creating a release: Added a request to inform the wxMaxima team that aims to make a simultaneous release.
commits [b2302ed]-[fcbb0e4]: Commit charsets package as posted by Michel Talon
commit [1818e0b]: Add configure option --enable-mathjax to enable usage of MathJax in the html docs
commit [7ca8a27]: Add simple documentation for bf_fft and bf_inverse_fft.
commit [d1def61]: Added a small GUI for Windows users for selecting their default Lisp interpreter.
commit [688f662]: Allow setting the Lisp type (MAXIMA_LISP=...) using maximarc on Windows.
commit [bdaf3c7]: Try to exit gracefully if we are unable to connect to a server
New items in share:
commits [68d866e]-[4d1f046]: draw: grid now not only accepts boolean values, but also a list of 2 numbers.
Changes in core:
commits [3631127]-[82aea3a]: Documentation: Add example images for the draw options.
commit [baa97e3]: Crosscompiling: update sbcl to the current version.
commit [eedadc7]: Adjust the tolerances of two li[2] numerical tests
commit [79d9dcd]: Prevent the removal of the integervalued feature during a reset()
commit [05b922f]: Work around bug in ecl that causes all tests to fail.
commit [f798207]: Removed the --dynamic-space-size option for sbcl.
commit [eba5341]: Fix bug in utf-8-fix-start-end and improve pseudo-unicode-support for GCL
commit [d95efeb]: WIP: Bigfloat FFT routines.
Changes in share:
commit [4ae042fc]: Split up implementation of FFT in a separate package
commit [473ea6c]: Add the draw package to autoload updating the documentation
commit [993aea7]: First attempt to rework numericalio.lisp for greater speed and memory efficiency.
Bug fixes:
commit [22f4fd0]: Apply patch in bug report 3120.
commit [c57712d]: Fix#3105: lis doesn't simplify.
commit [3b94068]: Fix#3112: inaccurate zeta(n) for negative even n.
commit [f7b7b06]: Fix#3098: li[3] nuemrical evaluation.
commit [689fdbc]: Fix SF bug report #3104: "limit(log(1 - exp(x)), x, 0, plus), numer => stack overflow"
commit [689fdbc]: Fix SF bug report #3103: "limit of li.. with numer:true infinite recursion"
commit [30d5d01]: Fix SF bug #3102: "find_root(x,x,-1e300,1e300) => overflow"
commit [0443536]: Fix SF bug report #3099: "Float read is single-precision, though float() is double-precision"
commit [33666cc]: Fix bug #481: ('m)[1] (meval)
commit [7398246]: Fixed bug #3075: '#3075 answer "3false" from "integrate(3asinh(x),x,-inf,inf)"'
commit [2c7bf01]: Fixed bug #3081 'abs(...) -> "bfloat: attempted conversion of floating-point infinity."'
commit [26375cd]: Fix#3069 limit(a/abs(x),x,0) crashes with stack overflow
commit [df38b65]: Fix bug:#3065.
commit [7409f45]: Fix bug #3058: Lingering assumptions after an interrupted simpsum
commit [0848773]: Add test for SF bug #2302: "'at' applied to definite integral"
commit [9c89d36]: A quick solution for Bug 3052
commit [0b6a9a1]: Fix SF bug #3049: "set should act like list"
commit [4b6c2df]: Fix SF bug #3045: "Save command now fails to generate lisp file"
commit [3c8d45b]: Fix bug #3044: opsubst crash
commit [38c5ac7]: Fix SourceForge bug #2159 - integration_with_logabs.
commit [20d4d93]: Fix SF bug #3003: make pdf returns an error.
commit [49a2df1]: Fix SourceForge bug #3017 - "integrate_use_rootsof" leads to wrong result.
commit [7c12736]: Add tests to verify that SF bug #365 is fixed. Add tests for related bug #3072
Unnumbered bugs:
commit [f4af2a1]: Use per-maxima-instance filenames for draw and plot. Without this simultaneous plotting from concurrent maxima instances might result in name collisions.
commit [5cc41da]: Allow sbcl to use enough memory to compile Lapack (linux+mac only).
commit [4be3d80]: Remove the two black lines at the border of the bounding box that were introduced with gnuplot 5.0
commit [592b38b]: Fix integrate((4x^3-x^2+4x)^(-2/3)(12x^2-2*x+4),x);
commits [f7b7b06]...[eedadc7]: li[2] and li[3] fixes.
commit [366b08f]: Try to fix the trace output when the lisp_print trace option is set
commit [b637368]: In MEVAL1, call GETCHARN only if argument is a symbol. Fixes bug reported to mailing list 2016-01-06
Upstream changlog:
Changes in hwde version 0.66
CORRECTIONS TO DATA
o Data in the dataset mendelABC was in error. Substantial corrections
have been made. (Thanks to Boris Igic for drawing the errrors to
our attention.)
Upstream changes:
2 February 2016: statmod 1.4.24
- speedup for rinvgauss() by replacing rchisq() with rnorm() and
rbinom() with runif().
- speedup for qinvgauss() by using qgamma as starting approximation
for very small right tail probabilities, and inverse chisq as
starting approximation for very small left tail probabilities.
- qinvgauss() now computes Newton step using log probabilities
and a Taylor series expansion for small steps. This improves
accuracy in extreme cases. The stopping criterion for the Newton
iteration has been revised.
- Bug fix to dinvgauss(), pinvgauss() and qinvgauss() which were not
preserving attributes of the first argument.
30 December 2015: statmod 1.4.23
- qinvgauss() has been improved to return best achievable machine
accuracy. It now checks for backtracking of the Newton iteration.
- dinvgauss() and pinvgauss() now check for a wider range of special
cases. This allows them to give valid results in some cases
for infinite or missing parameter values and for x outside the
support of the distribution.
26 October 2015: statmod 1.4.22
- Functions needed from the stats and graphics packages are now
explicitly imported into the package NAMESPACE.
Upstream changes:
3.0612 2016-01-09
- Move the VCS repository to GitHub.
- People are more used to it, and it can take part in the CPAN pull-req
challenge.
3.0611 2016-01-07
- Apply patch from Debian to correct a spelling error.
- https://rt.cpan.org/Ticket/Display.html?id=110987
- Thanks to Salvatore Bonaccorso for the report and patch.
3.0610 2016-01-06
- Clarified the docs for add_data_with_samples().
- Some people thought they were repeat counts of the data , but they
are normally ignored.
- Replace remaining tabs with spaces.
3.0609 2015-06-19
- Update some old URLs and addresses.
3.0608 2015-01-14
- Apply patch to speed up skewness calculations.
- https://rt.cpan.org/Public/Bug/Display.html?id=101422
- Thanks to Shawn (SLAFFAN).
Upstream changes:
0.11 Thu Oct 22 15:31:10 PDT 2015
fix one more typo
0.10 Wed Oct 21 19:56:19 PDT 2015
finish the typo corrections started in 0.09, sigh...
0.09 Wed Oct 21 18:53:44 PDT 2015
corrected numerous typos thanks to patch by
gregor herrmann <gregoa@debian.org>
Changes:
- New package implementing van Hoej factorization algorithm
for LODO-s.
- Gcd over Expression(Integer) now uses modular method.
- Improvements to integrator, in partucular trigonomoetric
functions are consistently integrated via transformation
to complex exponentials.
- Some categories and domains are more general. In particular
OrderedFreeMonoid is removed, as ordered case is handled
by FreeMonoid.
- Category Monad in renamed to Magma. Domain Magma is
renamed to FreeMagma.
Bug fixes, in particular:
- Coercion of square matrices to polynomials is fixed.
- Problem with division by 0 in derivative of 'ellipticPi'
is fixed.
- Division in Ore algebras used to cause infinite loop
when coefficients were power series.
This version comes with extra Linux tmp files; reported upstream as
https://github.com/SciRuby/rb-gsl/issues/34
Changes:
Support for gsl-2.1.0.
Support for nmatrix (not in pkgsrc yet)
Changes from version 3.1.3 to version 3.1.4:
- Improved MPFR manual.
- Bug fixes (see <http://www.mpfr.org/mpfr-3.1.3/#fixed> and ChangeLog file).
- MinGW (MS Windows): Added support for thread-safe DLL (shared library).
Bug numbers refer to the BTS at http://pari.math.u-bordeaux.fr/Bugs/
Done for version 2.7.5 (released 09/11/2015):
[last column crossreferences current development release 2.8.0]
Fixed
1- forprime engine could skip (fast) sieve in favour of (slow)
nextprime [#1711] [F113]
2- 0^[1] -> domain error [#1713] [F114]
3- memory leaks (clones) in ellchangecurve [#1716] [F115]
4- zeta inaccurate around 0 [#1714] [F116]
5- bnrrootnumber did not support the trivial character [0,..,0] [F118]
6- default(log,1) when logfile is write-protected later lead to SEGV [F119]
BA 7- 2-adic gamma function: fix accuracy loss [F120]
8- A==A -> 0 for A a t_SER of huge accuracy (so that A-A overflows
valuation) [#1734] [F121]
XR 9- P=Pol([1,-2,12,-12,-181,-4,-6899,9780,6360,702,-45]);
for(i=1,10000,setrand(i);nfdisc(P)) -> crash [#1735] [F122]
10- select(x->x,Vecsmall([1,2,3]),1) -> crash [#1737] [F123]
BA 11- [libpari] RgV_to_RgX_reverse did not work if v[1] or v[2] was 0 [F125]
12- bnfinit could fail at low precision [#1736] [F126]
13- Rg_to_ff: incorrect type in zk_to_ff [#1755] [F127]
BA 14- nfsubfields could fail [#1758] [F128]
15- rare SEGV in ArtinNumber [#1759] [F129]
Done for version 2.7.4 (released 19/06/2015):
[last column crossreferences current development release 2.8.0]
Fixed
1- divisors([2,1]) -> SEGV [#1664] [F84]
2- acos([Pol(1)]) -> GC bug [#1663] [F85]
3- primes([1,Pol(2)]) -> SEGV [#1668] [F87]
4- buffer overflow after default(format,"f.precision") [F95]
5- qfminim(A, 0, ...) -> stack overflow [#1682] [F97]
6- div_scal_rfrac could create an invalid t_POL [#1651] [F99]
7- polroots(t_POL with leading coeff = 0) -> fp exception [#1690] [F100]
8- \r cannot deal with very long filenames [#1616] [F101]
9- rnfisabelian(nf, non monic t_POL) -> SEGV [#1693] [F102]
10- possibly incorrect result in nfdisc(T,listP) [F104]
11- wrong dim(Ker) returned by ZM_pivot => SEGV in Z-linear algebra
routines. E.g. setrand(1);quadclassunit(-612556842419) [#1700] [F105]
12- moebius(factor(18)) -> 1 instead of 0 [#1702] [F106]
13- ispower(-167^10) => domain error [#1703] [F107]
14- ispowerful(factor(0)) != ispowerful(0) [F108]
15- expm1(2*I) => wrong result [F109]
16- gamma(1+a*x+O(x^2)) => error [#1707] [F110]
17- printsep() printed its argument in random format instead of f_RAW [F111]
18- nfdisc(x^10 - 29080*x^5 - 25772600) -> oo loop [#1710] [F112]
Added
ED 1- mingw64 support [A111]
Done for version 2.7.3 (released 18/02/2015):
[last column crossreferences current development release 2.8.0]
Fixed
1- [from 2.7.2] ??bnrL1 and ??ellL1 did not work anymore
2- thue(f^e*g, ...), e even, (f,g)=1 missed solutions such that f<0 [F22]
XR 3- bnrL1(bnrinit(bnfinit(x^2-168),[6,[1,1]],1)) -> bug in ArtinNumber [F55]
4- nfisincl(t_POL, t_POL) could lead to wrong negative results [F58]
5- polresultant(1+x*z^2,1+y*z^4,z) -> GC error [#1614] [F59]
BA 6- ellcard over non-prime fields could return wrong results [F60]
7- [libpari] FpX_roots could produce GC errors [#1618] [F61]
8- weber(1+I) was missing its imaginary part [F62]
9- (1+I)*(1+1/2*I) => wrong result (type errors) [#1619] [F63]
10- contfracpnqn([a]) => [1,a;0,1] instead of [a,1;1,0] [F64]
11- primes([2^50, 2^50+200000]) => stack overflow [F65]
12- issquare((x+1/2)^2,&z); z => 1.0*x+0.5 instead of x+1/2 [F66]
13- possibly missing roots in nfroots (when using Trager) [F68]
14- quadray(bnf, ideal) did not work [F69]
15- thue(-14*x^3 + 10*x^2 + 63*x - 5,1) -> "short continued fraction" [F70]
16- thue(29*x^3+130*x^2-35*x-48,1) -> "round error" bug [F71]
17- T=thueinit(10*x^3+6*x^2-41*x+8,1); thue(T,8) => SEGV [#1630] [F72]
18- ellrootno(e,p = 2 or 3) when e not minimal at p => random result [F73]
19- agm(1,2+O(5)) -> SEGV [#1645] [F76]
BA 20- [cygwin64] ellap(ellinit([0,0,1,-1,0]),10007) was broken [F77]
21- primes([-5,5]) -> [5] (spurious absolute values) [F78]
22- matqr([;]) -> crash [F79]
23- Fp_rem_mBarrett could return a non-normalized result [F80]
p=436^56-35;Mod(271,p)^((p-1)/2) -> p+1
24- plotcopy would corrupt "string" objects (ROt_ST) [F81]
BA 25- [GP] default arguments to GP functions could cause corruption [F82]
VBr26- [darwin] remove obsolete linker options that cause crashes [#1623] [F83]
Done for version 2.7.2 (released 19/09/2014):
[last column crossreferences current development release 2.8.0]
Fixed
1- gaffsg(0, t_PADIC): wrong valuation [F21]
2- (t_INTMOD with word-sized modulus)^(huge negative power) [#1584] [F24]
3- (gp -p N) or (primelimit=N in gprc_ for N >= 436273290 resulted in an
incorrect primetable. N.B. Such commands are now useless: needed primes
are produced dynamically anyway. [F25]
4- monomial(exact zero, d, v) returned an invalid t_POL / t_RFRAC [F26]
5- contfracpnqn(v, n) returned partial quotients p[-1]/q[-1] ...
p[n-1]/q[n-1], instead of the documented p[0]/q[0] ... p[n]/q[n] [F27]
6- factor((3+4*I)/25) -> factor 2+I had 0 exponent [#1586] [F29]
BA 7- iferr() could crash if some component of the t_ERROR were clones. [F31]
8- nffactor() could overflow the stack when default accuracy too low [F32]
BA 9- obsolete use of E=[a1,a2,a3,a4,a6] in ellmul crashed [#1589] [F33]
10- incorrect rounding in mulrr/divrr for one-word precision reals [F34]
BA 11- multiif did not handle correctly return() in conditions [#1590] [F35]
12- [0..5] -> [0,0,0,0,0] on some architectures [F36]
13- is_gener_Fp could return wrong results [F37]
14- Fq_sqrtn(t_INT,..,&zeta) could return a wrong root of 1 [F38]
15- bnfinit: SEGV due to precision issues [#1592] [F39]
16- zm_zc_mul only worked for square zm matrices [F40]
17- genus2red(0,27*x^5+97*x^4+118*x^3+60*x^2+13*x+1,3) -> bug [#1596] [F41]
18- [gphelp] oo loop when $COLUMNS too small [#1594] [F42]
19- genus2red(x,-x^6-3*x^4-10*x^2-1,3) -> impossible inverse [#1597] [F43]
20- factoru(1) returned a t_MAT instead of the expected "matsmall" [F44]
21- FpM_charpoly wrong in small characteristic [#1602] [F45]
22- when compatible = 3; series() used a random precision [F50]
23- genus2red(0,6*x^6+5*x^4+x^2+1,7) -> impossible inverse [#1597] [F51]
24- isprime() could crash on large input [#1604] [F52]
25- genus2red(x^3+1,1) -> type error [#1597] [F53]
26- gphelp did not handle === correctly [#1603] [F54]
27- FpXY_evaly() wrong when evaluating at 0 [F56]
28- [mingw] gp could crash at start up [#1607] [F57]
Done for version 2.7.1 (released 16/05/2014):
[last column crossreferences current development release 2.8.0]
Fixed
1- make install fails on OS/X: ln -s libpari.dylib libpari.dylib fails [F1]
2- Q_pvalrem(t_FRAC) => wrong result [F2]
3- [] == 0 but []~ != 0 (now []~ == 0 as well) [#1560] [F3]
BA 4- test-kernel did not work when using --mt=pthread [F4]
BA 5- ellheegner was using too much memory in some case [F5]
BA 6- ellap can overflow on 32-bit machine [#1558] (minimal fix) [F6]
7- nfhilbert(K,x,y, P above 2) could give wrong results [#1561] [F7]
8- gcd(1/2, 1+I*1.) -> SEGV [#1563] [F10]
9- mathnf(t_VEC) could corrupt input (change sign) [F11]
10- [libpari] RgM_transmul did not work [F12]
11- [libpari] Fq_issquare didn't support T=NULL [F13]
12- [libpari] nfpow_u didn't handle non-integral rational numbers [F14]
13- eint1(0) -> stack overflow [#1568] [F15]
14- nfroots(, t_POL with leading coeff -1) could miss solutions [F19]
15- precprime(1) -> invalid t_INT [#1576] [F20]
PARI-GP is a package which is aimed at efficient computations in
number theory, but also contains a large number of other useful
functions. It is somewhat related to a Computer Algebra System, but
is not really one since it treats symbolic expressions as mathematical
entities such as matrices, polynomials, series, etc..., and not as
expressions per se. However it is often much faster than other CAS,
and contains a large number of specific functions not found elsewhere,
essentially for use in number theory.
This package can be used in an interactive shell (GP) or as a C/C++
library (PARI). It is free software, in the sense of freedom AND 'free
of charge'.
This is the old 2.3 version of pari.
2015-06-24 Kurt Hornik <Kurt.Hornik@wu.ac.at>
* DESCRIPTION (Version): New version is 2.3-47.
* NAMESPACE: Add missing imports.
2015-02-11 Kurt Hornik <Kurt.Hornik@wu.ac.at>
* DESCRIPTION (Version): New version is 2.3-46.
* R/times.R:
* man/trunc.times.Rd:
Add round method for times objects via Math.times (to
be able to use the same arguments as the trunc methods,
differently from the generic).
Suggestion by Gabor Grothendieck <ggrothendieck@gmail.com>.
Add missing DEPENDS
Upstream changes:
Changes in version 1.1-2 (2016-02-22)
fixed memcpy for overlapping regions error, found in valgrind checks by Brian Ripley
fixed a few more (small) memory leaks
Changes in version 1.1-1 (2016-02-19)
Further cleaned up C source code, got rid of lex and yacc files
Improve fit.variogram to choose initial values for range, sill and nugget before fitting, and fit over a range of model types
allow NA values in vgm
Fixed https://github.com/edzer/gstat/issues/1
Changes in version 1.1-0 (2015-10-17)
remove meschach matrix library, rewrote interface, link to R's lapack
improve notification in case of singular matrices
remove all C code that was not used by R package gstat
add Makevars, remove configure
remove links to ai-geostats.org
wrap fit.StVariogram example in dontrun
Changes in version 1.0-26 (2015-08-26)
use ordered spatial index when selecting nearest strongest correlated neighbours in local kriging to avoid warning of spacetime
update spatio-temporal geostatitics vignettes; add R Journal draft
add spatio-temporal PM10 interpolation movie (mp4)
Cover-tree and kd-tree fast k-nearest neighbor search algorithms
and related applications including KNN classification, regression
and information measures are implemented.
Octave 4.0 is a major new release with many new features,
including a graphical user interface, support for classdef
object-oriented programming, better compatibility with Matlab,
and many new and improved functions.
A list of important user-visible changes is availble at
http://octave.org/NEWS-4.0.html, by selecting the Release Notes
item in the News menu of the GUI, or by typing news at the Octave
command prompt.
Add LICENSE
Upstream changes:
Release 1.06.
New 'mydist' Makefile target to sign and build a tarball.
Pass ABSTRACT, AUTHOR, LICENSE and MIN_PERL_VERSION to
ExtUtils::MakeMaker::WriteMakefile().
Correctly set $VERSION that doesn't trigger warnings:
https://rt.cpan.org/Ticket/Display.html?id=89020
Update documentation to include the URL to the project's new
source code repository at github.com:
https://github.com/blair/perl-math-interpolate
Update author contact email address.
Upstream changes:
Changes in v2.12 - Jonathan "Duke" Leto
December 2014
--------------------------
* Added as_list() function. (Ivan Baidakou (basiliscos))
Changes in v2.11 - Jonathan "Duke" Leto
January 2014
--------------------------
* Add maximum/minimum functions. (Alberto Sim繭es)
* Add reshape constructor. (Alberto Sim繭es)
Changes in v2.10 - Jonathan "Duke" Leto
November 2013
--------------------------
* Fix tests on Windows, thanks to Russell Jenkins <veryrusty@gmail.com>
Changes in v2.09 - Jonathan "Duke" Leto
November 2011
--------------------------
* as_latex() now works and is tested properly
Upstream changes:
1.005 24 Jan 2015 Permute the empty list per Philipp Rumpf
1.006 25 Jan 2015 Break memory loop per Philipp Rumpf
1.007 25 Jan 2015 World writables set correctly using some excellent perl from http://www.perlmonks.org/?node=bart
Upstream changes:
0.57 2016-01-03
[ADDED]
- formultiperm { ... } \@n loop over multiset permutations
- todigits(n[,base[,len]]) convert n to digit array
- todigitstring(n[,base[,len]]) convert n to string
- fromdigits(\@d[,base]) convert digit array ref to number
- fromdigits(str[,base]) convert string to number
- ramanujan_prime_count counts Ramanujan primes in range
- vecany { expr } @n true if any expr is true
- vecall { expr } @n true if all expr are true
- vecnone { expr } @n true if no expr are true
- vecnotall { expr } @n true if not all expr are true
- vecfirst { expr } @n returns first element with expr true
[FUNCTIONALITY AND PERFORMANCE]
- nth_ramanujan_prime(997) was wrong. Fixed.
- Tighten Ramanujan prime bounds. Big speedups for large nth Rp.
0.56 2015-12-13
[ADDED]
- is_carmichael(n) Returns 1 if n is a Carmichael number
- forcomp { ... } n[,{...}] loop over compositions
[FUNCTIONALITY AND PERFORMANCE]
- Faster, nonrecursive divisors_from_factors routine.
- gcdext(0,0) returns (0,0,0) to match GMP and Pari/GP.
- Use better prime count lower/upper bounds from B羹the 2015.
- forpart and forcomp both use lexicographic order (was anti-lexico).
0.55 2015-10-19
- Fixed test that was using a 64-bit number on 32-bit machines.
[FUNCTIONALITY AND PERFORMANCE]
- Speed up PP versions of sieve_prime_cluster, twin_primes,
twin_prime_count, nth_twin_prime, primes.
0.54 2015-10-14
[ADDED]
- sieve_prime_cluster(low,high[,...]) find prime clusters
[Misc]
- Certain small primes used to return false with Frobenius and AES Lucas
tests when given extra arguments. Both are unusual cases never used
by the main system. Fixed.
0.53 2015-09-05
[ADDED]
- ramanujan_tau(n) Ramanujan's Tau function
- sumdigits(n[,base]) sum digits of n
[FUNCTIONALITY AND PERFORMANCE]
- Don't use Math::MPFR unless underlying MPFR library is at least 3.x.
- Use new Math::Prime::Util::GMP::sigma function for divisor_sum.
- Use new Math::Prime::Util::GMP::sieve_twin_primes(a,b).
0.52 2015-08-09
[ADDED]
- is_square_free(n) Check for repeated factors
[FUNCTIONALITY AND PERFORMANCE]
- print_primes with 2 args was sending to wrong fileno.
- Double speed of sum_primes.
- Rewrote some internal sieve-walking code, speeds up next_prime,
forprimes, print_primes, and more.
- Small speedup for forcomposites / foroddcomposites.
- Small speedup for is_prime with composite 32+ bit inputs.
- is_frobenius_khashin_pseudoprime now uses Montgomery math for speed.
- PrimeArray now treats skipping forward by relatively small amounts as
forward iteration. This makes it much more efficient for many cases,
but does open up some pathological cases.
- PrimeArray now allows exporting @primes (and a few others), which
saves some typing.
- PrimeArray now works for indices up to 2^32-1, after which it silently
rolls over. Previously it worked to 2^31-1 then croaked.
- PrimeIterator now uses small segments instead of always next_prime.
A little more memory, but 2-4x faster.
- factor, divisor, fordivisors and some others should better keep
bigint types (e.g. Math::GMPz input yields Math::GMPz output).
- Faster GCD on some platforms.
- Peter Dettman supplied a patch for Shawe-Taylor prime generation to
make it deterministically match reference implementations. Thanks!
[Misc]
- Check for old MPFR now using C library version, not module version.
- prime_count_{lower,upper} now uses MPFR to give full precision.
- Montgomery math and uint128_t enabled on Darwin/clang.
0.51 2015-06-21
[ADDED]
- sum_primes(lo,hi) Summation of primes in range
- print_primes(lo,hi[,fd]) Print primes to stdout or fd
- is_catalan_pseudoprime(n) Catalan primality test
- is_frobenius_khashin_pseudoprime(n) Khashin's 2013 Frobenius test
[FUNCTIONALITY AND PERFORMANCE]
- Slightly faster PP sieving using better code from Perlmonks.
- Lucas sequence works with even valued n.
- Used idea from Colin Wright to speed up is_perrin_pseudoprime 5x.
We can check smaller congruent sequences for composites as a prefilter.
- is_frobenius_pseudoprime no longer checks for perfect squares, and
doesn't bail to BPSW if P,Q,D exceed n. This makes it produce some
pseudoprimes it did not before (but ought to have).
[Misc]
- Work with old MPFR (some test failures in older Win32 systems).
- Don't assert in global destructor if a MemFree object is destroyed.
0.50 2015-05-03
[ADDED]
- harmfrac(n) (num,den) of Harmonic number
- harmreal(n) Harmonic number as BigFloat
- sqrtint(n) Integer square root of n
- vecextract(\@arr, mask) Return elements from arr selected by mask
- ramanujan_primes(lo,hi) Ramanujan primes R_n in [lo,hi]
- nth_ramanujan_prime(n) the nth Ramanujan prime R_n
- is_ramanujan_prime(n) 1 if n is a Ramanujan prime, 0 otherwise
[FUNCTIONALITY AND PERFORMANCE]
- Implement single-base hashed M-R for 32-bit inputs, inspired by
Fori禳ek and Jan�ina 2015 as well as last year's tests with
2-base (2^49) and 3-base (2^64) hashed solutions for MPU. Primality
testing is 20-40% faster for this size.
- Small speedups for znlog.
- PP nth_prime on 32-bit fixed for values over 2^32.
[Misc]
- Changes to nth_prime_{lower,upper}. They use the Axler (2013) bounds,
and the XS code will also use inverse prime count bounds for small
values. This gives 2-10x tighter bounds.
- Tighten prime count bounds using Axler, Kotnik, B羹the. Thanks to
Charles R Greathouse IV for pointing me to these.
0.49 2014-11-30
- Make versions the same in all packages.
0.48 2014-11-28
[ADDED]
- lucasu(P, Q, k) U_k for Lucas(P,Q)
- lucasv(P, Q, k) V_k for Lucas(P,Q)
[Misc]
- Use Axler (2014) bounds for prime count where they improve on Dusart.
0.47 2014-11-18
[ADDED]
- is_mersenne_prime(p) returns 1 iff 2^p-1 is prime
[FUNCTIONALITY AND PERFORMANCE]
- Standalone compilation (e.g. factoring without Perl installed) is easier.
- For next_prime and prev_prime with bigints, stay in XS as long as
possible to cut overhead. Up to 1.5x faster.
- Factoring on 64-bit platforms is faster for 32-bit inputs.
- AKS is faster for larger than half-word inputs, especially on 64-bit
machines with gcc's 128-bit types.
- is_provable_prime goes through XS first, so can run *much* faster for
small inputs.
[OTHER]
- NetBSD improperly exports symbols in string.h, including popcount.
Rename our internal function to work around it.
- is_power now takes an optional scalar reference third argument which
will be set to the root if found. It also works for negative n.
- Changes to trim a little memory use. lucas_sequence goes from
PP->[XS,GMP,PP] to XS[->PP[->GMP]]. ecm_factor is moved out of root.
Moved some primality proving logic out of root.
- primes.pl when given one argument will show primes up to that number.
0.46 2014-10-21
[API Changes]
- is_pseudoprime has the same signature as is_strong_pseudoprime now.
This means it requires one or more bases and has no default base.
The documentation had never mentioned the default, so this should
have little impact, and the common signature makes more sense.
[ADDED]
- hammingweight(n) Population count (count binary 1s)
- vecreduce {...} @v Reduce/fold, exactly like List::Util::reduce
[Misc]
- Syntax fix from Salvatore.
- vecmin / vecmax in XS, if overflows UV do via strings to avoid PP.
- Add example for verifying prime gaps, similar to Nicely's cglp4.
- divisor_sum wasn't running XS code for k=0. Refactor PP code,
includes speedup when input is a non-Math::BigInt (e.g. Math::GMP).
- Improve test coverage.
[PP Updates]
- Large speedup for divisors with bigints in 64-100 bit range.
- Revamp RiemannZeta. Fixes some bignum output, but requires RT fixes.
- Optimization for PP comparison to ~0.
- PP factoring is faster, especially for small inputs.
0.45 2014-09-26
[ADDED]
- forcomb { ... } n, k combinations iterator
- forperm { ... } n permutations iterator
- factorial(n) n!
- is_bpsw_prime(n) primality test with no pretests, just ES BPSW
- is_frobenius_pseudoprime Frobenius quadratic primality test
- is_perrin_pseudoprime Perrin primality test (unrestricted)
- vecmin(@list) minimum of list of integers
- vecmax(@list) maximum of list of integers
- vecprod(@list) product of list of integers
- bernfrac(n) (num,den) of Bernoulli number
- bernreal(n) Bernoulli number as BigFloat
- stirling(n,m,[type]) Stirling numbers of first or second kind
- LambertW(k) Solves for W in k = W*exp(W)
- Pi([digits]) Pi as NV or with requested digits
[FUNCTIONALITY AND PERFORMANCE]
- znorder algorithm changed from Das to Cohen for ~1% speedup.
- factoring sped up a bit for 15-19 digits.
- speedup for divisor_sum with very large exponents.
[OTHER]
- Alias added for the module name "ntheory". The module has grown
enough that it seems more appropriate.
- Big build change: Try a GMP compilation and add Math::Prime::Util::GMP
to dependency list if it succeeds.
- Fixed a memory leak in segment_primes / segment_twin_primes introduced
in previous release. Thanks Valgrind!
The Zarith library implements arithmetic and logical operations over
arbitrary precision numbers. It uses GMP to efficiently implement
arithmetic over large numbers. Small integers are represented as Caml
unboxed integers for speed and space economy.
Changelog:
------------
Qhull 2015.2 2016/01/18 (7.2.0)
- Fixed memory leak in ~QhullQh [M. Sandim]
QhullQh.cpp: call checkAndFreeQhullMemory() in the destructor. Otherwise memT is not freed.
Remove checkAndFreeQhullMemory() from Qhull.h. It is not needed.
Remove calls to checkAndFreeQhullMemory in qhulltest. It is called by ~QhullQh()
libqhull_r.h: Document qh_ASvornoi and facetT.center
qh_freeqhull: if qh_NOmem, use qh_ALL
qh_memalloc: short memory is freed by qh_memfreeshort unless qh_NOmem
qh_memstatistics (mem.c): call qh_memcheck() as done in mem_r.c
qh_new_qhull calls qh_memcheck
qh_newvertex: free vertex on error
qh_projectinput: Free memory allocations on error
qh_rboxpoints: free simplex on error
qh_sethalfspace_all: Fixed memory leak on error QH8032 feasible not inside halfspace
qh_triangulate_facet: For TRInormals ('Q11') replace qh_copypoints with qh_memalloc
qh_triangulate_facet: Document qh.TRInormals
qh_voronoi_center: Free center on error
qhulltest: Fixed memory leak of s_testcases by calling RoadTest::deleteTests()
qhulltest: The 'add_*_test' functions append the test object to RoadTest::s_testcases
~RoadTest: declare virtual for Q_OBJECT, removeAll not needed
user_eg2: Check memory at end of each run
user_r.h: Add QHULL_CRTDBG for invoking Microsoft's memory leak detector
use _MSC_VER instead of QHULL_OS_WIN for QHULL_CRTDBG
Call qh_freeqhull with qh_ALL/!qh_ALL instead of 'True/False'
Include user_r.h with RoadError,h for QHULL_CRTDBG
Invoke _CrtSetDbgFlag... at beginning of program
Moved user_r.h/libqhull_r.h/qhull_ra.h as first include (for QHULL_CRTDBG)
Moved QHULL_OS_WIN from qhull_ra.h to user_r.h
Removed __CYGWIN__ from QHULL_OS_WIN (same as Qt's qglobal.h)
- check_dupridge: A bounding box is not sufficient to avoid dupridge errors
- qh_findbestneighor: Error if qh.CENTERtype is qh_ASvoronoi (i.e., no merging now)
- qh_printstatlevel: Remove unused parameter, 'start'
- QhullLinkedList::last() and back(): Return T instead of T& (T is computed)
- qh-code.htm: "How to convert code to reentrant Qhull"
Update "Nearly coincident points on an edge"
Add 2012 size of data structures to "Qhull on 64-bit computers"
- html/index.htm: Add CGAL to "When to use"
- qh-optq.htm: Add documentation for option 'Q12'
- Move suggestions from Changes.txt to qh-code.htm#enhance
- user_r.h: Fixed qh-us_r.html links
- Fixed links in html pages
- QhullIterator and QhullLinkedList: Include <iterator> [B. Boeckel]
- Moved include file for each C++ source file to the top of the includes
- Prepend cpp includes with "libqhullcpp/"
- RoadLogEvent includes RoadLogEvent.h
- QhullIterator.h: Only QHULL_DECLARE_SEQUENTIAL_ITERATOR is used.
- Compared src/libqhull/* to src/libqhull_r/* and resolved differences
- qh_printpoint in io.c skips qh_IDnone like io_r.c
- qhull_p-exports.def: Added three missing exports
- set_r.h: Removed countT. Too many issues
- libqhull_r/Makefile: Add help prompts to 'make qtest'
- libqhull.pro: Add '../libqhull/' to sources and headers
- libqhull/Makefile: Fixed -I,./,,/src
- qhull-zip.sh: Add CMakeModules to tarball [C. Rosenvik]
- CMakeLists.txt: Add targets qhullp and user_egp for qh_QHpointer and libqhull_p
- Reorganized 'make help'
- Makefile cleanall: Delete testqset and qhulltest from bin/
- Fix filetype of Unix-only files
- Fix Unix line endings for Makefile and check in qhull-zip.sh
- Fix Windows line-endings and check in qhull-zip.sh
- qhull-zip.sh: Check for Unix text files
------------
Qhull 2015.1 2016/01/03 (7.1.0)
- Add Rbox option 'Cn,r,m' to add nearly coincident points. Trigger for duplicate ridges
- Add Qhull option 'Q12' to ignore error on wide merge due to duplicate ridge
- qh_findbestlower: Call qh_findfacet_all to fix rare "flipped or upper Delaunay" error QH6228.
QH6228 input provided by J. Metz. Reported (date order): L. Fiaschi, N. Bowler, A. Liebscher, V. Vieira, N. Rhinehart, N. Vance, P. Shafer
- qh_check_dupridge: Check if wide merge due to duplicate ridge from nearly coincident points
- qh_initialhull: Fix error messages for initial simplex is flat
- qh_determinant: increased 2-d and 3-d nearzero by 10x due to a counter-example
- rbox: Add qh_outcoord() to output coordinates w/ or w/o iscdd
- qh_meminit (mem.c): Add call to qh_memcheck
- Compare libqhull/... to libqhull_r/... and resolve differences
- Update builds for DevStudio (qhull.sln for msdev 2005..2009, qhull-32.sln and qhull-64.sln for recent releases)
- qh-impre.htm: Add a section about precision errors for 'Nearly coincident points on an edge'
- html/index.htm#geomview: Document how to install, build, and use Geomview.
- html/index.htm: Emphasize program links and move related urls to end
- qhull/index.htm: Emphasize manual, geomview, and imprecision
- Fix documentation links in libqhull_r/index.htm
- Add 'Functions' link to documentation headers
- Change '<A>...</A>' to '<a>...</a>'
- libqhull_r/index.htm -- Add instructions for configuring web browsers for source links.
- libqhull_r/ -- Fix source links for ..._r.htm files
------------
Qhull 2015.0.7 2015/11/09 (7.0.7)
- Fix return type of operator-> in QhullLinkedList and other collection classes [F. Jares]
- Fix return types for QhullLinkedList
- Fix return types for QhullPoints
- Simplify return type for Coordinates::operator[] (same as QList)
- Add const to operators for QhullSet::iterator and add documentation
- Coordinates.h: Fix return types for operations of iterator and const_iterator
- Drop use of Perforce changelist number in qhull_VERSION of CMakeLists.txt
- Rename the md5sum files as *.tgz.md5sum instead of *-tgz.md5sum
- Fix build dependency for testqset_r [asekez]
- rbox.c depends on Qhull due to qh_lib_check which uses qh_version2 for error messages
- QhullFacet_test.cpp: Annotate Qhull invocations. Allows their repetition.
- QhullFacet_test.cpp: Adjust epsilon on distance tests
- Do not create libqhullcpp as a shared library. Qhull C++ classes may change layout and size.
- qhull-cpp.xml: Make a relative path to road-faq.xsl
------------
Qhull 2015.0.6 2015/10/20 (7.0.6.2013)
- In the libraries, exit() is only called from qh_exit(). qh_exit may be redefined.
- Add qh_fprintf_stderr to usermem.c. May be overridden to avoid use of stderr [D. Sterratt]
Add usermem to testqset builds
Used by qh_fprintf_rbox
- Remove most instances of stderr/stdout from libqhull, libqhull_r, and libqhullcpp [D. Sterratt]
qh_fprintf_stderr may be redefined. qh_meminit and qh_new_qhull use stderr as the default ferr
- qh_initflags: Use qh.fout instead of stdout for 'TO file'. A library caller may define a different qh.fout.
- qh_settemppush: Call qh_fprintf() instead of fprintf() on error.
- Rename qh_call_qhull as "Qhull-template" from user.c. Updated its references.
- qh-code.htm: "How to avoid</a> exit(), fprintf(), stderr, and stdout"
- html/index.htm: Fix table of contents for qh-code
- libqhull_r/index.htm: Rewrite introduction to Reentrant Qhull
- qh-faq.htm: Rewrite "Can Qhull use coordinates without placing them in a data file?"
- qh-get.html: Link to github
- Remove qhull_interface.cpp from the documentation
------------
Qhull 2015.0.5 2015/10/12 (7.0.5.1995)
- qh_new_qhull: default 'errfile' is 'stderr'. outfile and errfile are optional [B. Pearlmutter]
- qh_new_qhull: returns qh_ERRinput instead of exit() if qhull_cmd is not "qhull ..." [B. Pearlmutter]
- qhalf_r.c,etc: Add clear of qh.NOerrexit
- global.c: gcc 4.4.0 mingw32 segfault cleared by adding comment
- usermem_r-cpp.cpp: Optional file to redefine qh_exit() as throw "QH10003.." [B. Pearlmutter]
qh_exit() is called by qhull_r when qh_errexit() is not available.
- html/index.htm: Add bibliographic reference to Golub & van Loan and annotated the source references
- qhalf.htm: A halfspace is the points on or below a hyperplane [D. Strawn]
- qh-opto.htm#n: Defined inside, outside, on, above, and below a hyperplane [D. Strawn]
- qhalf.htm#notes: Recast the linear program using negative halfspaces (as used by Qhull) [D. Strawn]
- qhull_a.h: Fix comment '#include "libqhull/qhull_a.h" [fe rew]
- build/qhull*.pc.in: Templates for pkg-config (derived from Fedorra) [P. McMunn]
c1bf12afe0/pkg-config-spec.txt
- Makefile: Remove user_eg3.o from LIBQHULLCPP_OBJS
- Makefile: Add .h dependencies for unix_r.o, etc.
- libqhull/Makefile: Fix build of rbox
- libqhull_r/Makefile: Fix build -I
- qhull.sln/user_eg3: Add dependency on libcpp
- Removed bin/libqhull_r.dll (should be qhull_r.dll)
- Removed build/qhulltest.vcproj (see build/qhulltest/qhulltest.vcproj)
------------
Qhull 2015.0.4 2015/9/30 (7.0.4.1984)
- qh-get.htm: Unix tarball includes version number (e.g., qhull-2015-src-7.1.0.1940.tgz) [Hauptman]
- qglobal.c: Add qh_version2 with Unix version for "-V" option [Hauptman]
- build/qhull-32.sln, *-32.vcxproj: Add Visual Studio 32-bit build for 2010+
- build/qhull-64.sln, *-64.vcxproj: Add Visual Studio 64-bit build for 2010+ [G. Lodron]
- make-vcproj.sh: Restore to eg/... It is required for Visual Studio builds
- README.txt: updated builds and reentrant Qhull
- Add documentation for QHULL_LIB_CHECK
- qh_lib_check: Check for unknown QHULL_LIB_TYPE
- qh-code.htm: Add memory requirements for 32- and 64-bit
------------
Qhull 2015.0.3 2015/9/22
- qh_mem, qh_merge: Log before 'delete' instead of afterwards [Coverity, K. Schwehr]
- qh_merge: Test for NULL horizon in qh_checkzero [Coverity, K. Schwehr]
- qh_matchneighbor: Check for matchfacet not a neighbor of facet [Coverity, K. Schwehr]
- qh_triangulate: Explicit check for visible==NULL [Coverity, K. Schwehr]
- qh_findbestfacet (unused by qhull): Fix test of isoutside [Coverity, K. Schwehr]
- qh_check_maxout: Check bestfacet!=0 for logging its id [Coverity, K. Schwehr]
- qh_nearvertex: Check for bestvertex not found [Coverity, K. Schwehr]
- qh_checkfacet: Check for missing neighbors of simplicial facets [Coverity, K. Schwehr]
- qh_setdelnth: Check 'nth' before using it [Coverity, K. Schwehr]
- Annotate code for Coverity warnings (most of these protected by qh_errexit) [K. Schwehr]
- qh_printfacet3math: explicit format string (duplicates change to io.c) [B. Pearlmutter]
- libqhull_r.h: fix spelling error (duplicates change to libqhull.h) [B. Pearlmutter]
- unix_r.c: fix spelling error (duplicates change to unix.c) [B. Pearlmutter]
- qhull_a.h: define qhullUnused() only if defined(__cplusplus) [R. Stogner]
- qh_version: Use const char str[]= "string" instead of const char * str= "string" [U. Drepper, p. 27]
- qh_newvertex: Use UINT_MAX instead of 0xFFFFFFFF
- qh_newridge: Use UINT_MAX instead of 0xFFFFFFFF
- Reviewed FIXUP notes
- QhullRidge_test: t_foreach use 'foreach(const QhullVertex &v, vertices)
- Made '#include "RoadTest.h" consistent across all C++ tests
- qh-code.htm: May also use libqhull_r (e.g., FOREACHfacet_(...))
- qh-get.htm: Add list of download build repositories
- Add CMakeModules/CheckLFS.cmake: Enables Large File Support [B. Pearlmutter]
- Makefile: Use -fpic at all times instead of -fPIC, [U. Drepper p. 15]
------------
Qhull 2015.0.2 2015/9/1
- global_r.c: Fixed spelling of /* duplicated in...qh_clear_outputflags */ [K. Schwehr]
- Replaced Gitorious with GitHub
- Moved 'to do' comments into Changes.txt
------------
Qhull 2015.0.1 2015/8/31
Source code changes
- Increased size of vertexT.id and ridgeT.id to 2^32 [H. Strandenes, C. Cantwell]
Reworded the warning message for ridgeT.id overflow. It does not affect Qhull output
- Add qh_lib_check to check for a compatible Qhull library.
Programs should call QHULL_LIB_CHECK before calling Qhull.
- Include headers prefixed with libqhull/, libqhull_r/, or libqhullcpp/
- Renamed debugging routines dfacet/dvertex to qh_dfacet/qh_dvertex
- Rewrote user_eg, user_eg2, and user_eg3 as reentrant code
- Renamed 'qh_rand_seed' to 'qh_last_random'. Declare it as DATA
- qh_initqhull_start2 sets qh->NOerrexit on initialization
User must clear NOerrexit after setjmp()
Other source code changes
- Define ptr_intT as 'long long' for __MINGW64__ [A. Voskov]
- poly_r.c: initialize horizon_skip [K. Schwehr]
- Removed vertexT.dim and MAX_vdim. It is not used by reentrant Qhull.
- Removed qhull_inuse. Not used by C++
- Removed old __MWERKS__/__POWERPC__ code that speed up SIOUX I/O
- Moved #include libqhull/... before system includes (e.g., <stdio.h>
- Comment-out _isatty declaration. Avoids "C4273 ... inconsistent dll linkage"
- Add random.h/random_r.h as an include file to random.c/random_r.c
- Rename rbox routines to qh_roundi/qh_out1/qh_out2n/qh_out3n
- Rename dfacet and dvertex to qh_dfacet and qh_dvertex
- Replace 'qhmem .zzz' with 'qhmem.zzz'
- Removed spaces between function name and parentheses
- Rename 'enum statistics' to 'enum qh_statistics'
- Declare rbox as DATA in qhull-exports.def and qhull_p-exports.def
- In comments, use 'qh.zzz' to reference qhT fields
- In qh_fprintf, use qhmem.ferr to report errors
- qh_fprintf may be called for errors in qh_initstatistics and qh_meminit
- qh_pointid returns qh_IDnone, qh_IDinterior, qh_IDunknown in place of -3, -2, -1 resp.
- getid_() returns qh_IDunknown in place of -1
- After qh_meminit, qhmem.ferr is non-zero (stderr is the default)
- Update qh_MEMalign in testqset.c to user.h (with realT and void*)
- Split rboxT into a header file
- Add rboxlib.h to libqhull_a.h
- Rename PI to qh_PI and extend to 30 digits
- Rename MAXdim to qh_MAXdim
- Change spacing for type annotations '*' and '&' in C++ header files
- Test for !rbox_output/cpp_object in qh_fprintf_rbox
- Remove 'inline' annotation from explicit inline declarations
- Column 25 formatting for iterators, etc.
- Use '#//!\name' for section headers
- QhullFacet.cpp: zinc_(Zdistio);
- Clear qhT.ALLOWrestart in qh_errexit
- Replace longjmp with qh_errexit_rbox in qh_rboxpoints
- Add jmpExtra after rbox_errexit to protect against compiler errors
- Add qh.ISqhullQh to indicate initialization by QhullQh()
- Add library warnings to 'rbox D4', user_eg, user_eg2, user_eg3
- Add headers to q_eg, q_egtest, and q_test
- Check that qh.NOerrexit is cleared before call to qh_initflags
Qhull documentation
- README.txt: Added references to qh-code.htm
- README.txt: Added section 'Calling Qhull from C programs'
- qh-code.htm: Moved Performance after C++ and C interface
- qh-code.htm: Moved Cpp Questions to end of the C++ section
- qh-code.htm: Fixed documentation for 'include' path. It should be include/libqhull
- qconvex.htm: Fixed documentation for 'i'. It triangulates in 4-d and higher [ref]
- Clarified qhalf space documentation for the interior point [J. Santos]
- rbox.c: Version is same date as qh_version in global.c
- gobal_r.c: Version includes a '.r' suffix to indicate 'reentrant'
Qhull builds
- Development moved to http://github.com/qhull/qhull
git clone git@github.com:qhull/qhull.git
- Exchanged make targets for testing.
'make test' is a quick test of qhull programs.
'make testall' is a thorough test
- Added 'make help' and 'make test' to libqhull and libqhull_r Makefiles
- CMakeLists.txt: Remove libqhull, libqhull_r, and libqhullcpp from include_directories
- CMakeLists.txt: Add qhull_SHAREDR for qhull_r
- CMakeLists.txt: Retain qhull_SHARED and qhull_SHAREDP (qh_QHpointer)
- CMakeLists.txt: Move qhull_SHARED and qhull_SHAREDP (qh_QHpointer) to qhull_TARGETS_OLD
Drop qhull_STATICP (use qhull_SHAREDP or qhull_STATIC)
Set SOVERSION and VERSION for shared libraries
- Move qhull_p-exports.def back to libqhull
- Switched to mingw-w64-install for gcc
- Improved prompts for 'make'
- qhull-all.pro: Remove user_eg3.cpp from OTHER_FILES
- libqhull.pro: Ordered object files by frequency of execution, as done before
- Add the folder name to C++ includes and remove libqhullcpp from INCLUDEPATH
- Changed CONFIG+=qtestlib to QT+=testlib
- Changed Makefile to gcc -O3 (was -O2)
- Changed libqhull/libqhull_r Makefiles to both produce rbox, qhull, ..., user_eg, and user_eg2
- Removed Debian 'config/...'. It was needed for Qhull 2012.
libqhull_r (reentrant Qhull)
- Replaced qh_qh with a parameter to each procedure [P. Klosterman]
No more globally defined data structures in Qhull
Simplified multithreading and C++ user interface
All functions are reentrant (Qt: "A reentrant function can ... be called simultaneously from multiple threads, but only if each invocation uses its own data.")
No more qh_QHpointer.
See user_eg3 and qhulltest
New libraries
libqhull_r -- Shared library with reentrant sources (e.g., poly_r.h and poly_r.c which replace libqhull's poly.h and poly.c)
libqhullstatic_r -- Static library with the same sources as libqhull_r
libqhullcpp -- The C++ interface using libqhullstatic_r (further notes below)
New executables
testqset_r -- Test qset_r.c (the reentrant version of qset.c
Source code changes for libqhull_r
- Add qh_zero() to initialize and zero memory for qh_new_qhull
- Remove qh_save_qhull(), qh_restore_qhull(), and qh.old_qhstat from global_r.c
- Remove qh_freeqhull2() (global_r.c)
- Remove qh_freestatistics() (stat_r.c)
- Remove qh_compare_vertexpoint (qhT is not available, unused code)
- Remove conditional code for __POWERPC__ from unix_r.c and rbox_r.c
- Move qh_last_random into qh->last_random (random_r.c)
- Rename sources files with a '_r' suffix. qhull_a.h becomes qhull_ra.h
- Replace 'qh' macro with 'qh->'
- Replace global qhT with parameter-0
- Add qhmemT to beginning of qhT. It may not be used standalone.
- Add qhstatT to end of qhT
- Remove qhull_inuse
- Change qhmem.zzz to qh->qhmem.zzz
- Replace qh_qhstat with qh->qhstat
- Remove qh_freestatistics
- Replace qh_last_random with qh->last_random
- Replace rboxT with qh->rbox_errexit, rbox_isinteger, rbox_out_offset
- Replace rbox.ferr/fout with qh->ferr/fout
- No qh for qh_exit, qh_free, qh_malloc, qh_strtod, qh_strtol, qh_stddev
- New qmake include files qhull-app-c_r.pri, qhull-app-shared_r.pri, qhull-libqhull-src_r.pri
- Replace 'int' with 'countT' and 'COUNTmax' for large counts and identifiers
- qhset converted to countT
- Removed vertexT.dim -- No longer needed by cpp
Removed MAX_vdim
- Guarantee that qh->run_id!=0. Old code assumed that qh_RANDOMint was 31 bits
Changes to libqhullcpp
- Added QhullVertexSet.h to libqhullcpp.pro and libqhullpcpp.pro
- QhullVertexSet: error if qhsettemp_defined at copy constructor/assignment (otherwise double free)
- Enable QhullSet.operator=. Copy constructor and assignment only copies pointers
- Changed QhullPoint.operator==() to sqrt(distanceEpsilon)
- Added assignment of base class QhullPoints to PointCoordinates.operator=
- Enable QhullPoints.operator=
- Rename PointCoordinates.point_comment to describe_points
- Add 'typename T' to definition of QhullSet<T>::value()
C++ interface
- Reimplemented C++ interface on reentrant libqhull_r instead of libqhull
- Prepend include files with libqhullcpp/
- Replaced UsingLibQhull with QhullQh and macro QH_TRY
Removed UsingLibQhull.currentAngleEpsilon and related routines
Removed UsingLibQhull_test.cpp
Replaced globalDistanceEpsilon with QhullQh.distanceEpsilon
Replaced globalAngleEpsilon with QhullQh.angleEpsilon
Moved UsingQhullLib.checkQhullMemoryEmpty to QhullQh.checkAndFreeQhullMemory
Replaced FACTORepsilon=10 with QhullQh.factor_epsilon=1.0
- To avoid -Wshadow for QhullQh*, use 'qqh' for parameters and 'qh()' for methods
- Moved messaging from Qhull to QhullQh
- Add check of RboxPoints* in qh_fprintf_rbox
- Renamed Qhull.initializeQhull to Qhull.allocateQhullQh
Added qh_freeqhull(!qh_ALL) as done by unix.c and other programs
- Moved QhullPoints.extraCoordinatesCount into QhullPoints.cpp
- Replaced section tags with '#//!\name ...'
- Removed qhRunId from print() to ostream.
- Removed print() to ostream. Use '<< qhullPoint' or '<< qhullPoint.print("message")'
C++ interface for most classes
- Remove qhRunId
- Add QhullQh *qh_qh to all types
Pointer comparisons of facetT,etc. do not test corresponding qh_qh
Added to end of type for debugging information, unless wasteful alignment
- Add QhullQh * to all constructors
- All constructors may use Qhull & instead of QhullQh *
- For inherited QhullQh types, change to 'protected'
- Renamed 'o' to 'other' except where used extensively in iterators
- Except for conditional code, merged the Conversion section into GetSet
- Removed empty(). Use isEmpty() instead
- Add operator= instead of keeping it private
- print_message=0 not allowed. Use "" instead.
- Rename isDefined() to isValid() to match Qt conventions
C++ interface by class
- Coordinates
Removed empty(). Use isEmpty() instead
Added append(dim, coordT*)
Reformated the iterators
Convert to countT
- PointCoordinates
Added constructors for Qhull or QhullQh* (provides access to QhullPoint.operator==)
Removed PointCoordinates(int pointDimension) since PointCoordinates should have a comment. Also, it is ambiguous with PointCoordinates(QhullQh*)
Renamed point_comment to describe_points
Convert to countT
- Qhull
Remove qhull_run_i
Remove qh_active
Replace property feasiblePoint with field feasible_point and methods setFeasiblePoint/feasiblePoint
Returns qh.feasible_point if defined
Moved useOutputStream to QhullQh use_output_stream
Renamed useOutputStream() to hasOutputStream()
Replaced qhull_dimension with qh->input_dim //! Dimension of result (qh.hull_dim or one less for Delaunay/Voronoi)
Removed global s_qhull_output= 0;
Move qhull_status, qhull_message, error_stream, output_stream to QhullQh
Renamed qhullQh() to qh()
Added check of base address to allocateQhullQh(), Was not needed for qhullpcpp
- QhullFacet
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped implicit conversion from facetT
Dropped runId
Add print("message") to replace print()
- QhullFacetList
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped runId
- QhullFacetSet
Removed empty(). Use isEmpty() instead
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped runId
Add operator=
Implement print("message")
- QhullHyperplane
Add hyperplaneAngle() method
Rewrite operator== to use hyperplaneAngle()
Reorganize fields to keep pointers aligned
Except for default constructor requires Qhull or QhullQh* pointer
Enable copy assignment
Reorganized header
- QhullLinkedList
Add operator=
Removed empty(). Use isEmpty() instead
Convert to countT
iterator(T) made iterator(const T &)
const_iterator(T) made const_iterator(const T &)
const_iterator(iterator) made const_iterator(const iterator &)
- QhullPoint
Add constructors for Qhull or QhullQh* pointer (for id() and operator==)
Add defineAs(coordT*)
Add getBaseT() and base_type for QhullSet<QhullPoint>
Added checks for point_coordinates==0
Removed static QhullPoint::id(), use QhullPoint.id() instead
distance() throws an error if dimension doesn't agree or if a point is undefined
Convert to countT
If !qh_qh, operator==() requires equal coordinates
Use cout<<p instead of cout<<p.print()
Reorganized
- QhullPoints
Add constructors for Qhull and QhullQh* (for qh.hull_dim, QhullPoint::operator==)
Remove QhullPoints(int pointDimension) since it is ambiguous with QhullPoints(QhullQh *qqh)
Add operator=
Removed empty(). Use isEmpty() instead
Convert to countT
operator==() tests if pointers are the same. Ituses distanceEpsilon if qh_qh is defined
Reorganized
- QhullPoints::Iterator and ConstIterator
Removed default constructors
Add constructors for Qhull and QhullQh* (for qh.hull_dim, QhullPoint::operator==)
Moved test of dimension from QHULL_ASSERT to operator==
Added QHULL_ASSERT of qh_qh
Convert to countT
- QhullPointSet
Constructor requires Qhull or QhullQh* instead of dimension()
Add operator=
Removed empty(). Use isEmpty() instead
Convert to countT
Always print print_message
Drop print(). Replace with print("")
- QhullQh
Added methods hasOutputStream(), disableOutputStream(), and enableOutputStream() (was Qhull UseOutputStream)
Add test of qh.NOerrexit to maybeThrowQhullMessage()
Add qhull_status, qhull_message, error_stream, output_stream from Qhull
Add factor_epsilon
- QhullRidge
Constructor requires Qhull or QhullQh* pointer
Dropped implicit conversion from ridgeT
Converted otherFacet() to 'const &'
Converted nextRidge3d() to 'const &'
Message for '<< QhullRidge' replaces " - " instead of preceding it
- QhullSet
Removed empty(). Use isEmpty() instead
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Add operator=
- QhullVertex
Constructor requires Qhull or QhullQh* pointer
Convert to countT
Dropped implicit conversion from vertexT
Add message to '<< QhullVertex'
- QhullVertexSet
Removed empty(). Use isEmpty() instead
Constructor requires Qhull or QhullQh* pointer
Convert to countT
- UsingQhullLib
Removed
Replace setGlobalDistanceEpsilon with setFactorEpsilon
Replace globalDistanceEpsilon with distanceEpsilon
------------
Qhull 2012.1 2012/02/18 6.3.1.1494
- Fix CMakeLists for libqhull with MATCHES [P. Gajdos]
------------
Qhull 2012.1 2012/02/18 6.3.1.1490
Code changes
- Require option 'Qz' for Delaunay triangulation/Voronoi diagram
of cocircular/cospherical points [D. Sheehy]
- qh_errexit: Do not call qh_printsummary or qh_printstats on qh_ERRinput
- Change error QH6227 (all degenerate) from qh_ERRinput to qh_ERRprec
- Change error QH6159 (ID overflow) from qh_ERRinput to qh_ERRqhull
- eg/q_eg, q_egtest, q_test: Run if qconvex is in $PATH [M. Atzeri]
Build changes [M. Atzeri]
- Install to share/doc/qhull instead of share/doc/packages/qhull
- On Unix systems, install to share/man/man1 instead of man/man1
- CMakeLists: Remove the installation of user_eg* and testqset
- CMakeLists: Remove VERSION from qhull executables and libraries
- CMakeLists: Define qhull_SOVERSION instead of qhull_MAJOR
- CMakeLists: Set SOVERSION for shared libraries
- Rename libraries to qhull, qhull_d, qhull_p, and qhull_pd
libqhull6_p.vcproj is now libqhull_p.vcproj
mingw builds as libqhull.dll
cygwin builds as cygqhull-6.dll
linux builds as libqhull.so.6.3.1 with symbolic link as libqhull.so
- Developers using qhull 2011:
libqhull6.so is now libqhull_p.so. Do not use libqhull.so.
qhull6.dll is now qhull_p.dll. Do not use qhull.dll.
- Merged road/ into libqhullcpp/ and qhulltest/
Moved RoadLogEvent.* and RoadError.* to libqhullcpp
Moved RoadTest.* to qhulltest (requires Qt)
Installed RoadTest.h in libqhullcpp
Doc changes
- index.htm: Mathworks uses qhull for n-d
- qhull.htm: Fix qhull for qconvex
- qdelaun.htm/qvoronoi.htm: Use option 'Qz' for circular/cospherical inputs
- make help: Display targets
- Makefile: Better messaging
------------
Qhull 2012.1 2012/02/02 6.3.0.1483
Bug fixes
- Fixed qset.c for -fno-strict-aliasing. This gcc option is no longer needed
(disallow two pointers of differing types to the same memory location)
- Fixed error in qh_setappend_set if first set full and second set empty
- qh_setdelnth, qh_setdelnth_sorted: fixed wording of error message
- qh_setcheck: error message listed size and max backwards.
- qh_setequal: Allow NULL set as documented
- qh_setindex: Allow NULL set as documented
- qh_settemppush: report error if NULL
Code changes
- Add testqset: low level test of qset.c with mem.c
- qh_setendpointer: Implements QSet::endPointer()
- Assigned unique error code for qh_gethash
Build changes
- Added qhull.dll(.so) for Octave and other Debian builds
The global data structure qh_qh is statically defined (no qh_QHpointer)
Linked user_eg2 with qhull.dll (libqhull.so) instead of qhullstatic
Added qh_dllimport to libqhull.h for qhull.dll with MSVC
Changed qhull-app-shared.pri to use libqhull (without qh_QHpointer)
- Renamed libqhull6.so to libqhull6_p.so
Renamed qhull6.dll to qhull6_p.dll
The _p libraries (e.g., libqhull6_p.so) require -Dqh_QHpointer
Renamed qhull6.vcproj to libqhull6_p.vcproj
Added libqhullp/libqhullp.pro for shared library (libqhull6_p.so)
Added qhull-app-sharedp.pri for shared libraries with qh_QHpointer
- Install libqhull/*.htm files into include/libqhull
- Removed libqhull/qhull.h-deprecated [J. Eaton]
- Other changes to Makefile builds
Added 'make qtestall' as a smoketest of each qhull program
src/libqhull/Makefile: Use 'ar -rs ...' instead of ranlib
src/libqhull/Makefile: Fixed targets for cleanall
- Other changes to DevStudio builds
Moved pdb files for qhull libraries to lib/
AdditionalIncludeDirectories: Removed ../src/libqhullcpp
Use build-cmake/ for the DevStudio CMake build
- Other changes to Qt builds
Renamed qhull-libsrc.pri to qhull-libqhull-src.pri
- Added explicit d2u conversions to qhull-zip.sh
- Fixed \n vs. \r\n issues for Windows source files
Draft of Debian/AutoConf build (untested)
- Adjusted the Makefile.am's for the new directory structure.
- Added testqset to bin_PROGRAMS
- config/bootstrap.sh copies program sources into src/libqhull
- Kept qh_QHpointer=0 (static global data structure, qh_qh). It is faster.
Planning a new interface (qhull7?) which passes qh_qh as a parameter
- Added config/changelog from the 2003.1 Debian build
- Moved the debian/patches directory to config/
Optional patches to change smoketest message and turn on qh_QHpointer
- Deleted the debian directory. It was the old Debian build from 2003.1
Rafael Laboissiere's config directory replaced this build..
- Deleted Make-conf.sh (also the old Debian build)
Doc changes
- FAQ: Updated notes on computing volume of a Voronoi region
- Added direct link to ACM Digital Library for downloading the qhull paper
- Added link to Qhull in R
- qset.c: Updated notes about NULL sets
- qh_setappend: clarify qh_setappend for NULL newelem
- qh_setdellast: Fix head note
- Add build/README.txt
- Add uninstall instructions to README.txt and CMakeLists.txt
- Added instructions to create build/*.vcproj to CMakeLists.txt
- Update copyright to 2012
- Updated page links. Added Google books, patents, and blogs.
-----------
Qhull 2009.1.3 2011/12/06
configure: Add -fno-strict-aliasing if $GCC, Required for gcc 4.1+
------------
Qhull 2011.2 2011/11/29 6.2.1.1446
Bug fixes
- qh_new_qhull: Call qh_prepare_output if !outfile [A. Aldoma]
No effect on qhull users since qh_prepare_output is always called.
- Replace Qhull-go.pif with Qhull-go.lnk for Windows 7 64-bit [lots]
- Error if qh_newhashtable, qh_setnew, or qh_memalloc overflows [X. Cheng]
For example, 'rbox 64 D32' overflows hash table for qh_matchnewfacets
Qhull uses 32-bit ints for identifiers, counts, and sizes. See "WARN64"
- q_eg, q_test: change tail +3 to tail -n +3 [N. Dubray, M. Atzeri]
- Qhull-go.bat: Changed 'cmd' to '%comspec%'
Build changes
- Added src/libqhull/Makefile for simple gcc build of executables and lib
- qhulltest.vcproj: Replaced full path to QT with $QTDIR (e.g., c:/qt/4.7.4)
- Split userprintf_rbox.c from userprintf.c,
Otherwise qhull brings in rboxlib and rbox brings in libqhull
- Makefile: qhullx target must be after LIBQHULLS_OBJS
- Makefile: Explicitly list rbox dependencies for qhullx target
- MBorland: Fixed tabs
- Placed $LIBQHULLS_OBJS in same order. Frequently called ones together.
- Update file lists for Make-config.sh [O. Lahaye]
- CMakeLists: add README.txt,etc. to DOC_INSTALL_DIR [M. Atzeri]
- Restored qhull.h-deprecated.
qhull.h conflicts with Qhull.h on Windows systems [C. Abela]
- make-config.sh: Add warning that it is out-of-date
- Remove extra space in '#! /bin/sh' in q_eg, etc. [P. Cheeseman]
Source changes
- libqhull.h: Added qh_True and qh_False for True/False [A. Mutzel]
Did not remove or replace True/False since it is used everywhere
- Moved error message from qh_argv_to_command to caller. Avoids dependency.
- user_eg3.c: Use '10 D2' as default rbox (e.g., 'user_eg3 rbox qhull d')
- user.c, user_eg2.c: Add test of qh_qh as done in user_eg.c
- q_test: Removed duplicate test of qhull C-0.02
Documentation
- index.html: Added ACM Authorizer link to ACM Trans. Math. Software
- Split Delaunay and Voronoi FAQs
- FAQ: How to compute the volume of a Voronoi region [C, Brinch]
- Add 'FS' to qconvex prompt (total area and volume)
- Add clarification to 'Fv' about corner input sites [O. Can]
- Qhull-go.bat: Removed out-of-date advice. Added title.
- qh-code.htm: Updated the discussion of multi-threading for C++ [I. Pirwani]
Qhull 2009.1.2 2011/11/21
- Revert to LF line endings [P. Cheeseman]
- Remove out-of-date material from qhull-go.bat
- Replaced QHULL-GO with a lnk file
Qhull 2011.1 2011/05/23 6.2.0.1385 (exe/dll files unchanged)
- delaunay.vcproj: Fixed qhullstatic_d.lib for debug and minrelsize builds
- Did not redate the distribution
Qhull 2011.1 2011/05/18 6.2.0.1385 (exe/dll files unchanged)
- Add 'm' library to shared and static targets on Unix [A. Bouchard]
Qhull 2011.1 2011/05/14 6.2.0.1383 (exe/dll files unchanged)
- PointCoordinates.cpp: Add #include <iterator> [R. Richter, S. Pasko]
- Remove deprecated libqhull/qhull.h
Use libqhull/libqhull.h instead. Avoids confusion with libqhullcpp/Qhull.h
- Makefile: Add LIBDIR, INCDIR, and DESTDIR to install [L.H. de Mello]
Separate MAN install from DOC install
Create install directories
Installs headers to include/libqhull, include/libqhullcpp, include/road
- CMakeLists.txt: Add MAN_INSTALL_DIR for qhull.1 and rbox.1 man pages
Add RoadTest.h to include/road for Qt users (road_HEADERS)
- Renamed md5sum files to avoid two extensions
- qh-get.htm: Add Readme links and 2009.1 note.
- qh-optf.htm: Fix link
- index.htm: Updated Google Scholar link
- qhull-zip.sh: Improved error message.
------------
Qhull 2011.1 2011/04/17 6.2.0.1373
Changes to deliverables
- qvoronoi: Deprecated 'Qt' and 'QJn'. Removed from documentation and prompts.
These options produced duplicate Voronoi vertices for cospherical data.
- Removed doskey from Qhull-go.bat. It is incompatible with Windows 7
- Added 'facets' argument to user_eg3.cpp
- user_eg links with shared library
- qhulltest.cpp: Add closing prompt.
Changes to build system
- Reorganized source directories
- Moved executables to bin directory
- Add CMake build for all targets (CMakeFiles.txt) [M. Moll assisted]
- Add gcc build for all targets (Makefile)
- Fixed location of qhull.man and rbox.man [M. Moll]
- Add DevStudio builds for all targets (build/*.vcproj)
- Added shared library (lib/qhull6.dll)
Added qh_QHpointer_dllimport to work around problems with MSVC
- Added static libraries with and without qh_QHpointer (lib/qhullstatic.lib)
- Added eg/make-vcproj.sh to create vcproj/sln files from cmake and qmake
- Document location of qh_QHpointer
- Use shadow build directory
- Made -fno-strict-aliasing conditional on gcc version
- Added src/qhull-app-cpp.pri, src/qhull-app-c.pri, etc. for common settings
- Add .gitignore with ignored files and directories.
- Use .git/info/exclude for locally excluded files.
- Fixed MBorland for new directory structure
- cleanall (Makefile): Delete 'linked' programs due to libqhull_r and libqhull/Makefile
Changes to documentation
- qvoronoi.htm: Remove quotes from qvoronoi example
- qhull-cpp.xml: Add naming conventions
- index.htm: Add Google Scholar references
- qh-optf.htm: Add note about order of 'Fn' matching 'Fv' order [Q. Pan]
- Add patch for old builds in qh-get.htm
- Added C++ compiling instructions to README.txt
- Add instructions for fixing the DOS window
- Changed DOS window to command window
- Fixed html links
- qh-get.htm: Dropped the Spanish mirror site. It was disabled.
Changes to C code
- mem.h: Define ptr_intT as 'long long' for Microsoft Windows _win64 builds.
On Linux and Mac, 'long' is 64-bits on a 64-bit host
- Added qh_QHpointer_dllimport to work around MSVC problem
- qconvex.c,etc.: Define prototype for _isatty
- Define MSG_QHULL_ERROR in user.h
- Move MSG_FIXUP to 11000 and updated FIXUP QH11...
Changes to test code
- Add note to q_test than R1e-3 may error (qh-code.htm, Enhancements)
- Add test for executables to q_eg, etc.
- Fixed Qhull-go.bat. QHULL-GO invokes it with command.com,
Changes to C++ interface
- QhullFacet: Added isSimplicial, isTopOrient, isTriCoplanar, isUpperDelaunay
- Added Qhull::defineVertexFacetNeighbors() for facetNeighbors of vertices.
Automatically called for facet merging and Voronoi diagrams
Do not print QhullVertex::facetNeighbors is !facetNeighborsDefined()
- Assigned FIXUP identifiers
- QhullError: Add copy constructor, assignment operator, and destructor
- Add throw() specifiers to RoadError and QhullError
- Renamed RoadError::defined() to RoadError::isDefined()
- Add #error to Qhull.h if qh_QHpointer is not defined
Changes to C++ code
- Fixed bug reported by renangms. Vertex output throws error QH10034
and defineVertexNeighbors() does not exist.
- Define QHULL_USES_QT for qt-qhull.cpp [renangms]
- Reviewed all copy constructors and copy assignments. Updated comments.
Defined Qhull copy constructor and copy assignment [G. Rivet-Sabourin]
Disabled UsingQhullLib default constructor, copy construct, and copy assign
- Merged changes from J. Obermayr in gitorious/jobermayrs-qhull:next
- Fix strncat limit in rboxlib.c and global.c
- Changes to CMakeLists.txt for openSUSE
- Fixed additional uses of strncat
- Fixed QhullFacet::PrintRidges to check hasNextRidge3d()
- Removed gcc warnings for shadowing from code (src/qhull-warn.pri)
- Removed semicolon after extern "C" {...}
- Removed experimental QhullEvent/QhullLog
- Use fabs() instead of abs() to avoid accidental conversions to int
- Fixed type of vertex->neighbors in qh_printvoronoi [no effect on results]
- Removed unnecessary if statement in qh_printvoronoi
------------
qhull 2010.1 2010/01/14
- Fixed quote for #include in qhull.h [U.Hergenhahn, K.Roland]
- Add qt-qhull.cpp with Qt conditional code
- Add libqhullp.proj
- Add libqhull5 to Readme, Announce, download
- Reviewed #pragma
- Reviewed FIXUP and assigned QH tags
- All projects compile with warnings enabled
- Replaced 'up' glyphs with »
- Moved cpp questions to qh-code.htm#questions-cpp
- Moved suggestions to qh-code.htm#enhance
- Moved documentation requests to qh-code.htm#enhance
- Add md5sum file to distributions
- Switched to DevStudio builds to avoid dependent libraries, 10% slower
Removed user_eg3.exe and qhullcpp.dll from Windows build
Fix qhull.sln and project files for qh_QHpointer
- Add eg/qhull-zip.sh to build qhull distribution files
------------
qhull 2010.1 2010/01/10
- Test for NULL fp in qh_eachvoronoi [D. Szczerba]
qhull 2010.1 2010/01/09
Changes to build and distribution
- Use qh_QHpointer=0 for libqhull.a, qhull, rbox, etc.
Use -Dqh_QHpointer for libqhullp.a, qhullcpp.dll, etc.
qh_QHpointer [2010, gcc] 4% time 4% space, [2003, msvc] 8% time 2% space
- Add config/ and project/debian/ for Autoconf build [R. Laboissiere]
from debian branch in git and http://savannah.nongnu.org/cvs/?group=qhull
- Add CMakeLists.txt [kwilliams]
- Fix tabs in Makefile.txt [mschamschula]
- Add -fno-strict-aliasing to Makefile for gcc 4.1, 4.2, and 4.3 qset segfault
- Remove user_eg.exe and user_eg2.exe from Windows distribution
- Order object files by frequency of execution for better locality.
Changes to source
- Remove ptr_intT from qh_matchvertices. It was int since the beginning.
- user.h requires <time.h> for CLOCKS_PER_SEC
- Move ostream<<QhullFacetList from inline to compiled.
- Removed ConvexHull/ from git. Not used.
------------
qhull 2009.1.1 2010/01/09
- Patch release of 2009.1.
qh_gethash allowed a negative result, causing overwrite or segfault
See git:qhull/project/patch/qhull-2003.1/poly.c-qh_gethash.patch
Compared results of q_test, q_eg, q_egtest with patched poly.c, qhull-2003.1
------------
qhull 2010.1 2010/01/07
- Assign type to qh.old_qhstat and memT.tempstack [amorilia]
- Replace tabs with spaces.
- Fix qh_pointid in case ptr_intT is unsigned
qhull 2010.1 2010/01/06
- Fixed serious bug in qh_gethash [poly.c]
- Documentation and build system are incomplete (see above)
- First release of C++ interface [qh-code.htm]
- Development moved to http://gitorious.org/qhull
git clone git@gitorious.org:qhull/qhull.git
- Did not fix conformant tesselations for 'Qt'.
For details, see http://www.qhull.org/news#bugs of May 2007 and Dec 2006.
- Use g++ builds for Windows distribution (10% faster than msvc2005)
Combined vcproj/ and qtproj/ into project/
vcproj will be replaced by qmake generated files
------------
qhull 2010.0.3 2010/01/05
Fixed bugs
- 'QJn': Fix qh.STOPcone in qh_build_withrestart(). It was not cleared.
- qh_initqhull_outputflags [global.c]: warn about Qc only if QHULLfinished
otherwise set if needed
qhull 2010.0.2 2010/01/04
Fixed bugs
- qh_gethash [poly.c]: fix sign conversion.
Previously, the result may be negative, leading to a segfault.
The bug is more likely with large address spaces
Reviewed all uses of %(modulo) for remainder with negative arguments
- Reviewed output of q_test and compared to results from 2003.1
Breaking code changes
- Return type of qh_gethash changed from unsigned to int. Matches 'size'
- addhash takes a signed hash
qh_addhash( newelem, hashtable, hashsize, hash )
Code changes
- Test for qh_qh in qh_printf
- Makefile.txt corrected for libqhull build [amorilia]
- Renamed index to idx to avoid shadowing BSD strings.h [kwilliams]
qhull 2010.0.1 2010/01/03
New Features:
- Added option 'Ta' to annotate output with message codes
Preliminary C++ support:
- C++ declarations may change without warning
- Preliminary documentation for Qhull's C++ interface [qh-code.htm#cpp, qhull-cpp.xml]
- Added user_eg3 as an example of Qhull.cpp
- Removed qhull_interface.cpp. Use Qhull.cpp instead.
If math.h breaks '#include qhull_a.h', preceed it with '#include math.h'
Changes to qhull options and results
- Allow 'd' and 'v' as the filename for 'TO ..' and 'TI ...' in qdelaunay [M. Jambon]
- 'rbox tN' requires an integer (previously allowed floats)
- Allow quoted filenames for 'TO ...' and 'TI ...'
- Prefix error messages and warnings with a message code (e.g., QH6012)
- Fixed rbox ignoring flags that were not separated by spaces
- Report all hidden options before exiting in qh_checkflags()
- Defined qh_OPTIONline [user.h] as max length of option line ('FO')
- Report error if negative arguments to rbox 'G', 'L', 'Z'
- Unknown rbox flag changed from a warning to an error
- Set error status 4 qh_ERRmem if rbox runs out of memory
- Removed extra spaces at end of line
Breaking Code Changes:
- Renamed qh.coplanarset to coplanarfacetset. Avoids conflict with facetT.coplanarset
- qh_restore_qhull() zeroes out qh.old_qhstat and qh.old_tempstack. Ownership moved.
- Rewrote save_qhull/restore_qhull
- Add Ztotcheck to zzdef_ [R. Gardener]
- Changed qh_malloc to size_t (was unsigned long)
- Declare qh_PRINT instead of int [kwilliams]
- In qh_printafacet(), changed error output to 'qh ferr'
Bug fixes to C code:
- Use gcc 4.4.0 or later. gcc 4.2.1, 4.2.2, and 4.3.2 -O2 segfaults in qset.c . gcc 4.1.1 was OK
See bug report http://gcc.gnu.org/ml/gcc-bugs/2007-09/msg00474.html
- Rewrite qh_setappend to avoid g++ 4.1, 4.2, and 4.3 strict_aliasing error.
Orion Poplawski (orion@cora.nwra.com)
http://www.rpmfind.net/linux/RPM/fedora/12/ppc/qhull-devel-2003.1-13.fc12.ppc64.html
- Fixed qh_findfacet_all(), "REALmin" should be "-REALmax" [L.A. Taylor].
Effects library users for convex hulls and halfspace intersections.
- qh_printfacet [io.c] Removed extra space for neighboring facets
- Report error if d points, Delaunay, and not Qz
- Fixed double-free of facet->centrum for triangulated facets
- Fixed mindist initialization if !testcentrum in io.c findbest_test [Ratcliff]
- Fixed parentheses around warning for missing 'Qc' [qh_initqhull_outputflags]
- Fixed rbox buffer overflow of 'command' when appending seedbuf
- Fixed option string for 'rbox t t999'. Although seed was correctly set to 999,
a random seed was appended to the rbox comment (e.g., 'rbox t t999 t32343')
- Fixed upper bound of sanity check for qh_RANDOMmax in qh_initqhull_globals()
Changes to C code
- Reordered #include from specific to general. Move up .h for module.
- Removed qh.old_stat -- never used
- Removed qh_clearcenters from qh_freeqhull. Duplicated by qh_delfacet
- qh_printcenter [io.c] removed unreachable fprintf argument
- qh_getarea() [geom2.c] ignored on multiple calls (qh.hasAreaVolume)
- qh_getarea() [geom2.c] checks facet->isarea. Set by QhullFacet.facetArea()
- qh_triangulate() [poly2.c] ignored on multiple calls (qh.hasTriangulation)
- Add statistics for vertex_visit and visit_id to buildtracing
- Defined scale and offset parameters for qh_randomfactor
Bug fixes and changes to mem.c/mem.h
- Fixed qhmem.totshort (total short memory in use)
- Memory tracing (T5) redone for sort order by object
- Added full tracing for short memory allocations.
- Added qhmem.totfree (total short memory on freelists)
Increases size of qh_memalloc_ and qh_memfree_
- Added qhmem.totdropped (leftover freesize at end of each short buffer)
- Added qhmem.totunused (short size - request size)
- Added qhmem.totbuffer (total short memory buffer w/o links)
- Added memory statistics to qh_NOmem;
- Added qh_memtotal to track allocated memory
- Renamed qh_memfree parameter to 'insize' for consistency with qh_memalloc
- Removed qhmem.curlong. qa_memfreeshort computes curlong from cntlong and cntfree
- In mem.h, changed ptr_intT to long. qh_meminit() checks that it holds a 'void*'
Fixed g++ and devstudio warnings
- Except for bit field conversions, compiles cleanly with
-Wall -Wextra -Wshadow -Wcast-qual -Wwrite-strings -Wno-sign-conversion -Wconversion
- Fixed warnings at VC8, level 4
- Fix data types to remove conversion warnings [kwilliams]
- Use size_t for calls to malloc,etc [kwilliams]
Retained int sizes for qset.h and mem.h. Follows Qt convention
and is easier to work with. int can be 64-bits if 2 billion facets
- Change literal strings to const char* [kwilliams]
- Added type casts to SETfirst and SETsecond [amorilia+alphax]
- getid_() returns an int [kwilliams]
- Add missing const annotations [kwilliams]
- Fixed 64-bit warnings (marked with "WARN64")
- Convert sizeof to (int) for int parameters
- In libqhull.c, added explicit casts from long to float, Avoids warning
- In global.c, cast time() to int for QRandom-seed. Avoids warning
Changes to C code for C++ support
- Add sln, vcproj, and qtpro files for building Qhull -- add to README notes
- Added dim to vertexT for cpp interface. Reduced size of qh.vertex_visit
- qh_produce_output [io.c] may be called multiple times (C++ interface)
- Moved SETsizeaddr_() to qset.h for use by QhullSet.cpp
- Option 'Tz' sets flag qh.USEstdout for QhullPoints.cpp
- Added support for multiple output runs from QhullPoints.outputQhull
- qh_clear_outputflags() resets the output flags
- qh_initqhull_outputflags split from qh_initqhull_globals
- Added qh.run_id, a random identifier for this instance of Qhull (QhullPoints)
- For qh.run_id, initqhull_start initializes qh_RANDOMseed to time instead of 1
- Extracted qh_argv_to_command (random.c) from qh_init_qhull_command and fixed a buffer overflow
- Moved qh_strtod/qh_strtol from global.c to random.c for use in rboxlib.c
- Split out random functions into random.c
- Added message codes to qh_fprintf(). See its definition in user.c
- Replaced exit, malloc, free, fprintf, and fputs with qh_malloc,...[J.W. Ratcliff]
- Added qh_fprintf, qh_malloc, qh_free, ph_printhelp_narrowhull to user.c
- Moved qh_printhelp_degenerate and qh_printhelp_singular from io.c to user.c
- Clear qh.ERREXITcalled at end of qh_errexit().
Documentation:
- Fixed out-of-date CiteSeer references
- Renamed html/qh-in.htm to html/qh-code.htm
- Add reference to 'Qt' to 'i'
- Add reference to 'FS' to 'FA'
- qh-impre.htm discusses precision issues for halfspace intersection
- Add cross references between options 'FA' and 'FS'
- Added link to Wolfram Research's MathWorld site
- Updated Fukuda's links
- Changed copyright to C.B. Barber for C++, documentation, and merge.c
- Updated Qhull citation with page numbers.
- Proposed project: constructing Voronoi diagram
- Proposed project: computing Voronoi volumes
- Replaced tabs with spaces in qhull.txt and rbox.txt
------------
qhull 2009.1 2009/6/11
This is a maintenance release done by Rafael Laboissiere <rafael@debian.org>.
- src/rbox.c (main): Avoid problems of evaluation order when
pre-incrementing arguments of strtod
- src/io.c (qh_produce_output), src/stat.c (qh_initstatistics): Use %lu
instead of %d in the format string for arguments of type size_t
- html/qhull.man, html/rbox.man: Fix several syntax, macros, and hyphen
problems in man pages
- The Autotools files have been generated with modern version of autoconf (2.63),
automake/aclocal (1.10.2), and libtool (2.2.6)
- Some character issues in the man pages are fixed
Roo implements read access for all common spreadsheet types. It can handle:
* Excel 2007 - 2013 formats (xlsx, xlsm)
* LibreOffice / OpenOffice.org formats (ods)
* CSV
* Excel 97, Excel 2002 XML, and Excel 2003 XML formats when using
the roo-xls gem (xls, xml)
* Google spreadsheets with read/write access when using roo-google
Untested, but packages fine.
Upstream changes:
# 2014-09-21 - Version 2.3.1
- Fixed message "Warning in formatC(Signif) : class of 'x' was discarded"
- Fixed problem looking up objects in Sweave. R Code inside
Sweave files is now evaluated in .GlobalEnv, again, as
before version 2.3.0.
# 2014-09-06 - Version 2.3
- API BREAK: Make package conform to new CRAN policies.
- .HTML.file is no longer stored in the global environment:
use HTMLSetFile() and HTMLGetFile() instead of modifying it directly.
- .HTMLenv is no longer stored in the global environment:
it should never have been accessed directly in the first place.
- fix() is no longer replaced during HTMLStart()/HTMLStop() sessions.
- Remove obsolete handling of 'date' class from package survival.
- Remove obsolete support for old format of objects from the rpart package
Upstream changes:
Version 1.0.8 2010/08/09
- path.packages instead of .path.package (later is defunct).
- change in lm.phylog to prevent (incorrect) note about no visible binding
for global variable \xe2\x80\x98sim.counter\xe2\x80\x99 in a call to subset.
Upstream changes:
Changes in version 1.6-7
fix some bug in handling weights in svm.default
Changes in version 1.6-6
fix numeric issue in classAgreement()
add functions from recommended packages to NAMESPACE
fix bug in svm.default (incorrect handling of subset= argument)
fix bug in predict.svm (new data with NA in response got removed)
residuals are now correctly computed for regression in case of scaled data
Changes in version 1.6-5
hamming.distance() no longer converts input to binary
tune() now uses mean() to aggregate error measures from cross-fold replications
Changes in version 1.6-4
remove library("SparseM") statements in code, use namespace semantics instead
Fix memory leak and uninitialized read error in write.svm()
add warning in predict.svm() if probabilities should be predicted, but the model was not trained with probability = TRUE
add eps to laplace smoothing in predict.naiveBayes() to account for close-zero probabilities also.
use R's random number generator for cross-validation and probability computation instead of the system one.
Changes in version 1.6-3
remove require() statements and dependency on stats
Changes in version 1.6-2
vignettes moved to vignettes folder.
libsvm upgrade to version 3.17, getting rid of stdout and stderr
Estimation and inference methods for models of conditional quantiles:
Linear and nonlinear parametric and non-parametric (total variation
penalized) models for conditional quantiles of a univariate response
and several methods for handling censored survival data. Portfolio
selection methods based on expected shortfall risk are also included.
2.01080606a
cygwin's tar generated 0-permissions for the distribution (no auto-workaround...).
Document workarounds for isprime() with version 2.1.7 (in the BUGS section).
2.01080607
Correct the documention about fraction of witnesses from >=0.25 to >=0.75.
Define HAS_STAT and HAS_OPENDIR basing on $Config{i_sysstat} and $Config{i_dirent}.
Correct spelling errors in POD and comments in Pari.pm (thanks to dsteinbrunner!).
On AIX, do merge_822 separately in subdirectories (exceeds command line length otherwise).
On >=2.3.0, reset had-newline-on-output to 1 at startup. (Saves one spurious NL)
New patch: diff_2.3.5_stderr_clobber
New test: 01_no_extra_newlines.t
Allow download not only via FTP, but also through HTTP.
In presence of PERL5_CPAN_IS_RUNNING, assume that NO ANSWER on prompt is agreement.
(It looks like cygwin and MSWin32 automated-testing environment do not have
AUTOMATED_TESTING and PERL_MM_USE_DEFAULT set...)
Do not auto-download on 64-bit builds of MSWin32.
2.010807
Too long version name was a misprint.
Pay attention to PERL_EXTUTILS_AUTOINSTALL when interpreting empty answers to prompt (probably an overkill).
(disable this abomination by PERL_MATHPARI_TRUST_MANUAL)
(to see why this may be needed: http://www.cpantesters.org/cpan/report/a5d65ec6-6bf3-1014-87a8-67ba45601f20)
Report bytes in the answer for prompt.
Separate into separate subroutines inspecting versions available for download from the actual download.
Change the logic of fallback Net::FTP --> LWP: before, if Net::FTP fails in retrieving the directory listing;
now: if this happens, or if it fails to retrieve the file (how can it happen?! see http://www.cpantesters.org/cpan/report/e7f9d5a7-6bfa-1014-9d0f-1948c9c86cae)
__wrap_PARI_macro: new function (not exported)
parse_as_gp: new function (exported by default)
More verbose error message for "Cannot load a Pari macro".
2.010808
A night of sleep fixed problems of parse_of_gp with the operator \ and empty lines.
(test suite updated)
Actually, mingw was not ready for HAVE_OPENDIR.
Store which patches were applied in $dir/.perl.patches.
Report which patches were not applied.
Export patches_for() from BuildPari.
pari_tgz build option was broken (by LWP-after-NFTP support code which, apparently, did not help with timeouts).
Ignore 0-size "downloaded" files.
The PCG family of Random Number Generators combines properties not
previously seen together in the same generation scheme:
+ It's really easy to use, and yet its very flexible and offers
powerful features (including some that allow you to perform silly
party tricks).
+ It's very fast, and can occupy very little space.
+ It has small code size.
+ It's performance in statistical tests is excellent (see the PCG
paper for full details).
+ It's much less predictable and thus more secure than most generators.
+ It's open source software, with a permissive license (the Apache license).
0.17.1
This is a minor bug-fix release from 0.17.0 and includes a large
number of bug fixes along several new features, enhancements, and
performance improvements. We recommend that all users upgrade to
this version.
Highlights include:
Support for Conditional HTML Formatting, see here
Releasing the GIL on the csv reader & other ops, see here
Fixed regression in DataFrame.drop_duplicates from 0.16.2,
causing incorrect results on integer values (GH11376)
0.17.0
This is a major release from 0.16.2 and includes a small number of
API changes, several new features, enhancements, and performance
improvements along with a large number of bug fixes. We recommend
that all users upgrade to this version.
Highlights include:
Release the Global Interpreter Lock (GIL) on some cython
operations, see here
Plotting methods are now available as attributes of the .plot
accessor, see here
The sorting API has been revamped to remove some long-time
inconsistencies, see here
Support for a datetime64[ns] with timezones as a first-class
dtype, see here
The default for to_datetime will now be to raise when presented
with unparseable formats, previously this would return the
original input. Also, date parse functions now return consistent
results. See here
The default for dropna in HDFStore has changed to False, to
store by default all rows even if they are all NaN, see here
Datetime accessor (dt) now supports Series.dt.strftime to
generate formatted strings for datetime-likes, and
Series.dt.total_seconds to generate each duration of the
timedelta in seconds. See here
Period and PeriodIndex can handle multiplied freq like 3D,
which corresponding to 3 days span. See here
Development installed versions of pandas will now have PEP440
compliant version strings (GH9518)
Development support for benchmarking with the Air Speed Velocity
library (GH8361)
Support for reading SAS xport files, see here
Documentation comparing SAS to pandas, see here
Removal of the automatic TimeSeries broadcasting, deprecated
since 0.8.0, see here
Display format with plain text can optionally align with Unicode
East Asian Width, see here
Compatibility with Python 3.5 (GH11097)
Compatibility with matplotlib 1.5.0 (GH11111)
-- Library config detected: Qt3/CMakeLists.txt
CMake Error at src/CMakeLists.txt:33 (add_subdirectory):
add_subdirectory given source
"/usr/tmp/math/cgal/work/CGAL-3.9/src/CGALQt3/CMakeLists.txt" which is not
an existing directory.
Call Stack (most recent call first):
src/CMakeLists.txt:80 (configure_component)
I guess the behavior of string(REPLACE ...) changed with the newer version
of cmake ...
ChangeLog:
Changes in 0.13.3.1
* primitive-0.6 compatibility
Changes in 0.13.3.0
* Monadic variant of vector shuffle added: `uniformShuffleM`
* Context on `uniformShuffle` loosened
Changes in 0.13.2.2
* Fixed crash during gen. initialization on Windows when stderr
is not available (#36).
### 1.1.0 / 08.12.2015
Author: Matthew Boeh <matt@crowdcompass.com>
Date: Mon Dec 7 11:18:55 2015 -0800
* Disregard locale indicators when determining whether a cell contains a
date/time.
### 1.0.9 / 18.11.2015
Author: 545ch4 <s@rprojekt.org>
Date: Mon Nov 16 10:26:27 2015 +0100
* Add smart method compact! to worksheet
* Use compact! to reduce the number of rows and columns by striping empty one
at both ends.
### 1.0.8 / 20.10.2015
commit e9bd1dd34998803b63460f4951e9aa34e569bd8f
Author: Pierre Laprée <pilap82@users.noreply.github.com>
Date: Tue Oct 20 03:12:22 2015 +0200
* Remove stray `puts`
* A `puts` instruction pollutes the log and doesn't serve any purpose. As
such, we propose its removal.
FFTW 3.3.4
* New functions fftw_alignment_of (to check whether two arrays are
equally aligned for the purposes of applying a plan) and fftw_sprint_plan
(to output a description of plan to a string).
* Bugfix in fftw-wisdom-to-conf; thanks to Florian Oppermann for the
bug report.
* Fixed manual to work with texinfo-5.
* Increased timing interval on x86_64 to reduce timing errors.
* Default to Win32 threads, not pthreads, if both are present.
* Various build-script fixes.
FFTW 3.3.3
* Fix deadlock bug in MPI transforms (thanks to Michael Pippig for the
bug report and patch, and to Graham Dennis for the bug report).
* Use 128-bit ARM NEON instructions instead of 64-bits. This change
appears to speed up even ARM processors with a 64-bit NEON pipe.
* Speed improvements for single-precision AVX.
* Speed up planner on machines without "official" cycle counters, such as ARM.
NLopt is a free/open-source library for nonlinear optimization,
providing a common interface for a number of different free optimization
outines available online as well as original implementations of various
other algorithms.
Its features include:
- Callable from C, C++, Fortran, Matlab or GNU Octave, Python,
GNU Guile, Julia, GNU R, Lua, and OCaml.
- A common interface for many different algorithms -- try a different
algorithm just by changing one parameter.
- Support for large-scale optimization (some algorithms scalable to
millions of parameters and thousands of constraints).
- Both global and local optimization algorithms.
- Algorithms using function values only (derivative-free) and also
algorithms exploiting user-supplied gradients.
- Algorithms for unconstrained optimization, bound-constrained
optimization, and general nonlinear inequality/equality constraints.
Reviewed by: wiz@
A new, more efficient implementation of the dual simplex method
was included in the package. This new implementation replaces
the old one, which was removed.
Option sr_heur was added to struct glp_iocp to enable/disable
the simple rounding heuristic used by the MIP solver.
New API routine glp_at_error was added and documented.
Some minor typos were corrected in the GLPK documentation.
An example application program TSPSOL was added. It uses the
GLPK MIP optimizer to solve the Symmetric Traveling Salesman
Problem and illustrates "lazy" constraints generation. For more
details please see glpk/examples/tsp/README.