| OpenAL-1.3.1.1: A binding to the OpenAL cross-platform 3D audio API | Source code | Contents | Index
Sound.OpenAL.AL.BasicTypes |
Portability | portable
Stability | provisional
Maintainer | sven.panne@aedion.de
Contents
Primitive Types Floating-Point Computation
Description
This module corresponds to section 2.2 (Primitive Types) of the OpenAL Specification and Reference (version 1.1).
Synopsis
type ALboolean = Int8
type ALchar = Int8
type ALbyte = Int8
type ALubyte = Word8
type ALshort = Int16
type ALushort = Word16
type ALint = Int32
type ALuint = Word32
type ALsizei = Int32
type ALenum = Int32
type ALfloat = Float
type ALdouble = Double
Primitive Types
As OpenAL is meant to allow for seamless integration with OpenGL code if needed, the OpenAL library primitive (scalar) data types mimic the OpenGL data types. Guaranteed minimum sizes are stated for OpenGL data types, but the actual choice of C data type is left to the implementation. All implementations on a given binary architecture, however, must use a common definition of these data types.
Floating-Point Computation
Any representable floating-point value is legal as input to an OpenAL command that requires floating point data. The result of providing a value that is not a floating point number to such a command is unspecified, but must not lead to OpenAL being interrupted or terminated. In IEEE arithmetic, for example, providing a negative zero or a denormalized number to an OpenAL command yields predictable results, while providing a NaN or infinity yields unspecified results. Some calculations require division. In such cases (including implied divisions required by vector normalizations), a division by zero produces an unspecified result but must not lead to OpenAL interruption or termination.
type ALboolean = Int8 | Source
8-bit boolean
type ALchar = Int8 | Source
Character
type ALbyte = Int8 | Source
Signed 8-bit 2's complement integer
type ALubyte = Word8 | Source
Unsigned 8-bit integer
type ALshort = Int16 | Source
Signed 16-bit 2's complement integer
type ALushort = Word16 | Source
Unsigned 16-bit integer
type ALint = Int32 | Source
Signed 32-bit 2's complement integer
type ALuint = Word32 | Source
Unsigned 32-bit integer
type ALsizei = Int32 | Source
Non-negatitve 32-bit binary integer size
type ALenum = Int32 | Source
Enumerated 32-bit value
type ALfloat = Float | Source
32-bit IEEE754 floating-point
type ALdouble = Double | Source
64-bit IEEE754 floating-point
Produced by Haddock version 0.9