Function llcmp [src]
Returns -1, 0, 1 if |a| < |b|, |a| == |b| or |a| > |b| respectively for limbs.
Prototype
pub fn llcmp(a: []const Limb, b: []const Limb) i8
Parameters
a: []const Limb
b: []const Limb
Source
pub fn llcmp(a: []const Limb, b: []const Limb) i8 {
@setRuntimeSafety(debug_safety);
const a_len = llnormalize(a);
const b_len = llnormalize(b);
if (a_len < b_len) {
return -1;
}
if (a_len > b_len) {
return 1;
}
var i: usize = a_len - 1;
while (i != 0) : (i -= 1) {
if (a[i] != b[i]) {
break;
}
}
if (a[i] < b[i]) {
return -1;
} else if (a[i] > b[i]) {
return 1;
} else {
return 0;
}
}