2023-01-29 11:48:18 -06:00
|
|
|
#ifndef STORM_BIG_HPP
|
|
|
|
|
#define STORM_BIG_HPP
|
|
|
|
|
|
|
|
|
|
#include "storm/big/BigData.hpp"
|
|
|
|
|
#include <cstdint>
|
|
|
|
|
|
2023-01-29 22:12:59 -06:00
|
|
|
void SBigAdd(BigData* a, BigData* b, BigData* c);
|
|
|
|
|
|
2023-02-01 22:54:33 -06:00
|
|
|
void SBigBitLen(BigData* num, uint32_t* len);
|
|
|
|
|
|
2023-02-01 22:16:58 -06:00
|
|
|
int32_t SBigCompare(BigData* a, BigData* b);
|
|
|
|
|
|
2023-01-29 20:14:01 -06:00
|
|
|
void SBigDel(BigData* num);
|
|
|
|
|
|
2023-01-29 20:37:09 -06:00
|
|
|
void SBigFromBinary(BigData* num, const void* data, uint32_t bytes);
|
|
|
|
|
|
2023-01-29 11:48:18 -06:00
|
|
|
void SBigFromUnsigned(BigData* num, uint32_t val);
|
|
|
|
|
|
2023-02-04 14:03:45 -06:00
|
|
|
void SBigMod(BigData* a, BigData* b, BigData* c);
|
|
|
|
|
|
2023-01-30 00:10:52 -06:00
|
|
|
void SBigMul(BigData* a, BigData* b, BigData* c);
|
|
|
|
|
|
2023-01-29 11:48:18 -06:00
|
|
|
void SBigNew(BigData** num);
|
|
|
|
|
|
2023-02-05 16:36:38 -06:00
|
|
|
void SBigPowMod(BigData* a, BigData* b, BigData* c, BigData* d);
|
|
|
|
|
|
2023-02-03 16:20:07 -06:00
|
|
|
void SBigShl(BigData* a, BigData* b, uint32_t shift);
|
|
|
|
|
|
2023-02-03 14:50:34 -06:00
|
|
|
void SBigShr(BigData* a, BigData* b, uint32_t shift);
|
|
|
|
|
|
2023-02-03 08:15:06 -06:00
|
|
|
void SBigSquare(BigData* a, BigData* b);
|
|
|
|
|
|
2023-02-01 21:29:16 -06:00
|
|
|
void SBigSub(BigData* a, BigData* b, BigData* c);
|
|
|
|
|
|
2023-01-29 11:48:18 -06:00
|
|
|
void SBigToBinaryBuffer(BigData* num, uint8_t* data, uint32_t maxBytes, uint32_t* bytes);
|
|
|
|
|
|
|
|
|
|
#endif
|