pike.git / src / operators.c

version» Context lines:

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)|"