ifdefn.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 242 行 · 第 1/2 页

H
242
字号
/****************************************************************************
*
*                            Open Watcom Project
*
*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
*
*  ========================================================================
*
*    This file contains Original Code and/or Modifications of Original
*    Code as defined in and that are subject to the Sybase Open Watcom
*    Public License version 1.0 (the 'License'). You may not use this file
*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
*    provided with the Original Code and Modifications, and is also
*    available at www.sybase.com/developer/opensource.
*
*    The Original Code and all software distributed under the License are
*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
*    NON-INFRINGEMENT. Please see the License for the specific language
*    governing rights and limitations under the License.
*
*  ========================================================================
*
* Description:  intrinsic function constant tables data
*
****************************************************************************/


//      id         keyword      next       ret_typ        args_typ       flags
pick( IF_NONE,     "",         0,          0,              0,            0 )
pick( IF_ABS,      "ABS",      IF_IABS,    TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_ACOS,     "ACOS",     IF_DACOS,   TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_AIMAG,    "AIMAG",    IF_DIMAG,   TY_REAL,       TY_COMPLEX,   ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_AINT,     "AINT",     IF_DINT,    TY_REAL,       TY_REAL,      ONE_ARG|IF_GENERIC|IF_ARG_OK )
pick( IF_ALGAMA,   "ALGAMA",   IF_NO_MORE, TY_REAL,       TY_REAL,      ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_ALLOCATED,"ALLOCATED",MAGIC,      TY_LOGICAL,    TY_NO_TYPE,   ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_ALOG,     "ALOG",     IF_DLOG,    TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_ALOG10,   "ALOG10",   IF_DLOG10,  TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_AMAX0,    "AMAX0",    IF_NO_MORE, TY_REAL,       TY_INTEGER,   TWO_OR_MORE|IF_IN_LINE|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_AMAX1,    "AMAX1",    IF_DMAX1,   TY_REAL,       TY_REAL,      TWO_OR_MORE|IF_IN_LINE|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_AMIN0,    "AMIN0",    IF_NO_MORE, TY_REAL,       TY_INTEGER,   TWO_OR_MORE|IF_IN_LINE|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_AMIN1,    "AMIN1",    IF_DMIN1,   TY_REAL,       TY_REAL,      TWO_OR_MORE|IF_IN_LINE|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_AMOD,     "AMOD",     IF_DMOD,    TY_REAL,       TY_REAL,      TWO_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_ANINT,    "ANINT",    IF_DNINT,   TY_REAL,       TY_REAL,      ONE_ARG|IF_GENERIC|IF_ARG_OK )
pick( IF_ASIN,     "ASIN",     IF_DASIN,   TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_ATAN,     "ATAN",     IF_DATAN,   TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_ATAN2,    "ATAN2",    IF_DATAN2,  TY_REAL,       TY_REAL,      TWO_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_BTEST,    "BTEST",    IF_I2BTEST, TY_LOGICAL,    TY_INTEGER,   TWO_ARG|IF_IN_LINE|IF_EXTENSION|IF_GENERIC|IF_ARG_OK )
pick( IF_CABS,     "CABS",     IF_CDABS,   TY_REAL,       TY_COMPLEX,   ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CCOS,     "CCOS",     IF_CDCOS,   TY_COMPLEX,    TY_COMPLEX,   ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CDABS,    "CDABS",    IF_CQABS,   TY_DOUBLE,     TY_DCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CDCOS,    "CDCOS",    IF_CQCOS,   TY_DCOMPLEX,   TY_DCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CDEXP,    "CDEXP",    IF_CQEXP,   TY_DCOMPLEX,   TY_DCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CDLOG,    "CDLOG",    IF_CQLOG,   TY_DCOMPLEX,   TY_DCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CDSIN,    "CDSIN",    IF_CQSIN,   TY_DCOMPLEX,   TY_DCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CDSQRT,   "CDSQRT",   IF_CQSQRT,  TY_DCOMPLEX,   TY_DCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CEXP,     "CEXP",     IF_CDEXP,   TY_COMPLEX,    TY_COMPLEX,   ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CHAR,     "CHAR",     MAGIC,      TY_CHAR,       TY_INTEGER,   ONE_ARG|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_CLOG,     "CLOG",     IF_CDLOG,   TY_COMPLEX,    TY_COMPLEX,   ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CMPLX,    "CMPLX",    MAGIC,      TY_COMPLEX,    TY_NO_TYPE,   ONE_OR_TWO|IF_GENERIC|IF_NOT_ARG )
pick( IF_CONJG,    "CONJG",    IF_DCONJG,  TY_COMPLEX,    TY_COMPLEX,   ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_COS,      "COS",      IF_DCOS,    TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_COSH,     "COSH",     IF_DCOSH,   TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_COTAN,    "COTAN",    IF_DCOTAN,  TY_REAL,       TY_REAL,      ONE_ARG|IF_EXTENSION|IF_GENERIC|IF_ARG_OK )
pick( IF_CQABS,    "CQABS",    IF_NO_MORE, TY_EXTENDED,   TY_XCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CQCOS,    "CQCOS",    IF_NO_MORE, TY_XCOMPLEX,   TY_XCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CQEXP,    "CQEXP",    IF_NO_MORE, TY_XCOMPLEX,   TY_XCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CQLOG,    "CQLOG",    IF_NO_MORE, TY_XCOMPLEX,   TY_XCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CQSIN,    "CQSIN",    IF_NO_MORE, TY_XCOMPLEX,   TY_XCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CQSQRT,   "CQSQRT",   IF_NO_MORE, TY_XCOMPLEX,   TY_XCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CSIN,     "CSIN",     IF_CDSIN,   TY_COMPLEX,    TY_COMPLEX,   ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_CSQRT,    "CSQRT",    IF_CDSQRT,  TY_COMPLEX,    TY_COMPLEX,   ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DABS,     "DABS",     IF_QABS,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DACOS,    "DACOS",    IF_QACOS,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DASIN,    "DASIN",    IF_QASIN,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DATAN,    "DATAN",    IF_QATAN,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DATAN2,   "DATAN2",   IF_QATAN2,  TY_DOUBLE,     TY_DOUBLE,    TWO_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DBLE,     "DBLE",     MAGIC,      TY_DOUBLE,     TY_NO_TYPE,   ONE_ARG|IF_GENERIC|IF_NOT_ARG )
pick( IF_DCMPLX,   "DCMPLX",   MAGIC,      TY_DCOMPLEX,   TY_NO_TYPE,   ONE_OR_TWO|IF_EXTENSION|IF_GENERIC|IF_NOT_ARG )
pick( IF_DCONJG,   "DCONJG",   IF_QCONJG,  TY_DCOMPLEX,   TY_DCOMPLEX,  ONE_ARG|IF_IN_LINE|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DCOS,     "DCOS",     IF_QCOS,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DCOSH,    "DCOSH",    IF_QCOSH,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DCOTAN,   "DCOTAN",   IF_QCOTAN,  TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DDIM,     "DDIM",     IF_QDIM,    TY_DOUBLE,     TY_DOUBLE,    TWO_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DERF,     "DERF",     IF_QERF,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DERFC,    "DERFC",    IF_QERFC,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DEXP,     "DEXP",     IF_QEXP,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DFLOAT,   "DFLOAT",   MAGIC,      TY_DOUBLE,     TY_INTEGER,   ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_DGAMMA,   "DGAMMA",   IF_QGAMMA,  TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DIM,      "DIM",      IF_IDIM,    TY_REAL,       TY_REAL,      TWO_ARG|IF_GENERIC|IF_ARG_OK )
pick( IF_DIMAG,    "DIMAG",    IF_QIMAG,   TY_DOUBLE,     TY_DCOMPLEX,  ONE_ARG|IF_IN_LINE|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DINT,     "DINT",     IF_QINT,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DLGAMA,   "DLGAMA",   IF_QLGAMA,  TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DLOG,     "DLOG",     IF_QLOG,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DLOG10,   "DLOG10",   IF_QLOG10,  TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DMAX1,    "DMAX1",    IF_QMAX1,   TY_DOUBLE,     TY_DOUBLE,    TWO_OR_MORE|IF_IN_LINE|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_DMIN1,    "DMIN1",    IF_QMIN1,   TY_DOUBLE,     TY_DOUBLE,    TWO_OR_MORE|IF_IN_LINE|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_DMOD,     "DMOD",     IF_QMOD,    TY_DOUBLE,     TY_DOUBLE,    TWO_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DNINT,    "DNINT",    IF_QNINT,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DPROD,    "DPROD",    IF_QPROD,   TY_DOUBLE,     TY_REAL,      TWO_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DREAL,    "DREAL",    MAGIC,      TY_DOUBLE,     TY_DCOMPLEX,  ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_DSIGN,    "DSIGN",    IF_QSIGN,   TY_DOUBLE,     TY_DOUBLE,    TWO_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DSIN,     "DSIN",     IF_QSIN,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DSINH,    "DSINH",    IF_QSINH,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DSQRT,    "DSQRT",    IF_QSQRT,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DTAN,     "DTAN",     IF_QTAN,    TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_DTANH,    "DTANH",    IF_QTANH,   TY_DOUBLE,     TY_DOUBLE,    ONE_ARG|IF_IN_LINE|IF_NOT_GEN|IF_ARG_OK )
pick( IF_ERF,      "ERF",      IF_DERF,    TY_REAL,       TY_REAL,      ONE_ARG|IF_EXTENSION|IF_GENERIC|IF_ARG_OK )
pick( IF_ERFC,     "ERFC",     IF_DERFC,   TY_REAL,       TY_REAL,      ONE_ARG|IF_EXTENSION|IF_GENERIC|IF_ARG_OK )
pick( IF_EXP,      "EXP",      IF_DEXP,    TY_REAL,       TY_REAL,      ONE_ARG|IF_IN_LINE|IF_GENERIC|IF_ARG_OK )
pick( IF_FLOAT,    "FLOAT",    MAGIC,      TY_REAL,       TY_INTEGER,   ONE_ARG|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_GAMMA,    "GAMMA",    IF_DGAMMA,  TY_REAL,       TY_REAL,      ONE_ARG|IF_EXTENSION|IF_GENERIC|IF_ARG_OK )
pick( IF_HFIX,     "HFIX",     MAGIC,      TY_INTEGER,    TY_REAL,      ONE_ARG|IF_EXTENSION|IF_NOT_GEN|IF_NOT_ARG )
pick( IF_I1ABS,    "I1ABS",    IF_DABS,    TY_INTEGER_1,  TY_INTEGER_1, ONE_ARG|IF_IN_LINE|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_I1AND,    "I1AND",    IF_NO_MORE, TY_INTEGER_1,  TY_INTEGER_1, TWO_ARG|IF_IN_LINE|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_I1BCHNG,  "I1BCHNG",  IF_NO_MORE, TY_INTEGER_1,  TY_INTEGER_1, TWO_ARG|IF_IN_LINE|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_I1BCLR,   "I1BCLR",   IF_NO_MORE, TY_INTEGER_1,  TY_INTEGER_1, TWO_ARG|IF_IN_LINE|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )
pick( IF_I1BSET,   "I1BSET",   IF_NO_MORE, TY_INTEGER_1,  TY_INTEGER_1, TWO_ARG|IF_IN_LINE|IF_EXTENSION|IF_NOT_GEN|IF_ARG_OK )

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?