Skip to content

Version 24.01

Compare
Choose a tag to compare
@trizen trizen released this 06 Jan 17:13
· 50 commits to master since this release
24.01
2f78041

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) and antidivisor_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 enough n. (8dc1329)
  • Ignore trial-division factors when looking for special factors in Number _factor(n). (30aead5)
  • Minor tweaks in is_almost_prime(n,k) and is_omega_prime(n,k) for slightly better performance. (30f35b6)
  • Slightly better performance in Number is_prob_prime(n) and all_prime(...) for n < 10^1000. (858add2)
  • Optimized Number ipow2(n) and ipow10(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) and is_lucas_carmichael(n). (74c5901, 294f4a3, 25df4d7)

Changes

  • Stringify PolyMod objects as x^k + ... + c (mod m). (6847de6)

Bug-fixes

  • Workaround for a bug in interactive mode. (5930a89)
  • Allow Set and Bag objects to be used as arrays. (3202fad)
  • Minor fix in lucas_factor(n,j,tries) when j is nil. (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 if n is negative and k == 1. (2074f27)

All changes: 23.11...24.01