Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)

Enlighten API 3.10 Documentation
Results will update as you type.
  • Modules
    • module Enlighten
    • module Infrastructure (GeoBase)
    • module Infrastructure (GeoCore)
      • module 3DPlane
      • module Colours
      • module Containers
      • module Endian Conversion
      • module Half Precision Scalars
      • module Maths
      • module Matrices
      • module Object Lifetime
      • module Quaternions
      • module Scalars
      • module Serialisation
      • module Simple CPU texture formats.
      • module Triangle Rasteriser
      • module Vectors
  • Namespaces
  • Notes
    Calendars

You‘re viewing this with anonymous access, so some content might be blocked.
/
module Endian Conversion

    This is the documentation for Enlighten.

    module Endian Conversion

    Nov 21, 2019

    Functions

    Name Description
    ByteSwap(T)

    Generic swap that works for any built-in type <= 8 bytes.

    ByteSwap(float)

    Generic swap that works for any built-in type <= 8 bytes.

    ByteSwap(double)

    Generic swap that works for any built-in type <= 8 bytes.

    ByteSwap16(u16)

    Fundamental byte-swapping macros.

    ByteSwap32(u32)

    Fundamental byte-swapping macros.

    ByteSwap32F(float)

    Fundamental byte-swapping macros.

    ByteSwap64(u64)

    Fundamental byte-swapping macros.

    ByteSwapArray16(Geo::u16 *, Geo::u32)

    Byte swap an array of 16-bit values.

    ByteSwapArray32(Geo::u32 *, Geo::u32)

    Byte swap an array of 32-bit values.

    ByteSwapArray64(Geo::u64 *, Geo::u32)

    Byte swap an array of 64-bit values.

    ByteSwapArrayFloat(float *, Geo::u32)

    Byte swap an array of 32-bit float values.

    IsLittleEndian(void)

    Returns true if little endian.

    WillConvertToCurrentEndian(EConvertEndianMode)

    Will a conversion of mode result in moving to the current platform? If the result is true, the (incoming) data should be swapped before use.

    Defines

    Name Description
    GEO_ARRAY_BSWAP_16 { Geo::ByteSwapArray16(reinterpret_cast<Geo::u16*>(pArray), elementCount); }

    Array swapping macros.

    GEO_ARRAY_BSWAP_32 { Geo::ByteSwapArray32(reinterpret_cast<Geo::u32*>(pArray), elementCount); }

    Array swapping macros.

    GEO_ARRAY_BSWAP_32F { Geo::ByteSwapArrayFloat(reinterpret_cast<float*>(pArray), elementCount); }

    Array swapping macros.

    GEO_ARRAY_BSWAP_64 { Geo::ByteSwapArray64(reinterpret_cast<Geo::u64*>(pArray), elementCount); }

    Array swapping macros.

    GEO_BSWAP_16 (Geo::ByteSwap16(x))

    Fundamental byte-swapping macros.

    GEO_BSWAP_32 (Geo::ByteSwap32(x))

    Fundamental byte-swapping macros.

    GEO_BSWAP_32F (Geo::ByteSwap32F(x))

    Fundamental byte-swapping macros.

    GEO_BSWAP_64 (Geo::ByteSwap64(x))

    Fundamental byte-swapping macros.

    Enums

    Name Description
    EConvertEndianMode

    Enumeration used to control behaviour of various endian swapping functions.


    T Geo::ByteSwap


    public: T ByteSwap
    (
        T x
    )


    Generic swap that works for any built-in type <= 8 bytes.


    float Geo::ByteSwap


    public: float ByteSwap
    (
        float x
    )


    Generic swap that works for any built-in type <= 8 bytes.


    double Geo::ByteSwap


    public: double ByteSwap
    (
        double x
    )


    Generic swap that works for any built-in type <= 8 bytes.


    u16 Geo::ByteSwap16


    public: u16 ByteSwap16
    (
        u16 x
    )


    Fundamental byte-swapping macros.


    u32 Geo::ByteSwap32


    public: u32 ByteSwap32
    (
        u32 x
    )


    Fundamental byte-swapping macros.


    float Geo::ByteSwap32F


    public: float ByteSwap32F
    (
        float x
    )


    Fundamental byte-swapping macros.


    u64 Geo::ByteSwap64


    public: u64 ByteSwap64
    (
        u64 x
    )


    Fundamental byte-swapping macros.


    void GEO_CALL Geo::ByteSwapArray16


    public: void GEO_CALL ByteSwapArray16
    (
        Geo::u16 * pArray,
        Geo::u32 elementCount
    )


    Byte swap an array of 16-bit values.


    void GEO_CALL Geo::ByteSwapArray32


    public: void GEO_CALL ByteSwapArray32
    (
        Geo::u32 * pArray,
        Geo::u32 elementCount
    )


    Byte swap an array of 32-bit values.


    void GEO_CALL Geo::ByteSwapArray64


    public: void GEO_CALL ByteSwapArray64
    (
        Geo::u64 * pArray,
        Geo::u32 elementCount
    )


    Byte swap an array of 64-bit values.


    void GEO_CALL Geo::ByteSwapArrayFloat


    public: void GEO_CALL ByteSwapArrayFloat
    (
        float * pArray,
        Geo::u32 elementCount
    )


    Byte swap an array of 32-bit float values.


    bool Geo::IsLittleEndian


    public: bool IsLittleEndian
    (
        void
    )


    Returns true if little endian.


    bool Geo::WillConvertToCurrentEndian


    public: bool WillConvertToCurrentEndian
    (
        EConvertEndianMode mode
    )


    Will a conversion of mode result in moving to the current platform? If the result is true, the (incoming) data should be swapped before use.

    If the result is false, the (outgoing) data should be used before swapped. If the mode is ecemNone, the result is undefined.


    EConvertEndianMode


    public: enum EConvertEndianMode
    {
        ecemNone = 0,
        ecemLittleToBig = 1,
        ecemBigToLittle = 2,
        ecemLittleToNative = ecemNone,
        ecemBigToNative = ecemBigToLittle,
        ecemNativeToLittle = ecemNone,
        ecemNativeToBig = ecemLittleToBig
    }


    Enumeration used to control behaviour of various endian swapping functions.

    Determines the direction of the conversion operation.

    enumerators
    ecemNone
    ecemLittleToBig
    ecemBigToLittle
    ecemLittleToNative
    ecemBigToNative
    ecemNativeToLittle
    ecemNativeToBig
    , multiple selections available,
    {"serverDuration": 10, "requestCorrelationId": "1ac33f9e2cb24d07abbff7aa48d21604"}