pike.git
/
src
/
operators.c
version
»
Context lines:
10
20
40
80
file
none
3
pike.git/src/operators.c:6046:
tFunc(tOr(tInt,tFloat) tObj, tOr3(tFloat,tInt,tFloat)), tFunc(tInt tFloat, tFloat), tFuncArg(tSetvar(0, tObj), tFindLFun(tVar(0), "`**")), tFunc(tSetvar(0, tMix) tSetvar(1, tObj), tGetReturn(tApply(tFindLFun(tVar(1), "``**"), tVar(0)))), tFunc(tFloat tInt, tFloat)), OPT_TRY_OPTIMIZE,0,0); ADD_EFUN2("`*", f_multiply,
-
tOr8(
tIfnot
(
tFuncV
(
tNone
,
tNot(
tObj),
tMix),
-
tFuncV
(
tMix,tOr
(
tMix,tVoid
),
tMix
)),
-
tFunc(
tArr
(
tArr(
tSetvar(1,
tMix
)
))
-
tArr
(
tSetvar
(
1,tMix)),tArr
(tVar(1))
)
,
-
tOr6(tIfnot(tFuncV(tNone,tNot(tZero),tMix),
-
tFuncV(tNone,
tInt,
tZero
)),
-
tFuncV
(
tInt1Plus
,
tInt1Plus,tInt1Plus
)
,
-
tFuncV
(
tIntMinus
,
tInt1Plus,tIntMinus
),
-
tFuncV(tIntMinus
tIntMinus,
tInt1Plus
,
tInt1Plus
),
-
tFuncV
(
tInt1Plus
tIntMinus
,
tInt1Plus, tIntMinus
),
-
tFuncArg
(tInt,
-
tFuncArg(tInt,
-
tIfnot
(
tFuncV(tNone
,
tNot(
tIntMinus),
tMix),
-
tFuncV
(
tInt
,
tInt,tInt
))
)))
,
-
tIfnot
(
tFuncV
(
tNone
,
tNot(tFlt
),
tMix),
-
tFuncV
(tOr(
tFlt,
tInt
)
,
tOr(tFlt,tInt
),
tFlt
)),
-
tFunc(tArr(tSetvar(0,
tStr
)) tSetvar(1,
tStr
),
-
tOr(tVar(0), tVar(1))),
-
tFunc(tArr(tSetvar(0,tMix)) tInt,
tArr(tVar(0
)
))
,
-
tFunc(tArr(tSetvar(0,tMix))
tFlt,
tArr(tVar(0))),
-
tFunc(
tLStr
(
tIntPos,
tSetvar(0, tInt)) tOr(tInt,
tFlt
),
-
tLStr(tIntPos,
tVar(0)))),
+
tTransitive(tUnknown,
+
tOr8(
tFuncArg
(
tSetvar
(
0
,
tObj),
+
tFindLFun
(
tVar
(
0
),
"`*"
)),
+
tFunc(
tSetvar
(
0, tMix)
tSetvar(1,
tObj
)
,
+
tGetReturn
(
tApply
(
tFindLFun
(tVar(1)
, "``*"
),
+
tVar(0
))
))
,
+
tFunc
(
tArr(tArr(tSetvar(0
,
tMix
)
))
+
tArr
(
tSetvar(1
,
tMix
)
)
,
+
tArr(tOr(tVar(0)
,
tVar(1
)
)))
,
+
tOr6
(
tFunc(tZero
tInt
,
tZero
),
+
tFunc
(tInt
tZero
,
tZero),
+
tFunc(tInt1Plus
tInt1Plus,
tInt1Plus),
+
tFunc(tIntMinus
tInt1Plus
,
tIntMinus),
+
tFunc(tInt1Plus
tIntMinus,
tIntMinus),
+
tFunc
(
tIntMinus tIntMinus
,
tIntMinus
)),
+
tOr
(
tFunc
(
tInt tFloat
,
tFloat
),
+
tFunc
(
tFloat
tOr(tInt,
tFloat
),
tFloat
)),
+
tFunc(tArr(
tNStr(
tSetvar(0,
tInt
))
)
+
tNStr(
tSetvar(1,
tInt
)
)
,
+
tNStr(
tOr(tVar(0), tVar(1)))
)
,
+
tFunc(tArr(tSetvar(0,tMix))
tOr(
tInt,
tFloat
),
+
tArr(tVar(0))),
+
tFunc(
tNStr
(tSetvar(0, tInt)) tOr(tInt,
tFloat
),
+
tNStr
(tVar(0))))
)
,
OPT_TRY_OPTIMIZE,optimize_binary,generate_multiply); /* !function(!object...:mixed)&function(mixed...:mixed)|" "function(int,int...:int)|" "!function(int...:mixed)&function(float|int...:float)|" "function(array(0=mixed),array|int|float...:array(array(0)))|" "function(string,string|int|float...:array(string)) */ ADD_EFUN2("`/", f_divide, tTransitive(tUnknown, tOr6(tFuncArg(tSetvar(1, tObj),