pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:5851:
tFuncV(tSetvar(3,tMultiset),tSetvar(4,tMultiset),tOr(tVar(3),tVar(4))), \ tFuncV(tSetvar(5,tArray),tSetvar(6,tArray),tOr(tVar(5),tVar(6))), \ tFuncV(tString,tString,tString), \ tFuncV(tOr(tType(tMix),tPrg(tObj)),tOr(tType(tMix),tPrg(tObj)),tType(tMix))) ADD_EFUN2("`|",f_or,LOG_TYPE,OPT_TRY_OPTIMIZE,optimize_binary,generate_or); ADD_EFUN2("`^",f_xor,LOG_TYPE,OPT_TRY_OPTIMIZE,optimize_binary,generate_xor); #define SHIFT_TYPE \
-
tOr4
(tIfnot(tFuncV(tNone, tNot(tObj), tMix), \
+
tOr3
(tIfnot(tFuncV(tNone, tNot(tObj), tMix), \
tOr(tFunc(tMix tObj,tMix), \ tFunc(tObj tMix,tMix))), \
-
tIfnot
(
tFuncV
(
tNone,
tNot(tInt)
,
tMix
), \
-
tFunc(
tInt
tInt
,
tInt
)
)
,
\
-
tFunc(
tFloat
tIntPos,
tFloat
), \
-
tFunc(
tIntPos
tIntPos,
tIntPos
))
+
tOr3
(
tFunc
(
tInt1Plus
tIntPos
,
tIntPos
), \
+
tFunc(
tInt0
tIntPos
,
tInt0
), \
+
tFunc(
tIntMinus
tIntPos,
tIntNeg
)
)
,
\
+
tIfnot(tFuncV(tNot(tFloat),
tNot(tIntPos),
tMix),
\
+
tFunc(
tAnd(tFloat,
tNot(tInt0))
tIntPos,
tFloat
))
)
ADD_EFUN2("`<<", f_lsh, SHIFT_TYPE, OPT_TRY_OPTIMIZE, may_have_side_effects, generate_lsh); ADD_EFUN2("`>>", f_rsh, SHIFT_TYPE, OPT_TRY_OPTIMIZE, may_have_side_effects, generate_rsh); /* !function(!object...:mixed)&function(mixed...:mixed)|" "function(array(array(1=mixed)),array(1=mixed):array(1))|" "function(int...:int)|" "!function(int...:mixed)&function(float|int...:float)|"