Tomek Czajka
Tomek Czajka
#171 makes sure that memory use is never much larger than required. I think that could be important, especially since sometimes memory gets reused from inputs to outputs for various...
This requires calculating φ(m), Euler's totient function. That is in general a much harder problem than exponentiating, since it requires factoring m into primes. So it's not really an optimization...
This will get fixed by #169.
Would it make sense to also remove other operators (+, *, etc) between BigInt/BigUint and primitive types? This would be consistent with they are not allowed between different primitive types....
For NTT the way I would do it is do modulo 3 or 4 small (BigDigit-size) primes at the same time, the primes determined at compile time, and then reconstruct...
The problem with how `PartialEq` conditions have been changed is that now it contradicts the statement that `PartialEq` implements [partial equivalence relations](https://en.wikipedia.org/wiki/Partial_equivalence_relation). See this [IRLO thread](https://internals.rust-lang.org/t/musings-on-partialeq/17577/6). Example code from the...
> We should probably clarify the docs to say that "if T == U, then these rules imply that the relation is a PER". Agreed! But what is the value...
> But note that if you made this choice, your example would be a PER, since `T` and `U` are disjoint. (Rust enum types are nominal, so mathematically `A::A1` and...
> The symmetric difference is `T\U ∪ U\T`. Yes, and when `T` and `U` are disjoint, that is the same thing as `T ∪ U`, since `T\U == T` and...
> But anyway, your ad-hoc extension of PERs to heterogeneous types It's not "my ad-hoc extension" -- before #81198 it was actually required by the docs.