commit e639e62fd5787793606f129f506f1582d25fff69
parent dd46cb2efd48fcfc0ceeef1684dbba0cda0b8699
Author: Jared Tobin <jared@jtobin.io>
Date: Sat, 1 Nov 2025 12:41:30 +0400
lib: address misc formatting nits
Diffstat:
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/lib/Data/Choice.hs b/lib/Data/Choice.hs
@@ -10,10 +10,12 @@ module Data.Choice (
, true#
, false#
+ -- * MaybeWord#
, MaybeWord#(..)
, some_word#
, none_word#
+ -- * MaybeWide#
, MaybeWide#(..)
, some_wide#
, just_wide#
@@ -43,7 +45,6 @@ module Data.Choice (
-- * Constant-time Selection
, ct_select_word#
, ct_select_wide#
-
) where
import qualified Data.Bits as B
diff --git a/lib/Data/Word/Limb.hs b/lib/Data/Word/Limb.hs
@@ -49,7 +49,7 @@ sub_b# m n b =
in (# d, c #)
{-# INLINE sub_b# #-}
--- multiplication --------------------------------------------------------=----
+-- multiplication -------------------------------------------------------------
-- (# lo, hi #)
mul_c# :: Word# -> Word# -> (# Word#, Word# #)
@@ -88,6 +88,7 @@ mul_add_c# lhs rhs addend carry =
let !(# c0, c1, _ #) = add_wc# a b
in (# c0, c1 #)
{-# INLINE add_w# #-}
+{-# INLINE mul_add_c# #-}
-- division -------------------------------------------------------------------
diff --git a/lib/Data/Word/Wider.hs b/lib/Data/Word/Wider.hs
@@ -22,6 +22,10 @@ fi :: (Integral a, Num b) => a -> b
fi = fromIntegral
{-# INLINE fi #-}
+wrapping_neg# :: Word# -> Word#
+wrapping_neg# w = plusWord# (not# w) 1##
+{-# INLINE wrapping_neg# #-}
+
-- wide words -----------------------------------------------------------------
-- little-endian, i.e. (# w0, w1, w2, w3 #)
@@ -93,7 +97,7 @@ add_w# a b =
sub_b#
:: (# Word#, Word#, Word#, Word# #)
-> (# Word#, Word#, Word#, Word# #)
- -> (# Word#, Word#, Word#, Word#, Word# #)
+ -> (# Word#, Word#, Word#, Word#, Word# #) -- (# difference, borrow bit #)
sub_b# (# a0, a1, a2, a3 #) (# b0, b1, b2, b3 #) =
let !(# s0, c0 #) = L.sub_b# a0 b0 0##
!(# s1, c1 #) = L.sub_b# a1 b1 c0
@@ -105,13 +109,13 @@ sub_b# (# a0, a1, a2, a3 #) (# b0, b1, b2, b3 #) =
-- reference sub_mod_with_carry
sub_mod_c#
:: (# Word#, Word#, Word#, Word# #) -- lhs
- -> Word# -- carry
+ -> Word# -- carry bit
-> (# Word#, Word#, Word#, Word# #) -- rhs
-> (# Word#, Word#, Word#, Word# #) -- p
-> (# Word#, Word#, Word#, Word# #)
sub_mod_c# a c b (# p0, p1, p2, p3 #) =
let !(# o0, o1, o2, o3, bb #) = sub_b# a b
- !mask = and# (not# (C.wrapping_neg# c)) (C.wrapping_neg# bb)
+ !mask = and# (not# (wrapping_neg# c)) (wrapping_neg# bb)
!band = (# and# p0 mask, and# p1 mask, and# p2 mask, and# p3 mask #)
in add_w# (# o0, o1, o2, o3 #) band
{-# INLINE sub_mod_c# #-}