# cat Namespace Reference

Compatibility and Fundamental Tools and Types. This namespace contains compatibility tools and types and also fundamental class. More...

## Typedefs

typedef unsigned char | u8
typedef signed char | s8
typedef unsigned short | u16
typedef signed short | s16
typedef unsigned int | u32
typedef signed int | s32
typedef float | f32
typedef double | f64
typedef s32 | sfp22_10
typedef u32 | ufp22_10
typedef s32 | sfp16_16
typedef u32 | ufp16_16

## Detailed Description

Compatibility and Fundamental Tools and Types. This namespace contains compatibility tools and types and also fundamental class.

## Compiler detection

Things to consider for each compiler:

- BIG_ENDIAN / LITTLE_ENDIAN
- MULTITHREADED
- DEBUG
- HASINT64
- Basic types {u8-u64, s8-s64, f32, f64}
- WIN32
- ASSEMBLY_INTEL_SYNTAX / ASSEMBLY_ATT_SYNTAX, ASSEMBLY_BLOCK
- INLINE
- NO_TEMPLATE_INLINE_ASSEMBLY
- Fixes

Set depending which compiler is being used:

- COMPILER_MSVC
- COMPILER_GCC
- COMPILER_BORLANDC

## Typedef Documentation

typedef float cat::f32

Typename for 32 bits floatting point number

typedef double cat::f64

Typename for 64 bits floatting point number

typedef signed short cat::s16

Typename for 16 bits signed integer

typedef signed int cat::s32

Typename for 32 bits signed integer

typedef signed char cat::s8

Typename for 8 bits signed integer

typedef s32 cat::sfp16_16

Fixed point types hi-Siiiiiiiiiiiiiii-lo | hi-ffffffffffffffff-lo

typedef s32 cat::sfp22_10

Fixed-point types hi-Siiiiiiiiiiiiiiiiiiiii-lo | hi-ffffffffff-lo

typedef unsigned short cat::u16

Typename for 16 bits unsigned integer

typedef unsigned int cat::u32

Typename for 32 bits unsigned integer

typedef unsigned char cat::u8

Typename for 8 bits unsigned integer

typedef u32 cat::ufp16_16

Fixed point types hi-iiiiiiiiiiiiiiii-lo | hi-ffffffffffffffff-lo

typedef u32 cat::ufp22_10

Fixed-point types hi-iiiiiiiiiiiiiiiiiiiiii-lo | hi-ffffffffff-lo