2023-01-29 11:48:18 -06:00
|
|
|
#ifndef STORM_BIG_HPP
|
|
|
|
|
#define STORM_BIG_HPP
|
|
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
#include "Core.hpp"
|
2023-01-29 11:48:18 -06:00
|
|
|
|
2025-10-24 10:57:16 -07:00
|
|
|
class BigData;
|
|
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigAdd(BigData* a, BigData* b, BigData* c);
|
2023-01-29 22:12:59 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigAnd(BigData* a, BigData* b, BigData* c);
|
2024-11-15 00:57:52 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigBitLen(BigData* num, uint32_t* len);
|
2023-02-01 22:54:33 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
int32_t STORMAPI SBigCompare(BigData* a, BigData* b);
|
2023-02-01 22:16:58 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigCopy(BigData* a, BigData* b);
|
2024-11-15 01:20:08 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigDec(BigData* a, BigData* b);
|
2024-11-15 03:22:16 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigDel(BigData* num);
|
2023-01-29 20:14:01 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigDiv(BigData* a, BigData* b, BigData* c);
|
2024-11-15 07:52:35 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigFromBinary(BigData* num, const void* data, uint32_t bytes);
|
2023-01-29 20:37:09 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigFromStr(BigData* num, const char* str);
|
2024-11-15 03:50:22 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigFromUnsigned(BigData* num, uint32_t val);
|
2023-01-29 11:48:18 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigInc(BigData* a, BigData* b);
|
2024-11-15 04:00:22 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
int32_t STORMAPI SBigIsEven(BigData* a);
|
2024-11-15 08:27:03 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
int32_t STORMAPI SBigIsOdd(BigData* a);
|
2024-11-15 08:31:27 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
int32_t STORMAPI SBigIsOne(BigData* a);
|
2024-11-15 08:35:42 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
int32_t STORMAPI SBigIsZero(BigData* a);
|
2024-11-15 08:38:56 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigMod(BigData* a, BigData* b, BigData* c);
|
2023-02-04 14:03:45 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigMul(BigData* a, BigData* b, BigData* c);
|
2023-01-30 00:10:52 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigNew(BigData** num);
|
2023-01-29 11:48:18 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigNot(BigData* a, BigData* b);
|
2024-11-15 09:01:26 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigOr(BigData* a, BigData* b, BigData* c);
|
2024-11-15 09:26:28 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigPowMod(BigData* a, BigData* b, BigData* c, BigData* d);
|
2023-02-05 16:36:38 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigShl(BigData* a, BigData* b, uint32_t shift);
|
2023-02-03 16:20:07 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigShr(BigData* a, BigData* b, uint32_t shift);
|
2023-02-03 14:50:34 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigSquare(BigData* a, BigData* b);
|
2023-02-03 08:15:06 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigSub(BigData* a, BigData* b, BigData* c);
|
2023-02-01 21:29:16 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigToBinaryBuffer(BigData* num, uint8_t* data, uint32_t maxBytes, uint32_t* bytes);
|
2023-01-29 11:48:18 -06:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigXor(BigData* a, BigData* b, BigData* c);
|
2024-11-17 03:28:44 -08:00
|
|
|
|
2025-10-05 20:27:01 -07:00
|
|
|
void STORMAPI SBigToUnsigned(BigData* num, uint32_t* val);
|
2024-11-17 04:02:44 -08:00
|
|
|
|
2023-01-29 11:48:18 -06:00
|
|
|
#endif
|