pike.git / src / operators.c

version» Context lines:

pike.git/src/operators.c:5908:    tFunc(tOr(tInt, tFloat) tSetvar(3, tStr),    tOr(tStr7, tVar(3)))),    tFunc(tArr(tSetvar(0,tMix)) tArr(tSetvar(1,tMix)),    tArr(tOr(tVar(0), tVar(1)))),    tFunc(tSetvar(0, tMapping) tSetvar(1, tMapping),    tOr(tVar(0), tVar(1))),    tFunc(tSetvar(0, tMultiset) tSetvar(1, tMultiset),    tOr(tVar(0), tVar(1))))),    OPT_TRY_OPTIMIZE,optimize_binary,generate_sum);    -  ADD_EFUN2("`-",f_minus, -  tOr8(tIfnot(tFuncV(tNone,tNot(tObj),tMix), -  tOr(tFuncArg(tSetvar(2,tObj), tFindLFun(tVar(2), "`-")), -  tFuncV(tNot(tObj), tMix, tMix))), -  tOr(tFuncArg(tIntNeg, tOr(tFuncV(tNone, tIntPos, tIntNeg), -  tIfnot(tFuncV(tNone, tNot(tIntNeg), -  tMix), -  tFuncV(tInt, tInt, tInt)))), -  tFuncArg(tIntPos, tOr(tFuncV(tNone, tIntNeg, tIntPos), -  tIfnot(tFuncV(tNone, tNot(tIntPos), -  tMix), -  tFuncV(tInt, tInt, tInt))))), -  tIfnot(tFuncV(tNone,tNot(tFlt),tMix), -  tFuncV(tOr(tInt,tFlt),tOr(tInt,tFlt),tFlt)), -  tFuncV(tArr(tSetvar(0,tMix)),tArray,tArr(tVar(0))), -  tFuncV(tMap(tSetvar(1,tMix),tSetvar(2,tMix)), -  tOr3(tMapping,tArray,tMultiset), -  tMap(tVar(1),tVar(2))), -  tFunc(tSet(tSetvar(3,tMix)) tMultiset,tSet(tVar(3))), -  tFuncV(tNStr(tSetvar(0,tInt)),tStr,tNStr(tVar(0))), -  tFuncV(tType(tSetvar(0, tMix)), tType(tMix), tType(tVar(0)))), +  ADD_EFUN2("`-", f_minus, +  tOr(tOr4(tFunc(tSetvar(0, tInt), tNegateInt(tVar(0))), +  tFunc(tFlt, tFlt), +  tFunc(tSetvar(0, tType(tMix)), tVar(0)), +  tFuncArg(tSetvar(0, tObj), tFindLFun(tVar(0), "`-"))), +  tTransitive(tUnknown, +  tOr8(tOr(tFuncArg(tSetvar(1,tObj), +  tFindLFun(tVar(1), "`-")), +  tFunc(tMix tObj, tMix)), +  tFunc(tSetvar(2, tInt) tSetvar(3, tInt), +  tSubInt(tVar(2), tVar(3))), +  tOr(tFunc(tFloat tOr(tFloat, tInt), tFloat), +  tFunc(tOr(tFloat, tInt) tFloat, tFloat)), +  tFunc(tNStr(tSetvar(0,tInt)) tStr, +  tNStr(tVar(0))), +  tFunc(tArr(tSetvar(0,tMix)) tArray, +  tArr(tVar(0))), +  tFunc(tMap(tSetvar(1,tMix), tSetvar(2,tMix)) +  tOr3(tMapping, tArray, tMultiset), +  tMap(tVar(1), tVar(2))), +  tFunc(tSet(tSetvar(3, tMix)) tMultiset, +  tSet(tVar(3))), +  tFunc(tType(tSetvar(0, tMix)) tType(tMix), +  tType(tVar(0)))))),    OPT_TRY_OPTIMIZE,0,generate_minus);      /*      object & mixed -> mixed   mixed & object -> mixed      int & int -> int   array & array -> array   multiset & multiset -> multiset