Version 24.01
Additions
- Added the Number
Num!USE_PFGWclass-variable. (disabled by default) (04e7c13, 65ee349) - Added the Number
znlog(a, g, m)method. (c9ba93e) - Added the Number
geometric_summod(n, r, m)method. (fe5852e) - Added the Number
centered_pyramidal(n,k)method. (0f76bd9) - Added the Number
centered_pyramidal_root(n,k)method. (0f76bd9) - Added the Number
antidivisors(n)andantidivisor_count(n)methods. (c733f79) - Added the Number
antidivisor_sum(n)method. (d8d9ca3) - Added the Number
pisano_period(n)method. (2b750d7) - Added the Number
solve_quadratic_form(d, n)method. (de88fe0) - Added the Number
smod(a, m)method. (aa825ef) - Added the Number
germain_factor(n)method. (ac72a2b) - Added the Block
{ ... }.nest(n, initial_value=0)method. (f904fc4) - Added the Array
.summod(m)and.prodmod(m)methods. (12dc78b) - REPL: added support for executing a Sidef script in interactive mode (
-i). (f1c1848)
Improvements
- Much faster generation of Carmichael and Lucas-Carmichael numbers with few prime factors. (6925ddc)
- Slightly better performance in generating native pseudoprimes. (426346e)
- Optimized Number
idiv_ceil(a,b)for native positive integers. (0a9cd66) - Slightly faster generation of pseudoprimes (Carmichael, Lucas-Carmichal and Fermat). (0a9cd66)
- Call
_primality_pretest(n)from_is_prob_prime(n)for large enoughn. (8dc1329) - Ignore trial-division factors when looking for special factors in Number
_factor(n). (30aead5) - Minor tweaks in
is_almost_prime(n,k)andis_omega_prime(n,k)for slightly better performance. (30f35b6) - Slightly better performance in Number
is_prob_prime(n)andall_prime(...)forn < 10^1000. (858add2) - Optimized Number
ipow2(n)andipow10(n)when the result is a native integer. (b787581) - Optimized Number
n.remove(k)for native integers. (d99908c) - Less overhead in Number
_big2istr(),_big2uistrand_big2pistr()private functions. (164425c) - Slightly better performance in Number
is_mersenne_prime. (038de75) - Optimized Number
factorial_valuation(n,p)for native integers. (67377c2) - Several optimizations in the Number class for native integers. (204dc7d)
- Better performance in Number
is_carmichael(n)andis_lucas_carmichael(n). (74c5901, 294f4a3, 25df4d7)
Changes
- Stringify
PolyModobjects asx^k + ... + c (mod m). (6847de6)
Bug-fixes
- Workaround for a bug in interactive mode. (5930a89)
- Allow
SetandBagobjects to be used as arrays. (3202fad) - Minor fix in
lucas_factor(n,j,tries)whenjisnil. (25327ca) - REPL: add typed words to auto-completion only when the code is valid. (731abe5)
- REPL: allow variable declarations in interactive mode to contain empty lines. (1e97aae)
- REPL: allow lines to extend over multiple lines, by using the backslash (
\) character. (5930a89) - Fixed a minor issue in Number
is_powerful(n,k): return false ifnis negative andk == 1. (2074f27)
All changes: 23.11...24.01