-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBigInt_CDLL.h
More file actions
28 lines (24 loc) · 968 Bytes
/
BigInt_CDLL.h
File metadata and controls
28 lines (24 loc) · 968 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once
#define DLLCALL _declspec(dllimport)
struct BigInt;
struct StringData;
#ifdef __cplusplus
extern "C"
{
#endif
DLLCALL BigInt* BigInt_CreateFromString(const char* str);
DLLCALL BigInt* BigInt_CreateFromInt(long long ll);
DLLCALL void BigInt_Delete(BigInt* bi);
DLLCALL BigInt* BigInt_Add(const BigInt* lhs, const BigInt* rhs);
DLLCALL BigInt* BigInt_Multiply(const BigInt* lhs, const BigInt* rhs);
DLLCALL BigInt* BigInt_Power(const BigInt* lhs, const BigInt* rhs);
DLLCALL BigInt* BigInt_Subtract(const BigInt* lhs, const BigInt* rhs);
DLLCALL BigInt* BigInt_Divide(const BigInt* lhs, const BigInt* rhs, BigInt* mod);
DLLCALL BigInt* BigInt_ChangeSign(const BigInt* val);
DLLCALL BigInt* BigInt_Sqrt(const BigInt* val);
DLLCALL int BigInt_Compare(const BigInt* lhs, const BigInt* rhs);
DLLCALL StringData* BigInt_ToString(const BigInt* lhs, const char** pStr);
DLLCALL void BigInt_FreeString(StringData* str);
#ifdef __cplusplus
}
#endif