+void psi_to_bool(zval *return_value, token_t t, impl_val *ret_val, decl_var *var)
+{
+ switch (t) {
+ case PSI_T_FLOAT:
+ RETVAL_DOUBLE((double) deref_impl_val(ret_val, var)->fval);
+ convert_to_boolean(return_value);
+ break;
+ case PSI_T_DOUBLE:
+ RETVAL_DOUBLE(deref_impl_val(ret_val, var)->dval);
+ convert_to_boolean(return_value);
+ break;
+ default:
+ RETVAL_LONG(deref_impl_val(ret_val, var)->lval);
+ convert_to_boolean(return_value);
+ break;
+ }
+}
+