Skip to content

Commit d85de68

Browse files
authored
Merge pull request #5892 from unisonweb/runarorama/integersignum
Fix the return type of Integer.signum
2 parents a1e5359 + 10ac4c2 commit d85de68

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

unison-runtime/src/Unison/Runtime/Foreign/Function.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1123,7 +1123,7 @@ foreignCallHelper = \case
11231123
Integer_ge -> mkForeign $ \(l :: Integer, r :: Integer) -> pure $ encodeVal (l >= r)
11241124
Integer_neg -> mkForeign $ \(n :: Integer) -> pure $ encodeVal (-n)
11251125
Integer_abs -> mkForeign $ \(n :: Integer) -> pure $ encodeVal (abs n)
1126-
Integer_signum -> mkForeign $ \(n :: Integer) -> pure $ encodeVal (signum n)
1126+
Integer_signum -> mkForeign $ \(n :: Integer) -> pure $ encodeVal (fromIntegral (signum n) :: Int)
11271127
Integer_toFloat -> mkForeign $ \(n :: Integer) -> pure $ encodeVal (fromIntegral n :: Double)
11281128
Natural_unsafeFromText -> mkForeign $ \(txt :: Text) -> case readMaybe (unpack txt) of
11291129
Just n -> pure $ encodeVal (n :: Natural)

unison-src/transcripts/idempotent/builtins.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@ test> Integer.tests.arithmetic =
252252
Integer.eq (Integer.fromInt +1000) (Integer.fromInt +1000),
253253
not (Integer.eq (Integer.fromInt +1000) (Integer.fromInt +999)),
254254
eq (Integer.abs (Integer.fromInt +1000)) (Integer.fromInt +1000),
255-
eq (Integer.abs (Integer.fromInt -1000)) (Integer.fromInt +1000)
255+
eq (Integer.abs (Integer.fromInt -1000)) (Integer.fromInt +1000),
256+
not (Int.eq (Integer.signum (Integer.fromInt +1)) (Integer.signum (Integer.fromInt -1)))
256257
]
257258
258259
test> Integer.tests.bitwise =

0 commit comments

Comments
 (0)