Annotation of rpl/src/rpltypes.h, revision 1.1
1.1 ! bertrand 1: /*
! 2: ================================================================================
! 3: RPL/2 (R) version 4.0.9
! 4: Copyright (C) 1989-2010 Dr. BERTRAND Joël
! 5:
! 6: This file is part of RPL/2.
! 7:
! 8: RPL/2 is free software; you can redistribute it and/or modify it
! 9: under the terms of the CeCILL V2 License as published by the french
! 10: CEA, CNRS and INRIA.
! 11:
! 12: RPL/2 is distributed in the hope that it will be useful, but WITHOUT
! 13: ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
! 14: FITNESS FOR A PARTICULAR PURPOSE. See the CeCILL V2 License
! 15: for more details.
! 16:
! 17: You should have received a copy of the CeCILL License
! 18: along with RPL/2. If not, write to info@cecill.info.
! 19: ================================================================================
! 20: */
! 21:
! 22:
! 23: #ifndef INCLUSION_RPLTYPES
! 24: # define INCLUSION_RPLTYPES
! 25:
! 26: # ifdef RPLCONFIG
! 27: # define HAVE_CONFIG_H
! 28: # endif
! 29:
! 30: # ifdef HAVE_CONFIG_H
! 31:
! 32: /*
! 33: --------------------------------------------------------------------------------
! 34: Configuratoin héritée du script configure
! 35: --------------------------------------------------------------------------------
! 36: */
! 37:
! 38: # include "rplconfig.h"
! 39:
! 40: /*
! 41: * Entiers
! 42: */
! 43:
! 44: # if (SIZEOF_CHAR == 1)
! 45: # ifndef _INT1
! 46: # define _INT1
! 47: typedef signed char integer1;
! 48: typedef unsigned char logical1;
! 49: typedef logical1 unsigned_integer1;
! 50: # endif
! 51: # endif
! 52:
! 53: # if (SIZEOF_SHORT_INT == 2)
! 54: # ifndef _INT2
! 55: # define _INT2
! 56: typedef short int integer2;
! 57: typedef unsigned short int logical2;
! 58: typedef logical2 unsigned_integer2;
! 59: # endif
! 60: # endif
! 61:
! 62: # if (SIZEOF_INT == 4)
! 63: # ifndef _INT4
! 64: # define _INT4
! 65: typedef int integer4;
! 66: typedef unsigned int logical4;
! 67: typedef logical4 unsigned_integer4;
! 68: # endif
! 69: # endif
! 70:
! 71: # if (SIZEOF_LONG_INT == 4)
! 72: # ifndef _INT4
! 73: # define _INT4
! 74: typedef long int integer4;
! 75: typedef unsigned long int logical4;
! 76: typedef logical4 unsigned_integer4;
! 77: # endif
! 78: # endif
! 79:
! 80: # if (SIZEOF_LONG_INT == 8)
! 81: # ifndef _INT8
! 82: # define _INT8
! 83: typedef long long int integer8;
! 84: typedef unsigned long long int logical8;
! 85: typedef logical8 unsigned_integer8;
! 86: # endif
! 87: # endif
! 88:
! 89: # if (SIZEOF_LONG_LONG_INT == 8)
! 90: # ifndef _INT8
! 91: # define _INT8
! 92: typedef long long int integer8;
! 93: typedef unsigned long long int logical8;
! 94: typedef logical8 unsigned_integer8;
! 95: # endif
! 96: # endif
! 97:
! 98: # if (SIZEOF_FLOAT == 4)
! 99: # ifndef _REAL4
! 100: # define _REAL4
! 101: typedef float real4;
! 102: # endif
! 103: # endif
! 104:
! 105: # if (SIZEOF_DOUBLE == 8)
! 106: # ifndef _REAL8
! 107: # define _REAL8
! 108: typedef double real8;
! 109: # endif
! 110: # endif
! 111:
! 112: # if (SIZEOF_LONG_DOUBLE == 8)
! 113: # ifndef _REAL8
! 114: # define _REAL8
! 115: typedef long double real8;
! 116: # endif
! 117: # endif
! 118:
! 119: # ifndef _INT1
! 120: # error "INTEGER*1 is not defined !"
! 121: # endif
! 122:
! 123: # ifndef _INT2
! 124: # error "INTEGER*2 is not defined !"
! 125: # endif
! 126:
! 127: # ifndef _INT4
! 128: # error "INTEGER*4 is not defined !"
! 129: # endif
! 130:
! 131: # ifndef _INT8
! 132: # error "INTEGER*8 is not defined !"
! 133: # endif
! 134:
! 135: # ifndef _REAL4
! 136: # error "REAL*4 is not defined !"
! 137: # endif
! 138:
! 139: # ifndef _REAL8
! 140: # error "REAL*8 is not defined !"
! 141: # endif
! 142: # else
! 143:
! 144: /*
! 145: --------------------------------------------------------------------------------
! 146: Configuration par défaut en absence du fichier rplconfig.h
! 147: --------------------------------------------------------------------------------
! 148: */
! 149:
! 150: # warning "rplconfig.h header not found !"
! 151:
! 152: typedef unsigned char logical1;
! 153: typedef unsigned short int logical2;
! 154: typedef unsigned int logical4;
! 155: typedef unsigned long long int logical8;
! 156:
! 157: typedef signed char integer1;
! 158: typedef short int integer2;
! 159: typedef int integer4;
! 160: typedef long long int integer8;
! 161:
! 162: typedef logical1 unsigned_integer1;
! 163: typedef logical2 unsigned_integer2;
! 164: typedef logical4 unsigned_integer4;
! 165: typedef logical8 unsigned_integer8;
! 166:
! 167: typedef float real4;
! 168: typedef double real8;
! 169: # endif
! 170:
! 171: typedef struct complex8
! 172: {
! 173: real4 partie_reelle;
! 174: real4 partie_imaginaire;
! 175: } struct_complexe8;
! 176:
! 177: typedef struct complex16
! 178: {
! 179: real8 partie_reelle;
! 180: real8 partie_imaginaire;
! 181: } struct_complexe16;
! 182:
! 183: typedef struct_complexe8 complex8;
! 184: typedef struct_complexe16 complex16;
! 185: #endif
! 186:
! 187: // vim: ts=4
CVSweb interface <joel.bertrand@systella.fr>