NVIDIA IndeX: Base API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
types.h File Reference

Basic types. More...

#include <mi/base/config.h>
#include <mi/base/assert.h>
#include <cstddef>
#include <cstdlib>
#include <cmath>
#include <algorithm>

Go to the source code of this file.

Classes

struct  mi::base::numeric_traits_base< T >
 Base class for the helper class to deduce properties of numeric types defined in this API. More...
 
struct  mi::base::numeric_traits< T >
 Helper class to deduce properties of numeric types defined in this API. More...
 
struct  mi::base::numeric_traits< Sint8 >
 Numeric traits specialization for mi::Sint8. More...
 
struct  mi::base::numeric_traits< Sint16 >
 Numeric traits specialization for mi::Sint16. More...
 
struct  mi::base::numeric_traits< Sint32 >
 Numeric traits specialization for mi::Sint32. More...
 
struct  mi::base::numeric_traits< Sint64 >
 Numeric traits specialization for mi::Sint64. More...
 
struct  mi::base::numeric_traits< Uint8 >
 Numeric traits specialization for mi::Uint8. More...
 
struct  mi::base::numeric_traits< Uint16 >
 Numeric traits specialization for mi::Uint16. More...
 
struct  mi::base::numeric_traits< Uint32 >
 Numeric traits specialization for mi::Uint32. More...
 
struct  mi::base::numeric_traits< Uint64 >
 Numeric traits specialization for mi::Uint64. More...
 
struct  mi::base::numeric_traits< Float32 >
 Numeric traits specialization for mi::Float32. More...
 
struct  mi::base::numeric_traits< Float64 >
 Numeric traits specialization for mi::Float64. More...
 

Namespaces

 mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
 mi::base
 Namespace for the Base API.
 

Constant Groups

 mi
 Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
 
 mi::base
 Namespace for the Base API.
 

Macros

#define MI_BASE_FMT_MI_SINT64   "lld"
 The printf format specifier for mi::Sint64. More...
 
#define MI_BASE_FMT_MI_UINT64   "llu"
 The printf format specifier for mi::Uint64. More...
 
#define MI_BASE_FMT_MI_SIZE   "llu"
 The printf format specifier for mi::Size. More...
 
#define MI_BASE_FMT_MI_DIFFERENCE   "lld"
 The printf format specifier for mi::Difference. More...
 
#define MI_PI   3.14159265358979323846
 Value of Pi.
 
#define MI_PI_2   1.57079632679489661923
 Value of Pi / 2.
 
#define MI_PI_4   0.78539816339744830962
 Value of Pi / 4.
 
#define MI__FLOAT32_INF_REP   { 0, 0x7f80 }
 
#define MI__FLOAT32_QNAN_REP   { 0, 0x7fc0 }
 
#define MI__FLOAT32_SNAN_REP   { 0, 0x7fa0 }
 
#define MI__FLOAT64_INF_REP   { 0, 0, 0, 0x7ff0 }
 
#define MI__FLOAT64_QNAN_REP   { 0, 0, 0, 0x7ff8 }
 
#define MI__FLOAT64_SNAN_REP   { 0, 0, 0, 0x7ff4 }
 

Typedefs

typedef signed char mi::Sint8
 8-bit signed integer.
 
typedef signed short mi::Sint16
 16-bit signed integer.
 
typedef signed int mi::Sint32
 32-bit signed integer.
 
typedef unsigned char mi::Uint8
 8-bit unsigned integer.
 
typedef unsigned short mi::Uint16
 16-bit unsigned integer.
 
typedef unsigned int mi::Uint32
 32-bit unsigned integer.
 
typedef float mi::Float32
 32-bit float.
 
typedef double mi::Float64
 64-bit float.
 
typedef long long mi::Sint64
 64-bit signed integer.
 
typedef unsigned long long mi::Uint64
 64-bit unsigned integer.
 
typedef Uint64 mi::Size
 Unsigned integral type that is large enough to hold the size of all types. This type is for example used for dimensions and indices of vectors. More...
 
typedef Sint64 mi::Difference
 Signed integral type that is large enough to hold the difference of two pointers. More...
 

Enumerations

enum  mi::Comparison_result {
  mi::NEGATIVE = -1, mi::ZERO = 0, mi::POSITIVE = 1, mi::LESS = -1,
  mi::EQUAL = 0, mi::GREATER = 1
}
 An enum for a three-valued comparison result. More...
 

Functions

 mi::mi_static_assert (sizeof(Sint8)==1)
 
 mi::mi_static_assert (sizeof(Sint16)==2)
 
 mi::mi_static_assert (sizeof(Sint32)==4)
 
 mi::mi_static_assert (sizeof(Sint64)==8)
 
 mi::mi_static_assert (sizeof(Uint8)==1)
 
 mi::mi_static_assert (sizeof(Uint16)==2)
 
 mi::mi_static_assert (sizeof(Uint32)==4)
 
 mi::mi_static_assert (sizeof(Uint64)==8)
 
 mi::mi_static_assert (sizeof(Float32)==4)
 
 mi::mi_static_assert (sizeof(Float64)==8)
 
Comparison_result mi::operator- (Comparison_result sign)
 Reverses the sign of a three valued enum.
 
template<typename T >
Comparison_result mi::three_valued_sign (T t)
 Returns the three valued sign for a numerical type T. More...
 
template<typename T >
Comparison_result mi::three_valued_compare (T lhs, T rhs)
 Returns the three valued comparison result between two values of a numerical type T. More...
 
Sint8 min mi::base::MI_PREVENT_MACRO_EXPAND (const Sint8 a, const Sint8 b)
 
Sint16 min mi::base::MI_PREVENT_MACRO_EXPAND (const Sint16 a, const Sint16 b)
 
Sint32 min mi::base::MI_PREVENT_MACRO_EXPAND (const Sint32 a, const Sint32 b)
 
Sint64 min mi::base::MI_PREVENT_MACRO_EXPAND (const Sint64 a, const Sint64 b)
 
Uint8 min mi::base::MI_PREVENT_MACRO_EXPAND (const Uint8 a, const Uint8 b)
 
Uint16 min mi::base::MI_PREVENT_MACRO_EXPAND (const Uint16 a, const Uint16 b)
 
Uint32 min mi::base::MI_PREVENT_MACRO_EXPAND (const Uint32 a, const Uint32 b)
 
Uint64 min mi::base::MI_PREVENT_MACRO_EXPAND (const Uint64 a, const Uint64 b)
 
Float32 min mi::base::MI_PREVENT_MACRO_EXPAND (const Float32 a, const Float32 b)
 
Float64 min mi::base::MI_PREVENT_MACRO_EXPAND (const Float64 a, const Float64 b)
 
template<class Target , class Source >
Target mi::base::binary_cast (Source const &val)
 Cast an immutable 'Source' value to an immutable 'Target' value. Use this function as follows: More...
 

Detailed Description

Basic types.

See Basic Types.