This is the documentation for Enlighten.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Classes

Name Description
Geo::GeoHalf

Convenience value type for a half float.

Variables

Name Description
const float g_MaxNegHalfFloat = -65504.0f

Largest representable negative half-float (=-(2 - 2^-10) * 2^15)

const float g_MaxPosHalfFloat = 65504.0f

Largest representable positive half-float (=(2 - 2^-10) * 2^15)

Functions

Name Description
ConvertFloatToHalf(float)

Convert a float to a half.

ConvertFloatToHalfArray(Geo::u16 *, const float *, Geo::u32)

Convert an array of floats to an array of halves.

ConvertHalfToFloat(Geo::u16)

Convert a half to a float.

ConvertHalfToFloatArray(const Geo::u16 *, float *, Geo::u32)

Convert an array of halves to an array of floats.

ConvertV128ToHalfVectorArray(Geo::u64 *, const Geo::v128 *, Geo::u32)

Convert an array of v128s to an array of half vectors.

HalfVectorToV128(const Geo::u16 *)

Convert a 4-element array of half floats to a v128.

HalfVectorToV128_Portable(const Geo::u16 *)

Convert a 4-element array of half floats to a v128.

V128ToHalfVector(Geo::v128, Geo::u16 *)

Convert a v128 to a 4-element array of half floats.

V128ToHalfVector_Portable(Geo::v128, Geo::u16 *)

Convert a v128 to a 4-element array of half floats.


Geo::u16 GEO_CALL Geo::ConvertFloatToHalf


public: Geo::u16GEO_CALL ConvertFloatToHalf
(
    float value
)


Convert a float to a half.

Currently using the portable implementation on all platforms.


void GEO_CALL Geo::ConvertFloatToHalfArray


public: void GEO_CALL ConvertFloatToHalfArray
(
    Geo::u16 * halves,
    const float * floats,
    Geo::u32 count
)


Convert an array of floats to an array of halves.

On SSE platforms a faster implementation is used if:

  • halves is 8-byte aligned.

  • floats is 16-byte aligned.

  • count is a multiple of 4.


float GEO_CALL Geo::ConvertHalfToFloat


public: float GEO_CALL ConvertHalfToFloat
(
    Geo::u16 value
)


Convert a half to a float.

Currently using the portable implementation on all platforms.


void GEO_CALL Geo::ConvertHalfToFloatArray


public: void GEO_CALL ConvertHalfToFloatArray
(
    const Geo::u16 * halves,
    float * floats,
    Geo::u32 count
)


Convert an array of halves to an array of floats.

Currently using the portable implementation on all platforms.


void GEO_CALL Geo::ConvertV128ToHalfVectorArray


public: void GEO_CALL ConvertV128ToHalfVectorArray
(
    Geo::u64 * vHalves,
    const Geo::v128 * v,
    Geo::u32 count
)


Convert an array of v128s to an array of half vectors.


GEO_FORCE_INLINE Geo::v128 GEO_CALL Geo::HalfVectorToV128


public: GEO_FORCE_INLINEGeo::v128GEO_CALL HalfVectorToV128
(
    const Geo::u16 * vHalf
)


Convert a 4-element array of half floats to a v128.

This version acts as a switch board to the optimized versions (where available)


Geo::v128 GEO_CALL Geo::HalfVectorToV128_Portable


public: Geo::v128GEO_CALL HalfVectorToV128_Portable
(
    const Geo::u16 * vHalf
)


Convert a 4-element array of half floats to a v128.

Currently using the portable implementation on all platforms.


GEO_FORCE_INLINE void GEO_CALL Geo::V128ToHalfVector


public: GEO_FORCE_INLINE void GEO_CALL V128ToHalfVector
(
    Geo::v128 fp32,
    Geo::u16 * vOutHalf
)


Convert a v128 to a 4-element array of half floats.

This version acts as a switch board to the optimized versions (where available)


void GEO_CALL Geo::V128ToHalfVector_Portable


public: void GEO_CALL V128ToHalfVector_Portable
(
    Geo::v128 fp32,
    Geo::u16 * vOutHalf
)


Convert a v128 to a 4-element array of half floats.

Currently using the portable implementation on all platforms.

  • No labels