pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:1:
/*\ ||| This file a part of Pike, and is copyright by Fredrik Hubinette ||| Pike is distributed as GPL (General Public License) ||| See the files COPYING and DISCLAIMER for more information. \*/ /**/ #include "global.h" #include <math.h>
-
RCSID("$Id: operators.c,v 1.
81
1999/12/27
16
:
13
:
53
grubba Exp $");
+
RCSID("$Id: operators.c,v 1.
82
1999/12/27
18
:
28
:
21
grubba Exp $");
#include "interpret.h" #include "svalue.h" #include "multiset.h" #include "mapping.h" #include "array.h" #include "stralloc.h" #include "opcodes.h" #include "operators.h" #include "language.h" #include "pike_memory.h"
pike.git/src/operators.c:2456:
ADD_EFUN("`->=", f_arrow_assign, tOr3(tFunc(tArr(tOr4(tArray,tObj,tMultiset,tMapping)) tStr tSetvar(0,tMix), tVar(0)), tFunc(tOr(tObj, tMultiset) tStr tSetvar(1,tMix), tVar(1)), tFunc(tMap(tMix, tSetvar(2,tMix)) tStr tVar(2), tVar(2))), 0); /* OPT_ASSIGNMENT|OPT_TRY_OPTIMIZE); ? */ /* function(mixed...:int) */ ADD_EFUN2("`==",f_eq, tOr5(tFuncV(tOr(tInt,tFloat) tOr(tInt,tFloat), tOr(tInt,tFloat),tInt01),
-
tFuncV(tSetvar(0,tOr4(tString,tMapping,
tSet
,tArray))
tVar(0),
-
tVar(0),tInt01),
+
tFuncV(tSetvar(0,tOr4(tString,tMapping,
tMultiset
,tArray))
+
tVar(0),
tVar(0),
tInt01),
tFuncV(tOr3(tObject,tProgram,tFunction) tMix,tMix,tInt01), tFuncV(tMix tOr3(tObject,tProgram,tFunction),tMix,tInt01), tFuncV(tType tType,tOr3(tProgram,tFunction,tType),tInt01)), OPT_TRY_OPTIMIZE,optimize_eq,generate_comparison); /* function(mixed...:int) */ ADD_EFUN2("`!=",f_ne, tOr5(tFuncV(tOr(tInt,tFloat) tOr(tInt,tFloat), tOr(tInt,tFloat),tInt01),
-
tFuncV(tSetvar(0,tOr4(tString,tMapping,
tSet
,tArray))
tVar(0),
-
tVar(0),tInt01),
+
tFuncV(tSetvar(0,tOr4(tString,tMapping,
tMultiset
,tArray))
+
tVar(0),
tVar(0),
tInt01),
tFuncV(tOr3(tObject,tProgram,tFunction) tMix,tMix,tInt01), tFuncV(tMix tOr3(tObject,tProgram,tFunction),tMix,tInt01), tFuncV(tType tType,tOr3(tProgram,tFunction,tType),tInt01)), OPT_TRY_OPTIMIZE,0,generate_comparison); /* function(mixed:int) */ ADD_EFUN2("`!",f_not,tFuncV(tMix,tVoid,tInt01), OPT_TRY_OPTIMIZE,optimize_not,generate_not); #define CMP_TYPE "!function(!(object|mixed)...:mixed)&function(mixed...:int(0..1))|function(int|float...:int(0..1))|function(string...:int(0..1))|function(type|program,type|program,type|program...:int(0..1))" add_efun2("`<", f_lt,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison);