[LF] move BigNumeric to 2.dev (#18459)

* [LF] move BigNumeric to 2.dev

* fix

* fix integration test

* fix damlc test

* lsp-test

* fix round

* cosmetic

* typo

* cosmetic
This commit is contained in:
Remy 2024-02-13 17:51:00 +01:00 committed by GitHub
parent a5ad105167
commit 1459f084c9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 84 additions and 94 deletions

View File

@ -133,8 +133,7 @@ featureUnstable = Feature
featureBigNumeric :: Feature
featureBigNumeric = Feature
{ featureName = "BigNumeric type"
, featureVersionReq = VersionReq \case
V2 -> allMinorVersions
, featureVersionReq = devOnly
, featureCppFlag = Just "DAML_BIGNUMERIC"
}

View File

@ -595,17 +595,15 @@ roundCommercial d x =
then x - diff
else t
zero: NumericScale n => Numeric n
zero = intToNumeric 0
half: NumericScale n => Numeric n
half = fromNumeric (0.5: Numeric 1)
-- | Round a `Decimal` to the nearest integer, where a `.5` is rounded away from zero.
round : NumericScale n => Numeric n -> Int
round x = if x > zero
-- | Round a `Numeric` to the nearest integer, where a `.5` is rounded away from zero.
round : forall n. NumericScale n => Numeric n -> Int
round x = if x > intToNumeric 0
then truncate $ x + half
else truncate $ x - half
where
-- Note that for `n = 0`, `half = 0.`, so the result of round is still correct.
half = primitive @"BEDivNumeric" (numericOne @n) (intToNumeric @0 1) (intToNumeric @0 2)
-- | Round a `Decimal` down to the nearest integer.
floor : NumericScale n => Numeric n -> Int

View File

@ -1,7 +1,7 @@
-- Copyright (c) 2021, Digital Asset (Switzerland) GmbH and/or its affiliates.
-- All rights reserved.
-- @SINCE-LF 2.1
-- @SINCE-LF 2.dev
module BigNumeric where

View File

@ -1,7 +1,7 @@
-- Copyright (c) 2021, Digital Asset (Switzerland) GmbH and/or its affiliates.
-- All rights reserved.
-- @SINCE-LF 2.1
-- @SINCE-LF 2.dev
-- @ERROR Large BigNumeric (larger than Numeric) literals are not currently supported.
module BigNumericTooBig where

View File

@ -1,8 +1,8 @@
Transactions:
TX 0 1970-01-01T00:00:00Z (LfStableBigNumeric:22:3)
TX 0 1970-01-01T00:00:00Z (LfDevBigNumeric:23:3)
#0:0
│ disclosed to (since): 'Alice' (0)
└─> 'Alice' creates LfStableBigNumeric:BigNumericResults
└─> 'Alice' creates LfDevBigNumeric:BigNumericResults
with
party = 'Alice';
values =

View File

@ -1,7 +1,8 @@
-- Copyright (c) 2023 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.
-- SPDX-License-Identifier: Apache-2.0
module LfStableBigNumeric where
-- @SINCE-LF 2.dev
module LfDevBigNumeric where
import Daml.Script
import qualified DA.BigNumeric as BigNumeric
@ -16,7 +17,7 @@ template BigNumericResults
x : BigNumeric
x = 0.5
-- @LEDGER run LfStableBigNumeric.EXPECTED.ledger
-- @LEDGER run LfDevBigNumeric.EXPECTED.ledger
run = script do
alice <- allocateParty "Alice"
submit alice do

View File

@ -31,10 +31,10 @@
-- @INFO range=297:38-297:51; Use zip3
-- @INFO range=298:53-298:66; Use zip3
-- @INFO range=311:13-311:20; Evaluate
-- @ERROR range=378:1-378:17; Day 29 falls outside of valid day range (1 .. 28) for Feb 2100.
-- @ERROR range=382:1-382:18; Day 0 falls outside of valid day range (1 .. 31) for Jan 2000.
-- @ERROR range=397:1-397:21; ArithmeticError while evaluating (UNIX_DAYS_TO_DATE -719163).
-- @ERROR range=400:1-400:21; ArithmeticError while evaluating (UNIX_DAYS_TO_DATE 2932897).
-- @ERROR range=389:1-389:17; Day 29 falls outside of valid day range (1 .. 28) for Feb 2100.
-- @ERROR range=393:1-393:18; Day 0 falls outside of valid day range (1 .. 31) for Jan 2000.
-- @ERROR range=408:1-408:21; ArithmeticError while evaluating (UNIX_DAYS_TO_DATE -719163).
-- @ERROR range=411:1-411:21; ArithmeticError while evaluating (UNIX_DAYS_TO_DATE 2932897).
module PreludeTest where
@ -341,12 +341,23 @@ testFloor = script do
floor (0.0 : Decimal) === 0
testRound = script do
round (0.5: Numeric 1) === 1
round (1.5: Numeric 1) === 2
round (-0.5: Numeric 1) === -1
round (-1.5: Numeric 1) === -2
-- -- Check that `round @0` does not crash
round (0.0: Numeric 0) === 0
round (1.0: Numeric 0) === 1
testRoundCommercial = script do
roundCommercial 0 10.5 === (11.0 : Decimal)
roundCommercial 2 22.105 === (22.110 : Decimal)
roundBankers 0 10.5 === (10.0 : Decimal)
roundBankers 2 22.105 === (22.100 : Decimal)
roundCommercial 0 (-10.5) === (-11.0 : Decimal)
roundCommercial 2 (-22.105) === (-22.110 : Decimal)
testRoundBankers = script do
roundBankers 0 10.5 === (10.0 : Decimal)
roundBankers 2 22.105 === (22.100 : Decimal)
roundBankers 0 (-10.5) === (-10.0 : Decimal)
roundBankers 2 (-22.105) === (-22.100 : Decimal)

View File

@ -1,7 +1,7 @@
-- Copyright (c) 2021, Digital Asset (Switzerland) GmbH and/or its affiliates.
-- All rights reserved.
-- @SINCE-LF 2.1
-- @SINCE-LF 2.dev
-- | Test that pattern matching for RoundingMode works.
module RoundingModeMatch where

View File

@ -1,7 +1,7 @@
-- Copyright (c) 2021, Digital Asset (Switzerland) GmbH and/or its affiliates.
-- All rights reserved.
-- @SINCE-LF 2.1
-- @SINCE-LF 2.dev
-- | Test that rounding mode order matches the order in GHC.Types
module RoundingModeOrder where

View File

@ -1,34 +1,34 @@
dd017b1e9285b71277103fb31ba669af9daf6ede37880ebfadfd0c2e8a8e5562 META-INF/MANIFEST.MF
af53bfb744c41db01eb8066a4f2485bab8af7444206202213be5a37dc0e2f36d platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/compiler/damlc/tests/PlatformIndependence.daml
0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/compiler/damlc/tests/PlatformIndependence.hi
0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/compiler/damlc/tests/PlatformIndependence.hie
50156da43d4d6210007cb6fe6bce2895a3a23aba9bc9a649fa6d5aa56e9a5dad platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-3697a9dababb68797d839216d0c70aec808756a39bdd95ee68a74309ac82eea0.dalf
7753f914997075d73cb5bc6a0385d2adb9771bdbf7616dd4493061428b61094b platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Exception-ArithmeticError-0e35772044c88dda5159f70a9170eae0f07e2f1942af4ab401e7cd79166e8c94.dalf
7d847f3b915631bdc2f02d7a728634a84aff5e10be7c0f2c3b1dede07c627103 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Exception-AssertionFailed-ffc462638e7338aaf5d45b3eae8aba5d8e9259a2e44d1ec9db70ed4ee83601e0.dalf
72a94dbec4cca5373146dd87eff9d2f5f17de2ed86b029e97149dca6c3e61909 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Exception-GeneralError-48426ca53c6510a1d641cdc05dd5b3cea288bd4bcd54311ffaa284b5097d4b9d.dalf
8aa84ab48fd28a04f16f6cbc0445e7d2a25788c83ba9481b4186bb41527f8489 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Exception-PreconditionFailed-4d035c16dee0b8d75814624a05de9fcb062e942ff3b3b60d913335b468a84789.dalf
b7231004ce0a71af79fd3170ad7a4722d056b33d359c40667da8945a80bb774f platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Internal-Erased-71ca307ec24fc584d601fd6d5f49ec76d100730f56eef290e41248f32ccadfb1.dalf
e4f030ce0b2c2bf4f75d12796842b60bf19c9f6d3a3e38251d4fc7831bd21fa2 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Internal-NatSyn-eb6926e50bb83fbc8f3e154c7c88b1219b31a3c0b812f26b276d46e212c2dd71.dalf
7c7b9661de3b11759d2b31170a31557b31fdf71475440a1d19f9b433682d73e7 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Internal-PromotedText-c2bac57e7a921c98523ae40766bfefab9f5b7bf4bf34e1c09d9a9d1483417b6c.dalf
57b95cf6d28642123683263e7042d3e7aa433983bee15f02c6b3be91fdb1570b platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-DA-Types-87530dd1038863bad7bdf02c59ae851bc00f469edb2d7dbc8be3172daafa638c.dalf
7ee841faf1822a6f2d862fd5c0124ba5c19f7e9b7aa38b51e1734e52d6e369d6 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-GHC-Prim-37375ebfb7ebef8a38aa0d037db55833bcac40eb04074b9024ed81c249ea2387.dalf
759096170bd66b0a9e143bcb1b13a3da9b73c1dbef8f332acf316e107b976e97 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-GHC-Tuple-afbf83d4d9ef0fb1a4ee4d1d6bef98b5cea044a6d395c1c27834abd7e8eb57ae.dalf
6b86980eae30973a596dd3a14604a49c3a81df83c22d427d7c8aee95f5b34986 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-prim-GHC-Types-2f07eb3e4731beccfd88fcd19177268f120f9a2b06a52534ee808a4ba1e89720.dalf
03765e88111411e21b6ca5286e6d31fb287a56cf835a35275a86c3922b06fc27 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-0.0.0-fb2dbe9727e273644b67cd5c15e60fca8b7b5bd37ae1367e1f68d69462bba0f9.dalf
54303c132e8d1c59140ccda13f7d2085a885ca3fb3f6fd0fa3cdfcea1f9c13dd platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Action-State-Type-2d7314e12cc21ce1482d7a59ab8b42f8deafbe3cdb62eae9fcd4f583ba0ad8d0.dalf
d271f772f550b8552d4d62afeb1cf52ec5ca338afcd0f81187151043a7669111 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Date-Types-a4c44a89461229bb4a4fddbdeabe3f9dfaf6db35896c87d76f638cd45e1f0678.dalf
3eb9afc8c9d2c0c7cf2d9fce7b67176d253937df7edb445f806bb92dd35fba49 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Internal-Any-7de198711a7a5b3c897eff937b85811438d22f48452a118222590b0ec080bf54.dalf
214528ffb6a47cd06842e1c967d0229b2b40c01558f65820227724c8dc580fe5 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Internal-Down-35df06619756af233f13051ba77718e172589b979d22dd3ec40c8787563bb435.dalf
57a2209fe7455e34719b1bb144bbcaf954bb636aa84f8abd98ea4752dea0b237 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Internal-Interface-AnyView-Types-db7b27684bd900f7ca47c854d526eeaffd9e84d761859c66cc6cf5957ad89ed4.dalf
087da7033930c176e6bc0f8fdff465d496a749c807f154d1ce00ab38a5551c86 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Internal-Template-c2eed01333d3c95b12ca5ef0f196db5cd481c58902e01c8ac6b1e49a62875aa5.dalf
3bd856f195b5fe6878155acd30d64f76bcf0065747725a4f4756647fd61d17c1 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Logic-Types-19cfdcbac283f2a26c05bfcea437177cfb7adb0b2eb8aa82944e91b13b671912.dalf
71f6d54039b58970475720e76737351995ba8782ce97df708efbc0bc79f8150a platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Monoid-Types-bb581ddc78c4c0e682727d9a2302dc1eba5941809c528aca149a5fdaf25c6cbd.dalf
ed2942d4af24cb2caf20d61d7ea21f724197dcf3a7bf83c41ed19644074fb9e0 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-NonEmpty-Types-d3a94c9e99da7fbb5e35d52d05eec84db27233d4c1aed75548dba1057c84ad81.dalf
13a66a07ebec59ee8f86a20d0ce97db3bee35ba326766c88e89598a6df96ef29 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Random-Types-58f4cb7b68a305d056a067c03083f80550ed7d98d6fe100a5ddfa282851ba49a.dalf
c1860753e8cefcec4dd6af70cd50827e6dbcfdedc6b6345d42e1114955aa3eaa platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Semigroup-Types-ceb729ab26af3934f35fb803534d633c4dd37b466888afcced34a32155e9c2cd.dalf
7eacd55658d4500b89762f1f67fe8a9ae72a35716ea15108ddd361abb9e4f7ae platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Set-Types-9d88bb9904dab8f44a47e4f27c8d8ee4fc57fece9c2e3d385ef7ed19fcc24049.dalf
cb1de1fd96f95c42268fb15cf2353d0ea8d506f75caebd686896c1838df712ff platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Stack-Types-747f749a860db32a01ae0c5c741e6648497b93ffcfef3948854c31cc8167eacf.dalf
b7ce18d5f2642b00d49f8957d0311ebd89c6de164fae0992059c7eaae1818935 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Time-Types-b47113ba94c31372c553e3869fffed9a45ef1c0f5ac1be3287857cd9450c0bae.dalf
a6d1d84b5f296dd1eb7bd9b7cbee4d8a133f18f9d04b77fa95e52599ddcbbc92 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/daml-stdlib-DA-Validation-Types-4687117abb53238857bccdb0d00be7fc005eb334e1f232de3d78152b90b3f202.dalf
65523428d3ddbc3f374d9f86a30331520350adec30405b4ecfb12b58abe54636 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/data/platform-independence-1.0.0.conf
cac06df8a4f39b9427c00f0a25f6c1ea0896ca7ae185c465b80f5b26b36568e1 platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b/platform-independence-1.0.0-d77bce8e9d12a2266e78f508b5e034e87f3ccaf66f71572bbdff2d34d5c2995b.dalf
ab612ddd37d20d4d3bd4cb0a4916e432768f3eb3fe962a731f96833374113b21 META-INF/MANIFEST.MF
af53bfb744c41db01eb8066a4f2485bab8af7444206202213be5a37dc0e2f36d platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/compiler/damlc/tests/PlatformIndependence.daml
0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/compiler/damlc/tests/PlatformIndependence.hi
0000000000000000000000000000000000000000000000000000000000000000 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/compiler/damlc/tests/PlatformIndependence.hie
f7e2c58abde05605fcc38dc4ed43caddd4136266de8d784b83de79115ee38ac1 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-8d4efa892d9e5bfc93769d10b3eef7c8f3a61e3edbb87cadd1a0052bffc9b00d.dalf
7753f914997075d73cb5bc6a0385d2adb9771bdbf7616dd4493061428b61094b platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Exception-ArithmeticError-0e35772044c88dda5159f70a9170eae0f07e2f1942af4ab401e7cd79166e8c94.dalf
7d847f3b915631bdc2f02d7a728634a84aff5e10be7c0f2c3b1dede07c627103 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Exception-AssertionFailed-ffc462638e7338aaf5d45b3eae8aba5d8e9259a2e44d1ec9db70ed4ee83601e0.dalf
72a94dbec4cca5373146dd87eff9d2f5f17de2ed86b029e97149dca6c3e61909 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Exception-GeneralError-48426ca53c6510a1d641cdc05dd5b3cea288bd4bcd54311ffaa284b5097d4b9d.dalf
8aa84ab48fd28a04f16f6cbc0445e7d2a25788c83ba9481b4186bb41527f8489 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Exception-PreconditionFailed-4d035c16dee0b8d75814624a05de9fcb062e942ff3b3b60d913335b468a84789.dalf
b7231004ce0a71af79fd3170ad7a4722d056b33d359c40667da8945a80bb774f platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Internal-Erased-71ca307ec24fc584d601fd6d5f49ec76d100730f56eef290e41248f32ccadfb1.dalf
e4f030ce0b2c2bf4f75d12796842b60bf19c9f6d3a3e38251d4fc7831bd21fa2 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Internal-NatSyn-eb6926e50bb83fbc8f3e154c7c88b1219b31a3c0b812f26b276d46e212c2dd71.dalf
7c7b9661de3b11759d2b31170a31557b31fdf71475440a1d19f9b433682d73e7 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Internal-PromotedText-c2bac57e7a921c98523ae40766bfefab9f5b7bf4bf34e1c09d9a9d1483417b6c.dalf
57b95cf6d28642123683263e7042d3e7aa433983bee15f02c6b3be91fdb1570b platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-DA-Types-87530dd1038863bad7bdf02c59ae851bc00f469edb2d7dbc8be3172daafa638c.dalf
7ee841faf1822a6f2d862fd5c0124ba5c19f7e9b7aa38b51e1734e52d6e369d6 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-GHC-Prim-37375ebfb7ebef8a38aa0d037db55833bcac40eb04074b9024ed81c249ea2387.dalf
759096170bd66b0a9e143bcb1b13a3da9b73c1dbef8f332acf316e107b976e97 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-GHC-Tuple-afbf83d4d9ef0fb1a4ee4d1d6bef98b5cea044a6d395c1c27834abd7e8eb57ae.dalf
6b86980eae30973a596dd3a14604a49c3a81df83c22d427d7c8aee95f5b34986 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-prim-GHC-Types-2f07eb3e4731beccfd88fcd19177268f120f9a2b06a52534ee808a4ba1e89720.dalf
f6fe383cfb485862e19d675e88353670ace76412ba5c1c689902ed7605120b29 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-0.0.0-f729465f954a45321abd09e3e6863d046c9e8468916011641f4cf4241aa3edbe.dalf
54303c132e8d1c59140ccda13f7d2085a885ca3fb3f6fd0fa3cdfcea1f9c13dd platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Action-State-Type-2d7314e12cc21ce1482d7a59ab8b42f8deafbe3cdb62eae9fcd4f583ba0ad8d0.dalf
d271f772f550b8552d4d62afeb1cf52ec5ca338afcd0f81187151043a7669111 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Date-Types-a4c44a89461229bb4a4fddbdeabe3f9dfaf6db35896c87d76f638cd45e1f0678.dalf
3eb9afc8c9d2c0c7cf2d9fce7b67176d253937df7edb445f806bb92dd35fba49 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Internal-Any-7de198711a7a5b3c897eff937b85811438d22f48452a118222590b0ec080bf54.dalf
214528ffb6a47cd06842e1c967d0229b2b40c01558f65820227724c8dc580fe5 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Internal-Down-35df06619756af233f13051ba77718e172589b979d22dd3ec40c8787563bb435.dalf
57a2209fe7455e34719b1bb144bbcaf954bb636aa84f8abd98ea4752dea0b237 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Internal-Interface-AnyView-Types-db7b27684bd900f7ca47c854d526eeaffd9e84d761859c66cc6cf5957ad89ed4.dalf
087da7033930c176e6bc0f8fdff465d496a749c807f154d1ce00ab38a5551c86 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Internal-Template-c2eed01333d3c95b12ca5ef0f196db5cd481c58902e01c8ac6b1e49a62875aa5.dalf
3bd856f195b5fe6878155acd30d64f76bcf0065747725a4f4756647fd61d17c1 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Logic-Types-19cfdcbac283f2a26c05bfcea437177cfb7adb0b2eb8aa82944e91b13b671912.dalf
71f6d54039b58970475720e76737351995ba8782ce97df708efbc0bc79f8150a platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Monoid-Types-bb581ddc78c4c0e682727d9a2302dc1eba5941809c528aca149a5fdaf25c6cbd.dalf
ed2942d4af24cb2caf20d61d7ea21f724197dcf3a7bf83c41ed19644074fb9e0 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-NonEmpty-Types-d3a94c9e99da7fbb5e35d52d05eec84db27233d4c1aed75548dba1057c84ad81.dalf
13a66a07ebec59ee8f86a20d0ce97db3bee35ba326766c88e89598a6df96ef29 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Random-Types-58f4cb7b68a305d056a067c03083f80550ed7d98d6fe100a5ddfa282851ba49a.dalf
c1860753e8cefcec4dd6af70cd50827e6dbcfdedc6b6345d42e1114955aa3eaa platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Semigroup-Types-ceb729ab26af3934f35fb803534d633c4dd37b466888afcced34a32155e9c2cd.dalf
7eacd55658d4500b89762f1f67fe8a9ae72a35716ea15108ddd361abb9e4f7ae platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Set-Types-9d88bb9904dab8f44a47e4f27c8d8ee4fc57fece9c2e3d385ef7ed19fcc24049.dalf
cb1de1fd96f95c42268fb15cf2353d0ea8d506f75caebd686896c1838df712ff platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Stack-Types-747f749a860db32a01ae0c5c741e6648497b93ffcfef3948854c31cc8167eacf.dalf
b7ce18d5f2642b00d49f8957d0311ebd89c6de164fae0992059c7eaae1818935 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Time-Types-b47113ba94c31372c553e3869fffed9a45ef1c0f5ac1be3287857cd9450c0bae.dalf
a6d1d84b5f296dd1eb7bd9b7cbee4d8a133f18f9d04b77fa95e52599ddcbbc92 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/daml-stdlib-DA-Validation-Types-4687117abb53238857bccdb0d00be7fc005eb334e1f232de3d78152b90b3f202.dalf
f1a9ddfcb87025b7db68ffdacfaa4d8142a50df77ce3fbd714ac68bb4d99e473 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/data/platform-independence-1.0.0.conf
cde0e75a601e14db688718a4c4d21208c83b88e95432f630b68c6f2b18e429b0 platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb/platform-independence-1.0.0-422f69ada466892f7d4c3b42584095d6f78a63b2385a9d0ce3b487972d552fcb.dalf

View File

@ -427,9 +427,8 @@ requestTests run runScripts = testGroup "requests"
{ _contents = HoverContents $ MarkupContent MkMarkdown $ T.unlines
[ "```daml"
, "1.0"
, ": (Additive a, IsNumeric a)"
, "=> a"
, "```"
, ": NumericScale n"
, "=> Numeric n" , "```"
, "* * *"
]
, _range = Just $ Range (Position 1 27) (Position 1 30)

View File

@ -1974,7 +1974,7 @@ private[lf] object DecodeV2 {
BuiltinFunctionInfo(MUL_BIGNUMERIC, BMulBigNumeric, minVersion = bigNumeric),
BuiltinFunctionInfo(DIV_BIGNUMERIC, BDivBigNumeric, minVersion = bigNumeric),
BuiltinFunctionInfo(SHIFT_RIGHT_BIGNUMERIC, BShiftRightBigNumeric, minVersion = bigNumeric),
BuiltinFunctionInfo(BIGNUMERIC_TO_NUMERIC, BBigNumericToNumeric),
BuiltinFunctionInfo(BIGNUMERIC_TO_NUMERIC, BBigNumericToNumeric, minVersion = bigNumeric),
BuiltinFunctionInfo(NUMERIC_TO_BIGNUMERIC, BNumericToBigNumeric, minVersion = bigNumeric),
BuiltinFunctionInfo(BIGNUMERIC_TO_TEXT, BBigNumericToText, minVersion = bigNumeric),
BuiltinFunctionInfo(ANY_EXCEPTION_MESSAGE, BAnyExceptionMessage, minVersion = exceptions),

View File

@ -121,26 +121,6 @@ module BuiltinMod {
TRACE;
val coerceContractId: forall (a: *) (b: *). ContractId a -> ContractId b =
COERCE_CONTRACT_ID;
val scaleBignumeric: BigNumeric -> Int64 =
SCALE_BIGNUMERIC;
val precisionBignumeric: BigNumeric -> Int64 =
PRECISION_BIGNUMERIC;
val addBignumeric: BigNumeric -> BigNumeric -> BigNumeric =
ADD_BIGNUMERIC;
val subBignumeric: BigNumeric -> BigNumeric -> BigNumeric =
SUB_BIGNUMERIC;
val mulBignumeric: BigNumeric -> BigNumeric -> BigNumeric =
MUL_BIGNUMERIC;
val divBignumeric: Int64 -> RoundingMode -> BigNumeric -> BigNumeric -> BigNumeric =
DIV_BIGNUMERIC;
val shiftRightBignumeric: Int64 -> BigNumeric -> BigNumeric =
SHIFT_RIGHT_BIGNUMERIC;
val bignumericToNumeric: forall (a: nat). Numeric a -> BigNumeric -> Numeric a =
BIGNUMERIC_TO_NUMERIC;
val numericToBignumeric: forall (a: nat). Numeric a -> BigNumeric =
NUMERIC_TO_BIGNUMERIC;
val bignumericToText: BigNumeric -> Text =
BIGNUMERIC_TO_TEXT;
val anyExceptionMessage: AnyException -> Text =
ANY_EXCEPTION_MESSAGE;
}

View File

@ -121,23 +121,23 @@ module BuiltinMod {
TRACE;
val coerceContractId: forall (a: *) (b: *). ContractId a -> ContractId b =
COERCE_CONTRACT_ID;
val scaleBignumeric: BigNumeric -> Int64 =
val scaleBigNumeric: BigNumeric -> Int64 =
SCALE_BIGNUMERIC;
val precisionBignumeric: BigNumeric -> Int64 =
val precisionBigNumeric: BigNumeric -> Int64 =
PRECISION_BIGNUMERIC;
val addBignumeric: BigNumeric -> BigNumeric -> BigNumeric =
val addBigNumeric: BigNumeric -> BigNumeric -> BigNumeric =
ADD_BIGNUMERIC;
val subBignumeric: BigNumeric -> BigNumeric -> BigNumeric =
val subBigNumeric: BigNumeric -> BigNumeric -> BigNumeric =
SUB_BIGNUMERIC;
val mulBignumeric: BigNumeric -> BigNumeric -> BigNumeric =
val mulBigNumeric: BigNumeric -> BigNumeric -> BigNumeric =
MUL_BIGNUMERIC;
val divBignumeric: Int64 -> RoundingMode -> BigNumeric -> BigNumeric -> BigNumeric =
val divBigNumeric: Int64 -> RoundingMode -> BigNumeric -> BigNumeric -> BigNumeric =
DIV_BIGNUMERIC;
val shiftRightBignumeric: Int64 -> BigNumeric -> BigNumeric =
val shiftRightBigNumeric: Int64 -> BigNumeric -> BigNumeric =
SHIFT_RIGHT_BIGNUMERIC;
val bignumericToNumeric: forall (a: nat). Numeric a -> BigNumeric -> Numeric a =
BIGNUMERIC_TO_NUMERIC;
val numericToBignumeric: forall (a: nat). Numeric a -> BigNumeric =
val numericToBigNumeric: forall (a: nat). Numeric a -> BigNumeric =
NUMERIC_TO_BIGNUMERIC;
val bignumericToText: BigNumeric -> Text =
BIGNUMERIC_TO_TEXT;

View File

@ -56,13 +56,13 @@ class DamlLfEncoderTest
"AnyMod",
"SynonymMod",
"GenMapMod",
"BigNumericMod",
"ExceptionMod",
"InterfaceMod",
"InterfaceMod0",
)
val modules_2_dev = modules_2_1 ++ Set[DottedName](
"InterfaceExtMod"
"BigNumericMod",
"InterfaceExtMod",
)
val versions = Table(

View File

@ -39,7 +39,6 @@ object LanguageVersion {
object Features {
val default = v2_1
val bigNumeric = v2_1
val exceptions = v2_1
val packageUpgrades = v2_1
val choiceFuncs = v2_dev
@ -52,6 +51,9 @@ object LanguageVersion {
/** Guards in interfaces */
val extendedInterfaces = v2_dev
/** BigNumeric */
val bigNumeric = v2_dev
/** Unstable, experimental features. This should stay in x.dev forever.
* Features implemented with this flag should be moved to a separate
* feature flag once the decision to add them permanently has been made.