Oregami
Repositories/oxedyne/fe2o3

oxedyne/fe2o3/fe2o3_jdat/src/constant.rs

12.9 KiB, 17 runs

created by r1870400018:459, which is this file's identity for as long as the history lasts, whatever it is later renamed to

download · who wrote it · its history

1use crate::prelude::*;
2
3impl Dat {
4
5 // Atomic Kinds ===========================
6 // Logic
7 pub const EMPTY_CODE: u8 = 0x00; // 0
8 pub const TRUE_CODE: u8 = 0x01; // 1
9 pub const FALSE_CODE: u8 = 0x02; // 2
10 pub const OPT_NONE_CODE: u8 = 0x03; // 3
11 // 0x04 4
12 // 0x05 5
13 // 0x06 6
14 // 0x07 7
15 // 0x08 8
16 // 0x09 9
17 // Fixed
18 pub const U8_CODE: u8 = 0x0a; // 10
19 pub const U16_CODE: u8 = 0x0b; // 11
20 pub const U32_CODE: u8 = 0x0c; // 12
21 pub const U64_CODE: u8 = 0x0d; // 13
22 pub const U128_CODE: u8 = 0x0e; // 14
23 // 0x0f 15
24 pub const I8_CODE: u8 = 0x10; // 16
25 pub const I16_CODE: u8 = 0x11; // 17
26 pub const I32_CODE: u8 = 0x12; // 18
27 pub const I64_CODE: u8 = 0x13; // 19
28 pub const I128_CODE: u8 = 0x14; // 20
29 // 0x15 21
30 // 0x16 22
31 // 0x17 23
32 // 0x18 24
33 // 0x19 25
34 pub const F32_CODE: u8 = 0x1a; // 26
35 pub const F64_CODE: u8 = 0x1b; // 27
36 // 0x1c 28
37 // 0x1d 29
38 // Variable
39 pub const AINT_CODE: u8 = 0x1e; // 30
40 pub const ADEC_CODE: u8 = 0x1f; // 31
41 pub const C64_CODE_START: u8 = 0x20; // 32 -> 0 i.e. the value zero
42 // 0x21 33 -> 1 byte used to represent value
43 // 0x22 34 -> 2 bytes used to represent value
44 // 0x23 35 -> 3 bytes used to represent value
45 // 0x24 36 -> 4 bytes used to represent value
46 // 0x25 37 -> 5 bytes used to represent value
47 // 0x26 38 -> 6 bytes used to represent value
48 // 0x27 39 -> 7 bytes used to represent value
49 // 0x28 40 -> 8 bytes used to represent value
50 pub const C64_CODE_END: u8 = Self::C64_CODE_START + 8; // 0x28, 40
51 pub const STR_CODE: u8 = 0x29; // 41
52 // 0x2a 42
53 // 0x2b 43
54 // Molecular Kinds ========================
55 // Unitary
56 pub const USR_CODE: u8 = 0x2c; // 44
57 pub const BOX_CODE: u8 = 0x2d; // 45
58 pub const OPT_SOME_CODE: u8 = 0x2e; // 46
59 // 0x2f 47
60 // 0x30 48
61 // 0x31 49
62 pub const ABOX_CODE: u8 = 0x32; // 50
63 // Heterogenous
64 pub const LIST_CODE: u8 = 0x33; // 51
65 pub const TUP2_CODE: u8 = 0x34; // 52
66 pub const TUP3_CODE: u8 = 0x35; // 53
67 pub const TUP4_CODE: u8 = 0x36; // 54
68 pub const TUP5_CODE: u8 = 0x37; // 55
69 pub const TUP6_CODE: u8 = 0x38; // 56
70 pub const TUP7_CODE: u8 = 0x39; // 57
71 pub const TUP8_CODE: u8 = 0x3a; // 58
72 pub const TUP9_CODE: u8 = 0x3b; // 59
73 pub const TUP10_CODE: u8 = 0x3c; // 60
74 // 0x3d 61
75 // 0x3e 62
76 pub const MAP_CODE: u8 = 0x3f; // 63
77 pub const OMAP_CODE: u8 = 0x40; // 64
78 // Homogenous
79 pub const VEK_CODE: u8 = 0x41; // 65
80 // 0x42 66
81 // 0x43 67
82 // Variable length bytes - length itself is encoded as a u8, u16, ...
83 pub const BU8_CODE: u8 = 0x44; // 68
84 pub const BU16_CODE: u8 = 0x45; // 69
85 pub const BU32_CODE: u8 = 0x46; // 70
86 pub const BU64_CODE: u8 = 0x47; // 71
87 pub const BC64_CODE: u8 = 0x48; // 72
88 // 0x49 73
89 // 0x4a 74
90 // 0x4b 75
91 // Fixed length bytes
92 pub const B2_CODE: u8 = 0x4c; // 76 2 bytes (16 bits)
93 pub const B3_CODE: u8 = 0x4d; // 77 3 bytes
94 pub const B4_CODE: u8 = 0x4e; // 78 4 bytes (32 bits)
95 pub const B5_CODE: u8 = 0x4f; // 79 5 bytes
96 pub const B6_CODE: u8 = 0x50; // 80 6 bytes
97 pub const B7_CODE: u8 = 0x51; // 81 7 bytes
98 pub const B8_CODE: u8 = 0x52; // 82 8 bytes (64 bits)
99 pub const B9_CODE: u8 = 0x53; // 83 9 bytes
100 pub const B10_CODE: u8 = 0x54; // 84 10 bytes
101 pub const B16_CODE: u8 = 0x55; // 85 16 bytes (128 bits)
102 pub const B32_CODE: u8 = 0x56; // 86 32 bytes (256 bits)
103 // 0x57 87
104 // 0x58 88
105 // Variable length numbers
106 // Not yet implemented.
107 pub const VU16_CODE: u8 = 0x59; // 89
108 pub const VU32_CODE: u8 = 0x5a; // 90
109 pub const VU64_CODE: u8 = 0x5b; // 91
110 pub const VU128_CODE: u8 = 0x5c; // 92
111 pub const VI16_CODE: u8 = 0x5d; // 93
112 pub const VI32_CODE: u8 = 0x5e; // 94
113 pub const VI64_CODE: u8 = 0x5f; // 95
114 pub const VI128_CODE: u8 = 0x60; // 96
115 // Fixed length numbers - Sequential layout
116 pub const TUP2_U8_CODE: u8 = 0x61; // 97 [u8; 2]
117 pub const TUP3_U8_CODE: u8 = 0x62; // 98 [u8; 3]
118 pub const TUP4_U8_CODE: u8 = 0x63; // 99 [u8; 4]
119 pub const TUP5_U8_CODE: u8 = 0x64; // 100 [u8; 5]
120 pub const TUP6_U8_CODE: u8 = 0x65; // 101 [u8; 6]
121 pub const TUP7_U8_CODE: u8 = 0x66; // 102 [u8; 7]
122 pub const TUP8_U8_CODE: u8 = 0x67; // 103 [u8; 8]
123 pub const TUP9_U8_CODE: u8 = 0x68; // 104 [u8; 9]
124 pub const TUP10_U8_CODE: u8 = 0x69; // 105 [u8; 10]
125 // 0x6a 106 gap
126 // 0x6b 107 gap
127 // 0x6c 108 gap
128 // 0x6d 109 gap
129 // 0x6e 110 gap
130 // 0x6f 111 gap
131
132 pub const TUP2_U16_CODE: u8 = 0x70; // 112 [u16; 2]
133 pub const TUP3_U16_CODE: u8 = 0x71; // 113 [u16; 3]
134 pub const TUP4_U16_CODE: u8 = 0x72; // 114 [u16; 4]
135 pub const TUP5_U16_CODE: u8 = 0x73; // 115 [u16; 5]
136 pub const TUP6_U16_CODE: u8 = 0x74; // 116 [u16; 6]
137 pub const TUP7_U16_CODE: u8 = 0x75; // 117 [u16; 7]
138 pub const TUP8_U16_CODE: u8 = 0x76; // 118 [u16; 8]
139 pub const TUP9_U16_CODE: u8 = 0x77; // 119 [u16; 9]
140 pub const TUP10_U16_CODE: u8 = 0x78; // 120 [u16; 10]
141 // 0x79 121 gap
142 // 0x7a 122 gap
143 // 0x7b 123 gap
144 // 0x7c 124 gap
145 // 0x7d 125 gap
146 // 0x7e 126 gap
147 // 0x7f 127 gap
148
149 pub const TUP2_U32_CODE: u8 = 0x80; // 128 [u32; 2]
150 pub const TUP3_U32_CODE: u8 = 0x81; // 129 [u32; 3]
151 pub const TUP4_U32_CODE: u8 = 0x82; // 130 [u32; 4]
152 pub const TUP5_U32_CODE: u8 = 0x83; // 131 [u32; 5]
153 pub const TUP6_U32_CODE: u8 = 0x84; // 132 [u32; 6]
154 pub const TUP7_U32_CODE: u8 = 0x85; // 133 [u32; 7]
155 pub const TUP8_U32_CODE: u8 = 0x86; // 134 [u32; 8]
156 pub const TUP9_U32_CODE: u8 = 0x87; // 135 [u32; 9]
157 pub const TUP10_U32_CODE: u8 = 0x88; // 136 [u32; 10]
158 // 0x89 137 gap
159 // 0x8a 138 gap
160 // 0x8b 139 gap
161 // 0x8c 140 gap
162 // 0x8d 141 gap
163 // 0x8e 142 gap
164 // 0x8f 143 gap
165
166 pub const TUP2_U64_CODE: u8 = 0x90; // 144 [u64; 2]
167 pub const TUP3_U64_CODE: u8 = 0x91; // 145 [u64; 3]
168 pub const TUP4_U64_CODE: u8 = 0x92; // 146 [u64; 4]
169 pub const TUP5_U64_CODE: u8 = 0x93; // 147 [u64; 5]
170 pub const TUP6_U64_CODE: u8 = 0x94; // 148 [u64; 6]
171 pub const TUP7_U64_CODE: u8 = 0x95; // 149 [u64; 7]
172 pub const TUP8_U64_CODE: u8 = 0x96; // 150 [u64; 8]
173 pub const TUP9_U64_CODE: u8 = 0x97; // 151 [u64; 9]
174 pub const TUP10_U64_CODE: u8 = 0x98; // 152 [u64; 10]
175 // 0x99 153 gap
176 // 0x9a 154 gap
177 // 0x9b 155 gap
178 // 0x9c 156 gap
179 // 0x9d 157 gap
180 // 0x9e 158 gap
181 // 0x9f 159 gap
182
183 pub const TUP2_I8_CODE: u8 = 0xa0; // 160 [i8; 2]
184 pub const TUP3_I8_CODE: u8 = 0xa1; // 161 [i8; 3]
185 pub const TUP4_I8_CODE: u8 = 0xa2; // 162 [i8; 4]
186 pub const TUP5_I8_CODE: u8 = 0xa3; // 163 [i8; 5]
187 pub const TUP6_I8_CODE: u8 = 0xa4; // 164 [i8; 6]
188 pub const TUP7_I8_CODE: u8 = 0xa5; // 165 [i8; 7]
189 pub const TUP8_I8_CODE: u8 = 0xa6; // 166 [i8; 8]
190 pub const TUP9_I8_CODE: u8 = 0xa7; // 167 [i8; 9]
191 pub const TUP10_I8_CODE: u8 = 0xa8; // 168 [i8; 10]
192 // 0xa9 169 gap
193 // 0xaa 170 gap
194 // 0xab 171 gap
195 // 0xac 172 gap
196 // 0xad 173 gap
197 // 0xae 174 gap
198 // 0xaf 175 gap
199
200 pub const TUP2_I16_CODE: u8 = 0xb0; // 176 [i16; 2]
201 pub const TUP3_I16_CODE: u8 = 0xb1; // 177 [i16; 3]
202 pub const TUP4_I16_CODE: u8 = 0xb2; // 178 [i16; 4]
203 pub const TUP5_I16_CODE: u8 = 0xb3; // 179 [i16; 5]
204 pub const TUP6_I16_CODE: u8 = 0xb4; // 180 [i16; 6]
205 pub const TUP7_I16_CODE: u8 = 0xb5; // 181 [i16; 7]
206 pub const TUP8_I16_CODE: u8 = 0xb6; // 182 [i16; 8]
207 pub const TUP9_I16_CODE: u8 = 0xb7; // 183 [i16; 9]
208 pub const TUP10_I16_CODE: u8 = 0xb8; // 184 [i16; 10]
209 // 0xb9 185 gap
210 // 0xba 186 gap
211 // 0xbb 187 gap
212 // 0xbc 188 gap
213 // 0xbd 189 gap
214 // 0xbe 190 gap
215 // 0xbf 191 gap
216
217 pub const TUP2_I32_CODE: u8 = 0xc0; // 192 [i32; 2]
218 pub const TUP3_I32_CODE: u8 = 0xc1; // 193 [i32; 3]
219 pub const TUP4_I32_CODE: u8 = 0xc2; // 194 [i32; 4]
220 pub const TUP5_I32_CODE: u8 = 0xc3; // 195 [i32; 5]
221 pub const TUP6_I32_CODE: u8 = 0xc4; // 196 [i32; 6]
222 pub const TUP7_I32_CODE: u8 = 0xc5; // 197 [i32; 7]
223 pub const TUP8_I32_CODE: u8 = 0xc6; // 198 [i32; 8]
224 pub const TUP9_I32_CODE: u8 = 0xc7; // 199 [i32; 9]
225 pub const TUP10_I32_CODE: u8 = 0xc8; // 200 [i32; 10]
226 // 0xc9 201 gap
227 // 0xca 202 gap
228 // 0xcb 203 gap
229 // 0xcc 204 gap
230 // 0xcd 205 gap
231 // 0xce 206 gap
232 // 0xcf 207 gap
233
234 pub const TUP2_I64_CODE: u8 = 0xd0; // 208 [i64; 2]
235 pub const TUP3_I64_CODE: u8 = 0xd1; // 209 [i64; 3]
236 pub const TUP4_I64_CODE: u8 = 0xd2; // 210 [i64; 4]
237 pub const TUP5_I64_CODE: u8 = 0xd3; // 211 [i64; 5]
238 pub const TUP6_I64_CODE: u8 = 0xd4; // 212 [i64; 6]
239 pub const TUP7_I64_CODE: u8 = 0xd5; // 213 [i64; 7]
240 pub const TUP8_I64_CODE: u8 = 0xd6; // 214 [i64; 8]
241 pub const TUP9_I64_CODE: u8 = 0xd7; // 215 [i64; 9]
242 pub const TUP10_I64_CODE: u8 = 0xd8; // 216 [i64; 10]
243
244 pub const TUP_SERIES_START: u8 = Self::TUP2_CODE;
245 pub const BYTE_SERIES_START: u8 = Self::B2_CODE;
246 pub const TUP_U8_SERIES_START: u8 = Self::TUP2_U8_CODE;
247 pub const TUP_U16_SERIES_START: u8 = Self::TUP2_U16_CODE;
248 pub const TUP_U32_SERIES_START: u8 = Self::TUP2_U32_CODE;
249 pub const TUP_U64_SERIES_START: u8 = Self::TUP2_U64_CODE;
250 pub const TUP_I8_SERIES_START: u8 = Self::TUP2_I8_CODE;
251 pub const TUP_I16_SERIES_START: u8 = Self::TUP2_I16_CODE;
252 pub const TUP_I32_SERIES_START: u8 = Self::TUP2_I32_CODE;
253 pub const TUP_I64_SERIES_START: u8 = Self::TUP2_I64_CODE;
254}