pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:5764:
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); add_efun2("`<=",f_le,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison); add_efun2("`>", f_gt,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison); add_efun2("`>=",f_ge,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison); ADD_EFUN2("`+",f_add,
-
tOr7(tIfnot(tFuncV(tNone,tNot(
tOr(
tObj,tMix)),
tMix
),
-
tFuncV(
tNone
,tMix,tMix)),
+
tOr7(tIfnot(tFuncV(tNone,tNot(tObj
)
,tMix)
,
+
tOr(tFuncArg(tSetvar(2,tObj
),
tFindLFun(tVar(2
),
"`+")),
+
tFuncV(
tNot(tObj)
,
tMix,
tMix))
)
,
tOr3(tFuncV(tIntPos,tIntPos,tIntPos), tFuncV(tIntNeg,tIntNeg,tIntNeg), tIfnot(tFuncV(tNone, tNot(tIntNeg), tMix), tIfnot(tFuncV(tNone, tNot(tIntPos), tMix), tFuncV(tInt, tInt, tInt)))), tIfnot(tFuncV(tNone, tNot(tFlt), tMix), tFuncV(tOr(tInt,tFlt),tOr(tInt,tFlt),tFlt)), tIfnot(tFuncV(tNone, tNot(tStr), tMix), tFuncV(tOr3(tNStr(tSetvar(0, tInt)),tInt,tFlt), tOr3(tNStr(tSetvar(1, tInt)),tInt,tFlt),