File:  [local] / rpl / src / rplftypes.inc
Revision 1.66: 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: ! RPL/2 (R) version 4.1.32
    3: ! Copyright (C) 1989-2020 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: #   ifdef _RPL_COMPLEX_
  123:         module rpl_complex
  124:             use iso_c_binding
  125:             implicit none
  126: 
  127:             type rpl_complex8
  128:                 sequence
  129:                 real(rpl_real4) partie_reelle
  130:                 real(rpl_real4) partie_imaginaire
  131:             end type
  132: 
  133:             type rpl_complex16
  134:                 sequence
  135:                 real(rpl_real8) partie_reelle
  136:                 real(rpl_real8) partie_imaginaire
  137:             end type
  138:         end module
  139: #   endif
  140: #endif
  141: 
  142: ! vim: ts=4

CVSweb interface <joel.bertrand@systella.fr>