case PSI_T_INT128:
i1.u64 = v1->i128;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
case PSI_T_INT128:
i1.u64 = v1->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_UINT128:
i1.u64 = v1->u128;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_FLOAT:
i1.u64 = v1->fval;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_UINT64:
i2.u64 = v2->u64;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
case PSI_T_INT128:
i2.u64 = v2->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_UINT128:
i2.u64 = v2->u128;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;
case PSI_T_FLOAT:
i2.u64 = v2->fval;
break;