From 0aa03af22b7f334c07acf69e1109920efd55c1a9 Mon Sep 17 00:00:00 2001 From: "Jasper St. Pierre" Date: Sat, 30 Dec 2023 15:03:23 -0800 Subject: [PATCH] JUTException showFloatSub --- src/JSystem/JUtility/JUTException.cpp | 6 +++--- .../MSL/MSL_C/MSL_Common/Include/float.h | 2 ++ tools/decompctx.py | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/JSystem/JUtility/JUTException.cpp b/src/JSystem/JUtility/JUTException.cpp index 6151c1174..dbde7bac6 100644 --- a/src/JSystem/JUtility/JUTException.cpp +++ b/src/JSystem/JUtility/JUTException.cpp @@ -222,10 +222,10 @@ void JUTException::setFPException(u32 fpscr_enable_bits) { /* 802C50CC-802C525C .text showFloatSub__12JUTExceptionFif */ void JUTException::showFloatSub(int index, f32 value) { - if (fpclassify(value) == FP_NAN) { + if (isnan(value)) { sConsole->print_f("F%02d: Nan ", index); - } else if (fpclassify(value) == FP_INFINITE) { - if (signbit(value)) { + } else if (isinf(value)) { + if (*((u8*)&value) & 0x80) { sConsole->print_f("F%02d:+Inf ", index); } else { sConsole->print_f("F%02d:-Inf ", index); diff --git a/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/float.h b/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/float.h index 10fab57c0..4e957f8f7 100644 --- a/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/float.h +++ b/src/PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/Include/float.h @@ -15,6 +15,8 @@ #define fpclassify(x) ((sizeof(x) == sizeof(float)) ? __fpclassifyf(x) : __fpclassifyd(x)) #define signbit(x) ((sizeof(x) == sizeof(float)) ? __signbitf(x) : __signbitd(x)) #define isfinite(x) ((fpclassify(x) > 2)) +#define isnan(x) ((fpclassify(x) == FP_NAN)) +#define isinf(x) ((fpclassify(x) == FP_INFINITE)) #define __signbitf(x) ((int)(__HI(x) & 0x80000000)) diff --git a/tools/decompctx.py b/tools/decompctx.py index c6ff9c723..04f65a242 100755 --- a/tools/decompctx.py +++ b/tools/decompctx.py @@ -50,7 +50,7 @@ def import_c_file(in_file) -> str: out_text = '' try: - with open(in_file, encoding="shift-jis") as file: + with open(in_file, encoding="utf8") as file: out_text += process_file(in_file, list(file)) except Exception: with open(in_file) as file: