Version 23.08
Additions
- Added the
Num!USE_PRIMESUMclass-variable. (disabled by default) (28e2ac3) - Added the Number
lpf_sum(a,b)method. (9c70da2) - Added the Number
gpf_sum(a,b)method. (096ead5) - Added the Number
k.squarefree_almost_prime_sum(a,b)method. (601bb75) - Added the Number
k.almost_prime_sum(a,b)method. (6b1d971) - Added the Number
prime_power_sum(n)method. (90d77d9) - Added the Number
k.omega_prime_sum(a,b)method. (d238139) - Added the Number
k.power_count(a,b)andk.power_sum(a,b)methods. (19cd8c9) - Added the Number
perfect_power_sum(n)method. (c799a1c) - Added the Number
nth_perfect_power(n)method. (ab462f6) - Added the Number
next_perfect_power(n,k=nil)andprev_perfect_power(n,k=nil)methods. (5c195e3) - Added the Number
prev_prime_power(n)method. (e51de62) - Added the Number
n.prev_omega_prime(k=2)method. (44c3723) - Added the Number
prev_semiprime(n)method. (ad8928b) - Added the Number
prev_almost_prime(n,k)method. (ad8928b) - Added the Number
prev_squarefree(n)method. (cb6917d) - Added the Number
next_squarefree_semiprime(n)method. (a6e26d0) - Added the Number
n.prev_powerfree(k=2)method. (8457fd4) - Added the Number
n.prev_powerful(k=2)method. (8d4907f) - Added the Number
n.prev_squarefree_semiprimemethod. (6da4bba) - Added the Number
n.prev_squarefree_almost_prime(k=2)method. (6da4bba) - Added the Number
nth_nonpowerfree(n,k)method. (6cc777f) - Added the Number
next_nonpowerfree(n,k=2)andprev_nonpowerfree(n,k=2)methods. (809aa9b) - Added the Number
muladdmulmod(a, b, c, d, m)andmulsubmulmod(a, b, c, d, m)methods. (9e230f4) - Added the Number
muladdmod(a,b,c,m),mulsubmod(a,b,c,m)andsubmulmod(a,b,c,m)methods. (d50ffde) - Added several
cube_*andcubefree_*aliases for3.power_*and3.powerfree_. (bb0784e) - Added the FileHandle
.rewindmethod. (3b40438) - Added the String
.codesmethod. (6da6122) - Added the Range
.sort {|a,b| ... }and.sort_by {|v| ... }methods. (1eacc45)
Improvements
- Extended the Number
fibmodmethod to accept 3 arguments. (b79e09d) - Extended
expnorm(n,b)to accept any value for baseb, including a complex number. (b79e09d) - Use
primecount --phiin Numberk.rough_count(n)whenNum!USE_PRIMECOUNTis enabled. (28e2ac3) - Extended
cop_factor(n)to potentially find more factors. (a2cdf75) - Allow the Number
gammamethod to be called asNum.gamma, returning the Euler-Mascheroni constant. (b79e09d) - Added a few more terms in the lookup table for
mertens(2**n)andmertens(2**n). (e9ebca0) - bin/sidef: added the
faithrounding option for-M, which does faithful rounding (withmpfr >= 4.0.0). (fde163a) - Better performance in
is_omega_prime(n,k)andis_almost_prime(n,k)for largen. (abc0c1e) Num(str, base)now returns a blessed native integer, when possible. (47aa40a)- Added a few more terms in the Number
almost_prime_count()lookup tables. (56b16a3) - Better performance in Number
nth_almost_prime(n,k)when the result doesn't fit inside a native integer. (b6afa3d) - Better performance in Number
k.almost_primes(a,b)andk.omega_prime_count(a,b)when the GitHub version of Math::Prime::Util is installed. - Better performance in Number
fibonacci(n,k)fork >= 3and large enoughn. (bf9f8b9) - Added internal cache inside the Number
_is_prob_primeinternal function. (7697083)
Changes
- Renamed the Number
k.non_powerfree(a,b)method tok.nonpowerfree(a,b). (384eb06) - Reimplemented the Array and String
.slice(offset, length)methods. (68d11ff, 11887b8, 724882e) - Renamed the Number
.partitionsmethod to.partition_count, which better reflects what it returns. (34c2fc9) - Renamed the Number
*squareful*and*cubeful*methods to*squarefull*and*cubefull*respectively. (5433491)
Bug-fixes
- Added a better defined Array
.ft(i,j)method. (724882e) - Fixed the
helpcommand inside the REPL. (efa54f1) - Fixed the code generation for a hash-lookup applied on the result of a prefix method-call. (4575600)
- Fixed a bug in Number
divmod(a,b,m)introduced in version22.05, whenais evenly divisible byb. (48fcbbe)
All changes: 23.05...23.08