Function divFloor [src]

q = a / b (rem r) a / b are floored (rounded towards 0). Returns an error if memory could not be allocated.

Prototype

pub fn divFloor(q: *Managed, r: *Managed, a: *const Managed, b: *const Managed) !void

Parameters

q: *Managedr: *Manageda: *const Managedb: *const Managed

Source

pub fn divFloor(q: *Managed, r: *Managed, a: *const Managed, b: *const Managed) !void { try q.ensureCapacity(a.len()); try r.ensureCapacity(b.len()); var mq = q.toMutable(); var mr = r.toMutable(); const limbs_buffer = try q.allocator.alloc(Limb, calcDivLimbsBufferLen(a.len(), b.len())); defer q.allocator.free(limbs_buffer); mq.divFloor(&mr, a.toConst(), b.toConst(), limbs_buffer); q.setMetadata(mq.positive, mq.len); r.setMetadata(mr.positive, mr.len); }