Exemplo n.º 1
0
        void Load(out Single value, ByteOrderDirectionCombination combo)
        {
            switch (combo)
            {
            case LittleEndianLoader:
                ReadTemporary(4);
                value = (Single)((Temporary[3] << 0) | (Temporary[2] << 8) | (Temporary[1] << 16) | (Temporary[0] << 24));
                break;

            case BigEndianLoader:
                ReadTemporary(4);
                value = (Single)((Temporary[0] << 0) | (Temporary[1] << 8) | (Temporary[2] << 16) | (Temporary[3] << 24));
                break;

            default:
                throw NotLoaderException();
            }
        }
Exemplo n.º 2
0
        void Load(out Double value, ByteOrderDirectionCombination combo)
        {
            switch (combo)
            {
            case LittleEndianLoader:
                ReadTemporary(8);
                value = (Double)(((ulong)Temporary[7] << 0) | ((ulong)Temporary[6] << 8) | ((ulong)Temporary[5] << 16) | ((ulong)Temporary[4] << 24) | ((ulong)Temporary[3] << 32) | ((ulong)Temporary[2] << 40) | ((ulong)Temporary[1] << 48) | ((ulong)Temporary[0] << 56));
                break;

            case BigEndianLoader:
                ReadTemporary(8);
                value = (Double)(((ulong)Temporary[0] << 0) | ((ulong)Temporary[1] << 8) | ((ulong)Temporary[2] << 16) | ((ulong)Temporary[3] << 24) | ((ulong)Temporary[4] << 32) | ((ulong)Temporary[5] << 40) | ((ulong)Temporary[6] << 48) | ((ulong)Temporary[7] << 56));
                break;

            default:
                throw NotLoaderException();
            }
        }
Exemplo n.º 3
0
        void Load(out UInt16 value, ByteOrderDirectionCombination combo)
        {
            switch (combo)
            {
            case LittleEndianLoader:
                ReadTemporary(2);
                value = (UInt16)((Temporary[1] << 0) | (Temporary[0] << 8));
                break;

            case BigEndianLoader:
                ReadTemporary(2);
                value = (UInt16)((Temporary[0] << 0) | (Temporary[1] << 8));
                break;

            default:
                throw NotLoaderException();
            }
        }
Exemplo n.º 4
0
 void Save(ref Double value, ByteOrderDirectionCombination combo)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 5
0
 public ByteOrderDirectionCombinator(ByteOrderDirectionCombination littleEndian, ByteOrderDirectionCombination bigEndian)
 {
     LittleEndian = littleEndian;
     BigEndian    = bigEndian;
 }
Exemplo n.º 6
0
 void Save(ref Double value, ByteOrderDirectionCombination combo)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 7
0
        void Load(out Double value, ByteOrderDirectionCombination combo)
        {
            switch(combo) {
                        case LittleEndianLoader:
                            ReadTemporary(8);
                            value = (Double)(((ulong)Temporary[7] << 0) | ((ulong)Temporary[6] << 8) | ((ulong)Temporary[5] << 16) | ((ulong)Temporary[4] << 24) | ((ulong)Temporary[3] << 32) | ((ulong)Temporary[2] << 40) | ((ulong)Temporary[1] << 48) | ((ulong)Temporary[0] << 56));
                            break;

                        case BigEndianLoader:
                            ReadTemporary(8);
                            value = (Double)(((ulong)Temporary[0] << 0) | ((ulong)Temporary[1] << 8) | ((ulong)Temporary[2] << 16) | ((ulong)Temporary[3] << 24) | ((ulong)Temporary[4] << 32) | ((ulong)Temporary[5] << 40) | ((ulong)Temporary[6] << 48) | ((ulong)Temporary[7] << 56));
                            break;

                        default:
                            throw NotLoaderException();
                    }
        }
Exemplo n.º 8
0
        void Load(out Single value, ByteOrderDirectionCombination combo)
        {
            switch(combo) {
                        case LittleEndianLoader:
                            ReadTemporary(4);
                            value = (Single)((Temporary[3] << 0) | (Temporary[2] << 8) | (Temporary[1] << 16) | (Temporary[0] << 24));
                            break;

                        case BigEndianLoader:
                            ReadTemporary(4);
                            value = (Single)((Temporary[0] << 0) | (Temporary[1] << 8) | (Temporary[2] << 16) | (Temporary[3] << 24));
                            break;

                        default:
                            throw NotLoaderException();
                    }
        }
Exemplo n.º 9
0
        void Load(out UInt16 value, ByteOrderDirectionCombination combo)
        {
            switch(combo) {
                        case LittleEndianLoader:
                            ReadTemporary(2);
                            value = (UInt16)((Temporary[1] << 0) | (Temporary[0] << 8));
                            break;

                        case BigEndianLoader:
                            ReadTemporary(2);
                            value = (UInt16)((Temporary[0] << 0) | (Temporary[1] << 8));
                            break;

                        default:
                            throw NotLoaderException();
                    }
        }
Exemplo n.º 10
0
 public ByteOrderDirectionCombinator(ByteOrderDirectionCombination littleEndian, ByteOrderDirectionCombination bigEndian)
 {
     LittleEndian = littleEndian;
     BigEndian = bigEndian;
 }