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
| 1 | use crate::prelude::*; |
| 2 | |
| 3 | impl 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 | } |