stage4/generate_cc/types.h
author etisserant
Wed, 31 Jan 2007 16:00:18 +0100
changeset 1 5d893a68be6e
permissions -rwxr-xr-x
Changes made since Mario visit at LOLITECH. Thanks again !
1
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     1
/*
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     2
 * (c) 2000 Jiri Baum
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     3
 *          Mario de Sousa
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     4
 *
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     5
 * Offered to the public under the terms of the GNU General Public License
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     6
 * as published by the Free Software Foundation; either version 2 of the
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     7
 * License, or (at your option) any later version.
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     8
 *
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
     9
 * This program is distributed in the hope that it will be useful, but
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    10
 * WITHOUT ANY WARRANTY; without even the implied warranty of
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    12
 * Public License for more details.
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    13
 *
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    14
 * This code is made available on the understanding that it will not be
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    15
 * used in safety-critical situations without a full and competent review.
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    16
 */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    17
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    18
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    19
#ifndef __PLC_TYPES_H
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    20
#define __PLC_TYPES_H
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    21
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    22
#include <limits.h>
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    23
#include <float.h>   /* some limits related to floats are located here (?) */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    24
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    25
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    26
/*
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    27
 * This will need to be conditional on the arquitecture or something.
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    28
 * Anyone know where we can snarf the relevant magic easily?
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    29
 */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    30
typedef double                 f64; /* 64-bit floating point   */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    31
typedef float                  f32; /* 32-bit floating point   */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    32
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    33
typedef unsigned long long int u64; /* 64-bit unsigned integer */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    34
typedef long long int          i64; /* 64-bit signed integer   */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    35
typedef unsigned int           u32; /* 32-bit unsigned integer */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    36
typedef int                    i32; /* 32-bit signed integer   */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    37
typedef unsigned short int     u16; /* 16-bit unsigned integer */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    38
typedef short int              i16; /* 16-bit signed integer   */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    39
typedef unsigned char          u8;  /*  8-bit unsigned integer */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    40
typedef signed char            i8;  /*  8-bit signed integer   */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    41
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    42
/* some platforms seem to be missing <float.h> with the definition of FLT_MAX */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    43
#ifndef FLT_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    44
  /* this is the minimum value guaranteed by ANSI C++           */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    45
  /* does anybody know the minimum value guaranteed for ANSI C ? */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    46
#define FLT_MAX 1E+37
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    47
#endif
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    48
#ifndef FLT_MIN
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    49
  /* this is the minimum value guaranteed by ANSI C++           */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    50
  /* does anybody know the minimum value guaranteed for ANSI C ? */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    51
#define FLT_MIN 1E-37
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    52
#endif
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    53
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    54
#define f32_MAX FLT_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    55
#define f32_MIN FLT_MIN
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    56
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    57
#define u32_MAX UINT_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    58
#define u32_MIN 0
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    59
#define i32_MAX INT_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    60
#define i32_MIN INT_MIN
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    61
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    62
#define u16_MAX USHRT_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    63
#define u16_MIN 0
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    64
#define i16_MAX SHRT_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    65
#define i16_MIN SHRT_MIN
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    66
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    67
#define u8_MAX UCHAR_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    68
#define u8_MIN 0
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    69
#define i8_MAX SCHAR_MAX
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    70
#define i8_MIN SCHAR_MIN
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    71
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    72
#endif /* __PLC_TYPES_H */
5d893a68be6e Changes made since Mario visit at LOLITECH. Thanks again !
etisserant
parents:
diff changeset
    73