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 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333
pub fn b32_encode_1(ptr_input:*const u8,len_input:usize,ptr_alphabet:*const u8,ptr_output:*mut u8){ let mut ptr_in=ptr_input; let mut len_in=len_input; let mut ptr_out=ptr_output; unsafe{ while len_in>=5{ *ptr_out.offset(0)=*ptr_alphabet.offset(((*ptr_in.offset(0)>>3)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((*ptr_in.offset(0)<<2|*ptr_in.offset(1)>>6)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((*ptr_in.offset(1)>>1)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((*ptr_in.offset(1)<<4|*ptr_in.offset(2)>>4)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((*ptr_in.offset(2)<<1|*ptr_in.offset(3)>>7)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((*ptr_in.offset(3)>>2)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((*ptr_in.offset(3)<<3|*ptr_in.offset(4)>>5)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((*ptr_in.offset(4)>>0)&0b11111) as isize); ptr_out=ptr_out.offset(8); ptr_in=ptr_in.offset(5); len_in-=5; } if len_in==4{ *ptr_out.offset(0)=*ptr_alphabet.offset(((*ptr_in.offset(0)>>3)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((*ptr_in.offset(0)<<2|*ptr_in.offset(1)>>6)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((*ptr_in.offset(1)>>1)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((*ptr_in.offset(1)<<4|*ptr_in.offset(2)>>4)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((*ptr_in.offset(2)<<1|*ptr_in.offset(3)>>7)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((*ptr_in.offset(3)>>2)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((*ptr_in.offset(3)<<3)&0b11111) as isize); *ptr_out.offset(7)=61; }else{ if len_in==3{ *ptr_out.offset(0)=*ptr_alphabet.offset(((*ptr_in.offset(0)>>3)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((*ptr_in.offset(0)<<2|*ptr_in.offset(1)>>6)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((*ptr_in.offset(1)>>1)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((*ptr_in.offset(1)<<4|*ptr_in.offset(2)>>4)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((*ptr_in.offset(2)<<1)&0b11111) as isize); *ptr_out.offset(5)=61; *ptr_out.offset(6)=61; *ptr_out.offset(7)=61; }else{ if len_in==2{ *ptr_out.offset(0)=*ptr_alphabet.offset(((*ptr_in.offset(0)>>3)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((*ptr_in.offset(0)<<2|*ptr_in.offset(1)>>6)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((*ptr_in.offset(1)>>1)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((*ptr_in.offset(1)<<4)&0b11111) as isize); *ptr_out.offset(4)=61; *ptr_out.offset(5)=61; *ptr_out.offset(6)=61; *ptr_out.offset(7)=61; }else{ if len_in==1{ *ptr_out.offset(0)=*ptr_alphabet.offset(((*ptr_in.offset(0)>>3)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((*ptr_in.offset(0)<<2)&0b11111) as isize); *ptr_out.offset(2)=61; *ptr_out.offset(3)=61; *ptr_out.offset(4)=61; *ptr_out.offset(5)=61; *ptr_out.offset(6)=61; *ptr_out.offset(7)=61; } } } } } } pub fn b32_encode_2(ptr_input:*const u16,len_input:usize,ptr_alphabet:*const u8,ptr_output:*mut u8){ let mut ptr_in=ptr_input; let mut len_in=len_input; let mut ptr_out=ptr_output; let mut d64:u64; unsafe{ while len_in>=5{ d64=(*ptr_in.offset(0) as u64)<<48| (*ptr_in.offset(1) as u64)<<32| (*ptr_in.offset(2) as u64)<<16; *ptr_out.offset(00)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(01)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(02)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(03)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(04)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(05)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(06)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(07)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); d64=(*ptr_in.offset(2) as u64)<<56| (*ptr_in.offset(3) as u64)<<40| (*ptr_in.offset(4) as u64)<<24; *ptr_out.offset(00)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(01)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(02)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(03)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(04)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(05)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(06)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(07)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); ptr_in=ptr_in.offset(5); len_in-=5; } if len_in >= 3{ if len_in == 3 { d64=(*ptr_in.offset(0) as u64)<<48| (*ptr_in.offset(1) as u64)<<32| (*ptr_in.offset(2) as u64)<<16; *ptr_out.offset(00)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(01)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(02)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(03)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(04)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(05)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(06)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(07)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); *ptr_out.offset(08)=*ptr_alphabet.offset(((d64>>19)&0b11111) as isize); *ptr_out.offset(09)=*ptr_alphabet.offset(((d64>>14)&0b11111) as isize); *ptr_out.offset(10)=61; *ptr_out.offset(11)=61; *ptr_out.offset(12)=61; *ptr_out.offset(13)=61; *ptr_out.offset(14)=61; *ptr_out.offset(15)=61; }else{ d64=(*ptr_in.offset(0) as u64)<<48| (*ptr_in.offset(1) as u64)<<32| (*ptr_in.offset(2) as u64)<<16| (*ptr_in.offset(3) as u64); *ptr_out.offset(00)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(01)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(02)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(03)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(04)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(05)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(06)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(07)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); *ptr_out.offset(08)=*ptr_alphabet.offset(((d64>>19)&0b11111) as isize); *ptr_out.offset(09)=*ptr_alphabet.offset(((d64>>14)&0b11111) as isize); *ptr_out.offset(10)=*ptr_alphabet.offset(((d64>>09)&0b11111) as isize); *ptr_out.offset(11)=*ptr_alphabet.offset(((d64>>04)&0b11111) as isize); *ptr_out.offset(12)=*ptr_alphabet.offset(((d64<<01)&0b11111) as isize); *ptr_out.offset(13)=61; *ptr_out.offset(14)=61; *ptr_out.offset(15)=61; } }else{ if len_in == 2 { d64=(*ptr_in.offset(0) as u64)<<48| (*ptr_in.offset(1) as u64)<<32; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=61; }else{ d64=(*ptr_in.offset(0) as u64)<<48; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=61; *ptr_out.offset(5)=61; *ptr_out.offset(6)=61; *ptr_out.offset(7)=61; } } } } pub fn b32_encode_4(ptr_input:*const u32,len_input:usize,ptr_alphabet:*const u8,ptr_output:*mut u8){ let mut ptr_in=ptr_input; let mut len_in=len_input; let mut ptr_out=ptr_output; let mut d64:u64; unsafe{ while len_in >= 5 { d64=(*ptr_in.offset(0) as u64)<<32| (*ptr_in.offset(1) as u64); *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); d64=d64<<40| (*ptr_in.offset(2) as u64)<<8; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); d64=d64<<40| (*ptr_in.offset(2) as u64)<<16; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); d64=d64<<40| (*ptr_in.offset(3) as u64)<<24; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); ptr_in=ptr_in.offset(5); len_in-=5; } if len_in >=3 { if len_in == 3 { d64=(*ptr_in.offset(0) as u64)<<32| (*ptr_in.offset(1) as u64); *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); d64=d64<<40| (*ptr_in.offset(1) as u64)<<8; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>19)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>14)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>09)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>04)&0b11111) as isize); *ptr_out.offset(4)=61; *ptr_out.offset(5)=61; *ptr_out.offset(6)=61; *ptr_out.offset(7)=61; }else{ d64=(*ptr_in.offset(0) as u64)<<32| (*ptr_in.offset(1) as u64); *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); d64=d64<<40| (*ptr_in.offset(2) as u64)<<8; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); d64=d64<<40| (*ptr_in.offset(2) as u64)<<16; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>19)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>14)&0b11111) as isize); *ptr_out.offset(2)=61; *ptr_out.offset(3)=61; *ptr_out.offset(4)=61; *ptr_out.offset(5)=61; *ptr_out.offset(6)=61; *ptr_out.offset(7)=61; } }else{ if len_in == 2 { d64=(*ptr_in.offset(0) as u64)<<32| (*ptr_in.offset(1) as u64); *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>59)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>54)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>49)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>44)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>39)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>34)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64>>29)&0b11111) as isize); *ptr_out.offset(7)=*ptr_alphabet.offset(((d64>>24)&0b11111) as isize); ptr_out=ptr_out.offset(8); *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>19)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>14)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>09)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>04)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64<<01)&0b11111) as isize); *ptr_out.offset(5)=61; *ptr_out.offset(6)=61; *ptr_out.offset(7)=61; }else{ d64=*ptr_in.offset(0) as u64; *ptr_out.offset(0)=*ptr_alphabet.offset(((d64>>27)&0b11111) as isize); *ptr_out.offset(1)=*ptr_alphabet.offset(((d64>>22)&0b11111) as isize); *ptr_out.offset(2)=*ptr_alphabet.offset(((d64>>17)&0b11111) as isize); *ptr_out.offset(3)=*ptr_alphabet.offset(((d64>>12)&0b11111) as isize); *ptr_out.offset(4)=*ptr_alphabet.offset(((d64>>07)&0b11111) as isize); *ptr_out.offset(5)=*ptr_alphabet.offset(((d64>>02)&0b11111) as isize); *ptr_out.offset(6)=*ptr_alphabet.offset(((d64<<03)&0b11111) as isize); *ptr_out.offset(7)=61; } } } }