Phasor 3.3.0
Stack VM based Programming Language
Loading...
Searching...
No Matches
arithmetic.c
Go to the documentation of this file.
1#include "../arithmetic.h"
2#include <math.h>
3
4int64_t asm_iadd(int64_t a, int64_t b)
5{
6 return a + b;
7}
8double asm_fladd(double a, double b)
9{
10 return a + b;
11}
12
13int64_t asm_isub(int64_t a, int64_t b)
14{
15 return a - b;
16}
17double asm_flsub(double a, double b)
18{
19 return a - b;
20}
21
22int64_t asm_imul(int64_t a, int64_t b)
23{
24 return a * b;
25}
26double asm_flmul(double a, double b)
27{
28 return a * b;
29}
30
31int64_t asm_ineg(int64_t a)
32{
33 return -a;
34}
35
36double asm_flneg(double a)
37{
38 return -a;
39}
40
41int64_t asm_idiv(int64_t a, int64_t b)
42{
43 if (b == 0)
44 {
45 return 0;
46 }
47 return a / b;
48}
49double asm_fldiv(double a, double b)
50{
51 return a / b;
52}
53
54int64_t asm_imod(int64_t a, int64_t b)
55{
56 return a % b;
57}
58double asm_flmod(double a, double b)
59{
60 return fmod(a, b);
61}
62
63double asm_sqrt(double a)
64{
65 return sqrt(a);
66}
67
68double asm_pow(double a, double b)
69{
70 return pow(a, b);
71}
72
73double asm_log(double a)
74{
75 return log(a);
76}
77
78double asm_exp(double a)
79{
80 return exp(a);
81}
82
83double asm_sin(double a)
84{
85 return sin(a);
86}
87
88double asm_cos(double a)
89{
90 return cos(a);
91}
92
93double asm_tan(double a)
94{
95 return tan(a);
96}
double asm_tan(double a)
Native tangent.
Definition arithmetic.c:93
double asm_log(double a)
Native natural logarithm.
Definition arithmetic.c:73
int64_t asm_isub(int64_t a, int64_t b)
Native subtraction.
Definition arithmetic.c:13
double asm_flmod(double a, double b)
Definition arithmetic.c:58
int64_t asm_ineg(int64_t a)
Definition arithmetic.c:31
double asm_sqrt(double a)
Native square root.
Definition arithmetic.c:63
double asm_fladd(double a, double b)
Definition arithmetic.c:8
double asm_sin(double a)
Native sine.
Definition arithmetic.c:83
int64_t asm_imod(int64_t a, int64_t b)
Native modulus.
Definition arithmetic.c:54
int64_t asm_idiv(int64_t a, int64_t b)
Native division.
Definition arithmetic.c:41
double asm_fldiv(double a, double b)
Definition arithmetic.c:49
double asm_flsub(double a, double b)
Definition arithmetic.c:17
int64_t asm_iadd(int64_t a, int64_t b)
Native addition.
Definition arithmetic.c:4
double asm_exp(double a)
Native exponential.
Definition arithmetic.c:78
double asm_flneg(double a)
Native negation.
Definition arithmetic.c:36
double asm_cos(double a)
Native cosine.
Definition arithmetic.c:88
int64_t asm_imul(int64_t a, int64_t b)
Native multiplication.
Definition arithmetic.c:22
double asm_flmul(double a, double b)
Definition arithmetic.c:26
double asm_pow(double a, double b)
Native power.
Definition arithmetic.c:68