build administrativa
[m6w6/ext-psi] / src / calc / cast.h
index eb93b3b66774980f7d44aca4ea1d84e1532f2247..4922616d07066ce30eac02c8a165d663c0189932 100644 (file)
@@ -23,7 +23,6 @@
  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *******************************************************************************/
 
-#include "php_psi_stdinc.h"
 #include <assert.h>
 
 #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;