case PSI_T_UINT64:
res->i64 = v1->i8 + v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i8 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i8 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i8 + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u8 + v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u8 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u8 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u8 + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i16 + v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i16 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i16 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i16 + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u16 + v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u16 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u16 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u16 + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i32 + v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i32 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i32 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i32 + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u32 + v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u32 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u32 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u32 + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i64 + v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i64 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i64 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i64 + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u64 + v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u64 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u64 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u64 + v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#if HAVE_INT128
case PSI_T_INT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->i128 = v1->i128 + v2->u64;
return PSI_T_INT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i128 + v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i128 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i128 + v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->u128 = v1->u128 + v2->u64;
return PSI_T_UINT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->u128 = v1->u128 + v2->i128;
return PSI_T_UINT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u128 + v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u128 + v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
case PSI_T_FLOAT:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->fval = v1->fval + v2->u64;
return PSI_T_FLOAT;
+# if HAVE_INT128
case PSI_T_INT128:
res->fval = v1->fval + v2->i128;
return PSI_T_FLOAT;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->fval = v1->fval + v2->u128;
return PSI_T_FLOAT;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->fval + v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->dval = v1->dval + v2->u64;
return PSI_T_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->dval = v1->dval + v2->i128;
return PSI_T_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->dval = v1->dval + v2->u128;
return PSI_T_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->dval = v1->dval + v2->fval;
return PSI_T_DOUBLE;
case PSI_T_UINT64:
res->ldval = v1->ldval + v2->u64;
return PSI_T_LONG_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->ldval = v1->ldval + v2->i128;
return PSI_T_LONG_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->ldval = v1->ldval + v2->u128;
return PSI_T_LONG_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->ldval = v1->ldval + v2->fval;
return PSI_T_LONG_DOUBLE;
case PSI_T_UINT64:
res->i64 = v1->i8 - v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i8 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i8 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i8 - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u8 - v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u8 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u8 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u8 - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i16 - v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i16 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i16 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i16 - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u16 - v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u16 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u16 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u16 - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i32 - v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i32 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i32 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i32 - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u32 - v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u32 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u32 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u32 - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i64 - v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i64 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i64 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i64 - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u64 - v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u64 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u64 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u64 - v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#if HAVE_INT128
case PSI_T_INT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->i128 = v1->i128 - v2->u64;
return PSI_T_INT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i128 - v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i128 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i128 - v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->u128 = v1->u128 - v2->u64;
return PSI_T_UINT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->u128 = v1->u128 - v2->i128;
return PSI_T_UINT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u128 - v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u128 - v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
case PSI_T_FLOAT:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->fval = v1->fval - v2->u64;
return PSI_T_FLOAT;
+# if HAVE_INT128
case PSI_T_INT128:
res->fval = v1->fval - v2->i128;
return PSI_T_FLOAT;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->fval = v1->fval - v2->u128;
return PSI_T_FLOAT;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->fval - v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->dval = v1->dval - v2->u64;
return PSI_T_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->dval = v1->dval - v2->i128;
return PSI_T_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->dval = v1->dval - v2->u128;
return PSI_T_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->dval = v1->dval - v2->fval;
return PSI_T_DOUBLE;
case PSI_T_UINT64:
res->ldval = v1->ldval - v2->u64;
return PSI_T_LONG_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->ldval = v1->ldval - v2->i128;
return PSI_T_LONG_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->ldval = v1->ldval - v2->u128;
return PSI_T_LONG_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->ldval = v1->ldval - v2->fval;
return PSI_T_LONG_DOUBLE;
case PSI_T_UINT64:
res->i64 = v1->i8 * v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i8 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i8 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i8 * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u8 * v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u8 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u8 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u8 * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i16 * v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i16 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i16 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i16 * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u16 * v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u16 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u16 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u16 * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i32 * v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i32 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i32 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i32 * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u32 * v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u32 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u32 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u32 * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i64 * v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i64 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i64 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i64 * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u64 * v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u64 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u64 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u64 * v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#if HAVE_INT128
case PSI_T_INT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->i128 = v1->i128 * v2->u64;
return PSI_T_INT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i128 * v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i128 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i128 * v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->u128 = v1->u128 * v2->u64;
return PSI_T_UINT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->u128 = v1->u128 * v2->i128;
return PSI_T_UINT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u128 * v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u128 * v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
case PSI_T_FLOAT:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->fval = v1->fval * v2->u64;
return PSI_T_FLOAT;
+# if HAVE_INT128
case PSI_T_INT128:
res->fval = v1->fval * v2->i128;
return PSI_T_FLOAT;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->fval = v1->fval * v2->u128;
return PSI_T_FLOAT;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->fval * v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->dval = v1->dval * v2->u64;
return PSI_T_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->dval = v1->dval * v2->i128;
return PSI_T_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->dval = v1->dval * v2->u128;
return PSI_T_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->dval = v1->dval * v2->fval;
return PSI_T_DOUBLE;
case PSI_T_UINT64:
res->ldval = v1->ldval * v2->u64;
return PSI_T_LONG_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->ldval = v1->ldval * v2->i128;
return PSI_T_LONG_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->ldval = v1->ldval * v2->u128;
return PSI_T_LONG_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->ldval = v1->ldval * v2->fval;
return PSI_T_LONG_DOUBLE;
case PSI_T_UINT64:
res->i64 = v1->i8 / v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i8 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i8 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i8 / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u8 / v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u8 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u8 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u8 / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i16 / v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i16 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i16 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i16 / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u16 / v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u16 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u16 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u16 / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i32 / v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i32 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i32 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i32 / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u32 / v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u32 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u32 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u32 / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->i64 = v1->i64 / v2->u64;
return PSI_T_INT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i64 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i64 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i64 / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->u64 = v1->u64 / v2->u64;
return PSI_T_UINT64;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->u64 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u64 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u64 / v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#if HAVE_INT128
case PSI_T_INT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->i128 = v1->i128 / v2->u64;
return PSI_T_INT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->i128 = v1->i128 / v2->i128;
return PSI_T_INT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->i128 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->i128 / v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->u128 = v1->u128 / v2->u64;
return PSI_T_UINT128;
+# if HAVE_INT128
case PSI_T_INT128:
res->u128 = v1->u128 / v2->i128;
return PSI_T_UINT128;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->u128 = v1->u128 / v2->u128;
return PSI_T_UINT128;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->u128 / v2->fval;
return PSI_T_FLOAT;
break;
}
break;
+#endif
+
case PSI_T_FLOAT:
switch (t2) {
case PSI_T_INT8:
case PSI_T_UINT64:
res->fval = v1->fval / v2->u64;
return PSI_T_FLOAT;
+# if HAVE_INT128
case PSI_T_INT128:
res->fval = v1->fval / v2->i128;
return PSI_T_FLOAT;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->fval = v1->fval / v2->u128;
return PSI_T_FLOAT;
+# endif
+
case PSI_T_FLOAT:
res->fval = v1->fval / v2->fval;
return PSI_T_FLOAT;
case PSI_T_UINT64:
res->dval = v1->dval / v2->u64;
return PSI_T_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->dval = v1->dval / v2->i128;
return PSI_T_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->dval = v1->dval / v2->u128;
return PSI_T_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->dval = v1->dval / v2->fval;
return PSI_T_DOUBLE;
case PSI_T_UINT64:
res->ldval = v1->ldval / v2->u64;
return PSI_T_LONG_DOUBLE;
+# if HAVE_INT128
case PSI_T_INT128:
res->ldval = v1->ldval / v2->i128;
return PSI_T_LONG_DOUBLE;
+# endif
+
+# if HAVE_UINT128
case PSI_T_UINT128:
res->ldval = v1->ldval / v2->u128;
return PSI_T_LONG_DOUBLE;
+# endif
+
case PSI_T_FLOAT:
res->ldval = v1->ldval / v2->fval;
return PSI_T_LONG_DOUBLE;
i1.i64 = v1->u64;
break;
+#if HAVE_INT128
case PSI_T_INT128:
i1.i64 = v1->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i1.i64 = v1->u128;
break;
+#endif
+
case PSI_T_FLOAT:
i1.i64 = v1->fval;
break;
case PSI_T_UINT64:
i2.i64 = v2->u64;
break;
+#if HAVE_INT128
case PSI_T_INT128:
i2.i64 = v2->i128;
break;
+#endif
+
+#if HAVE_UINT128
case PSI_T_UINT128:
i2.i64 = v2->u128;
break;
+#endif
+
case PSI_T_FLOAT:
i2.i64 = v2->fval;
break;