X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=src%2Fcalc%2Fcast.h;h=4922616d07066ce30eac02c8a165d663c0189932;hb=ef4e043826e92afd32000b7d945cdf86a6e9a223;hp=eb93b3b66774980f7d44aca4ea1d84e1532f2247;hpb=c9384515a81cb64d345b299908b2852f51bb8e6e;p=m6w6%2Fext-psi diff --git a/src/calc/cast.h b/src/calc/cast.h index eb93b3b..4922616 100644 --- a/src/calc/cast.h +++ b/src/calc/cast.h @@ -23,7 +23,6 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *******************************************************************************/ -#include "php_psi_stdinc.h" #include #include "token.h" @@ -57,12 +56,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->i8 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->i8 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->i8 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->i8 = in_val->fval; break; @@ -106,12 +111,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->u8 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->u8 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->u8 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->u8 = in_val->fval; break; @@ -155,12 +166,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->i16 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->i16 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->i16 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->i16 = in_val->fval; break; @@ -204,12 +221,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->u16 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->u16 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->u16 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->u16 = in_val->fval; break; @@ -253,12 +276,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->i32 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->i32 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->i32 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->i32 = in_val->fval; break; @@ -302,12 +331,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->u32 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->u32 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->u32 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->u32 = in_val->fval; break; @@ -351,12 +386,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->i64 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->i64 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->i64 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->i64 = in_val->fval; break; @@ -400,12 +441,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->u64 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->u64 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->u64 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->u64 = in_val->fval; break; @@ -423,6 +470,7 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ break; } break; +#if HAVE_INT128 case PSI_T_INT128: switch (in_type) { case PSI_T_INT8: @@ -449,12 +497,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->i128 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->i128 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->i128 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->i128 = in_val->fval; break; @@ -472,6 +526,9 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ break; } break; +#endif + +#if HAVE_UINT128 case PSI_T_UINT128: switch (in_type) { case PSI_T_INT8: @@ -498,12 +555,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->u128 = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->u128 = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->u128 = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->u128 = in_val->fval; break; @@ -521,6 +584,8 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ break; } break; +#endif + case PSI_T_FLOAT: switch (in_type) { case PSI_T_INT8: @@ -547,12 +612,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->fval = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->fval = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->fval = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->fval = in_val->fval; break; @@ -596,12 +667,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->dval = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->dval = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->dval = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->dval = in_val->fval; break; @@ -646,12 +723,18 @@ static inline void psi_calc_cast(token_t in_type, impl_val *in_val, token_t out_ case PSI_T_UINT64: out_val->ldval = in_val->u64; break; +# if HAVE_INT128 case PSI_T_INT128: out_val->ldval = in_val->i128; break; +# endif + +# if HAVE_UINT128 case PSI_T_UINT128: out_val->ldval = in_val->u128; break; +# endif + case PSI_T_FLOAT: out_val->ldval = in_val->fval; break;