| ... | ... | @@ -2719,7 +2719,7 @@ pub const Managed = struct { |
| 2719 | 2719 | /// |
| 2720 | 2720 | /// Returns an error if memory could not be allocated. |
| 2721 | 2721 | pub fn sub(r: *Managed, a: *const Managed, b: *const Managed) !void { |
| 2722 | | try r.ensureCapacity(math.max(a.limbs.len, b.limbs.len) + 1); |
| 2722 | try r.ensureCapacity(math.max(a.len(), b.len()) + 1); |
| 2723 | 2723 | var m = r.toMutable(); |
| 2724 | 2724 | m.sub(a.toConst(), b.toConst()); |
| 2725 | 2725 | r.setMetadata(m.positive, m.len); |
| ... | ... | @@ -2780,7 +2780,7 @@ pub const Managed = struct { |
| 2780 | 2780 | if (alias_count == 0) { |
| 2781 | 2781 | m.mulNoAlias(a.toConst(), b.toConst(), rma.allocator); |
| 2782 | 2782 | } else { |
| 2783 | | const limb_count = calcMulLimbsBufferLen(a.limbs.len, b.limbs.len, alias_count); |
| 2783 | const limb_count = calcMulLimbsBufferLen(a.len(), b.len(), alias_count); |
| 2784 | 2784 | const limbs_buffer = try rma.allocator.alloc(Limb, limb_count); |
| 2785 | 2785 | defer rma.allocator.free(limbs_buffer); |
| 2786 | 2786 | m.mul(a.toConst(), b.toConst(), limbs_buffer, rma.allocator); |
| ... | ... | @@ -2813,7 +2813,7 @@ pub const Managed = struct { |
| 2813 | 2813 | if (alias_count == 0) { |
| 2814 | 2814 | m.mulWrapNoAlias(a.toConst(), b.toConst(), signedness, bit_count, rma.allocator); |
| 2815 | 2815 | } else { |
| 2816 | | const limb_count = calcMulWrapLimbsBufferLen(bit_count, a.limbs.len, b.limbs.len, alias_count); |
| 2816 | const limb_count = calcMulWrapLimbsBufferLen(bit_count, a.len(), b.len(), alias_count); |
| 2817 | 2817 | const limbs_buffer = try rma.allocator.alloc(Limb, limb_count); |
| 2818 | 2818 | defer rma.allocator.free(limbs_buffer); |
| 2819 | 2819 | m.mulWrap(a.toConst(), b.toConst(), signedness, bit_count, limbs_buffer, rma.allocator); |
| ... | ... | @@ -2843,11 +2843,11 @@ pub const Managed = struct { |
| 2843 | 2843 | /// |
| 2844 | 2844 | /// Returns an error if memory could not be allocated. |
| 2845 | 2845 | pub fn divFloor(q: *Managed, r: *Managed, a: *const Managed, b: *const Managed) !void { |
| 2846 | | try q.ensureCapacity(a.limbs.len); |
| 2847 | | try r.ensureCapacity(b.limbs.len); |
| 2846 | try q.ensureCapacity(a.len()); |
| 2847 | try r.ensureCapacity(b.len()); |
| 2848 | 2848 | var mq = q.toMutable(); |
| 2849 | 2849 | var mr = r.toMutable(); |
| 2850 | | const limbs_buffer = try q.allocator.alloc(Limb, calcDivLimbsBufferLen(a.limbs.len, b.limbs.len)); |
| 2850 | const limbs_buffer = try q.allocator.alloc(Limb, calcDivLimbsBufferLen(a.len(), b.len())); |
| 2851 | 2851 | defer q.allocator.free(limbs_buffer); |
| 2852 | 2852 | mq.divFloor(&mr, a.toConst(), b.toConst(), limbs_buffer); |
| 2853 | 2853 | q.setMetadata(mq.positive, mq.len); |
| ... | ... | @@ -2860,11 +2860,11 @@ pub const Managed = struct { |
| 2860 | 2860 | /// |
| 2861 | 2861 | /// Returns an error if memory could not be allocated. |
| 2862 | 2862 | pub fn divTrunc(q: *Managed, r: *Managed, a: *const Managed, b: *const Managed) !void { |
| 2863 | | try q.ensureCapacity(a.limbs.len); |
| 2864 | | try r.ensureCapacity(b.limbs.len); |
| 2863 | try q.ensureCapacity(a.len()); |
| 2864 | try r.ensureCapacity(b.len()); |
| 2865 | 2865 | var mq = q.toMutable(); |
| 2866 | 2866 | var mr = r.toMutable(); |
| 2867 | | const limbs_buffer = try q.allocator.alloc(Limb, calcDivLimbsBufferLen(a.limbs.len, b.limbs.len)); |
| 2867 | const limbs_buffer = try q.allocator.alloc(Limb, calcDivLimbsBufferLen(a.len(), b.len())); |
| 2868 | 2868 | defer q.allocator.free(limbs_buffer); |
| 2869 | 2869 | mq.divTrunc(&mr, a.toConst(), b.toConst(), limbs_buffer); |
| 2870 | 2870 | q.setMetadata(mq.positive, mq.len); |
| ... | ... | @@ -2960,7 +2960,7 @@ pub const Managed = struct { |
| 2960 | 2960 | |
| 2961 | 2961 | /// r = a * a |
| 2962 | 2962 | pub fn sqr(rma: *Managed, a: *const Managed) !void { |
| 2963 | | const needed_limbs = 2 * a.limbs.len + 1; |
| 2963 | const needed_limbs = 2 * a.len() + 1; |
| 2964 | 2964 | |
| 2965 | 2965 | if (rma.limbs.ptr == a.limbs.ptr) { |
| 2966 | 2966 | var m = try Managed.initCapacity(rma.allocator, needed_limbs); |