blob: b4741567d6e2f609b0b83751a720cee3d7af833d (
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
|
# Bit
---
A sequence of bits that can fit into a register
```text
Bit_size `alias Enum[.bit_any; .bit8; .bit16; .bit32; .bit64; .bit80; .bit128]
Bit_representation `alias Enum[
.numeric; .int; .int_unsiged; .int_signed; .float
.utf8; .utf16; .utf32
.bool
]
Bit[Bit_size; Bit_representation]
```
# Casting
# Alias
```text
Number `alias Bit[.bit_any; .numeric]
Int `alias Bit[.bit_any; .int]
Int_unsiged `alias Bit[.bit_any; .int_unsiged]
U8 `alias Bit[.bit8; .int_unsiged]
U16 `alias Bit[.bit16; .int_unsiged]
U32 `alias Bit[.bit32; .int_unsiged]
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`
|