-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathBOperation.h
More file actions
107 lines (84 loc) · 1.8 KB
/
BOperation.h
File metadata and controls
107 lines (84 loc) · 1.8 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
/*
* BOperation.h
*
* Created on: 15 nov. 2020
* Author: DoHITB under MIT License
*/
#ifndef BOPERATION_H_
#define BOPERATION_H_
#include "BigInteger.h"
#include "BigDouble.h"
typedef struct memory {
//add
void* vt;
//sub
void* stmp;
//mul
void* mpart;
void* mret;
void* mzero;
void* mone;
void* mtmp;
//dvs
void* done;
void* dtmp;
void* dret;
void* dTemp;
void* biTemp;
//nqrt
void* sret;
void* sraw;
void* sbase;
void* szero;
//bipow
void* bres;
void* btmp;
//append
void* aaux;
//BIT
void* biBIT;
//cal2op
void* a;
void* b;
} memory;
typedef struct operation {
void* va;
void* vb;
void* m;
int* ret;
char op;
} operation;
//Generales
void showError(int k);
void toString(void *vb, char* dst);
void clean(void *va);
void iniStr(char** dst);
static char getKind(void* a);
static void adjustData(void* va, int offset, int up);
void equals(void* va, void* vb, void* m, int* ret);
void init(void** m);
size_t getMemorySize();
static void rePos(void* va);
static void decimalize(void* va);
//Suma
void add(void* va, void* vb, void* m);
//Resta
void sub(void* va, void* vb, void* m);
//Multiplicación
void mul(void *va, void *vb, void* m);
//División
void dvs(void *va, void *vb, void* m);
//Raíz Cuadrada
void nqrt(void* va, int n, void* m);
//Potencia
void bipow(void *va, int p, void* m);
//Operación por lotes
//void operate(int count, ...);
//Utilidades
void biSig(void* va);
void BI2BD(void* dst, void* src);
//Cálculo
static void cal2op(void* va, void* vb, void* m, char k, int* ret);
static void dummyOp1(void* da, void* db, void* m);
static void dummyOp2(void* da, void* db, int* di);
#endif /* BOPERATION_H_ */