From ba76c1d2cf65690e915d0a688b78abff6e927324 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20M=C3=BCndler?= Date: Mon, 18 Dec 2023 14:48:00 +0100 Subject: [PATCH] Adjust acceptance tests and fix IData and UData --- crates/uplc/src/machine/value.rs | 4 +++- .../builtin/semantics/unIData/unIData-big-neg/unIData1.uplc | 1 + .../semantics/unIData/unIData-big-neg/unIData1.uplc.expected | 1 + .../builtin/semantics/unIData/unIData-big-pos/unIData1.uplc | 1 + .../semantics/unIData/unIData-big-pos/unIData1.uplc.expected | 1 + .../builtin/semantics/unIData/unIData1/unIData1.uplc | 2 +- .../builtin/semantics/unIData/unIData1/unIData1.uplc.expected | 2 +- 7 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc.expected create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc create mode 100644 crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc.expected diff --git a/crates/uplc/src/machine/value.rs b/crates/uplc/src/machine/value.rs index 474b39d3..7afa756e 100644 --- a/crates/uplc/src/machine/value.rs +++ b/crates/uplc/src/machine/value.rs @@ -398,7 +398,9 @@ pub fn from_pallas_bigint(n: &pallas::BigInt) -> BigInt { match n { pallas::BigInt::Int(i) => i128::from(*i).into(), pallas::BigInt::BigUInt(bytes) => BigInt::from_bytes_be(num_bigint::Sign::Plus, bytes), - pallas::BigInt::BigNInt(bytes) => BigInt::from_bytes_be(num_bigint::Sign::Minus, bytes), + pallas::BigInt::BigNInt(bytes) => { + BigInt::from_bytes_be(num_bigint::Sign::Minus, bytes) - 1 + }, } } diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc new file mode 100644 index 00000000..65a20a6d --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin unIData) (con data ( I 18446744073709551618 ))]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc.expected new file mode 100644 index 00000000..4a5f2cd9 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-neg/unIData1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer 18446744073709551618 )) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc new file mode 100644 index 00000000..40d6cd53 --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc @@ -0,0 +1 @@ +(program 0.0.0 [(builtin unIData) (con data ( I -18446744073709551618 ))]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc.expected new file mode 100644 index 00000000..0070f2ff --- /dev/null +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData-big-pos/unIData1.uplc.expected @@ -0,0 +1 @@ +(program 0.0.0 (con integer -18446744073709551618 )) diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc index 8b779790..37aeb887 100644 --- a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc @@ -1 +1 @@ -(program 0.0.0 [(builtin unIData) (con data { Integer 0 })]) \ No newline at end of file +(program 0.0.0 [(builtin unIData) (con data ( I 0 ))]) \ No newline at end of file diff --git a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected index fd569489..9834488c 100644 --- a/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected +++ b/crates/uplc/test_data/conformance/evaluation/builtin/semantics/unIData/unIData1/unIData1.uplc.expected @@ -1 +1 @@ -parse error \ No newline at end of file +(program 0.0.0 (con integer 0))