fixed

Pure Haskell large fixed-width integers.
git clone git://git.ppad.tech/fixed.git
Log | Files | Refs | README | LICENSE

commit a2907c3a4369629749959b025a92852510ee2b5d
parent 01591df69446d8e729c500276f46d2c961868809
Author: Jared Tobin <jared@jtobin.io>
Date:   Thu, 23 Jan 2025 11:37:03 +0400

test: ensure test primarrays have default 0 vals

Diffstat:
Mtest/Main.hs | 17+++++++++++++++++
1 file changed, 17 insertions(+), 0 deletions(-)

diff --git a/test/Main.hs b/test/Main.hs @@ -187,6 +187,7 @@ quotrem_by1_case0 :: H.Assertion quotrem_by1_case0 = do let (q, r) = runST $ do quo <- PA.newPrimArray 4 + PA.setPrimArray quo 0 4 0 let !u = PA.primArrayFromList [8, 4] !d = B.complement 0xFF :: Word64 re <- quotrem_by1 quo u d @@ -197,6 +198,21 @@ quotrem_by1_case0 = do H.assertEqual mempty pec_rem r H.assertEqual mempty pec_array q +quotrem_by1_case1 :: H.Assertion +quotrem_by1_case1 = do + let (q, r) = runST $ do + quo <- PA.newPrimArray 4 + PA.setPrimArray quo 0 4 0 + let !u = PA.primArrayFromList [8, 26] + !d = B.complement 0xFF :: Word64 + re <- quotrem_by1 quo u d + qu <- PA.unsafeFreezePrimArray quo + pure (qu, re) + let pec_array = PA.primArrayFromList [26, 0, 0, 0] + pec_rem = 6664 + H.assertEqual mempty pec_rem r + H.assertEqual mempty pec_array q + -- main ----------------------------------------------------------------------- comparison :: TestTree @@ -266,6 +282,7 @@ main = defaultMain $ , H.testCase "recip_2by1 matches case1" recip_2by1_case1 , H.testCase "quotrem_2by1 matches case0" quotrem_2by1_case0 , H.testCase "quotrem_by1 matches case0" quotrem_by1_case0 + , H.testCase "quotrem_by1 matches case1" quotrem_by1_case1 ] ]