include/it/types.h File Reference

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <limits.h>
#include <float.h>

Go to the source code of this file.

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


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