File:  [local] / rpl / src / rplftypes.inc
Revision 1.22: download - view: text, annotated - select for diffs - revision graph
Tue Jun 21 15:26:35 2011 UTC (12 years, 10 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Correction d'une réinitialisation sauvage de la pile des variables par niveau
dans la copie de la structure de description du processus. Cela corrige
la fonction SPAWN qui échouait sur un segmentation fault car la pile des
variables par niveau était vide alors même que l'arbre des variables contenait
bien les variables. Passage à la prerelease 2.

    1: !===============================================================================
    2: ! RPL/2 (R) version 4.1.0.prerelease.2
    3: ! Copyright (C) 1989-2011 Dr. BERTRAND Joël
    4: !
    5: ! This file is part of RPL/2.
    6: !
    7: ! RPL/2 is free software; you can redistribute it and/or modify it
    8: ! under the terms of the CeCILL V2 License as published by the french
    9: ! CEA, CNRS and INRIA.
   10: !
   11: ! RPL/2 is distributed in the hope that it will be useful, but WITHOUT
   12: ! ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13: ! FITNESS FOR A PARTICULAR PURPOSE.  See the CeCILL V2 License
   14: ! for more details.
   15: !
   16: ! You should have received a copy of the CeCILL License
   17: ! along with RPL/2. If not, write to info@cecill.info.
   18: !===============================================================================
   19: 
   20: 
   21: #ifndef INCLUSION_RPLFTYPES
   22: #   define INCLUSION_RPLFTYPES
   23: 
   24: #   ifdef RPLCONFIG
   25: #       define HAVE_CONFIG_H
   26: #   endif
   27: 
   28: #   ifdef HAVE_CONFIG_H
   29: 
   30: #       include "rplconfig.h"
   31: 
   32: #       if (SIZEOF_CHAR == 1)
   33: #           ifndef _INT1
   34: #               define _INT1
   35: #               define rpl_char                 C_CHAR
   36: #           endif
   37: #       endif
   38: 
   39: #       if (SIZEOF_SHORT_INT == 2)
   40: #           ifndef _INT2
   41: #               define _INT2
   42: #               define rpl_integer2             C_SHORT
   43: #           endif
   44: #       endif
   45: 
   46: #       if (SIZEOF_INT == 4)
   47: #           ifndef _INT4
   48: #               define _INT4
   49: #               define rpl_integer4             C_INT
   50: #           endif
   51: #       endif
   52: 
   53: #       if (SIZEOF_LONG_INT == 4)
   54: #           ifndef _INT4
   55: #               define _INT4
   56: #               define rpl_integer4             C_LONG
   57: #           endif
   58: #       endif
   59: 
   60: #       if (SIZEOF_LONG_INT == 8)
   61: #           ifndef _INT8
   62: #               define _INT8
   63: #               define rpl_integer8             C_LONG
   64: #           endif
   65: #       endif
   66: 
   67: #       if (SIZEOF_LONG_LONG_INT == 8)
   68: #           ifndef _INT8
   69: #               define _INT8
   70: #               define rpl_integer8             C_LONG_LONG
   71: #           endif
   72: #       endif
   73: 
   74: #       if (SIZEOF_FLOAT == 4)
   75: #           ifndef _REAL4
   76: #               define _REAL4
   77: #               define rpl_real4                C_FLOAT
   78: #           endif
   79: #       endif
   80: 
   81: #       if (SIZEOF_DOUBLE == 8)
   82: #           ifndef _REAL8
   83: #               define _REAL8
   84: #               define rpl_real8                C_DOUBLE
   85: #           endif
   86: #       endif
   87: 
   88: #       if (SIZEOF_LONG_DOUBLE == 8)
   89: #           ifndef _REAL8
   90: #               define _REAL8
   91: #               define rpl_real8                C_LONG_DOUBLE
   92: #           endif
   93: #       endif
   94: 
   95: #       ifndef _INT1
   96: #           error "INTEGER*1 is not defined !"
   97: #       endif
   98: 
   99: #       ifndef _INT2
  100: #           error "INTEGER*2 is not defined !"
  101: #       endif
  102: 
  103: #       ifndef _INT4
  104: #           error "INTEGER*4 is not defined !"
  105: #       endif
  106: 
  107: #       ifndef _INT8
  108: #           error "INTEGER*8 is not defined !"
  109: #       endif
  110: 
  111: #       ifndef _REAL4
  112: #           error "REAL*4 is not defined !"
  113: #       endif
  114: 
  115: #       ifndef _REAL8
  116: #           error "REAL*8 is not defined !"
  117: #       endif
  118: #   else
  119: #       error "rplconfig.h header not found !"
  120: #   endif
  121: 
  122:     module rpl_complex
  123:         use iso_c_binding
  124:         implicit none
  125: 
  126:         type rpl_complex8
  127:             sequence
  128:             real(rpl_real4) partie_reelle
  129:             real(rpl_real4) partie_imaginaire
  130:         end type
  131: 
  132:         type rpl_complex16
  133:             sequence
  134:             real(rpl_real8) partie_reelle
  135:             real(rpl_real8) partie_imaginaire
  136:         end type
  137:     end module
  138: #endif
  139: 
  140: ! vim: ts=4

CVSweb interface <joel.bertrand@systella.fr>