Commit 38ee512a25

Jacob Young <jacobly0@users.noreply.github.com>
2022-10-12 14:18:47
math.big.int: add `calcLimbLen` doc comment note
When trying to allocate memory for functions like `Managed.init` and `Managed.set` on the stack, a comptime-known allocation size is desired. The doc comments for these functions indicate that `calcLimbLen` can be used to determine how many limbs to allocate, but if `value` is not comptime-known, then neither is `calcLimbLen(value)`. However, an upper bound on the allocation size is still computable at comptime in this case, so this note documents an expression that can be used, rather than trying to add it to every doc comment that mentions `calcLimbLen`.
1 parent 2fe5bdb
Changed files (1)
lib
std
math
lib/std/math/big/int.zig
@@ -21,6 +21,9 @@ const debug_safety = false;
 
 /// Returns the number of limbs needed to store `scalar`, which must be a
 /// primitive integer value.
+/// Note: A comptime-known upper bound of this value that may be used
+/// instead if `scalar` is not already comptime-known is
+/// `calcTwosCompLimbCount(@typeInfo(@TypeOf(scalar)).Int.bits)`
 pub fn calcLimbLen(scalar: anytype) usize {
     if (scalar == 0) {
         return 1;