Path to this page:
Subject: CVS commit: pkgsrc/math/nickle
From: Thomas Klausner
Date: 2018-12-02 07:49:24
Message id: 20181202064924.A264EFB1F@cvs.NetBSD.org
Log Message:
nickle: update to 2.84.
Bump to version 2.84
Construct a separate case for lexing '0' from other octal numbers
This avoids needing code to identify this case within the octal number
token generation code.
Ignore '_' within numbers so it can be used as a separator
Adopted from languages like Rust where this can be used to group
digits in thousands for base-10 or power of two for base 2,8,16 to
make them easier to read.
123_456_789 = 123456789
0xafff_1212 = 0xafff1212
The patch makes both the lexer and string conversions support this.
Add array initalizer tests
Ignore SIGTTOU/SIGTTIN. Adjust TSTP processing
When run as other than the master of a process group, nickle may not
get all of its work done before the controlling shell takes over the
tty and resets that control group. This means that any processing of
terminal parameters may generate SIGTTOU/SIGTTIN signals, which end up
re-entering the stop function and causing general chaos. Only SIG_IGN
appears to appease the kernel into dealing with this case correctly.
Make assignments to stdin/stdout/stderr affect C code
Use values of these variables in the C code.
Allow repeat initializers in implicit sized arrays for small dimensions
When initializing an implicitly sized multi-dimensional array, permit
repeat initializers ("...") to be used to fill out smaller dimensions.
This is done by requiring that the maximum number of elements in each
dimension be taken from an initalizer without a repeat element.
This also requires allowing repeat initializers to be useful for
resizable arrays, which required a change to the execution machinery
as well.
Remove incorrect tree walking in CompileSizeDimensions
CompileSizeDimensions was incorrectly interpreting the tree structure
for bare value nodes -- it is either passed an ARRAY, or a single
expression value, which can either be a comprehension, an empty
initializer or a simple expression. The simple expression case was
incorrectly looking for a '...' element to the left, which cannot
happen. It further recursed if it hadn't reached the end of the
dimensions, which is pointless as that case will generate an
error when the initializers are compiled later.
Debian-bug: #911926
Bump to version 2.83
debian: Run CI tests from installed location (/usr/share/nickle/test)
Install tests so they can be run later
debian: Bump standards-version to 4.2.1
Sign tarfiles. Check signature in debian/watch file.
debian: Add autopkgtest CI script
debian: Depend on debhelper version 11
debian: Add debian/watch file
Check to make sure debian package is up-to-date with upstream version.
debian: Add hardening flag to debian/rules
debian: Make debian/copyright conform to standard copyright-format
debian: Add Homepage entry in debian/control
debian: Bump compat to 11
debian: Remove trailing whitespace from debian/changelog
test: Remove spurious printf in check_exp test
Spelling fixes in nickle.1.in
expresion → expression
formating → formatting
Add AC_SYS_LARGEFILE to configure.ac
This ensures that the correct macros to get large file support enabled
are included in the config.h file.
Include debian/source/format in tarball
The tarball is used to build the debian package and without this file
the resulting bits have a lintian warning.
Update to version 2.82
Add .gitignore and .dir-locals.el files
Add tests for exp/log which cover a range of precisions
These check log and exp with mathematical identities to see if they
produce reasonable results at a range of precisions.
Add Math::e_value. Fix exp and log precision error.
e_value computes e to any desired precision.
exp was incorrectly truncating the value just before the last
computation step, which caused it to lose significant precision.
log was range-reducing to 0-1 instead of 2-3, which put it outside the
range of rapid convergence. It also needed another newtons method
iteration step.
Use mktime instead of timelocal
timelocal is a glibc alias for mktime and isn't provided by the musl C
library.
Files: