mirror of
https://github.com/thunderbrewhq/squall.git
synced 2025-12-12 02:22:30 +00:00
feat(big): add SBigMod
This commit is contained in:
parent
8845aa5a7f
commit
a597e8f495
3 changed files with 103 additions and 0 deletions
|
|
@ -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();
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue