feat(big): add SBigIsOne

This commit is contained in:
Adam Heinermann 2024-11-15 08:35:42 -08:00 committed by fallenoak
parent bc5a6656d8
commit 4b9709e32d
5 changed files with 29 additions and 0 deletions

View file

@ -220,6 +220,11 @@ int32_t IsOdd(const BigBuffer &num) {
return num.Count() != 0 && (num[0] & 1) != 0;
}
int32_t IsOne(const BigBuffer &num) {
num.Trim();
return num.Count() == 1 && num[0] == 1;
}
uint64_t MakeLarge(uint32_t low, uint32_t high) {
return low + (static_cast<uint64_t>(high) << 32);
}

View file

@ -37,6 +37,8 @@ int32_t IsEven(const BigBuffer &num);
int32_t IsOdd(const BigBuffer &num);
int32_t IsOne(const BigBuffer &num);
uint64_t MakeLarge(uint32_t low, uint32_t high);
void Mul(BigBuffer& a, const BigBuffer& b, uint64_t c);