From 2f758a4e5bcf6c125a5f81155675ccabbde8aeb5 Mon Sep 17 00:00:00 2001 From: dam Date: Thu, 8 Jun 2023 01:27:07 +0100 Subject: Fixed bug on mul. Added performance tests. --- Math_Ext.jai | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Math_Ext.jai') diff --git a/Math_Ext.jai b/Math_Ext.jai index 9ec34d0..ad41c2f 100644 --- a/Math_Ext.jai +++ b/Math_Ext.jai @@ -225,6 +225,11 @@ mul :: (x: $Tx, y: $Ty, $USE_GENERIC: bool = false) -> result: $Tr, overflow: bo } else { + #if Tr == u8 { MAX :: U8_MAX; } + #if Tr == u16 { MAX :: U16_MAX; } + #if Tr == u32 { MAX :: U32_MAX; } + #if Tr == u64 { MAX :: U64_MAX; } + if x > MAX / y then return MAX, true; } @@ -297,7 +302,7 @@ mul :: (x: $Tx, y: $Ty, $USE_GENERIC: bool = false) -> result: $Tr, overflow: bo #insert #run replace(U_MUL_ASM, ".SIZE", ".d"); #if Tr == u64 #insert #run replace(U_MUL_ASM, ".SIZE", ".q"); - + return result, saturated; -- cgit v1.2.3