pike.git/
src/
operators.c
Branch:
Tag:
Non-build tags
All tags
No tags
1999-12-11
1999-12-11 19:28:43 by Henrik Grubbström (Grubba) <grubba@grubba.org>
5da6a27e5ee621d8fb51a53c4043aaa5f0f56152 (
13
lines) (+
7
/-
6
)
[
Show
|
Annotate
]
Branch:
7.9
Fixed some types.
Rev: src/operators.c:1.72
6:
/**/ #include "global.h" #include <math.h>
-
RCSID("$Id: operators.c,v 1.
71
1999/
11
/
22
14
:
17
:
49
grubba Exp $");
+
RCSID("$Id: operators.c,v 1.
72
1999/
12/
11
19
:
28
:
43
grubba Exp $");
#include "interpret.h" #include "svalue.h" #include "multiset.h"
2166:
/* function(mixed:int) */ add_efun2("`!",f_not,"function(mixed:int(0..1))",OPT_TRY_OPTIMIZE,optimize_not,generate_not);
-
#define CMP_TYPE "!function(!object...:mixed)&function(mixed...:int(0..1))|function(int|float...:int(0..1))|function(string...:int(0..1))"
+
#define CMP_TYPE "!function(!
(
object
|mixed)
...:mixed)&function(mixed...:int(0..1))|function(int|float...:int(0..1))|function(string...:int(0..1))"
add_efun2("`<", f_lt,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison); add_efun2("`<=",f_le,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison); add_efun2("`>", f_gt,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison); add_efun2("`>=",f_ge,CMP_TYPE,OPT_TRY_OPTIMIZE,0,generate_comparison); ADD_EFUN2("`+",f_add,
-
tOr7(tIfnot(tFuncV(tNone,tNot(tObj),tMix),tFunction),
+
tOr7(tIfnot(tFuncV(tNone,tNot(
tOr(
tObj
,tMix
)
)
,tMix),tFunction),
tFuncV(tInt,tInt,tInt), tIfnot(tFuncV(tInt,tInt,tMix), tFuncV(tOr(tInt,tFlt),tOr(tInt,tFlt),tFlt)),
2189:
OPT_TRY_OPTIMIZE,optimize_binary,generate_sum); ADD_EFUN2("`-",f_minus,
-
tOr7(tIfnot(tFuncV(tNone,tNot(tObj),tMix),tFunction),
+
tOr7(tIfnot(tFuncV(tNone,tNot(
tOr(
tObj
,tMix
)
)
,tMix),tFunction),
tFuncV(tInt,tInt,tInt), tIfnot(tFuncV(tInt,tInt,tMix), tFuncV(tOr(tInt,tFlt),tOr(tInt,tFlt),tFlt)),
2221:
"function(array(0=mixed),int:array(0))|" "function(string,int:string) */ ADD_EFUN2("`*",f_multiply,
-
tOr7(tIfnot(tFuncV(tNone,tNot(tObj),tMix),tFunction),
+
tOr7(tIfnot(tFuncV(tNone,tNot(
tOr(
tObj
,tMix
)
)
,tMix),tFunction),
tFunc(tArr(tArr(tSetvar(1,tMix))) tArr(tSetvar(1,tMix)),tArr(tVar(1))), tFuncV(tInt,tInt,tInt),
2237:
"!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,tOr5(tIfnot(tFuncV(tNone,tNot(tObj),tMix),tFunction),tFuncV(tInt,tInt,tInt),tIfnot(tFuncV(tNone,tInt,tMix),tFuncV(tNone,tOr(tFlt,tInt),tFlt)),tFuncV(tArr(tSetvar(0,tMix)),tOr3(tArray,tInt,tFlt),tArr(tArr(tVar(0)))),tFuncV(tStr,tOr3(tStr,tInt,tFlt),tArr(tStr))),
+
ADD_EFUN2("`/",f_divide,tOr5(tIfnot(tFuncV(tNone,tNot(
tOr(
tObj
,tMix
)
)
,tMix),tFunction),tFuncV(tInt,tInt,tInt),tIfnot(tFuncV(tNone,tInt,tMix),tFuncV(tNone,tOr(tFlt,tInt),tFlt)),tFuncV(tArr(tSetvar(0,tMix)),tOr3(tArray,tInt,tFlt),tArr(tArr(tVar(0)))),tFuncV(tStr,tOr3(tStr,tInt,tFlt),tArr(tStr))),
OPT_TRY_OPTIMIZE,0,generate_divide); /* function(mixed,object:mixed)|"