Floating point utility routines (Crystal Space 2.0 Public API Reference)

| ## Public API Reference

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

Files | Functions
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.

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.

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.

template<typename T >

static long csQint | ( | T | 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.

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.

template<typename T >

static long csQround | ( | T | 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]`

This routine computes sqrt(x) very quickly on Intel and PowerPC platforms.

Definition at line 97 of file csqsqrt.h.