GAMSlinks  0.4
Typedefs | Enumerations | Functions | Variables
GamsNLinstr.h File Reference
#include "GAMSlinksConfig.h"
Include dependency graph for GamsNLinstr.h:

Go to the source code of this file.

Typedefs

typedef enum GamsOpCode_ GamsOpCode
 The opcodes of GAMS nonlinear expressions. More...
 
typedef enum GamsFuncCode_ GamsFuncCode
 The codes of GAMS nonlinear functions. More...
 

Enumerations

enum  GamsOpCode_ {
  nlNoOp = 0, nlPushV = 1, nlPushI = 2, nlStore = 3,
  nlAdd = 4, nlAddV = 5, nlAddI = 6, nlAddL = 7,
  nlSub = 8, nlSubV = 9, nlSubI = 10, nlSubL = 11,
  nlMul = 12, nlMulV = 13, nlMulI = 14, nlMulL = 15,
  nlDiv = 16, nlDivV = 17, nlDivI = 18, nlDivL = 19,
  nlUMin = 20, nlUMinV = 21, nlSwap = 22, nlPushL = 23,
  nlPopL = 24, nlPopDeriv = 25, nlHeader = 26, nlUMinL = 27,
  nlStoreS = 28, nlPopDerivS = 29, nlEquScale = 30, nlEnd = 31,
  nlCallArg1 = 32, nlCallArg2 = 33, nlCallArgN = 34, nlFuncArgN = 35,
  nlPushS = 36, nlPopup = 37, nlArg = 38, nlMulIAdd = 39,
  nlPushZero = 40, nlMulPop1 = 41, nlMulPop2 = 42, nlMulPop = 43,
  nlAddPop = 44, nlSubPop = 45, nlGetConst = 46, nlMulConst1 = 47,
  nlMulConst2 = 48, nlMulConst = 49, nlNegLocal = 50, nlGetLocal = 51,
  nlSetLocal1 = 52, nlSetLocal2 = 53, nlSetLocal = 54, nlGetGrad = 55,
  nlPushIGrad = 56, nlChk = 57, nlAddO = 58, nlPushO = 59,
  nlInvoc = 60, nlStackIn = 61, MAXINS = 62
}
 The opcodes of GAMS nonlinear expressions. More...
 
enum  GamsFuncCode_ {
  fnmapval =0, fnceil, fnfloor, fnround,
  fnmod, fntrunc, fnsign, fnmin,
  fnmax, fnsqr, fnexp, fnlog,
  fnlog10, fnsqrt, fnabs, fncos,
  fnsin, fnarctan, fnerrf, fndunfm,
  fndnorm, fnpower, fnjdate, fnjtime,
  fnjstart, fnjnow, fnerror, fngyear,
  fngmonth, fngday, fngdow, fngleap,
  fnghour, fngminute, fngsecond, fncurseed,
  fntimest, fntimeco, fntimeex, fntimecl,
  fnfrac, fnerrorl, fnheaps, fnfact,
  fnunfmi, fnpi, fnncpf, fnncpcm,
  fnentropy, fnsigmoid, fnlog2, fnboolnot,
  fnbooland, fnboolor, fnboolxor, fnboolimp,
  fnbooleqv, fnrelopeq, fnrelopgt, fnrelopge,
  fnreloplt, fnrelople, fnrelopne, fnifthen,
  fnrpower, fnedist, fndiv, fndiv0,
  fnsllog10, fnsqlog10, fnslexp, fnsqexp,
  fnslrec, fnsqrec, fncvpower, fnvcpower,
  fncentropy, fngmillisec, fnmaxerror, fntimeel,
  fngamma, fnloggamma, fnbeta, fnlogbeta,
  fngammareg, fnbetareg, fnsinh, fncosh,
  fntanh, fnmathlastrc, fnmathlastec, fnmathoval,
  fnsignpower, fnhandle, fnncpvusin, fnncpvupow,
  fnbinomial, fnrehandle, fngamsver, fndelhandle,
  fntan, fnarccos, fnarcsin, fnarctan2,
  fnsleep, fnheapf, fncohandle, fngamsrel,
  fnpoly, fnlicensestatus, fnlicenselevel, fnheaplimit,
  fndummy
}
 The codes of GAMS nonlinear functions. More...
 

Functions

GamsOpCode getInstrOpCode (unsigned int instr)
 Gives the opcode of a GAMS nonlinear instruction. More...
 
int getInstrAddress (unsigned int instr)
 Gives the address in a GAMS nonlinear instruction. More...
 
void reorderInstr (unsigned int *instr, int num_instr)
 Reorders instructions such that they do not contain PushS, Popup, or Swap anymore. More...
 

Variables

const char * GamsOpCodeName [MAXINS]
 Names of GAMS nonlinear expressions for printing. More...
 

Typedef Documentation

typedef enum GamsOpCode_ GamsOpCode

The opcodes of GAMS nonlinear expressions.

The codes of GAMS nonlinear functions.

Enumeration Type Documentation

The opcodes of GAMS nonlinear expressions.

Enumerator
nlNoOp 
nlPushV 
nlPushI 
nlStore 
nlAdd 
nlAddV 
nlAddI 
nlAddL 
nlSub 
nlSubV 
nlSubI 
nlSubL 
nlMul 
nlMulV 
nlMulI 
nlMulL 
nlDiv 
nlDivV 
nlDivI 
nlDivL 
nlUMin 
nlUMinV 
nlSwap 
nlPushL 
nlPopL 
nlPopDeriv 
nlHeader 
nlUMinL 
nlStoreS 
nlPopDerivS 
nlEquScale 
nlEnd 
nlCallArg1 
nlCallArg2 
nlCallArgN 
nlFuncArgN 
nlPushS 
nlPopup 
nlArg 
nlMulIAdd 
nlPushZero 
nlMulPop1 
nlMulPop2 
nlMulPop 
nlAddPop 
nlSubPop 
nlGetConst 
nlMulConst1 
nlMulConst2 
nlMulConst 
nlNegLocal 
nlGetLocal 
nlSetLocal1 
nlSetLocal2 
nlSetLocal 
nlGetGrad 
nlPushIGrad 
nlChk 
nlAddO 
nlPushO 
nlInvoc 
nlStackIn 
MAXINS 

Definition at line 27 of file GamsNLinstr.h.

The codes of GAMS nonlinear functions.

Enumerator
fnmapval 
fnceil 
fnfloor 
fnround 
fnmod 
fntrunc 
fnsign 
fnmin 
fnmax 
fnsqr 
fnexp 
fnlog 
fnlog10 
fnsqrt 
fnabs 
fncos 
fnsin 
fnarctan 
fnerrf 
fndunfm 
fndnorm 
fnpower 
fnjdate 
fnjtime 
fnjstart 
fnjnow 
fnerror 
fngyear 
fngmonth 
fngday 
fngdow 
fngleap 
fnghour 
fngminute 
fngsecond 
fncurseed 
fntimest 
fntimeco 
fntimeex 
fntimecl 
fnfrac 
fnerrorl 
fnheaps 
fnfact 
fnunfmi 
fnpi 
fnncpf 
fnncpcm 
fnentropy 
fnsigmoid 
fnlog2 
fnboolnot 
fnbooland 
fnboolor 
fnboolxor 
fnboolimp 
fnbooleqv 
fnrelopeq 
fnrelopgt 
fnrelopge 
fnreloplt 
fnrelople 
fnrelopne 
fnifthen 
fnrpower 
fnedist 
fndiv 
fndiv0 
fnsllog10 
fnsqlog10 
fnslexp 
fnsqexp 
fnslrec 
fnsqrec 
fncvpower 
fnvcpower 
fncentropy 
fngmillisec 
fnmaxerror 
fntimeel 
fngamma 
fnloggamma 
fnbeta 
fnlogbeta 
fngammareg 
fnbetareg 
fnsinh 
fncosh 
fntanh 
fnmathlastrc 
fnmathlastec 
fnmathoval 
fnsignpower 
fnhandle 
fnncpvusin 
fnncpvupow 
fnbinomial 
fnrehandle 
fngamsver 
fndelhandle 
fntan 
fnarccos 
fnarcsin 
fnarctan2 
fnsleep 
fnheapf 
fncohandle 
fngamsrel 
fnpoly 
fnlicensestatus 
fnlicenselevel 
fnheaplimit 
fndummy 

Definition at line 99 of file GamsNLinstr.h.

Function Documentation

GamsOpCode getInstrOpCode ( unsigned int  instr)

Gives the opcode of a GAMS nonlinear instruction.

int getInstrAddress ( unsigned int  instr)

Gives the address in a GAMS nonlinear instruction.

The address will be 0-based.

void reorderInstr ( unsigned int *  instr,
int  num_instr 
)

Reorders instructions such that they do not contain PushS, Popup, or Swap anymore.

Variable Documentation

const char* GamsOpCodeName[MAXINS]

Names of GAMS nonlinear expressions for printing.