File:  [local] / rpl / src / rpltypes.h
Revision 1.65: download - view: text, annotated - select for diffs - revision graph
Fri Jan 10 11:15:51 2020 UTC (4 years, 3 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_32, HEAD
Modification du copyright.

    1: /*
    2: ================================================================================
    3:   RPL/2 (R) version 4.1.32
    4:   Copyright (C) 1989-2020 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:   Configuration 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>