What's Changed
Disable quiet nan test on windows by @floitsch in #174
Test on all platforms. by @floitsch in #175
Fix warnings on Windows by @floitsch in #176
Run ctests first. by @floitsch in #177
Give shared-lib option and test install by @floitsch in #179
Install Windows debbuger (pdb) files. by @floitsch in #178
Add a cast to silence a signedness conversion warning. by @pkasting in #182
Issue #184 : Fixed all -Wzero-as-null-pointer-constant warnings by @seanm in #185
Way too many changes since 2.01080900 to re-mention here, for details
see https://metacpan.org/release/ILYAZ/Math-Pari-2.030523/changes
That said, a lot of work seems to have been into the modules own
patch handling and fixing/adding tests. In fact, for 2.030523 we
have now:
All tests PASS:
Files=7, Tests=591
Up from
Files=5, Tests=564
for 2.01080900 albeit with the exact same five Binary and
Hexadecimal "non-portable number" warnings in test t/00_Pari.t
By skipping GNUPlot and Math::PariBuild by re-using the earlier
Makefile.PL we can avoid a lot of the apparent grief the build
would otherwise encounter.
- Refactoring.
- Test::Builder workaround
- tests+better docs for bnok() (Binomial)
- Eliminate warning about not_here() in GMP.xs.
- add support for bmulf() to multiply by a floating point number
- add support for bnok() (Binomial)
- Signature files are generated unreliably and are an ongoing source of
bug reports. As a result, we decided to axe them altogether.
- https://github.com/turnstep/Math-GMP/issues/6
- Apply doc patch from @hvds documenting the pitfalls of division by zero.
* Sync test files with Math-BigInt.
* Add static gmp_version() function (code provided by FGasper on GitHub).
* Make t/01load.t display the output from gmp_version().
math/p5-Math-BigInt: update to 1.999837 (from 1.999827)
* Improve compatibility with older versions of the Math-BigRat distribution.
* Re-enable upgrading in Math::BigFloat->bdiv().
* Improvements to upgrading, downgrading, and rounding:
. Fix bug related to upgrading in Math::BigInt->brsft() in Perl <= 5.16.
. Fix Math::BigFloat->bpi().
. Improve as_int(), as_float(), and as_rat().
* Improve methods div_scale() and round_mode() so they work better with
subclasses. This fixes CPAN RT #125430.
* Make div_scale() accept a Math::Big(Int|Float|Rat) object as input. This
fixes CPAN RT #140599.
* Add new methods numerator(), denominator(), and fparts().
* Fix bug in to_ieee754(). Avoid that the significand overflows.
In the unuran part, omit defining _ISOC99_SOURCE. I am told that
the ieeefp.h header should not be used with _ISOC99_SOURCE. (Its
use comes from pyport.h.) Lately I've seen this package fail to
build also for aarch64, have not verified that this fixes it, though
it's not entirely impossible.
Fixes what triggered PR#56892.
Bump PKGREVISION.
Based on update in wip by Kinoshita Daisuke, nia and mef.
This version of ERFA (v2.0.0) is based on SOFA version "20210512",
with the differences outlined below.
ERFA 2.0.0 and SOFA "20210512"
Functionally, there no differences except for the added
eraVersion, eraSofaVersion, and leap second functions noted
above.
The three new functions added in SOFA are added to ERFA as
well.
Like for SOFA, one now has to explicitly include erfam.h to
use its macros defining constants, etc. Including just erfa.h
(or erfaextra.h) will no longer includes erfam.h implicitly.
pkg_alternatives does not support manual pages (it creates its own wrappers
based on the binary names), and including them breaks upgrade rebuilds.
Bump PKGREVISION.
Basic-stats is a command-line tool to perform basic statistics on a
tabular data stream. It supports performing multiple functions such as
mean, median, etc. on independent rows and/or columns during a single
pass on independent rows and/or columns. Memory use is trivial except
for functions that require loading the sample/population for sorting,
such as median.
OpenFst: Release 1.8
* Adds farencode (1.8.2)
* Deletes MakeArcMapFst in favor of CTAD on ArcMapFst (1.8.2)
* Removes `int64` (etc.) type shims in place of <cstdint> (1.8.2)
* Expands smart-pointer use (1.8.1)
* Expands std::string_view use (1.8.1)
* Removes SymbolTableReadOptions (1.8.1)
* Adds farconvert (1.8.0)
* Migration to C++17 (1.8.0)
* Updates Bazel build (1.8.0)
* Better handling for empty FARs (1.8.0)
* Improves to ExpectationWeight (1.8.0)
* Improves display of properties masks in pywrapfst (1.8.0)
* Internal reference-counting/smart pointer improvements (1.8.0)
* Deprecates PROJECT_(IN|OUT)PUT in favor of scoped enum ProjectType (1.8.0)
OpenFst: Release 1.7
* TokenType is now a scoped enum (1.7.8)
* pywrapfst is now Python 3-only (1.7.8)
* fstproject now has --project_type flag (1.7.8)
* BitmapIndex is now 2x faster for Select0/Select1 (1.7.8)
* Property testing is now thread-safe (1.7.7)
* Modernizes random generation (1.7.7)
* Adds MakeArcMapFst (1.7.6)
* Adds RealWeight and Real64Weight (1.7.6)
* Adds a new, idiomatic SymbolTable iterator interface (1.7.6)
* Improves symbol table lifetime management in pywrapfst (1.7.6)
* Improves the design of the FST class hierarchy in pywrapfst (1.7.6)
* Removes unnecessary template parameters in constructors (1.7.5)
* Converts RmEpsilonFstOptions from class to struct (1.7.5)
* Eliminates redundant checks in Minimize (1.7.5)
* CompactFst is now templated on Compactor rather than ArcCompactor (1.7.4)
* Removes harmful constexpr specifications in the FAR extension (1.7.4)
* Improved script API support for EncodeMapper (1.7.4)
* New header format for the EncodeMapper (1.7.4)
* Many cleanups to the n-gram extension (1.7.4)
* Improved C++17 compatibility shims (1.7.4)
* Overloads Arc constructors with default weight argument (1.7.3)
* Fixes RmEpsilon and Union property checking bugs (1.7.3)
* Makes Isomorphic more robust to nondeterminism (1.7.3)
* Adds default weight argument to SetFinal (1.7.3)
* Cleans up low-level logging (1.7.3)
* Adds power-weight mappers (1.7.3)
* Adds expander cache (1.7.3)
* Fixes bug with coinaccessible states in NaturalAStarEstimate (1.7.2)
* Optionally allows building with Bazel (1.7.2)
* Simplifies string printing interface (1.7.2)
* Marks weight converters const (1.7.2)
* Adds NoMatchComposeFilter (1.7.2)
* Removed static assertions that trigger bugs in GCC (1.7.1)
* Evaluates many weight operations at compile-time (1.7.1)
* Improved use of move semantics, especially in cache-backed FSTs (1.7.0)
* Adds configure-time test for float equality reflexivity (1.7.0)
* Removes volatile qualifiers from float weights (1.7.0)
* Protections for signedness in string compiler (1.7.0)
* Adds additional overloads to Equals (1.7.0)
* Clean-up to weight constructors (1.7.0)
OpenFst: Release 1.6
* Optimized label lookup in SymbolTable (1.6.9)
* Fixed HashMatcher issues with SetState() and Find() consistency (1.6.8)
* Fixed PROGRAM_FLAGS documentation string in binaries (1.6.8)
* Fixed handling of symbol tables in EpsNormalize (1.6.8)
* Fixed error reporting when FST arc type unknown (1.6.8)
* The first_path option to ShortestPath is now optimal for A* (1.6.7)
* Renames SymbolTable::kNoSymbol to kNoSymbol (1.6.7)
* Exposes PowerMapper to the scripting API (1.6.7)
* Fixes linking of the special SOs (1.6.7)
* Adds kShortestDelta for operations dependent on shortest-distance (1.6.6)
* Adds Python methods for (un)pickling and (de)serializing FSTs (1.6.6)
* Adds constructive variants of Invert and Project (1.6.6)
* Increases code sharing in MemoryPool/MemoryArena (1.6.6)
* Improves consistency of matcher FST ownership (1.6.6)
* Fixes error handling in HashMatcher (1.6.6)
* Adds non-trivial A* estimator class (1.6.6)
* Prevents unreachable code generation in libfstscript (1.6.5)
* Adds move constructors for non-trivial weight types (1.6.5)
* Standardizes method names for tuple weight types (1.6.5)
* Eliminates undefined behavior in weight hashing (1.6.5)
* Optimizes binary search in SortedMatcher (1.6.5)
* Adds SetWeight (1.6.5)
* Fixes typing error in Python FAR reader (1.6.4)
* Removes restriction that Prune argument have commutative weights (1.6.3)
* Improves configuration of CompositeWeight readers and writers (1.6.3)
* Improves accuracy of ShortestDistance summation (1.6.3)
* SetFinal now "moves" its weight argument (1.6.3)
* Exposes ArcIterator and EncodeMapper flags in Python (1.6.3)
* Properly sets return codes in FST binaries (1.6.3)
* Eliminates StringWeight macros (1.6.3)
* Finalizes most virtual method overrides (1.6.2)
* Adds float format support to FST drawing (1.6.1)
* Fixes missing includes of <fst/log.h> (1.6.1)
* Adds the "special" extension and the fstspecial binary; this is similar to
fstconvert but accepts arguments for specifying special labels (phi, rho,
and sigma) of FSTs (1.6.0)
* Exposes allow_negative_label option for Python symbol tables (1.6.0)
* Many classes and constants moved into an internal namespace (1.6.0)
* Extensive modernization for C++11 style (1.6.0)
* Adds Member method to SymbolTable (1.6.0)
* Adds HashMatcher (1.6.0)
OpenFst: Release 1.5
* Generalized epsilon normalization to non-functional case (1.5.0)
* Added multiple pushdown transducer (MPDT) support (1.5.0)
* Added general gallic (plus is union) semiring (1.5.0)
* Added p-subsequential determinization (1.5.0)
* Fixed missing Isomorphic components (1.5.0)
* Added FST compression extension (1.5.0)
* Added final method to matchers (1.5.0)
* Fixed various compiler issues (1.5.0)
* Fixed Isomorphic function (1.5.0)
* Added Python extension (1.5.0)
* Added UnionWeight (1.5.0)
* Added missing const qualification to (1.5.1):
- SymbolTableIterator access
- EncodeMapper writing to file
- EncodeMapper SymbolTable access
* Added TrivialComposeFilter for more efficient composition when one
of the arguments is epsilon-free (1.5.1)
* Added InputEpsilonMapper and OutputEpsilonMapper arc mappers (1.5.1)
* Added properties bits kUnweightedCycles and kWeightedCycles (1.5.1)
* Replaced internal custom reference-counting (RefCounter) with C++11 smart
pointers where possible, and fixed reference-counting bugs (1.5.1)
* When calling DeleteStates on a MutableFst with a shared impl, the impl
is set to a new empty impl rather than copying and deleting (1.5.1)
* Prepended Pdt to the Expand libraries and classes in the PDT
extension, and prepended MPdt to the Expand libraries and classes
in the MPDT extension, so that both can be used in the same compilation
unit (1.5.1)
* Added option to PDT Replace for compiling a strongly-regular RTN into a
bounded-stack PDT (1.5.1)
* Improved symbol table support for PDT Replace, including automatic
generation of parentheses symbols (1.5.1)
* Improvements to scripting API (1.5.1):
- Added methods for FST access and mutation
- Added additional checks for arc/weight compatibility
- WeightClass::One and WeightClass::Zero now require a specified weight
type at time of construction
- Improved VectorFstClass constructors
- Added linear-time check for cyclic dependencies in Replace
- Added EncodeMapperClass, a template-free box for an EncodeMapper
* Improvements to the binaries (1.5.1):
- Fixed no-op --precision flag to fstdraw (1.5.1)
- Fixed no-op --file_list_input flag to farcreate (1.5.1)
* Improvements to the Python extension (1.5.1):
- Adds methods for creating an empty mutable FST
- Adds methods for FST access via state and arc iteration
- Adds FST compilation from arclists (cf. fstcompile)
- Adds FST printing and drawing
- Adds FarReader and FarWriter classes.
* Consolidated Python extension into single module (1.5.2)
* FarReader's GetFst method now returns a pointer (1.5.2)
* Python add_arc now takes an Arc object (1.5.2)
* Fixed build flags for dlopen (1.5.2)
* Fixed FSTERROR macro (1.5.2)
* Scripting API and Python weight objects now support semiring arithmetic
(1.5.3)
* Mutation methods of the Python Fst object now support chaining (1.5.3)
* Adds optional minimization of non-deterministic FSTs (1.5.3)
* Adds check for error when opening files when compiling strings into FARs
(1.5.4)
* Prevents underflow when using LogProbArcSelector in random generation
(1.5.4)
* Adds routines for parsing string flags to the scripting API (1.5.4)
* Makes random weight generators a single template class (1.5.4)
* Makes weight Properties constexpr where possible (1.5.4)
* Adds RemoveSymbol method to SymbolTable (1.5.4)
OpenFst: Release 1.4
* Port to C++11 (1.4.0)
* Isomorphic function added (1.4.0)
* Disambiguate function added (1.4.0)
* Matcher interface augmented with Priority method
* Special matchers (rho/sigma/phi) can match special symbols
on both input FSTs in composition/intersection provided at each
state pair they only match one side (1.4.0)
* Added ExplicitMatcher to suppress implicit matches (e.g. epsilon
self-loops) (1.4.0)
* Linear{Tagger,Classifier}Fst extensions added (1.4.0).
* Generalized state-reachable to work when input is cyclic (so long as no
final state is in a cycle). This ensures label-reachable (and hence label
lookahead) works with cyclic input (1.4.0)
* Added Condense to build the condensation graph (SCCs condensed to single
states) of an FST (1.4.0).
* Added an option to Reverse to specify whether a super-initial state
should always be created (1.4.0).
* Fixed bugs in FirstCacheStore, PowerWeight, and StringCompiler (1.4.0).
* Changed SymbolTable to use faster data structure (1.4.0).
* Added 'min' disambiguation in determinizaton to keep only the minimum
output in a non-functional transducer when plus=min/max
(flag --disambiguate_output) (1.4.1)
* Compiler issues in linear-fst fixed (1.4.1)
OpenFst: Release 1.3
* Support for non-fatal exits on errors: (1.3.1)
- Added FLAGS_fst_error_fatal: FST errors are
fatal if true (default); o.w. return objects flagged as bad:
e.g., FSTs - kError
prop. true, FST weights - not a Member().
- Added kError property bit signifying bad FST
- Added NoWeight() method to FST weight requirements that returns
weight that is not a Member().
* Various improvements to the FAR extensions (1.3.1)
- a single FST is now a FAR type
- FLAGS_initial_symbols: Uses the symbol table from the
first FST in the archive for all entries"
- Input/output to standard input/output for some FAR and arc types
* --with-icu configuration option no longer needed (1.3.1)
* Improved flags usage esp. if use SET_FLAGS not SetFlags/InitFst (1.3.2)
* Added 'fst' as possible far writer type (1.3.2)
* phi matcher can now accept 0 as the phi label (1.3.2)
* Added ngram-fst extension (1.3.2)
* Improved performance of PDT composition (1.3.3)
* Memory-map support (1.3.3)
* Fixed cross-FST serialization issues (1.3.3)
* Fixed NGramFst off-by-one issue (1.3.3)
* farextract now allows one to specify a list of comma-separated keys,
including key ranges (1.3.3)
* Fixed bug in PDT replace that could cause close paren IDs to collide
with open paren IDs (1.3.4)
OpenFst: Release 1.2
* Added lookahead matching and filtering for faster composition
* Added EditFst for mutation of o.w. immutable FSTs
* Added script sub-namespace defining type FstClass, a non-templated
Fst<Arc> to hold the arc template type internally. This and FST
operations on it allow easier I/O and scripting at the cost of some
runtime dispatching.
* Added per-arc-iterator control of Fst caching.
* Added PowerWeight and Power Arc.
* Added SparsePowerWeight and SparsePowerArc (1.2.4)
* Added SignedLogWeight and SignedLogArc (1.2.4)
* Added ExpectationWeight and ExpectationArc (1.2.4)
* Added AStarQueue, PruneQueue and NaturalPruneQueue disciplines (1.2.6)
* Added Log64Weight and Log64Arc to FST library throughout, including
support throughout scripts/bins/dsos (1.2.8)
* Added delayed RandGenFst that outputs tree of paths weighted
by count (1.2.8)
* Added fstsymbols shell-level command
* Added total weight removal option to pushing
* Changed methods for symbol table mutation:
use MutableInputSymbols()/MutableOutputSymbols().
* Numerous efficiency improvements esp in composition, replace, and caching
* Made "fstmap" handle semiring conversion by adding "to_std", "to_log"
and "to_log64" as supported 'map_type' arguments (1.2.8).
* Made the destructive implementation of RmEpsilon skip over states
admitting no non-epsilon incoming transition (1.2.8).
* Fixed numerous bugs (1.2 through 1.2.9) including:
- improper types of some approximation deltas
- sub-optimal hashing functions
- issues in internal reuse of shortest distance
- hashing bug in FloatWeight
- bug in shortest path queue
- symbol table checksumming issues
- various C++ standards issues
- Visit() behavior when visitation aborted
- Decode() hash performance bug (1.2.1)
- EditFst::Copy(bool) method when the boolean parameter is true (1.2.7)
- SymbolTable memory leak in Invert() (1.2.8)
- Added escaping of " and \ in labels in fstdraw, needed for dot to
function properly (1.2.8)
- Fixed handling of final weight of start state in fstpush (1.2.8)
- Added FST_LL_FORMAT to fix 64-bit integer printf issues (1.2.9)
- Fixed missing <functional> includes (1.2.9)
- Fixed reused local variable names (1.2.9)
- Fixed passing string by reference in FstDraw args (1.2.9)
* Added extensions directories including:
- finite-state archive (FAR) utilities,
added stlist format supporting writing/reading to/from standard out/in
at the library-level (1.2.8)
- compact FSTs
- lookahead FSTs
- pushdown transducers (improved in 1.2.1 through 1.2.7).
* Added StateMap/StateMapFst; renamed Map/MapFst to ArcMap/ArcMapFst;
map/MapFst retained (but deprecated) (1.2.9)
* Deleted ArcSum() and ArcMerge; use StateMap w/ ArcSumMapper and
ArcUniqueMapper (1.2.9).
* Incremented version of ConstFst/CompactFsts to stop memory alignment
that fails on pipes. Made old version raises errors when read on
pipes (1.2.9).
* Improved determinize hash (1.2.9)
* Removed stdio uses (1.2.10)
* Fixed library ordering issues esp. with newer GNU build tools (1.2.10)
-Custom variable name for sum/prod, eg. sum(k=1, 10, k) (breaking change)
-Vectors and matrices
-Functions that take vectors: min, max, average, perms, sort,
-length
-Vector comprehensions (experimental)
-Logical and/or/not
-true/false keywords
-mod keyword
-Nested sums and integrals
-Allow piecewise without 'otherwise' branch
-Show estimated fractions when displaying results
-Error handling for built-in functions and operations
-Numerical equation solving using Newton's method
-Result formatted with spaces, eg. 100 000
-Slightly improved formatting of results when using the --precision flag
Remove duplicate line
Upstream changes:
Changes in Version 0.9-40
* bptest() now optionally also accepts a "weights" argument and processes
weighted "lm" objects correctly (suggested by Robert Gulotty).
* The degrees of freedom (df) in the default coeftest() method can now also
be a vector of the same length as the coefficients.
Changes in Version 0.9-39
o Small improvements in handling of "df" attribute in coeftest() methods.
o In case update() is called within the default waldtest() method, it tries
harder to evaluate this in the calling environment (reported by Vincent
Arel-Bundock). This is still not guaranteed to find the right data but
should be more robust than the previous implementation. To avoid any such
issues it is recommended to call waldtest(object1, object2) and fitted
model objects (and not just update formulas).
Changes in Version 0.9-38
o coeftest.default() now includes attributes for "nobs" and "logLik" provided
that nobs() and logLik() extractors are available. This is in order to
facilitate model summaries a la broom::glance for "coeftest" objects
(suggested by Grant McDermott). The attributes can be extracted again
from the coeftest object with nobs() and logLik(), respectively.
o Optionally, the entire original model object x is saved as an attribute
"object" in coeftest(x, save = TRUE). Like nobs/logLik above, this should
also facilitate model summaries.
o waldtest.default() is stricter about detecting non-nestedness of models,
e.g., when under the alternative variables are added but the intercept
dropped.
o waldtest.lm() now uses . ~ 0 as the default reference model if waldtest(object)
tests an object without intercept (suggested by Kevin Tappe).
Upstream changes:
backports 1.4.1
Patched ...names() to match the new implementation in r-devel (svn rev 81283).
backports 1.4.0
Added paste() with support for argument recycle0 for R versions prior to 4.0.1.
Added paste0() with support for argument recycle0 for R versions prior to 4.0.1.
Added backport for ...names() for R versions prior to 4.1.0.
backports 1.3.0
Added backport for stopifnot() for R versions prior to 4.0.0.
Adapted list2DF() to new behaviour introduced in r81038: the inputs are not recycled anymore to common length. Instead, an error is thrown.
It failed with GCC too. There is some bad interaction with py-numpy,
probably related to patch-numpy_core_include_numpy_npy__common.h.
Unbreak the build until I have time to investigate this.
py-numpy-1.22.4's symbol check mechanism does not work for NetBSD
and the other platforms, because gcc and clang calculate trivial math
functions, for example, log1pl() and expm1l(), with immediate arguments,
for example 0. So compiling 'log1pl(0)' is always successful
even if -lm is not added to the compiler's commandline arguments.
Use GNU autotools style check with ugly workaround.
I have no idea about WASM case. However current mechanism will
not work as expected.
Bump PKGREVISION.
Changes in Version 1.8-10
o The transform() method now internally uses a list of zoo series (as opposed
to a data.frame of numeric variables, as used in previous versions). This
means that the transformations can really operate on full zoo series.
o Added MATCH() methods for classes "Date", "POSIXct", and "POSIXlt", all
of which essentially match the underlying numeric vector (suggested by
Kurt Hornik).
o In zooreg() the "ts.eps" argument is now also used (in squares) as the
tolerance in the all.equal() comparisons used to determine the underlying
regular time grid.