54 ULONG, USHORT, CHAR, BOOLTYPE, LONG, SHORT, OCTET, DOUBLE, FLOAT,
58 CLASSTYPE, SETTYPE, MDDTYPE
124 OP_COUNT, OP_MAX, OP_MIN, OP_SUM, OP_SOME,
132 OP_EXP, OP_LOG, OP_LN,
133 OP_SIN, OP_COS, OP_TAN,
134 OP_SINH, OP_COSH, OP_TANH,
135 OP_ARCSIN, OP_ARCCOS, OP_ARCTAN,
156 OP_MINUS, OP_PLUS, OP_DIV, OP_MULT,
157 OP_IS, OP_AND, OP_OR, OP_OVERLAY, OP_BIT, OP_XOR,
159 OP_EQUAL, OP_LESS, OP_LESSEQUAL,
160 OP_NOTEQUAL, OP_GREATER, OP_GREATEREQUAL
167 static UnaryOp* getUnaryOp( Ops::OpType op,
const BaseType* restype,
169 const BaseType* optype,
unsigned int resOff = 0,
170 unsigned int opOff = 0 );
177 static BinaryOp* getBinaryOp( Ops::OpType op,
const BaseType* resType,
179 unsigned int resOff = 0,
180 unsigned int op1Off = 0,
181 unsigned int op2Off = 0 );
187 static CondenseOp* getCondenseOp( Ops::OpType op,
const BaseType* resType,
189 unsigned int resOff = 0,
190 unsigned int opOff = 0);
192 static CondenseOp* getCondenseOp( Ops::OpType op,
const BaseType* resType,
193 char* newAccu,
const BaseType* opType = 0,
194 unsigned int resOff = 0,
195 unsigned int opOff = 0 );
205 static int isApplicable( Ops::OpType op,
const BaseType* op1Type,
225 static void execUnaryConstOp( Ops::OpType op,
const BaseType* resType,
227 const char* op1,
unsigned int resOff = 0,
228 unsigned int opOff = 0 );
230 static void execBinaryConstOp( Ops::OpType op,
const BaseType* resType,
233 const char* op1,
const char* op2,
234 unsigned int resOff = 0,
235 unsigned int op1Off = 0,
236 unsigned int op2Off = 0 );
241 static int isApplicableOnStruct( Ops::OpType op,
const BaseType* opType );
244 static int isApplicableOnStructConst( Ops::OpType op,
248 static int isSignedType(
const BaseType* type );
252 static int isCondenseOp( Ops::OpType op );
253 static int isUnaryOp( Ops::OpType op );
254 static int isBinaryOp( Ops::OpType op );
276 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
279 CondenseOp(
const BaseType* newResType,
char* newAccu,
const BaseType* newOpType,
280 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
282 virtual char* operator()(
const char* op,
char* myAccu ) = 0;
284 virtual char* operator()(
const char* op ) = 0;
286 virtual char* getAccuVal();
289 virtual ~CondenseOp();
304 class OpSOMECChar :
public CondenseOp
310 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
312 OpSOMECChar(
const BaseType* newResType,
char* newAccu,
313 const BaseType* newOpType,
unsigned int newResOff,
314 unsigned int newOpOff );
316 virtual char* operator()(
const char* op,
char* myAccu );
318 virtual char* operator()(
const char* op );
326 class OpALLCChar :
public CondenseOp
332 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
334 OpALLCChar(
const BaseType* newResType,
char* newAccu,
335 const BaseType* newOpType,
unsigned int newResOff,
336 unsigned int newOpOff );
338 virtual char* operator()(
const char* op,
char* myAccu );
340 virtual char* operator()(
const char* op );
348 class OpCOUNTCChar :
public CondenseOp
354 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
356 OpCOUNTCChar(
const BaseType* newResType,
char* newAccu,
357 const BaseType* newOpType,
unsigned int newResOff,
358 unsigned int newOpOff );
360 virtual char* operator()(
const char* op,
char* myAccu );
362 virtual char* operator()(
const char* op );
370 class OpMAXCULong :
public CondenseOp
376 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
378 OpMAXCULong(
const BaseType* newResType,
char* newAccu,
379 const BaseType* newOpType,
unsigned int newResOff,
380 unsigned int newOpOff );
382 virtual char* operator()(
const char* op,
char* myAccu );
384 virtual char* operator()(
const char* op );
392 class OpMAXCLong :
public CondenseOp
398 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
400 OpMAXCLong(
const BaseType* newResType,
char* newAccu,
401 const BaseType* newOpType,
unsigned int newResOff,
402 unsigned int newOpOff );
404 virtual char* operator()(
const char* op,
char* myAccu );
406 virtual char* operator()(
const char* op );
414 class OpMAXCDouble :
public CondenseOp
420 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
422 OpMAXCDouble(
const BaseType* newResType,
char* newAccu,
423 const BaseType* newOpType,
unsigned int newResOff,
424 unsigned int newOpOff );
426 virtual char* operator()(
const char* op,
char* myAccu );
428 virtual char* operator()(
const char* op );
436 class OpMINCULong :
public CondenseOp
442 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
444 OpMINCULong(
const BaseType* newResType,
char* newAccu,
445 const BaseType* newOpType,
unsigned int newResOff,
446 unsigned int newOpOff );
448 virtual char* operator()(
const char* op,
char* myAccu );
450 virtual char* operator()(
const char* op );
458 class OpMINCLong :
public CondenseOp
464 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
466 OpMINCLong(
const BaseType* newResType,
char* newAccu,
467 const BaseType* newOpType,
unsigned int newResOff,
468 unsigned int newOpOff );
470 virtual char* operator()(
const char* op,
char* myAccu );
472 virtual char* operator()(
const char* op );
480 class OpMINCDouble :
public CondenseOp
486 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
488 OpMINCDouble(
const BaseType* newResType,
char* newAccu,
489 const BaseType* newOpType,
unsigned int newResOff,
490 unsigned int newOpOff );
492 virtual char* operator()(
const char* op,
char* myAccu );
494 virtual char* operator()(
const char* op );
502 class OpSUMCULong :
public CondenseOp
508 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
510 OpSUMCULong(
const BaseType* newResType,
char* newAccu,
511 const BaseType* newOpType,
unsigned int newResOff,
512 unsigned int newOpOff );
514 virtual char* operator()(
const char* op,
char* myAccu );
516 virtual char* operator()(
const char* op );
524 class OpSUMCLong :
public CondenseOp
530 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
532 OpSUMCLong(
const BaseType* newResType,
char* newAccu,
533 const BaseType* newOpType,
unsigned int newResOff,
534 unsigned int newOpOff );
536 virtual char* operator()(
const char* op,
char* myAccu );
538 virtual char* operator()(
const char* op );
546 class OpSUMCDouble :
public CondenseOp
552 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
554 OpSUMCDouble(
const BaseType* newResType,
char* newAccu,
555 const BaseType* newOpType,
unsigned int newResOff,
556 unsigned int newOpOff );
558 virtual char* operator()(
const char* op,
char* myAccu );
560 virtual char* operator()(
const char* op );
571 class OpCondenseStruct :
public CondenseOp
579 unsigned int newResOff = 0,
unsigned int newOpOff = 0
587 unsigned int newResOff,
588 unsigned int newOpOff
591 virtual ~OpCondenseStruct();
593 virtual char* operator()(
const char* op,
char* myAccu );
595 virtual char* operator()(
const char* op );
599 unsigned int numElems;
601 CondenseOp** elemOps;
620 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
622 virtual void operator()(
char* result,
const char* op ) = 0;
625 virtual ~UnaryOp() { };
642 class OpUnaryStruct :
public UnaryOp
650 unsigned int newResOff = 0,
651 unsigned int newOpOff = 0
654 virtual ~OpUnaryStruct();
656 virtual void operator()(
char* result,
const char* op );
661 unsigned int numElems;
671 class OpIDENTITYStruct :
public UnaryOp
676 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
678 virtual void operator()(
char* result,
const char* op );
686 class OpNOTCULong :
public UnaryOp
691 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
693 virtual void operator()(
char* result,
const char* op );
701 class OpIDENTITYCULong :
public UnaryOp
706 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
708 virtual void operator()(
char* result,
const char* op );
716 class OpNOTCLong :
public UnaryOp
721 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
723 virtual void operator()(
char* result,
const char* op );
731 class OpNOTBool :
public UnaryOp
736 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
738 virtual void operator()(
char* result,
const char* op );
746 class OpIDENTITYCLong :
public UnaryOp
751 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
753 virtual void operator()(
char* result,
const char* op );
761 class OpIDENTITYCDouble :
public UnaryOp
766 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
768 virtual void operator()(
char* result,
const char* op );
786 const BaseType* newOp2Type,
unsigned int newResOff = 0,
787 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
790 virtual void operator()(
char* res,
const char* op1,
791 const char* op2 ) = 0;
793 virtual void getCondenseInit(
char* init);
796 virtual ~BinaryOp() { };
815 class OpBinaryStruct :
public BinaryOp
819 OpBinaryStruct(
const BaseType* newStructType, Ops::OpType op,
820 unsigned int newResOff = 0,
unsigned int newOp1Off = 0,
821 unsigned int newOp2Off = 0 );
823 virtual ~OpBinaryStruct();
825 virtual void operator()(
char* res,
const char* op1,
829 unsigned int numElems;
840 class OpBinaryStructConst :
public BinaryOp
848 Ops::OpType op,
unsigned int newResOff = 0,
849 unsigned int newOp1Off = 0,
850 unsigned int newOp2Off = 0 );
852 virtual ~OpBinaryStructConst();
854 virtual void operator()(
char* res,
const char* op1,
859 unsigned int numElems;
870 class OpBinaryConstStruct :
public BinaryOp
878 Ops::OpType op,
unsigned int newResOff = 0,
879 unsigned int newOp1Off = 0,
880 unsigned int newOp2Off = 0 );
882 virtual ~OpBinaryConstStruct();
884 virtual void operator()(
char* res,
const char* op1,
889 unsigned int numElems;
896 class OpEQUALStruct :
public BinaryOp
901 const BaseType* newOp2Type,
unsigned int newResOff = 0,
902 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
904 virtual ~OpEQUALStruct();
907 virtual void operator()(
char* res,
const char* op1,
910 unsigned int numElems;
917 class OpNOTEQUALStruct :
public BinaryOp
922 const BaseType* newOp2Type,
unsigned int newResOff = 0,
923 unsigned int newOp1Off = 0,
924 unsigned int newOp2Off = 0 );
926 virtual ~OpNOTEQUALStruct();
929 virtual void operator()(
char* res,
const char* op1,
932 unsigned int numElems;
942 class OpPLUSCULong :
public BinaryOp
947 const BaseType* newOp2Type,
unsigned int newResOff = 0,
948 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
951 virtual void operator()(
char* res,
const char* op1,
953 virtual void getCondenseInit(
char* init);
958 class OpPLUSULong :
public BinaryOp
963 const BaseType* newOp2Type,
unsigned int newResOff = 0,
964 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
967 virtual void operator()(
char* res,
const char* op1,
969 virtual void getCondenseInit(
char* init);
977 class OpMINUSCULong :
public BinaryOp
982 const BaseType* newOp2Type,
unsigned int newResOff = 0,
983 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
986 virtual void operator()(
char* res,
const char* op1,
995 class OpDIVCULong :
public BinaryOp
1000 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1001 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1004 virtual void operator()(
char* res,
const char* op1,
1013 class OpMULTCULong :
public BinaryOp
1018 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1019 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1022 virtual void operator()(
char* res,
const char* op1,
1024 virtual void getCondenseInit(
char* init);
1032 class OpANDCULong :
public BinaryOp
1037 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1038 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1041 virtual void operator()(
char* res,
const char* op1,
1043 virtual void getCondenseInit(
char* init);
1051 class OpANDBool :
public BinaryOp
1056 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1057 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1060 virtual void operator()(
char* res,
const char* op1,
1062 virtual void getCondenseInit(
char* init);
1070 class OpORCULong :
public BinaryOp
1075 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1076 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1079 virtual void operator()(
char* res,
const char* op1,
1081 virtual void getCondenseInit(
char* init);
1089 class OpORBool :
public BinaryOp
1094 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1095 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1098 virtual void operator()(
char* res,
const char* op1,
1100 virtual void getCondenseInit(
char* init);
1108 class OpXORCULong :
public BinaryOp
1113 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1114 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1117 virtual void operator()(
char* res,
const char* op1,
1126 class OpXORBool :
public BinaryOp
1131 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1132 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1135 virtual void operator()(
char* res,
const char* op1,
1144 class OpPLUSCLong :
public BinaryOp
1149 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1150 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1153 virtual void operator()(
char* res,
const char* op1,
1155 virtual void getCondenseInit(
char* init);
1163 class OpMINUSCLong :
public BinaryOp
1168 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1169 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1172 virtual void operator()(
char* res,
const char* op1,
1181 class OpDIVCLong :
public BinaryOp
1186 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1187 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1190 virtual void operator()(
char* res,
const char* op1,
1199 class OpMULTCLong :
public BinaryOp
1204 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1205 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1208 virtual void operator()(
char* res,
const char* op1,
1210 virtual void getCondenseInit(
char* init);
1218 class OpANDCLong :
public BinaryOp
1223 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1224 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1227 virtual void operator()(
char* res,
const char* op1,
1229 virtual void getCondenseInit(
char* init);
1237 class OpORCLong :
public BinaryOp
1242 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1243 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1246 virtual void operator()(
char* res,
const char* op1,
1248 virtual void getCondenseInit(
char* init);
1256 class OpXORCLong :
public BinaryOp
1261 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1262 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1265 virtual void operator()(
char* res,
const char* op1,
1274 class OpPLUSCDouble :
public BinaryOp
1279 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1280 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1283 virtual void operator()(
char* res,
const char* op1,
1285 virtual void getCondenseInit(
char* init);
1293 class OpMINUSCDouble :
public BinaryOp
1298 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1299 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1302 virtual void operator()(
char* res,
const char* op1,
1311 class OpDIVCDouble :
public BinaryOp
1316 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1317 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1320 virtual void operator()(
char* res,
const char* op1,
1329 class OpMULTCDouble :
public BinaryOp
1334 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1335 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1338 virtual void operator()(
char* res,
const char* op1,
1340 virtual void getCondenseInit(
char* init);
1348 class OpEQUALCCharCULong :
public BinaryOp
1353 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1354 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1357 virtual void operator()(
char* res,
const char* op1,
1366 class OpLESSCCharCULong :
public BinaryOp
1371 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1372 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1375 virtual void operator()(
char* res,
const char* op1,
1384 class OpLESSEQUALCCharCULong :
public BinaryOp
1388 OpLESSEQUALCCharCULong(
const BaseType* newResType,
const BaseType* newOp1Type,
1389 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1390 unsigned int newOp1Off = 0,
1391 unsigned int newOp2Off = 0 );
1394 virtual void operator()(
char* res,
const char* op1,
1403 class OpNOTEQUALCCharCULong :
public BinaryOp
1407 OpNOTEQUALCCharCULong(
const BaseType* newResType,
const BaseType* newOp1Type,
1408 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1409 unsigned int newOp1Off = 0,
1410 unsigned int newOp2Off = 0 );
1413 virtual void operator()(
char* res,
const char* op1,
1422 class OpGREATERCCharCULong :
public BinaryOp
1426 OpGREATERCCharCULong(
const BaseType* newResType,
const BaseType* newOp1Type,
1427 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1428 unsigned int newOp1Off = 0,
1429 unsigned int newOp2Off = 0 );
1432 virtual void operator()(
char* res,
const char* op1,
1441 class OpGREATEREQUALCCharCULong :
public BinaryOp
1445 OpGREATEREQUALCCharCULong(
const BaseType* newResType,
const BaseType* newOp1Type,
1446 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1447 unsigned int newOp1Off = 0,
1448 unsigned int newOp2Off = 0 );
1451 virtual void operator()(
char* res,
const char* op1,
1460 class OpEQUALCCharCLong :
public BinaryOp
1465 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1466 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1469 virtual void operator()(
char* res,
const char* op1,
1478 class OpLESSCCharCLong :
public BinaryOp
1483 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1484 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1487 virtual void operator()(
char* res,
const char* op1,
1496 class OpLESSEQUALCCharCLong :
public BinaryOp
1500 OpLESSEQUALCCharCLong(
const BaseType* newResType,
const BaseType* newOp1Type,
1501 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1502 unsigned int newOp1Off = 0,
1503 unsigned int newOp2Off = 0 );
1506 virtual void operator()(
char* res,
const char* op1,
1515 class OpNOTEQUALCCharCLong :
public BinaryOp
1519 OpNOTEQUALCCharCLong(
const BaseType* newResType,
const BaseType* newOp1Type,
1520 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1521 unsigned int newOp1Off = 0,
1522 unsigned int newOp2Off = 0 );
1525 virtual void operator()(
char* res,
const char* op1,
1534 class OpGREATERCCharCLong :
public BinaryOp
1539 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1540 unsigned int newOp1Off = 0,
1541 unsigned int newOp2Off = 0 );
1544 virtual void operator()(
char* res,
const char* op1,
1553 class OpGREATEREQUALCCharCLong :
public BinaryOp
1557 OpGREATEREQUALCCharCLong(
const BaseType* newResType,
const BaseType* newOp1Type,
1558 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1559 unsigned int newOp1Off = 0,
1560 unsigned int newOp2Off = 0 );
1563 virtual void operator()(
char* res,
const char* op1,
1572 class OpEQUALCCharCDouble :
public BinaryOp
1577 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1578 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1581 virtual void operator()(
char* res,
const char* op1,
1590 class OpLESSCCharCDouble :
public BinaryOp
1595 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1596 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1599 virtual void operator()(
char* res,
const char* op1,
1608 class OpLESSEQUALCCharCDouble :
public BinaryOp
1612 OpLESSEQUALCCharCDouble(
const BaseType* newResType,
const BaseType* newOp1Type,
1613 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1614 unsigned int newOp1Off = 0,
1615 unsigned int newOp2Off = 0 );
1618 virtual void operator()(
char* res,
const char* op1,
1627 class OpNOTEQUALCCharCDouble :
public BinaryOp
1631 OpNOTEQUALCCharCDouble(
const BaseType* newResType,
const BaseType* newOp1Type,
1632 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1633 unsigned int newOp1Off = 0,
1634 unsigned int newOp2Off = 0 );
1637 virtual void operator()(
char* res,
const char* op1,
1646 class OpGREATERCCharCDouble :
public BinaryOp
1650 OpGREATERCCharCDouble(
const BaseType* newResType,
const BaseType* newOp1Type,
1651 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1652 unsigned int newOp1Off = 0,
1653 unsigned int newOp2Off = 0 );
1656 virtual void operator()(
char* res,
const char* op1,
1665 class OpGREATEREQUALCCharCDouble :
public BinaryOp
1669 OpGREATEREQUALCCharCDouble(
const BaseType* newResType,
const BaseType* newOp1Type,
1670 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1671 unsigned int newOp1Off = 0,
1672 unsigned int newOp2Off = 0 );
1675 virtual void operator()(
char* res,
const char* op1,
1684 class OpPLUSChar :
public BinaryOp
1689 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1690 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1693 virtual void operator()(
char* res,
const char* op1,
1695 virtual void getCondenseInit(
char* init);
1703 class OpMINUSChar :
public BinaryOp
1708 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1709 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1712 virtual void operator()(
char* res,
const char* op1,
1721 class OpMULTChar :
public BinaryOp
1726 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1727 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1730 virtual void operator()(
char* res,
const char* op1,
1732 virtual void getCondenseInit(
char* init);
1740 class OpDIVChar :
public BinaryOp
1745 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1746 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1749 virtual void operator()(
char* res,
const char* op1,
1758 class OpEQUALChar :
public BinaryOp
1763 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1764 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1767 virtual void operator()(
char* res,
const char* op1,
1776 class OpLESSChar :
public BinaryOp
1781 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1782 unsigned int newOp1Off = 0,
unsigned int newOp2Off = 0 );
1785 virtual void operator()(
char* res,
const char* op1,
1794 class OpLESSEQUALChar :
public BinaryOp
1799 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1800 unsigned int newOp1Off = 0,
1801 unsigned int newOp2Off = 0 );
1804 virtual void operator()(
char* res,
const char* op1,
1813 class OpNOTEQUALChar :
public BinaryOp
1818 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1819 unsigned int newOp1Off = 0,
1820 unsigned int newOp2Off = 0 );
1823 virtual void operator()(
char* res,
const char* op1,
1832 class OpGREATERChar :
public BinaryOp
1837 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1838 unsigned int newOp1Off = 0,
1839 unsigned int newOp2Off = 0 );
1842 virtual void operator()(
char* res,
const char* op1,
1852 class OpGREATEREQUALChar :
public BinaryOp
1857 const BaseType* newOp2Type,
unsigned int newResOff = 0,
1858 unsigned int newOp1Off = 0,
1859 unsigned int newOp2Off = 0 );
1862 virtual void operator()(
char* res,
const char* op1,
1872 class OpIDENTITYChar :
public UnaryOp
1877 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
1879 virtual void operator()(
char* result,
const char* op );
1888 class OpIDENTITYShort :
public UnaryOp
1893 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
1895 virtual void operator()(
char* result,
const char* op );
1904 class OpIDENTITYLong :
public UnaryOp
1909 unsigned int newResOff = 0,
unsigned int newOpOff = 0 );
1911 virtual void operator()(
char* result,
const char* op );
1932 MarrayOp(
const BaseType* newResType,
unsigned int newResOff = 0 );
1934 virtual void operator() (
char* result,
const r_Point& p );
1937 virtual ~MarrayOp() { };
1941 unsigned int resOff;
1968 GenCondenseOp(
const BaseType* newResType,
unsigned int newResOff,
1969 BinaryOp* newAccuOp,
char* newInitVal = 0 );
1971 virtual void operator()(
const r_Point& p );
1973 BinaryOp* getAccuOp();
1977 unsigned int getResultOff();
1982 virtual ~GenCondenseOp();
1986 unsigned int resOff;
2002 class OpPLUSComplex :
public BinaryOp
2007 enum ScalarFlag { NONE, FIRST, SECOND};
2013 unsigned int newResOff = 0,
2014 unsigned int newOp1Off = 0,
2015 unsigned int newOp2Off = 0,
2016 ScalarFlag flag = NONE
2018 virtual void operator()(
char* res,
const char* op1,
const char* op2);
2019 virtual void getCondenseInit(
char* init);
2022 unsigned int op1ReOff;
2023 unsigned int op1ImOff;
2024 unsigned int op2ReOff;
2025 unsigned int op2ImOff;
2026 unsigned int resReOff;
2027 unsigned int resImOff;
2028 ScalarFlag scalarFlag;
2034 class OpMINUSComplex :
public BinaryOp
2039 enum ScalarFlag { NONE, FIRST, SECOND};
2045 unsigned int newResOff = 0,
2046 unsigned int newOp1Off = 0,
2047 unsigned int newOp2Off = 0,
2048 ScalarFlag flag = NONE
2050 virtual void operator()(
char* res,
const char* op1,
const char* op2);
2053 unsigned int op1ReOff;
2054 unsigned int op1ImOff;
2055 unsigned int op2ReOff;
2056 unsigned int op2ImOff;
2057 unsigned int resReOff;
2058 unsigned int resImOff;
2059 ScalarFlag scalarFlag;
2065 class OpDIVComplex :
public BinaryOp
2070 enum ScalarFlag { NONE, FIRST, SECOND};
2076 unsigned int newResOff = 0,
2077 unsigned int newOp1Off = 0,
2078 unsigned int newOp2Off = 0,
2079 ScalarFlag flag = NONE
2081 virtual void operator()(
char* res,
const char* op1,
const char* op2 );
2084 unsigned int op1ReOff;
2085 unsigned int op1ImOff;
2086 unsigned int op2ReOff;
2087 unsigned int op2ImOff;
2088 unsigned int resReOff;
2089 unsigned int resImOff;
2090 ScalarFlag scalarFlag;
2096 class OpMULTComplex :
public BinaryOp
2101 enum ScalarFlag { NONE, FIRST, SECOND};
2107 unsigned int newResOff = 0,
2108 unsigned int newOp1Off = 0,
2109 unsigned int newOp2Off = 0,
2110 ScalarFlag flag = NONE
2112 virtual void operator()(
char* res,
const char* op1,
const char* op2 );
2113 virtual void getCondenseInit(
char* init);
2116 unsigned int op1ReOff;
2117 unsigned int op1ImOff;
2118 unsigned int op2ReOff;
2119 unsigned int op2ImOff;
2120 unsigned int resReOff;
2121 unsigned int resImOff;
2122 ScalarFlag scalarFlag;
2128 class OpIDENTITYComplex :
public UnaryOp
2131 OpIDENTITYComplex(
const BaseType* ,
const BaseType* ,
unsigned int = 0,
unsigned int = 0);
2132 virtual void operator()(
char* result,
const char* op);
2138 class OpRealPart :
public UnaryOp
2144 unsigned int newResOff = 0,
2145 unsigned int newOpOff = 0
2147 virtual void operator() (
char* result,
const char* op);
2150 unsigned int opReOff;
2157 class OpImaginarPart :
public UnaryOp
2163 unsigned int newResOff = 0,
2164 unsigned int newOpOff = 0
2166 virtual void operator() (
char* result,
const char* op);
2169 unsigned int opImOff;
2182 class OpCAST :
public UnaryOp
2188 unsigned int newResOff = 0,
2189 unsigned int newOpOff = 0
2192 virtual void operator() (
char* result,
const char* op);
2204 class OpOVERLAY :
public BinaryOp
2208 static const char* nullPattern;
2210 OpOVERLAY(
const BaseType* newResType,
2214 const char* transparentPattern = OpOVERLAY::nullPattern,
2215 unsigned int newResOff = 0,
2216 unsigned int newOp1Off = 0,
2217 unsigned int newOp2Off = 0);
2221 virtual void operator()(
char* res,
const char* op1,
const char* op2 );
2225 const char* pattern;
2238 class OpBIT :
public BinaryOp
2245 unsigned int newResOff = 0,
2246 unsigned int newOp1Off = 0,
2247 unsigned int newOp2Off = 0
2251 virtual void operator()(
char* res,
const char* op1,
const char* op2);
Definition: structtype.hh:68
Definition: relcatalogif/basetype.hh:66