7 int psi_calc_num_exp(num_exp
*exp
, impl_val
*strct
, impl_val
*res
);
9 static inline zend_long
psi_long_num_exp(num_exp
*exp
, impl_val
*strct
) {
12 switch (psi_calc_num_exp(exp
, strct
, &val
)) {
13 case PSI_T_UINT8
: return val
.u8
;
14 case PSI_T_UINT16
: return val
.u16
;
15 case PSI_T_UINT32
: return val
.u32
;
16 case PSI_T_UINT64
: return val
.u64
; /* FIXME */
17 case PSI_T_INT8
: return val
.i8
;
18 case PSI_T_INT16
: return val
.i16
;
19 case PSI_T_INT32
: return val
.i32
;
20 case PSI_T_INT64
: return val
.i64
;
21 case PSI_T_FLOAT
: return val
.fval
;
22 case PSI_T_DOUBLE
: return val
.dval
;
23 EMPTY_SWITCH_DEFAULT_CASE();
28 int psi_calc_add(int t1
, impl_val
*v1
, int t2
, impl_val
*v2
, impl_val
*res
);
29 int psi_calc_sub(int t1
, impl_val
*v1
, int t2
, impl_val
*v2
, impl_val
*res
);
30 int psi_calc_mul(int t1
, impl_val
*v1
, int t2
, impl_val
*v2
, impl_val
*res
);
31 int psi_calc_div(int t1
, impl_val
*v1
, int t2
, impl_val
*v2
, impl_val
*res
);