Version 24.01
Additions
- Added the Number
Num!USE_PFGW
class-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()
,_big2uistr
and_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
PolyMod
objects asx^k + ... + c (mod m)
. (6847de6)
Bug-fixes
- Workaround for a bug in interactive mode. (5930a89)
- Allow
Set
andBag
objects to be used as arrays. (3202fad) - Minor fix in
lucas_factor(n,j,tries)
whenj
isnil
. (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 ifn
is negative andk == 1
. (2074f27)
All changes: 23.11...24.01