blob: a5ba35f4da9d4f46b6b89700121d39cf0636cabf (
plain)
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
108
109
110
111
112
113
114
115
|
# Bit
---
A sequence of bits that can fit into a general register
```text
SIZE_FLAGS : BIT_ANY | BIT8 | BIT16 | BIT32 | BIT64
REPRESENTATION_FLAGS : NUMERIC | INT | INT_UNSIGNED | INT_SIGNED | FLOAT |
UTF8 | UTF16 | UTF32 |
BOOL
Bit[[SIZE_FLAGS | REPRESENTATION_FLAGS]]
```
# Casting
# Alias
```text
Number `alias Bit[[BIT_ANT | NUMERIC]]
Int `alias Bit[[BIT_ANY | INT]]
Int_unsiged `alias Bit[[BIT_ANY | INT_UNSIGNED]]
U8 `alias Bit[[BIT8 | INT_UNSIGNED]]
U16 `alias Bit[[BIT16 | INT_UNSIGNED]]
U32 `alias Bit[[BIT32 | INT_UNSIGNED]]
U64 `alias Bit[[BIT64 | INT_UNSIGED]]
Int_signed `alias Bit[[BIT_ANY | INT_SIGNED]]
I8 `alias Bit[[BIT8 | INT_SIGNED]]
I16 `alias Bit[[BIT16 | INT_SIGNED]]
I32 `alias Bit[[BIT32 | INT_SIGNED]]
I64 `alias Bit[[BIT64 | INT_SIGNED]]
Float `alias Bit[[BIT_ANY | FLOAT]]
F32 `alias Bit[[BIT32 | FLOAT]]
F64 `alias Bit[[BIT64 | FLOAT]]
Char `alias Bit[[BIT32 | UTF8]]
Bool `alias Bit[[BIT8 | BOOL]]
```
# Operators
## Arithmetic
### Add `+`
### Sub `-`
### Mul `*`
### Div `/`
### ``mod`
### ``exp`
### ``ln`
## Boolean
### ``true`
### ``false`
### Not `!`
### Equal `=`
### Not Equal `!=`
### And `&`
### Or `|`
### Greater `>`
### Greater Equal `>=`
### Less `<`
### Less Equal `<=`
## Bitwise
### ``bit_not`
### ``bit_and`
### ``bit_or`
### ``bit_xor`
### ``bit_ls`
### ``bit_rs`
## Other
### Compare `<=>`
# Char
```text
c : 'Σ'
`log c // Char $ 'Σ'
```
|