Types


Data Structures

struct  _it_object_

Defines

#define LIBIT_VERSION(a, b, c)   ((a << 16) + ((b) << 8) + (c))
#define LIBIT_VERSION_CODE   LIBIT_VERSION(0,2,3)
#define INT_MAX   2147483647
#define INT_MIN   (-INT_MAX - 1)
#define IT_EINVAL   1
#define IT_ENOMEM   2
#define IT_ENOENT   3
#define has_u64()   (sizeof(unsigned long) == 8)
#define it_function(name)
#define it_ifunction(name)
#define it_vfunction(name)
#define it_function_args(f)   struct _##f##_
#define IT_FUNCTION(f)   ((it_function_t) f)
#define IT_IFUNCTION(f)   ((it_ifunction_t) f)
#define IT_VFUNCTION(f)   ((it_vfunction_t) f)
#define IT_MAGIC_it_object_t   0x81e73650
#define IT_MAGIC_it_quantizer_t   0x8807fc6c
#define IT_MAGIC_it_scalar_quantizer_t   0x48f58421
#define IT_MAGIC_it_uniform_quantizer_t   0x4a378552
#define IT_MAGIC_it_trellis_coded_quantizer_t   0x0a1d2ed3
#define IT_MAGIC_it_convolutional_code_t   0x93f58bf7
#define IT_MAGIC_it_transform2D_t   0x46e2af32
#define IT_MAGIC_it_wavelet2D_t   0xe5c8ef1a
#define IT_MAGIC_it_transform_t   0xaa709ce4
#define IT_MAGIC_it_wavelet_t   0x8ba63118
#define IT_MAGIC_it_separable2D_t   0x299270ff
#define IT_MAGIC_it_fourier_t   0xe0caafee
#define it_set_magic(object, type_t)   do { object->magic = IT_MAGIC_##type_t; IT_OBJECT(object)->type = IT_MAGIC_##type_t; } while(0)
#define it_check_magic(object, type_t)   (object->magic == IT_MAGIC_##type_t)
#define it_check_type(object, type_t)   (IT_OBJECT(object)->type == IT_MAGIC_##type_t)
#define IT_CAST(type_t, x)   ((type_t *) (x))
#define IT_OBJECT(x)   IT_CAST(it_object_t, x)
#define it_extends(type_t)   type_t super; it_magic_t magic
#define it_new(type_t)   type_t##_instanciate((type_t *) malloc(sizeof(type_t)))
#define it_new_va(type_t)   type_t##_instanciate((type_t *) malloc(sizeof(type_t)),
#define it_va   void *)0
#define it_instanciate(type_t)   type_t * type_t##_instanciate(type_t *it_this, ...)
#define it_construct(type_t)   type_t##_instanciate((type_t *) it_this)
#define it_construct_va(type_t)   type_t##_instanciate((type_t *) it_this,
#define it_delete(object)   IT_OBJECT(object)->destructor(IT_OBJECT(object))
#define it_overloaded(method)   super_##method
#define it_overload(object, type, method, function)
#define it_new_args_start()
#define it_new_args_stop()   va_end(args)
#define it_new_args_next(type_t)   va_arg(args, type_t)

Typedefs

typedef unsigned char byte
typedef unsigned char __it_u8
typedef unsigned short __it_u16
typedef unsigned int __it_u32
typedef unsigned long __it_u64
typedef int idx_t
typedef void * it_args_t
typedef double(* it_function_t )(double, it_args_t)
typedef int(* it_ifunction_t )(int, it_args_t)
typedef double(* it_vfunction_t )(double *, it_args_t)
typedef unsigned int it_magic_t
typedef struct _it_object_ it_object_t

Functions

static idx_t __vec_idx_warnoff__ (void)
static it_instanciate (it_object_t)

Variables

static const idx_t end = (idx_t) INT_MIN
static const idx_t NULL_INDEX = (idx_t) INT_MIN + 1

Detailed Description


Define Documentation

 
#define has_u64 (  )     (sizeof(unsigned long) == 8)

Definition at line 65 of file types.h.

#define INT_MAX   2147483647

#define INT_MIN   (-INT_MAX - 1)

#define IT_CAST ( type_t,
 )     ((type_t *) (x))

Definition at line 194 of file types.h.

Referenced by it_instanciate().

#define it_check_magic ( object,
type_t   )     (object->magic == IT_MAGIC_##type_t)

Definition at line 176 of file types.h.

#define it_check_type ( object,
type_t   )     (IT_OBJECT(object)->type == IT_MAGIC_##type_t)

Definition at line 179 of file types.h.

#define it_construct ( type_t   )     type_t##_instanciate((type_t *) it_this)

Definition at line 215 of file types.h.

Referenced by it_instanciate().

#define it_construct_va ( type_t   )     type_t##_instanciate((type_t *) it_this,

Definition at line 216 of file types.h.

Referenced by it_instanciate().

#define it_delete ( object   )     IT_OBJECT(object)->destructor(IT_OBJECT(object))

Definition at line 220 of file types.h.

Referenced by it_dwt(), it_dwt2D(), it_idwt(), it_idwt2D(), main(), and trellis_coded_quantizer_destructor().

#define IT_EINVAL   1

#define IT_ENOENT   3

Definition at line 56 of file types.h.

#define IT_ENOMEM   2

Definition at line 55 of file types.h.

#define it_extends ( type_t   )     type_t super; it_magic_t magic

Definition at line 205 of file types.h.

#define IT_FUNCTION (  )     ((it_function_t) f)

Definition at line 135 of file types.h.

Referenced by main(), viterbi(), and viterbi_side().

#define it_function ( name   ) 

Value:

it_function_args(name);           \
double __##name(double x, it_function_args(name) *it_this); \
it_function_t name = IT_FUNCTION(__##name);     \
double __##name(double x, it_function_args(name) *it_this)

Definition at line 113 of file types.h.

#define it_function_args (  )     struct _##f##_

Definition at line 132 of file types.h.

Referenced by it_differentiate(), it_function(), it_integrate(), lloyd_max(), main(), and poly_eval().

#define IT_IFUNCTION (  )     ((it_ifunction_t) f)

Definition at line 136 of file types.h.

#define it_ifunction ( name   ) 

Value:

it_function_args(name);           \
int __##name(int x, it_function_args(name) *it_this);   \
it_ifunction_t name = IT_IFUNCTION(__##name);     \
int __##name(int x, it_function_args(name) *it_this)

Definition at line 119 of file types.h.

#define it_instanciate ( type_t   )     type_t * type_t##_instanciate(type_t *it_this, ...)

Definition at line 214 of file types.h.

#define IT_MAGIC_it_convolutional_code_t   0x93f58bf7

Definition at line 150 of file types.h.

#define IT_MAGIC_it_fourier_t   0xe0caafee

Definition at line 156 of file types.h.

#define IT_MAGIC_it_object_t   0x81e73650

Definition at line 145 of file types.h.

Referenced by it_instanciate().

#define IT_MAGIC_it_quantizer_t   0x8807fc6c

Definition at line 146 of file types.h.

#define IT_MAGIC_it_scalar_quantizer_t   0x48f58421

Definition at line 147 of file types.h.

#define IT_MAGIC_it_separable2D_t   0x299270ff

Definition at line 155 of file types.h.

#define IT_MAGIC_it_transform2D_t   0x46e2af32

Definition at line 151 of file types.h.

#define IT_MAGIC_it_transform_t   0xaa709ce4

Definition at line 153 of file types.h.

#define IT_MAGIC_it_trellis_coded_quantizer_t   0x0a1d2ed3

Definition at line 149 of file types.h.

#define IT_MAGIC_it_uniform_quantizer_t   0x4a378552

Definition at line 148 of file types.h.

#define IT_MAGIC_it_wavelet2D_t   0xe5c8ef1a

Definition at line 152 of file types.h.

#define IT_MAGIC_it_wavelet_t   0x8ba63118

Definition at line 154 of file types.h.

#define it_new ( type_t   )     type_t##_instanciate((type_t *) malloc(sizeof(type_t)))

Definition at line 211 of file types.h.

#define it_new_args_next ( type_t   )     va_arg(args, type_t)

Definition at line 257 of file types.h.

Referenced by it_instanciate().

 
#define it_new_args_start (  ) 

Value:

va_list args;                      \
  va_start(args, it_this);           \
  (void) va_arg(args, void *)

Definition at line 247 of file types.h.

Referenced by it_instanciate().

 
#define it_new_args_stop (  )     va_end(args)

Definition at line 253 of file types.h.

Referenced by it_instanciate().

#define it_new_va ( type_t   )     type_t##_instanciate((type_t *) malloc(sizeof(type_t)),

#define IT_OBJECT (  )     IT_CAST(it_object_t, x)

Definition at line 198 of file types.h.

#define it_overload ( object,
type,
method,
function   ) 

Value:

do {                    \
    object->it_overloaded(method) = IT_CAST(type, it_this)->method; \
    IT_CAST(type, it_this)->method = function;        \
  } while(0)

Definition at line 224 of file types.h.

Referenced by it_instanciate().

#define it_overloaded ( method   )     super_##method

Definition at line 223 of file types.h.

#define it_set_magic ( object,
type_t   )     do { object->magic = IT_MAGIC_##type_t; IT_OBJECT(object)->type = IT_MAGIC_##type_t; } while(0)

Definition at line 173 of file types.h.

Referenced by it_instanciate().

#define IT_VFUNCTION (  )     ((it_vfunction_t) f)

Definition at line 137 of file types.h.

#define it_vfunction ( name   ) 

Value:

it_function_args(name);           \
double __##name(vec v, it_function_args(name) *it_this);  \
it_vfunction_t name = IT_VFUNCTION(__##name);     \
double __##name(vec v, it_function_args(name) *it_this)

Definition at line 125 of file types.h.

#define LIBIT_VERSION ( a,
b,
 )     ((a << 16) + ((b) << 8) + (c))

Definition at line 40 of file types.h.

#define LIBIT_VERSION_CODE   LIBIT_VERSION(0,2,3)

Definition at line 41 of file types.h.


Typedef Documentation

typedef unsigned short __it_u16

Definition at line 63 of file types.h.

typedef unsigned int __it_u32

Definition at line 64 of file types.h.

typedef unsigned long __it_u64

Definition at line 66 of file types.h.

typedef unsigned char __it_u8

Definition at line 62 of file types.h.

typedef unsigned char byte

Definition at line 59 of file types.h.

typedef int idx_t

Definition at line 86 of file types.h.

typedef void* it_args_t

Definition at line 101 of file types.h.

typedef double(* it_function_t)(double, it_args_t)

Definition at line 104 of file types.h.

typedef int(* it_ifunction_t)(int, it_args_t)

Definition at line 107 of file types.h.

typedef unsigned int it_magic_t

Definition at line 143 of file types.h.

typedef struct _it_object_ it_object_t

typedef double(* it_vfunction_t)(double *, it_args_t)

Definition at line 110 of file types.h.


Function Documentation

static idx_t __vec_idx_warnoff__ ( void   )  [inline, static]

Definition at line 94 of file types.h.

References end, and NULL_INDEX.

static it_instanciate ( it_object_t   )  [inline, static]

Definition at line 233 of file types.h.

References IT_CAST, and IT_MAGIC_it_object_t.


Variable Documentation

const idx_t end = (idx_t) INT_MIN [static]

Definition at line 89 of file types.h.

Referenced by __vec_idx_warnoff__(), and parser_var_line().


Hosted by
Copyright (C) 2005-2006 Hervé Jégou
Vivien Chappelier
Francois Cayre
libit logo courtesy of Jonathan Delhumeau