Skip to content
This repository was archived by the owner on Nov 22, 2025. It is now read-only.

Commit 8f0ee7e

Browse files
lots of changes
1 parent bd2a58b commit 8f0ee7e

File tree

21 files changed

+316
-313
lines changed

21 files changed

+316
-313
lines changed

alloc/alloc.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#include "br.h"
22

3-
BRUTER_FUNCTION(_alloc_set_byte)
3+
BR_FUNCTION(_alloc_set_byte)
44
{
5-
uint8_t *allocd = BR_ARG(0).p;
6-
BruterInt index = BR_ARG(1).i;
7-
uint8_t value = BR_ARG(2).i;
5+
uint8_t *allocd = br_arg(context, args, 0).p;
6+
BruterInt index = br_arg(context, args, 1).i;
7+
uint8_t value = br_arg(context, args, 2).i;
88
if (allocd == NULL)
99
{
1010
printf("BR_ERROR: alloc_set_byte called with NULL pointer\n");
@@ -14,17 +14,17 @@ BRUTER_FUNCTION(_alloc_set_byte)
1414
return -1;
1515
}
1616

17-
BRUTER_FUNCTION(_alloc_get_byte)
17+
BR_FUNCTION(_alloc_get_byte)
1818
{
19-
uint8_t *allocd = BR_ARG(0).p;
20-
BruterInt index = BR_ARG(1).i;
19+
uint8_t *allocd = br_arg(context, args, 0).p;
20+
BruterInt index = br_arg(context, args, 1).i;
2121
if (allocd == NULL)
2222
{
2323
printf("BR_ERROR: alloc_get_byte called with NULL pointer\n");
2424
return -1;
2525
}
2626
BruterInt result = br_new_var(context, NULL);
27-
bruter_set(context, result, BRUTER_VALUE(i, allocd[index]));
27+
bruter_set(context, result, bruter_value_i(allocd[index]));
2828
return result;
2929
}
3030

alloc/package.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name alloc
2-
version 0.0.4
2+
version 0.0.5
33
description "buxu standard alloc library"
44
files alloc.c
55
setup "bucc -o alloc.brl alloc.c"

bit/bit.c

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,86 @@
11
#include "br.h"
22

3-
BRUTER_FUNCTION(_bit_and)
3+
BR_FUNCTION(_bit_and)
44
{
5-
BR_ARG(0).i &= BR_ARG(1).i;
5+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i & br_arg(context, args, 1).i));
66
return -1;
77
}
88

9-
BRUTER_FUNCTION(_bit_or)
9+
BR_FUNCTION(_bit_or)
1010
{
11-
BR_ARG(0).i |= BR_ARG(1).i;
11+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i | br_arg(context, args, 1).i));
1212
return -1;
1313
}
1414

15-
BRUTER_FUNCTION(_bit_xor)
15+
BR_FUNCTION(_bit_xor)
1616
{
17-
BR_ARG(0).i ^= BR_ARG(1).i;
17+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i ^ br_arg(context, args, 1).i));
1818
return -1;
1919
}
2020

21-
BRUTER_FUNCTION(_bit_not)
21+
BR_FUNCTION(_bit_not)
2222
{
23-
BR_ARG(0).i = ~BR_ARG(0).i;
23+
br_arg_set(context, args, 0, bruter_value_i(~br_arg(context, args, 0).i));
2424
return -1;
2525
}
2626

27-
BRUTER_FUNCTION(_bit_lshift)
27+
BR_FUNCTION(_bit_lshift)
2828
{
29-
BR_ARG(0).i <<= BR_ARG(1).i;
29+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i << br_arg(context, args, 1).i));
3030
return -1;
3131
}
3232

33-
BRUTER_FUNCTION(_bit_rshift)
33+
BR_FUNCTION(_bit_rshift)
3434
{
35-
BR_ARG(0).i >>= BR_ARG(1).i;
35+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i >> br_arg(context, args, 1).i));
3636
return -1;
3737
}
3838

39-
BRUTER_FUNCTION(_bit_on)
39+
BR_FUNCTION(_bit_on)
4040
{
41-
BruterInt mask = 1 << BR_ARG(1).i;
42-
BR_ARG(0).i |= mask;
41+
BruterInt mask = 1 << br_arg(context, args, 1).i;
42+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i | mask));
4343
return -1;
4444
}
4545

46-
BRUTER_FUNCTION(_bit_off)
46+
BR_FUNCTION(_bit_off)
4747
{
48-
BruterInt mask = ~(1 << BR_ARG(1).i);
49-
BR_ARG(0).i &= mask;
48+
BruterInt mask = 1 << br_arg(context, args, 1).i;
49+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i & ~mask));
5050
return -1;
5151
}
5252

53-
BRUTER_FUNCTION(_bit_set) // set 0 or 1
53+
BR_FUNCTION(_bit_set) // set 0 or 1
5454
{
55-
BruterInt mask = 1 << BR_ARG(1).i;
56-
if (BR_ARG(2).i)
57-
BR_ARG(0).i |= mask;
55+
BruterInt mask = 1 << br_arg(context, args, 1).i;
56+
if (br_arg(context, args, 2).i)
57+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i | mask));
5858
else
59-
BR_ARG(0).i &= ~mask;
59+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i & ~mask));
6060
return -1;
6161
}
6262

63-
64-
BRUTER_FUNCTION(_bit_get)
63+
BR_FUNCTION(_bit_get)
6564
{
66-
BruterInt mask = 1 << BR_ARG(1).i;
67-
return (BR_ARG(0).i & mask) != 0;
65+
BruterInt mask = 1 << br_arg(context, args, 1).i;
66+
return (br_arg(context, args, 0).i & mask) ? 1 : 0;
6867
}
6968

70-
BRUTER_FUNCTION(_bit_switch)
69+
BR_FUNCTION(_bit_switch)
7170
{
72-
BruterInt mask = 1 << BR_ARG(1).i;
73-
BR_ARG(0).i ^= mask;
71+
BruterInt mask = 1 << br_arg(context, args, 1).i;
72+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i ^ mask));
7473
return -1;
7574
}
7675

77-
BRUTER_FUNCTION(_bit_swap)
76+
BR_FUNCTION(_bit_swap)
7877
{
79-
BruterInt mask = 1 << BR_ARG(1).i;
80-
BruterInt mask2 = 1 << BR_ARG(2).i;
81-
BruterInt temp = (BR_ARG(0).i & mask) >> BR_ARG(1).i;
82-
BR_ARG(0).i &= ~mask;
83-
BR_ARG(0).i |= (temp << BR_ARG(2).i);
78+
BruterInt mask = 1 << br_arg(context, args, 1).i;
79+
BruterInt mask2 = 1 << br_arg(context, args, 2).i;
80+
BruterInt temp = (br_arg(context, args, 0).i & mask) >> br_arg(context, args, 1).i;
81+
temp ^= (br_arg(context, args, 0).i & mask2) >> br_arg(context, args, 2).i;
82+
temp &= 1; // ensure it's only 0 or 1
83+
br_arg_set(context, args, 0, bruter_value_i(br_arg(context, args, 0).i & ~(mask | mask2)));
8484
return -1;
8585
}
8686

bit/package.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name bit
2-
version 0.0.3
2+
version 0.0.4
33
description "buxu bit library"
44
files bit.c
55
setup "bucc -o bit.brl bit.c -lm"

byte/byte.c

Lines changed: 23 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,59 @@
11
#include "br.h"
22

3-
BRUTER_FUNCTION(_byte_set)
3+
BR_FUNCTION(_byte_set)
44
{
5-
BruterInt index = BR_ARG(1).i;
6-
BruterInt value = BR_ARG(2).i;
5+
BruterInt index = br_arg(context, args, 1).i;
6+
BruterInt value = br_arg(context, args, 2).i;
77

8-
(BR_ARG(0).s)[index] = value;
8+
(br_arg(context, args, 0).s)[index] = value;
99

1010
return -1;
1111
}
1212

13-
BRUTER_FUNCTION(_byte_get)
13+
BR_FUNCTION(_byte_get)
1414
{
15-
BruterInt byte_index = BR_ARG(1).i;
15+
BruterInt byte_index = br_arg(context, args, 1).i;
1616
BruterInt index = br_new_var(context, NULL);
17-
BR_ARG(index).i = (BR_ARG(0).s)[byte_index];
18-
17+
bruter_set(context, index, bruter_value_i(bruter_get(context, index).u8[byte_index]));
1918
return index;
2019
}
2120

22-
BRUTER_FUNCTION(_byte_add)
21+
BR_FUNCTION(_byte_add)
2322
{
24-
BruterInt index = BR_ARG(1).i;
25-
BruterInt value = BR_ARG(2).i;
23+
BruterInt index = br_arg(context, args, 1).i;
24+
BruterInt value = br_arg(context, args, 2).i;
2625

27-
BR_ARG(0).u8[index] += value;
26+
br_arg(context, args, 0).u8[index] += value;
2827

2928
return -1;
3029
}
3130

32-
BRUTER_FUNCTION(_byte_sub)
31+
BR_FUNCTION(_byte_sub)
3332
{
34-
BruterInt index = BR_ARG(1).i;
35-
BruterInt value = BR_ARG(2).i;
33+
BruterInt index = br_arg(context, args, 1).i;
34+
BruterInt value = br_arg(context, args, 2).i;
3635

37-
BR_ARG(0).u8[index] -= value;
36+
br_arg(context, args, 0).u8[index] -= value;
3837

3938
return -1;
4039
}
4140

42-
BRUTER_FUNCTION(_byte_mul)
41+
BR_FUNCTION(_byte_mul)
4342
{
44-
BruterInt index = BR_ARG(1).i;
45-
BruterInt value = BR_ARG(2).i;
43+
BruterInt index = br_arg(context, args, 1).i;
44+
BruterInt value = br_arg(context, args, 2).i;
4645

47-
BR_ARG(0).u8[index] *= value;
46+
br_arg(context, args, 0).u8[index] *= value;
4847

4948
return -1;
5049
}
5150

52-
BRUTER_FUNCTION(_byte_div)
51+
BR_FUNCTION(_byte_div)
5352
{
54-
BruterInt index = BR_ARG(1).i;
55-
BruterInt value = BR_ARG(2).i;
53+
BruterInt index = br_arg(context, args, 1).i;
54+
BruterInt value = br_arg(context, args, 2).i;
5655

57-
BR_ARG(0).u8[index] /= value;
56+
br_arg(context, args, 0).u8[index] /= value;
5857

5958
return -1;
6059
}

byte/package.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name byte
2-
version 0.0.5
2+
version 0.0.6
33
description "buxu byte library"
44
files byte.c
55
setup "bucc -o byte.brl byte.c -lm"

0 commit comments

Comments
 (0)