/* @(#)lpicode.h	128.1 1/20/93 19:40:23 */
/************************************************************************\
   Copyright (C) 1990 Lotus Development Corporation.  All rights reserved.
   Name:    lpicode.h
   Date:    11 Jan 1990
   Description:  Header file describing compiler operator codes and opcodes
\************************************************************************/
#ifndef LPICODE_H
#define LPICODE_H
#define I_FUN        31          /* start of functions */
#define I_NA         I_FUN+0     /* @na */
#define I_ERR        I_FUN+1     /* @err        */
#define I_ABS        I_FUN+2     /* @abs        */
#define I_INT        I_FUN+3     /* @int        */
#define I_SQRT       I_FUN+4     /* @sqrt       */
#define I_LOG        I_FUN+5     /* @log        */
#define I_LN         I_FUN+6     /* @ln         */
#define I_PI         I_FUN+7     /* @pi         */
#define I_SIN        I_FUN+8     /* @sin        */
#define I_COS        I_FUN+9     /* @cos        */
#define I_TAN        I_FUN+10    /* @tan        */
#define I_ATAN2      I_FUN+11    /* @atan2      */
#define I_ATAN       I_FUN+12    /* @atan       */
#define I_ASIN       I_FUN+13    /* @asin       */
#define I_ACOS       I_FUN+14    /* @acos       */
#define I_EXP        I_FUN+15    /* @exp        */
#define I_MOD        I_FUN+16    /* @mod        */
#define I_CHOOSE     I_FUN+17    /* @choose     */
#define I_ISNA       I_FUN+18    /* @isna       */
#define I_ISERR      I_FUN+19    /* @iserr      */
#define I_FALSE      I_FUN+20    /* @false      */
#define I_TRUE       I_FUN+21    /* @true       */
#define I_RAND       I_FUN+22    /* @rand       */
#define I_DATE       I_FUN+23    /* @date       */
#define I_NOW        I_FUN+24    /* @now        */
#define I_PMT        I_FUN+25    /* @pmt        */
#define I_PV         I_FUN+26    /* @pv         */
#define I_FV         I_FUN+27    /* @fv         */
#define I_IF         I_FUN+28    /* @if         */
#define I_DAY        I_FUN+29    /* @day        */
#define I_MON        I_FUN+30    /* @month      */
#define I_YR         I_FUN+31    /* @year       */
#define I_ROUND      I_FUN+32    /* @round      */
#define I_TIME       I_FUN+33    /* @time       */
#define I_HOUR       I_FUN+34    /* @hour       */
#define I_MINUTE     I_FUN+35    /* @minute     */
#define I_SECOND     I_FUN+36    /* @second     */
#define I_ISNUMBER   I_FUN+37    /* @isnumber   */
#define I_ISSTRING   I_FUN+38    /* @isstring   */
#define I_LENGTH     I_FUN+39    /* @length     */
#define I_VALUE      I_FUN+40    /* @value      */
#define I_FIXED      I_FUN+41    /* @fixed      */
#define I_MID        I_FUN+42    /* @mid        */
#define I_CHR        I_FUN+43    /* @chr        */
#define I_ASCII      I_FUN+44    /* @ascii      */
#define I_FIND       I_FUN+45    /* @find       */
#define I_DATEVALUE  I_FUN+46    /* @datevalue  */
#define I_TIMEVALUE  I_FUN+47    /* @timevalue  */
#define I_CELLPTR    I_FUN+48    /* @cellpointer*/
#define I_SUM        I_FUN+49    /* @sum        */
#define I_AVG        I_FUN+50    /* @avg        */
#define I_COUNT      I_FUN+51    /* @count      */
#define I_MIN        I_FUN+52    /* @min        */
#define I_MAX        I_FUN+53    /* @max        */
#define I_VLOOKUP    I_FUN+54    /* @vlookup    */
#define I_NPV        I_FUN+55    /* @npv        */
#define I_VAR        I_FUN+56    /* @var        */
#define I_STD        I_FUN+57    /* @std        */
#define I_IRR        I_FUN+58    /* @irr        */
#define I_HLOOKUP    I_FUN+59    /* @hlookup    */
#define I_DSUM       I_FUN+60    /* @dsum       */
#define I_DAVG       I_FUN+61    /* @davg       */
#define I_DCNT       I_FUN+62    /* @dcnt       */
#define I_DMIN       I_FUN+63    /* @dmin       */
#define I_DMAX       I_FUN+64    /* @dmax       */
#define I_DVAR       I_FUN+65    /* @dvar       */
#define I_DSTD       I_FUN+66    /* @dstd       */
#define I_INDEX      I_FUN+67    /* @index      */
#define I_COLS       I_FUN+68    /* @cols       */
#define I_ROWS       I_FUN+69    /* @rows       */
#define I_RPT        I_FUN+70    /* @repeat     */
#define I_UPPER      I_FUN+71    /* @upper      */
#define I_LOWER      I_FUN+72    /* @lower      */
#define I_LEFT       I_FUN+73    /* @left       */
#define I_RIGHT      I_FUN+74    /* @right      */
#define I_REPLACE    I_FUN+75    /* @replace    */
#define I_PROPER     I_FUN+76    /* @proper     */
#define I_CELL       I_FUN+77    /* @cell       */
#define I_TRIM       I_FUN+78    /* @trim       */
#define I_CLEAN      I_FUN+79    /* @clean      */
#define I_S          I_FUN+80    /* @s          */
#define I_N          I_FUN+81    /* @n          */
#define I_EXACT      I_FUN+82    /* @exact      */
#define I_CALL       I_FUN+83    /* @call       */
#define I_AT         I_FUN+84    /* @@          */
#define I_RATE       I_FUN+85    /* @rate       */
#define I_TERM       I_FUN+86    /* @term       */
#define I_CTERM      I_FUN+87    /* @cterm      */
#define I_SLN        I_FUN+88    /* @sln        */
#define I_SYD        I_FUN+89    /* @syd        */
#define I_DDB        I_FUN+90    /* @ddb        */
#define I_SPLFUNC    I_FUN+91    /* SPL function */
#define I_LEVELS     I_FUN+92    /* @levels     */
#define I_INFO       I_FUN+93    /* @info       */
#define I_SUMPROD    I_FUN+94    /* @sumproduct */
#define I_ISNAME     I_FUN+95    /* @isname     */
#define I_DGET       I_FUN+96    /* @dget       */
#define I_DQUERY     I_FUN+97    /* @dquery     */
#define I_COORD      I_FUN+98    /* @coord      */
#define I_MATCH      I_FUN+99    /* database wildcard string match */
#define I_TODAY      I_FUN+100   /* @today */
#define I_DDB2       I_FUN+101   /* @ddb2       */
#define I_DVARS      I_FUN+102   /* @dvars      */
#define I_DSTDS      I_FUN+103   /* @dstds      */
#define I_VARS       I_FUN+104   /* @vars       */
#define I_STDS       I_FUN+105   /* @stds       */
#define I_D360       I_FUN+106   /* @d360       */
#define I_BLANK      I_FUN+107   /* @blank      */
#define I_ISAPP      I_FUN+108   /* @ISAPP      */
#define I_ISAAF      I_FUN+109   /* @isaaf      */
#define I_WEEKDAY    I_FUN+110   /* Japanese opcodes */
#define I_DATEDIF    I_FUN+111
#define I_RANK       I_FUN+112
#define I_NUMBERSTR  I_FUN+113
#define I_DATESTR    I_FUN+114
#define I_DECIMAL    I_FUN+115
#define I_HEX        I_FUN+116
#define I_DB         I_FUN+117
#define I_PMTI       I_FUN+118
#define I_SPI        I_FUN+119
#define I_FULLP      I_FUN+120
#define I_HALFP      I_FUN+121
#define I_PUREAVG    I_FUN+122
#define I_PURECOUNT  I_FUN+123
#define I_PUREMAX    I_FUN+124
#define I_PUREMIN    I_FUN+125
#define I_PURESTD    I_FUN+126
#define I_PUREVAR    I_FUN+127
#define I_PURESTDS   I_FUN+128
#define I_PUREVARS   I_FUN+129
#define I_PMT2       I_FUN+130
#define I_PV2        I_FUN+131
#define I_FV2        I_FUN+132
#define I_TERM2      I_FUN+133
#define I_QMARKS     I_FUN+134   /* @?  (50 entries) next avail is +184. */
#define I_MAXOP      I_FUN+183   /* last legal opcode */
#define I_DBRANGE    I_FUN+184   /* DB named range ref */
#define I_DBRREF     I_FUN+185   /* DB range ref */
#define I_DBJOIN     I_FUN+186   /* DB join operator (like op_eq) */
#endif   /* if !defined(LPICODE_H) */
