pike.git/
src/
operators.c
Branch:
Tag:
Non-build tags
All tags
No tags
2000-12-15
2000-12-15 21:37:44 by Henrik Grubbström (Grubba) <grubba@grubba.org>
db1efef88b3b91316b1a8e3911c25a4cdcf12ae0 (
18
lines) (+
13
/-
5
)
[
Show
|
Annotate
]
Branch:
7.9
Somewhat changes types for `+(), `&() and `%().
Rev: src/operators.c:1.115
6:
/**/ #include "global.h" #include <math.h>
-
RCSID("$Id: operators.c,v 1.
114
2000/12/
08
15:
47
:
55
grubba Exp $");
+
RCSID("$Id: operators.c,v 1.
115
2000/12/
15
21
:
37
:
44
grubba Exp $");
#include "interpret.h" #include "svalue.h" #include "multiset.h"
2725:
ADD_EFUN2("`+",f_add, tOr7(tIfnot(tFuncV(tNone,tNot(tOr(tObj,tMix)),tMix),tFunction), tFuncV(tInt,tInt,tInt),
-
tIfnot(tFuncV(tNone,tNot(tFlt),tMix),
+
tIfnot(tFuncV(tNone,
tNot(tFlt),
tMix),
tFuncV(tOr(tInt,tFlt),tOr(tInt,tFlt),tFlt)),
-
tIfnot(tFuncV(
tOr(tInt
,
tFlt),tOr
(
tInt,tFlt
),tMix),
+
tIfnot(tFuncV(
tNone
,
tNot
(
tStr
),
tMix),
tFuncV(tOr3(tStr,tInt,tFlt), tOr3(tStr,tInt,tFlt),tStr)), tFuncV(tSetvar(0,tArray),tSetvar(1,tArray),
2792:
F_AND_TYPE(tString), F_AND_TYPE(tOr(tType,tPrg)) ),
-
tIfnot(tFuncV(tNone,
tOr
(
tArray,tMultiset
),tMix),
+
tIfnot(tFuncV(tNone,
tNot
(
tMapping
),
tMix),
tFuncV(tNone, tOr3(tArray,tMultiset,tSetvar(4,tMapping)), tVar(4)) )
2868:
"function(string,int:string)|" "function(array(0=mixed),int:array(0))|" "!function(int,int:mixed)&function(int|float,int|float:float) */
-
ADD_EFUN2("`%",f_mod,tOr6(tFunc(tMix tObj,tMix),tFunc(tObj tMix,tMix),tFunc(tInt tInt,tInt),tFunc(tStr tInt,tStr),tFunc(tArr(tSetvar(0,tMix)) tInt,tArr(tVar(0))),tIfnot(
tFunc
(
tInt
tInt
,tMix),tFunc(tOr(tInt,tFlt) tOr(tInt,tFlt),tFlt))),
+
ADD_EFUN2("`%",
f_mod,
+
tOr6(tFunc(tMix tObj,tMix),
+
tFunc(tObj tMix,tMix),
+
tFunc(tInt tInt,tInt),
+
tFunc(tStr tInt,tStr),
+
tFunc(tArr(tSetvar(0,tMix)) tInt,tArr(tVar(0))),
+
tIfnot(
tFuncV
(
tNone,
tNot(tFlt)
,
tMix),
+
tFunc(tOr(tInt,tFlt) tOr(tInt,tFlt),tFlt))),
OPT_TRY_OPTIMIZE,0,generate_mod); /* function(object:mixed)|function(int:int)|function(float:float)|function(string:string) */