feat(big): add SBigMod

This commit is contained in:
fallenoak 2023-02-04 14:03:45 -06:00
parent 8845aa5a7f
commit a597e8f495
No known key found for this signature in database
GPG key ID: 7628F8E61AEA070D
3 changed files with 103 additions and 0 deletions

View file

@ -40,6 +40,15 @@ void SBigFromUnsigned(BigData* num, uint32_t val) {
FromUnsigned(num->Primary(), val);
}
void SBigMod(BigData* a, BigData* b, BigData* c) {
uint32_t allocCount = 0;
auto& scratch = a->Stack().Alloc(&allocCount);
Div(scratch, a->Primary(), b->Primary(), c->Primary(), a->Stack());
a->Stack().Free(allocCount);
}
void SBigNew(BigData** num) {
auto m = SMemAlloc(sizeof(BigData), __FILE__, __LINE__, 0x0);
*num = new (m) BigData();

View file

@ -16,6 +16,8 @@ void SBigFromBinary(BigData* num, const void* data, uint32_t bytes);
void SBigFromUnsigned(BigData* num, uint32_t val);
void SBigMod(BigData* a, BigData* b, BigData* c);
void SBigMul(BigData* a, BigData* b, BigData* c);
void SBigNew(BigData** num);