|
Agena v. 6.4.5 (21/11/2025, Alexander Walz) |
Readme/What's new |
agena >>
`The Power of Procedural Programming`
6.4.5 Catoosa, November 21, 2025
- `gamma` has been extended to compute the upper incomplete Gamma function when given two arguments.
- New `calc.lambertw` approximates the Lambert W functions.
- `calc.Ei`, which computes the exponential integral, has been extended and can now compute the generalized exponential integral.
- The accuracy of `calc.Ei` and `calc.Ein` has been significantly improved with negative arguments.
- New `calc.Li` computes the logarithmic integral, calc.Li(x) = calc.Ei(ln(x)). It provides an approximation to the number of
primes less than x.
- The functionality of `calc.zeta2` has been integrated into `calc.zeta`. `calc.zeta2` has been removed but an alias has been
provided to ensure backward compatibility.
- `calc.polylog` in parts returned wrong results. This has been fixed.
- calc.polylog(0, 1) and calc.zeta(1) now return `undefined` instead of `infinity`.
- calc.harmonic(0) now correctly returns `undefined` instead of zero.
- Tweaked `modp` a bit.
- `hashes.murmur2` and `hashes.murmur3` now accept an optional third argument for the seed.
- New `hashes.murmur1` computes MarmurHash1.
- New `hashes.murmur3128x86` uses a MurmurHash3-based algorithm optimised for 32-bit platforms.
- Added aliases for the Maple functions csgn(), dilog(), evalf(), evalhf(), factorial(), Heaviside(), Re() and Im(), GAMMA() and
lnGAMMA(), dilog(), LambertW(), Li(), pochhammer(), polylog(), Psi(), Shi(), Si(), Ssi(), surd() to the `maple` package.
The wrong implementation of modp() has been removed from the `maple` package, as the correctly working version has become
part of the base library.
- The regression tests have been extended. |
|
Agena v. 4.12.5 (20/5/2025, Alexander Walz) |
Readme/What's new |
4.12.5 Merryville, May 20, 2025
- In the past, the bitshift operators <<< (left shift), >>> (right shift), <<<< (left rotation) and >>>> (right rotation) had different behaviour across platforms when a number at or beyond the +/-2^32 threshold has been processed. This has been changed and the results in these situations are now the same.
Likewise, `bytes.numto32` is now returning the same results on all platforms when casting a value at or beyond the +/-2^32 border.
This also benefits various functions in the `hashes` package as their returns are now the same across platforms, as well.
To check the new underflow or overflow behaviour, use `math.wrap`.
- New function `math.fmod` works and returns the same result as the binary `symmod` operator. It has just been added to facilitate porting C code to Agena.
- The results of `hashes.mix`, `hashes.crc32`, `hashes.crc8`, `hashes.reflect`, `hashes.parity`, `hashes.fibmod`, `hashes.interweave`, `hashes.jinteger` may now be different with out-of-range input, that is with arguments at or beyond the 2^32 threshold, depending on your platform. |
Commenti
Alexander Walz
Sab, 13/05/2017 - 20:06
Collegamento permanente
Hello,
Aggiungi un commento