wdg-base32 0.3.17

The Base32 Data Encoding
Documentation

// ready
pub fn b32_decode_1(ptr_input:*const u8,len_input:usize,ptr_alphabet:*const u8,mut pointer:*mut u8,np:usize){
    let mut ptr_data=ptr_input;
    let mut len_data=len_input;
    unsafe{
        while len_data>8{
            *pointer.offset(0)=*ptr_alphabet.offset(*ptr_data.offset(0) as isize)<<3|*ptr_alphabet.offset(*ptr_data.offset(1) as isize)>>2;
            *pointer.offset(1)=*ptr_alphabet.offset(*ptr_data.offset(1) as isize)<<6|*ptr_alphabet.offset(*ptr_data.offset(2) as isize)<<1|*ptr_alphabet.offset(*ptr_data.offset(3) as isize)>>4;
            *pointer.offset(2)=*ptr_alphabet.offset(*ptr_data.offset(3) as isize)<<4|*ptr_alphabet.offset(*ptr_data.offset(4) as isize)>>1;
            *pointer.offset(3)=*ptr_alphabet.offset(*ptr_data.offset(4) as isize)<<7|*ptr_alphabet.offset(*ptr_data.offset(5) as isize)<<2|*ptr_alphabet.offset(*ptr_data.offset(6) as isize)>>3;
            *pointer.offset(4)=*ptr_alphabet.offset(*ptr_data.offset(6) as isize)<<5|*ptr_alphabet.offset(*ptr_data.offset(7) as isize)<<0;
            pointer=pointer.offset(5);
            ptr_data=ptr_data.offset(8);
            len_data-=8;
        }
        if len_data==8{
            if np>0{
                if np>3{
                    if np>5{
                        *pointer.offset(0)=*ptr_alphabet.offset(*ptr_data.offset(0) as isize)<<3|*ptr_alphabet.offset(*ptr_data.offset(1) as isize)>>2;
                        *pointer.offset(1)=*ptr_alphabet.offset(*ptr_data.offset(1) as isize)<<6;
                    }else{
                        *pointer.offset(0)=*ptr_alphabet.offset(*ptr_data.offset(0) as isize)<<3|*ptr_alphabet.offset(*ptr_data.offset(1) as isize)>>2;
                        *pointer.offset(1)=*ptr_alphabet.offset(*ptr_data.offset(1) as isize)<<6|*ptr_alphabet.offset(*ptr_data.offset(2) as isize)<<1|*ptr_alphabet.offset(*ptr_data.offset(3) as isize)>>4;
                        *pointer.offset(2)=*ptr_alphabet.offset(*ptr_data.offset(3) as isize)<<4;
                    }
                }else{
                    if np>2{
                        *pointer.offset(0)=*ptr_alphabet.offset(*ptr_data.offset(0) as isize)<<3|*ptr_alphabet.offset(*ptr_data.offset(1) as isize)>>2;
                        *pointer.offset(1)=*ptr_alphabet.offset(*ptr_data.offset(1) as isize)<<6|*ptr_alphabet.offset(*ptr_data.offset(2) as isize)<<1|*ptr_alphabet.offset(*ptr_data.offset(3) as isize)>>4;
                        *pointer.offset(2)=*ptr_alphabet.offset(*ptr_data.offset(3) as isize)<<4|*ptr_alphabet.offset(*ptr_data.offset(4) as isize)>>1;
                        *pointer.offset(3)=*ptr_alphabet.offset(*ptr_data.offset(4) as isize)<<7;
                    }else{
                        *pointer.offset(0)=*ptr_alphabet.offset(*ptr_data.offset(0) as isize)<<3|*ptr_alphabet.offset(*ptr_data.offset(1) as isize)>>2;
                        *pointer.offset(1)=*ptr_alphabet.offset(*ptr_data.offset(1) as isize)<<6|*ptr_alphabet.offset(*ptr_data.offset(2) as isize)<<1|*ptr_alphabet.offset(*ptr_data.offset(3) as isize)>>4;
                        *pointer.offset(2)=*ptr_alphabet.offset(*ptr_data.offset(3) as isize)<<4|*ptr_alphabet.offset(*ptr_data.offset(4) as isize)>>1;
                        *pointer.offset(3)=*ptr_alphabet.offset(*ptr_data.offset(4) as isize)<<7|*ptr_alphabet.offset(*ptr_data.offset(5) as isize)<<2|*ptr_alphabet.offset(*ptr_data.offset(6) as isize)>>3;
                        *pointer.offset(4)=*ptr_alphabet.offset(*ptr_data.offset(6) as isize)<<5;
                    }
                }
            }else{
                *pointer.offset(0)=*ptr_alphabet.offset(*ptr_data.offset(0) as isize)<<3|*ptr_alphabet.offset(*ptr_data.offset(1) as isize)>>2;
                *pointer.offset(1)=*ptr_alphabet.offset(*ptr_data.offset(1) as isize)<<6|*ptr_alphabet.offset(*ptr_data.offset(2) as isize)<<1|*ptr_alphabet.offset(*ptr_data.offset(3) as isize)>>4;
                *pointer.offset(2)=*ptr_alphabet.offset(*ptr_data.offset(3) as isize)<<4|*ptr_alphabet.offset(*ptr_data.offset(4) as isize)>>1;
                *pointer.offset(3)=*ptr_alphabet.offset(*ptr_data.offset(4) as isize)<<7|*ptr_alphabet.offset(*ptr_data.offset(5) as isize)<<2|*ptr_alphabet.offset(*ptr_data.offset(6) as isize)>>3;
                *pointer.offset(4)=*ptr_alphabet.offset(*ptr_data.offset(6) as isize)<<5|*ptr_alphabet.offset(*ptr_data.offset(7) as isize)<<0;
            }
        }
    }
}

// ready
pub fn b32_decode_2(ptr_input:*const u8,len_input:usize,ptr_alphabet:*const u8,mut ptr_u16:*mut u16,np:usize){
    let mut ptr_data=ptr_input;
    let mut len_data=len_input;
    unsafe{
        while len_data > 16 {
            *ptr_u16.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(0) as isize) as u16)<<11|
                (*ptr_alphabet.offset(*ptr_data.offset(1) as isize) as u16)<<06|
                (*ptr_alphabet.offset(*ptr_data.offset(2) as isize) as u16)<<01|
                (*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)>>04;
            *ptr_u16.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)<<12|
                (*ptr_alphabet.offset(*ptr_data.offset(4) as isize) as u16)<<07|
                (*ptr_alphabet.offset(*ptr_data.offset(5) as isize) as u16)<<02|
                (*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)>>03;
            *ptr_u16.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)<<13|
                (*ptr_alphabet.offset(*ptr_data.offset(7) as isize) as u16)<<08|
                (*ptr_alphabet.offset(*ptr_data.offset(8) as isize) as u16)<<03|
                (*ptr_alphabet.offset(*ptr_data.offset(9) as isize) as u16)>>02;
            *ptr_u16.offset(3)=(*ptr_alphabet.offset(*ptr_data.offset(9) as isize) as u16)<<14|
                (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u16)<<09|
                (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u16)<<04|
                (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u16)>>01;
            *ptr_u16.offset(4)=(*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u16)<<15|
                (*ptr_alphabet.offset(*ptr_data.offset(13) as isize) as u16)<<10|
                (*ptr_alphabet.offset(*ptr_data.offset(14) as isize) as u16)<<05|
                (*ptr_alphabet.offset(*ptr_data.offset(15) as isize) as u16)>>00;
            ptr_u16=ptr_u16.offset(5);
            ptr_data=ptr_data.offset(16);
            len_data-=16;
        }
        if np > 0 {
            if np > 3 {
                if np == 4 {
                    *ptr_u16.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(0) as isize) as u16)<<11|
                        (*ptr_alphabet.offset(*ptr_data.offset(1) as isize) as u16)<<06|
                        (*ptr_alphabet.offset(*ptr_data.offset(2) as isize) as u16)<<01|
                        (*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)>>04;
                }else{
                    *ptr_u16.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(0) as isize) as u16)<<11|
                        (*ptr_alphabet.offset(*ptr_data.offset(1) as isize) as u16)<<06|
                        (*ptr_alphabet.offset(*ptr_data.offset(2) as isize) as u16)<<01|
                        (*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)>>04;
                    *ptr_u16.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)<<12|
                        (*ptr_alphabet.offset(*ptr_data.offset(4) as isize) as u16)<<07|
                        (*ptr_alphabet.offset(*ptr_data.offset(5) as isize) as u16)<<02|
                        (*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)>>03;
                    *ptr_u16.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)<<13|
                        (*ptr_alphabet.offset(*ptr_data.offset(7) as isize) as u16)<<08|
                        (*ptr_alphabet.offset(*ptr_data.offset(8) as isize) as u16)<<03|
                        (*ptr_alphabet.offset(*ptr_data.offset(9) as isize) as u16)>>02;
                }
            }else{
                if np == 1 {
                    *ptr_u16.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(0) as isize) as u16)<<11|
                        (*ptr_alphabet.offset(*ptr_data.offset(1) as isize) as u16)<<06|
                        (*ptr_alphabet.offset(*ptr_data.offset(2) as isize) as u16)<<01|
                        (*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)>>04;
                    *ptr_u16.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)<<12|
                        (*ptr_alphabet.offset(*ptr_data.offset(4) as isize) as u16)<<07|
                        (*ptr_alphabet.offset(*ptr_data.offset(5) as isize) as u16)<<02|
                        (*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)>>03;
                }else{
                    *ptr_u16.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(0) as isize) as u16)<<11|
                        (*ptr_alphabet.offset(*ptr_data.offset(1) as isize) as u16)<<06|
                        (*ptr_alphabet.offset(*ptr_data.offset(2) as isize) as u16)<<01|
                        (*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)>>04;
                    *ptr_u16.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)<<12|
                        (*ptr_alphabet.offset(*ptr_data.offset(4) as isize) as u16)<<07|
                        (*ptr_alphabet.offset(*ptr_data.offset(5) as isize) as u16)<<02|
                        (*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)>>03;
                    *ptr_u16.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)<<13|
                        (*ptr_alphabet.offset(*ptr_data.offset(7) as isize) as u16)<<08|
                        (*ptr_alphabet.offset(*ptr_data.offset(8) as isize) as u16)<<03|
                        (*ptr_alphabet.offset(*ptr_data.offset(9) as isize) as u16)>>02;
                    *ptr_u16.offset(3)=(*ptr_alphabet.offset(*ptr_data.offset(9) as isize) as u16)<<14|
                        (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u16)<<09|
                        (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u16)<<04|
                        (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u16)>>01;
                }
            }
        }else{
            *ptr_u16.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(0) as isize) as u16)<<11|
                (*ptr_alphabet.offset(*ptr_data.offset(1) as isize) as u16)<<06|
                (*ptr_alphabet.offset(*ptr_data.offset(2) as isize) as u16)<<01|
                (*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)>>04;
            *ptr_u16.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(3) as isize) as u16)<<12|
                (*ptr_alphabet.offset(*ptr_data.offset(4) as isize) as u16)<<07|
                (*ptr_alphabet.offset(*ptr_data.offset(5) as isize) as u16)<<02|
                (*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)>>03;
            *ptr_u16.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(6) as isize) as u16)<<13|
                (*ptr_alphabet.offset(*ptr_data.offset(7) as isize) as u16)<<08|
                (*ptr_alphabet.offset(*ptr_data.offset(8) as isize) as u16)<<03|
                (*ptr_alphabet.offset(*ptr_data.offset(9) as isize) as u16)>>02;
            *ptr_u16.offset(3)=(*ptr_alphabet.offset(*ptr_data.offset(9) as isize) as u16)<<14|
                (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u16)<<09|
                (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u16)<<04|
                (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u16)>>01;
            *ptr_u16.offset(4)=(*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u16)<<15|
                (*ptr_alphabet.offset(*ptr_data.offset(13) as isize) as u16)<<10|
                (*ptr_alphabet.offset(*ptr_data.offset(14) as isize) as u16)<<05|
                (*ptr_alphabet.offset(*ptr_data.offset(15) as isize) as u16)>>00;
        }
    }
}

pub fn b32_decode_4(ptr_input:*const u8,len_input:usize,ptr_alphabet:*const u8,mut ptr_u32:*mut u32,np:usize){
    let mut ptr_data=ptr_input;
    let mut len_data=len_input;
    unsafe{
        while len_data>32{
            *ptr_u32.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(00) as isize) as u32)<<27|
                (*ptr_alphabet.offset(*ptr_data.offset(01) as isize) as u32)<<22|
                (*ptr_alphabet.offset(*ptr_data.offset(02) as isize) as u32)<<17|
                (*ptr_alphabet.offset(*ptr_data.offset(03) as isize) as u32)<<12|
                (*ptr_alphabet.offset(*ptr_data.offset(04) as isize) as u32)<<07|
                (*ptr_alphabet.offset(*ptr_data.offset(05) as isize) as u32)<<02|
                (*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)>>03;
            *ptr_u32.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)<<29|
                (*ptr_alphabet.offset(*ptr_data.offset(07) as isize) as u32)<<24|
                (*ptr_alphabet.offset(*ptr_data.offset(08) as isize) as u32)<<19|
                (*ptr_alphabet.offset(*ptr_data.offset(09) as isize) as u32)<<14|
                (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u32)<<09|
                (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u32)<<04|
                (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)>>01;
            *ptr_u32.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)<<31|
                (*ptr_alphabet.offset(*ptr_data.offset(13) as isize) as u32)<<26|
                (*ptr_alphabet.offset(*ptr_data.offset(14) as isize) as u32)<<21|
                (*ptr_alphabet.offset(*ptr_data.offset(15) as isize) as u32)<<16|
                (*ptr_alphabet.offset(*ptr_data.offset(16) as isize) as u32)<<11|
                (*ptr_alphabet.offset(*ptr_data.offset(17) as isize) as u32)<<06|
                (*ptr_alphabet.offset(*ptr_data.offset(18) as isize) as u32)<<01|
                (*ptr_alphabet.offset(*ptr_data.offset(19) as isize) as u32)>>04;
            *ptr_u32.offset(3)=(*ptr_alphabet.offset(*ptr_data.offset(19) as isize) as u32)<<28|
                (*ptr_alphabet.offset(*ptr_data.offset(20) as isize) as u32)<<23|
                (*ptr_alphabet.offset(*ptr_data.offset(21) as isize) as u32)<<18|
                (*ptr_alphabet.offset(*ptr_data.offset(22) as isize) as u32)<<13|
                (*ptr_alphabet.offset(*ptr_data.offset(23) as isize) as u32)<<08|
                (*ptr_alphabet.offset(*ptr_data.offset(24) as isize) as u32)<<03|
                (*ptr_alphabet.offset(*ptr_data.offset(25) as isize) as u32)>>02;
            *ptr_u32.offset(4)=(*ptr_alphabet.offset(*ptr_data.offset(25) as isize) as u32)<<30|
                (*ptr_alphabet.offset(*ptr_data.offset(26) as isize) as u32)<<25|
                (*ptr_alphabet.offset(*ptr_data.offset(27) as isize) as u32)<<20|
                (*ptr_alphabet.offset(*ptr_data.offset(28) as isize) as u32)<<15|
                (*ptr_alphabet.offset(*ptr_data.offset(29) as isize) as u32)<<10|
                (*ptr_alphabet.offset(*ptr_data.offset(30) as isize) as u32)<<05|
                (*ptr_alphabet.offset(*ptr_data.offset(31) as isize) as u32)>>00;
            len_data-=32;
            ptr_data.offset(32);
            ptr_u32=ptr_u32.offset(5);
        }
        if np > 0 {
            if np > 3 {
                if np == 4 {
                    *ptr_u32.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(00) as isize) as u32)<<27|
                        (*ptr_alphabet.offset(*ptr_data.offset(01) as isize) as u32)<<22|
                        (*ptr_alphabet.offset(*ptr_data.offset(02) as isize) as u32)<<17|
                        (*ptr_alphabet.offset(*ptr_data.offset(03) as isize) as u32)<<12|
                        (*ptr_alphabet.offset(*ptr_data.offset(04) as isize) as u32)<<07|
                        (*ptr_alphabet.offset(*ptr_data.offset(05) as isize) as u32)<<02|
                        (*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)>>03;
                    *ptr_u32.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)<<29|
                        (*ptr_alphabet.offset(*ptr_data.offset(07) as isize) as u32)<<24|
                        (*ptr_alphabet.offset(*ptr_data.offset(08) as isize) as u32)<<19|
                        (*ptr_alphabet.offset(*ptr_data.offset(09) as isize) as u32)<<14|
                        (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u32)<<09|
                        (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u32)<<04|
                        (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)>>01;
                    *ptr_u32.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)<<31|
                        (*ptr_alphabet.offset(*ptr_data.offset(13) as isize) as u32)<<26|
                        (*ptr_alphabet.offset(*ptr_data.offset(14) as isize) as u32)<<21|
                        (*ptr_alphabet.offset(*ptr_data.offset(15) as isize) as u32)<<16|
                        (*ptr_alphabet.offset(*ptr_data.offset(16) as isize) as u32)<<11|
                        (*ptr_alphabet.offset(*ptr_data.offset(17) as isize) as u32)<<06|
                        (*ptr_alphabet.offset(*ptr_data.offset(18) as isize) as u32)<<01|
                        (*ptr_alphabet.offset(*ptr_data.offset(19) as isize) as u32)>>04;
                }else{
                    *ptr_u32.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(00) as isize) as u32)<<27|
                        (*ptr_alphabet.offset(*ptr_data.offset(01) as isize) as u32)<<22|
                        (*ptr_alphabet.offset(*ptr_data.offset(02) as isize) as u32)<<17|
                        (*ptr_alphabet.offset(*ptr_data.offset(03) as isize) as u32)<<12|
                        (*ptr_alphabet.offset(*ptr_data.offset(04) as isize) as u32)<<07|
                        (*ptr_alphabet.offset(*ptr_data.offset(05) as isize) as u32)<<02|
                        (*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)>>03;
                    *ptr_u32.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)<<29|
                        (*ptr_alphabet.offset(*ptr_data.offset(07) as isize) as u32)<<24|
                        (*ptr_alphabet.offset(*ptr_data.offset(08) as isize) as u32)<<19|
                        (*ptr_alphabet.offset(*ptr_data.offset(09) as isize) as u32)<<14|
                        (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u32)<<09|
                        (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u32)<<04|
                        (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)>>01;
                    *ptr_u32.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)<<31|
                        (*ptr_alphabet.offset(*ptr_data.offset(13) as isize) as u32)<<26|
                        (*ptr_alphabet.offset(*ptr_data.offset(14) as isize) as u32)<<21|
                        (*ptr_alphabet.offset(*ptr_data.offset(15) as isize) as u32)<<16|
                        (*ptr_alphabet.offset(*ptr_data.offset(16) as isize) as u32)<<11|
                        (*ptr_alphabet.offset(*ptr_data.offset(17) as isize) as u32)<<06|
                        (*ptr_alphabet.offset(*ptr_data.offset(18) as isize) as u32)<<01|
                        (*ptr_alphabet.offset(*ptr_data.offset(19) as isize) as u32)>>04;
                    *ptr_u32.offset(3)=(*ptr_alphabet.offset(*ptr_data.offset(19) as isize) as u32)<<28|
                        (*ptr_alphabet.offset(*ptr_data.offset(20) as isize) as u32)<<23|
                        (*ptr_alphabet.offset(*ptr_data.offset(21) as isize) as u32)<<18|
                        (*ptr_alphabet.offset(*ptr_data.offset(22) as isize) as u32)<<13|
                        (*ptr_alphabet.offset(*ptr_data.offset(23) as isize) as u32)<<08|
                        (*ptr_alphabet.offset(*ptr_data.offset(24) as isize) as u32)<<03|
                        (*ptr_alphabet.offset(*ptr_data.offset(25) as isize) as u32)>>02;
                }
            }else{
                if np == 1 {
                    *ptr_u32.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(00) as isize) as u32)<<27|
                        (*ptr_alphabet.offset(*ptr_data.offset(01) as isize) as u32)<<22|
                        (*ptr_alphabet.offset(*ptr_data.offset(02) as isize) as u32)<<17|
                        (*ptr_alphabet.offset(*ptr_data.offset(03) as isize) as u32)<<12|
                        (*ptr_alphabet.offset(*ptr_data.offset(04) as isize) as u32)<<07|
                        (*ptr_alphabet.offset(*ptr_data.offset(05) as isize) as u32)<<02|
                        (*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)>>03;

                }else{
                    *ptr_u32.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(00) as isize) as u32)<<27|
                        (*ptr_alphabet.offset(*ptr_data.offset(01) as isize) as u32)<<22|
                        (*ptr_alphabet.offset(*ptr_data.offset(02) as isize) as u32)<<17|
                        (*ptr_alphabet.offset(*ptr_data.offset(03) as isize) as u32)<<12|
                        (*ptr_alphabet.offset(*ptr_data.offset(04) as isize) as u32)<<07|
                        (*ptr_alphabet.offset(*ptr_data.offset(05) as isize) as u32)<<02|
                        (*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)>>03;
                    *ptr_u32.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)<<29|
                        (*ptr_alphabet.offset(*ptr_data.offset(07) as isize) as u32)<<24|
                        (*ptr_alphabet.offset(*ptr_data.offset(08) as isize) as u32)<<19|
                        (*ptr_alphabet.offset(*ptr_data.offset(09) as isize) as u32)<<14|
                        (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u32)<<09|
                        (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u32)<<04|
                        (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)>>01;
                }
            }
        }else{
            *ptr_u32.offset(0)=(*ptr_alphabet.offset(*ptr_data.offset(00) as isize) as u32)<<27|
                (*ptr_alphabet.offset(*ptr_data.offset(01) as isize) as u32)<<22|
                (*ptr_alphabet.offset(*ptr_data.offset(02) as isize) as u32)<<17|
                (*ptr_alphabet.offset(*ptr_data.offset(03) as isize) as u32)<<12|
                (*ptr_alphabet.offset(*ptr_data.offset(04) as isize) as u32)<<07|
                (*ptr_alphabet.offset(*ptr_data.offset(05) as isize) as u32)<<02|
                (*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)>>03;
            *ptr_u32.offset(1)=(*ptr_alphabet.offset(*ptr_data.offset(06) as isize) as u32)<<29|
                (*ptr_alphabet.offset(*ptr_data.offset(07) as isize) as u32)<<24|
                (*ptr_alphabet.offset(*ptr_data.offset(08) as isize) as u32)<<19|
                (*ptr_alphabet.offset(*ptr_data.offset(09) as isize) as u32)<<14|
                (*ptr_alphabet.offset(*ptr_data.offset(10) as isize) as u32)<<09|
                (*ptr_alphabet.offset(*ptr_data.offset(11) as isize) as u32)<<04|
                (*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)>>01;
            *ptr_u32.offset(2)=(*ptr_alphabet.offset(*ptr_data.offset(12) as isize) as u32)<<31|
                (*ptr_alphabet.offset(*ptr_data.offset(13) as isize) as u32)<<26|
                (*ptr_alphabet.offset(*ptr_data.offset(14) as isize) as u32)<<21|
                (*ptr_alphabet.offset(*ptr_data.offset(15) as isize) as u32)<<16|
                (*ptr_alphabet.offset(*ptr_data.offset(16) as isize) as u32)<<11|
                (*ptr_alphabet.offset(*ptr_data.offset(17) as isize) as u32)<<06|
                (*ptr_alphabet.offset(*ptr_data.offset(18) as isize) as u32)<<01|
                (*ptr_alphabet.offset(*ptr_data.offset(19) as isize) as u32)>>04;
            *ptr_u32.offset(3)=(*ptr_alphabet.offset(*ptr_data.offset(19) as isize) as u32)<<28|
                (*ptr_alphabet.offset(*ptr_data.offset(20) as isize) as u32)<<23|
                (*ptr_alphabet.offset(*ptr_data.offset(21) as isize) as u32)<<18|
                (*ptr_alphabet.offset(*ptr_data.offset(22) as isize) as u32)<<13|
                (*ptr_alphabet.offset(*ptr_data.offset(23) as isize) as u32)<<08|
                (*ptr_alphabet.offset(*ptr_data.offset(24) as isize) as u32)<<03|
                (*ptr_alphabet.offset(*ptr_data.offset(25) as isize) as u32)>>02;
            *ptr_u32.offset(4)=(*ptr_alphabet.offset(*ptr_data.offset(25) as isize) as u32)<<30|
                (*ptr_alphabet.offset(*ptr_data.offset(26) as isize) as u32)<<25|
                (*ptr_alphabet.offset(*ptr_data.offset(27) as isize) as u32)<<20|
                (*ptr_alphabet.offset(*ptr_data.offset(28) as isize) as u32)<<15|
                (*ptr_alphabet.offset(*ptr_data.offset(29) as isize) as u32)<<10|
                (*ptr_alphabet.offset(*ptr_data.offset(30) as isize) as u32)<<05|
                (*ptr_alphabet.offset(*ptr_data.offset(31) as isize) as u32)>>00;
        }
    }
}