Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
optimize several functions in Arith:
mulpow for small baseslog2 and log2sup (5x faster)log and logsup for bases 2, 16, 64, 10, 60valuation_of_2number_of_bits_set (7x faster)Arith.mul_quo (renamed to mul_equo) and Arith.gcdextArith.gcdext return minimal coefficientsArith.sdivArith.mul_{ediv,erem}Arith.{gcd,gcdext,lcm}_of_seqadd functions related to integer powers and roots:
Arith.isqrt_if_squareArith.is_powArith.is_pow2Arith.kth_rootArith.is_kth_powArith.smallest_rootadd some classical arithmetic functions whose computation uses factorization:
Primes.divisor_pairsPrimes.sum_of_divisorsPrimes.jordanPrimes.carmichaelPrimes.mobiusPrimes.derivativePrimes.order, Primes.order_with_known_multiple, Primes.order_mod_prime_powPrimes.factors now performs some iterations of Fermat’s factor searchingBREAKING: rename sequence-related functions:
Arith.sum_seq -> sum_of_seqArith.prod_seq -> prod_of_seqPrimes.prime_seq -> gen_primesPrimes.primes -> iter_primesBREAKING: rename logarithm functions:
Arith.log -> Arith.ilogArith.log2 -> Arith.ilog2Arith.logsup -> Arith.ilogsupArith.log2sup -> Arith.ilog2supArith.mul_quo to mul_equoArith.( ** ) for integer exponentiationArith.range_down not being exposed in the interfacePrimes.prime_seq