CrystalSpace

Public API Reference

Floating point utility routines


Files

file  csqint.h
 Quick floating point to integer conversions.

Functions

static long csQfixed16 (float n)
 Quickly convert a floating-point number to 16.16 fixed-point value.
static long csQfixed24 (float n)
 Quickly convert a floating-point number to 8.24 fixed-point value.
static long csQfixed8 (float n)
 Quickly convert a floating-point number to 24.8 fixed-point value.
template<typename T>
static long csQint (T n)
 Quickly truncate the fractional part of a floating-point value and convert it to a long integer using processor and/or number format quirks if available.
static float csQisqrt (float x)
 This routine is basically equivalent to csQsqrt() except that it returns 1/sqrt(x) rather than the proper square root.
template<typename T>
static long csQround (T n)
 Quickly round a floating-point value and convert it to a long integer using processor and/or number format quirks if available.
static float csQsqrt (float x)
 This routine computes sqrt(x) very quickly on Intel and PowerPC platforms.

Function Documentation

static inline long csQfixed16 ( float  n  )  [inline, static]

Quickly convert a floating-point number to 16.16 fixed-point value.

Definition at line 54 of file csqint.h.

Referenced by csQint16(), csG2DDrawLine< Tpixel, Tpixmixer >::DrawLine(), and csFixed16::operator=().

static inline long csQfixed24 ( float  n  )  [inline, static]

Quickly convert a floating-point number to 8.24 fixed-point value.

Definition at line 59 of file csqint.h.

Referenced by csQint24(), and csFixed24::operator=().

static inline long csQfixed8 ( float  n  )  [inline, static]

Quickly convert a floating-point number to 24.8 fixed-point value.

Definition at line 49 of file csqint.h.

Referenced by csQint8().

template<typename T>
static long csQint ( n  )  [inline, static]

Quickly truncate the fractional part of a floating-point value and convert it to a long integer using processor and/or number format quirks if available.

Definition at line 36 of file csqint.h.

Referenced by csG2DDrawLine< Tpixel, Tpixmixer >::DrawLine().

static float csQisqrt ( float  x  )  [static]

This routine is basically equivalent to csQsqrt() except that it returns 1/sqrt(x) rather than the proper square root.

It should be used anywhere you need the inverse root (in 3D graphics it is a common situation), because the routine is a little faster than csQsqrt() and also you avoid a division.

Definition at line 98 of file csqsqrt.h.

Referenced by csVector4T< float >::Normalize().

template<typename T>
static long csQround ( n  )  [inline, static]

Quickly round a floating-point value and convert it to a long integer using processor and/or number format quirks if available.

Definition at line 43 of file csqint.h.

static float csQsqrt ( float  x  )  [static]


Generated for Crystal Space by doxygen 1.4.7