Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Int64 in CostModelParams #5920

Merged
merged 1 commit into from
Apr 23, 2024

Use Int64 in CostModelParams

d41e4a2
Select commit
Loading
Failed to load commit list.
Merged

Use Int64 in CostModelParams #5920

Use Int64 in CostModelParams
d41e4a2
Select commit
Loading
Failed to load commit list.
IOG Hydra / ci/hydra-build:x86_64-darwin.ghc96.checks.plutus-tx:test:plutus-tx-test succeeded Apr 23, 2024 in 12s

Build succeeded

2 failed steps

Details

Failed Steps

Step 2

Derivation

/nix/store/ni3glb6j30b99qg046qhd3sx1xxw40ka-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv

Log

unpacking sources
unpacking source archive /nix/store/dji4v9vql7ax14kb5p07n8fj0jwnpi18-source-root-plutus-tx-test-plutus-tx-test-root
source root is source-root-plutus-tx-test-plutus-tx-test-root
patching sources
building
/nix/store/ll1p3af2n65dpwyc4x8yz45nn10vm710-plutus-tx-test-plutus-tx-test-1.26.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv-0/tmp.rKeKUjVuHI/bin
plutus-tx
  Data serialisation
    data round-trip:                                                                               OK (6.02s)
        ✓ dataRoundTrip passed 100 tests.
    no big bytestrings:                                                                            OK (0.10s)
        ✓ noBigByteStrings passed 100 tests.
    no big integers:                                                                               OK
        ✓ noBigIntegers passed 100 tests.
  isqrt/rsqrt tests
    isqrt x^2 = x:                                                                                 OK (0.05s)
        ✓ isqrtRoundTrip passed 100 tests.
    rsqrt (a/b)^2 = integer part of a/b:                                                           OK
        ✓ rsqrtRoundTrip passed 100 tests.
    rsqrt (-x/b) = Imaginary:                                                                      OK
        ✓ rsqrtRoundTripImaginary passed 100 tests.
  Ratio
    reciprocal ordering 1:                                                                         OK
        ✓ reciprocalOrdering1 passed 100 tests.
    reciprocal ordering 2:                                                                         OK (0.01s)
        ✓ reciprocalOrdering2 passed 100 tests.
    reciprocal ordering 3:                                                                         OK (0.01s)
        ✓ reciprocalOrdering3 passed 100 tests.
    recip 0 % 2 fails:                                                                             OK
  ByteString
    takeByteString
      take 0:                                                                                      OK
      take 1:                                                                                      OK
      take 3:                                                                                      OK
      take 10:                                                                                     OK
    dropByteString
      drop 0:                                                                                      OK
      drop 1:                                                                                      OK
      drop 3:                                                                                      OK
      drop 10:                                                                                     OK
  Enum
    enumFromTo
      enumFromTo (-2) 2 == [-2..2]:                                                                OK
      enumFromTo 2 (-2) == []:                                                                     OK
      enumFromTo 42 42 == [42]:                                                                    OK
    enumFromThenTo
      enumFromThenTo 1 2 100  == [1..100]:                                                         OK
      enumFromThenTo 1 2 100  == [1,2..100]:                                                       OK
      enumFromThenTo 100 99 1 == [100,99..1]:                                                      OK
      enumFromThenTo 100 17 (-700) == [100,17..(-700)]:                                            OK
      enumFromThenTo 0 5 99   == [0,5..99]:                                                        OK
      enumFromThenTo 0 5 100  == [0,5..100]:                                                       OK
      enumFromThenTo 0 5 101  == [0,5..101]:                                                       OK
      enumFromThenTo 100 95 0 == [100,95..0]:                                                      OK
      enumFromThenTo 100 95 (-9) == [100,95..(-9)]:                                                OK
      enumFromThenTo 100 95 (-10) == [100,95..(-10)]:                                              OK
      enumFromThenTo 100 95 (-11) == [100,95..(-11)]:                                              OK
      enumFromThenTo 42 42 41 == []:                                                               OK
      enumFromThenTo 42 42 42 == [42*]:                                                            OK
      enumFromThenTo 42 42 43 == [42*]:                                                            OK
      enumFromThenTo False False False == [False*]:                                                OK
      enumFromThenTo False False True  == [False*]:                                                OK
      enumFromThenTo False True  False == [False]:                                                 OK
      enumFromThenTo False True  True  == [False,True]:                                            OK
      enumFromThenTo True  False False == [True,False]:                                            OK
      enumFromThenTo True  False True  == [True]:                                                  OK
      enumFromThenTo True  True  False == []:                                                      OK
      enumFromThenTo True  True  True  == [True*]:                                                 OK
      enumFromThenTo () () () == [()*]:                                                            OK
  PlutusTx.List tests
    null:                                                                                          OK
        ✓ <interactive> passed 100 tests.
    and:                                                                                           OK (0.01s)
        ✓ <interactive> passed 100 tests.
    or:                                                                                            OK (0.02s)
        ✓ <interactive> passed 100 tests.
    any:                                                                                           OK (0.02s)
        ✓ <interactive> passed 100 tests.
    all:                                                                                           OK (0.01s)
        ✓ <interactive> passed 100 tests.
    elem:                                                                                          OK (0.01s)
        ✓ <interactive> passed 100 tests.
    notElem:                                                                                       OK (0.01s)
        ✓ <interactive> passed 100 tests.
    find:                                                                                          OK
        ✓ <interactive> passed 100 tests.
    findIndex:                                                                                     OK (0.03s)
        ✓ <interactive> passed 100 tests.
    nubBy
      equal up to mod 3:                                                                           OK
    nub
      [] == []:                                                                                    OK
      [1, 2, 2] == [1, 2]:                                                                         OK
      [2, 1, 1] == [2, 1]:                                                                         OK
      [1, 1, 1] == [1]:                                                                            OK
      [1, 2, 3, 4, 5] == [1, 2, 3, 4, 5]:                                                          OK
    partition
      partition "aeiou" "Hello World!":                                                            OK
      partition even [1,2,3,4,5,6]:                                                                OK
    sort
      sort [1,6,4,3,2,5]:                                                                          OK
    sortBy
      sortBy second pairs:                                                                         OK
  Rational laws
    Eq
      == is reflexive:                                                                             OK
          ✓ propEqRefl passed 100 tests.
      == is symmetric:                                                                             OK (1.05s)
          ✓ == is symmetric passed 8000 tests.
            identical          50% ██████████·········· ✓ 45%
            possibly different 50% █████████▉·········· ✓ 45%
      == is transitive:                                                                            OK (1.21s)
          ✓ == is transitive passed 8000 tests.
            identical          51% ██████████▏········· ✓ 45%
            possibly different 49% █████████▊·········· ✓ 45%
      == implies substitution:                                                                     OK (1.83s)
          ✓ == implies substitution passed 8000 tests.
            identical          51% ██████████·········· ✓ 45%
            possibly different 49% █████████▉·········· ✓ 45%
    Ord
      <= is reflexive:                                                                             OK (0.01s)
          ✓ propOrdRefl passed 100 tests.
      <= is anti-symmetric:                                                                        OK (1.20s)
          ✓ <= is anti-symmetric passed 8000 tests.
            identical          50% █████████▉·········· ✓ 45%
            possibly different 50% ██████████·········· ✓ 45%
      <= is transitive:                                                                            OK (1.27s)
          ✓ <= is transitive passed 8000 tests.
            identical          51% ██████████·········· ✓ 45%
            possibly different 49% █████████▉·········· ✓ 45%
      == implies EQ:                                                                               OK (0.98s)
          ✓ == implies EQ passed 8000 tests.
            identical          50% █████████▉·········· ✓ 45%
            possibly different 50% ██████████·········· ✓ 45%
    AdditiveGroup
      + commutes:                                                                                  OK
          ✓ propPlusComm passed 100 tests.
      + associates:                                                                                OK
          ✓ propPlusAssoc passed 100 tests.
      zero is an identity:                                                                         OK
          ✓ propZeroId passed 100 tests.
      x - x = zero:                                                                                OK
          ✓ propMinusCancel passed 100 tests.
      negate . negate = id:                                                                        OK
          ✓ propDoubleNeg passed 100 tests.
    MultiplicativeMonoid
      * associates:                                                                                OK
          ✓ propTimesAssoc passed 100 tests.
      one is a left identity:                                                                      OK
          ✓ propOneLeftId passed 100 tests.
      one is a right identity:                                                                     OK
          ✓ propOneRightId passed 100 tests.
    Ring
      zero is a left annihilator:                                                                  OK
          ✓ propZeroLeftAnnih passed 100 tests.
      zero is a right annihilator:                                                                 OK
          ✓ propZeroRightAnnih passed 100 tests.
      * left-distributes over +:                                                                   OK (0.01s)
          ✓ propTimesLeftDistPlus passed 100 tests.
      * right-distributes over +:                                                                  OK
          ✓ propTimesRightDistPlus passed 100 tests.
    Module
      scale 0 = 0:                                                                                 OK
          ✓ propScaleZero passed 100 tests.
      scale 1 = id:                                                                                OK
          ✓ propScaleOne passed 100 tests.
      scale distributes over +:                                                                    OK
          ✓ propScaleDistPlus passed 100 tests.
      scale x (scale y r) = scale (x * y) r:                                                       OK (0.03s)
          ✓ propScaleTimes passed 100 tests.
    Serialization
      FromBuiltinData-ToBuiltinData roundtrip:                                                     OK (0.11s)
          ✓ propIsDataRound passed 100 tests.
      unsafeFromBuiltinData . toBuiltinData = id:                                                  OK (0.01s)
          ✓ propUnsafeIsData passed 100 tests.
      FromJSON-ToJSON roundtrip:                                                                   OK
          ✓ propIsJSONRound passed 100 tests.
    Construction
      ratio x 0 = Nothing:                                                                         OK
          ✓ propZeroDenom passed 100 tests.
      ratio x 1 = Just . fromInteger $ x:                                                          OK
          ✓ propOneDenom passed 100 tests.
      ratio x x = Just 1 for x /= 0:                                                               OK
          ✓ propRatioSelf passed 100 tests.
      sign of result depends on signs of arguments:                                                OK (1.23s)
          ✓ sign of result depends on signs of arguments passed 8000 tests.
            zero numerator  33% ██████▌············· ✓ 30%
            same signs      33% ██████▋············· ✓ 30%
            different signs 34% ██████▊············· ✓ 30%
      if ratio x y = Just r, then unsafeRatio x y = r:                                             OK
          ✓ propConstructionAgreement passed 100 tests.
      if r = fromInteger x, then numerator r = x:                                                  OK
          ✓ propFromIntegerNum passed 100 tests.
      if r = fromInteger x, then denominator r = 1:                                                OK
          ✓ propFromIntegerDen passed 100 tests.
      ratio x y = ratio (x * z) (y * z) for z /= 0:                                                OK
          ✓ propRatioScale passed 100 tests.
      denominator (unsafeRatio x y) > 0:                                                           OK
          ✓ propUnsafeRatioDenomPos passed 100 tests.
    Other
      numerator r = numerator . scale (denominator r) $ r:                                         OK
          ✓ propNumeratorScale passed 100 tests.
      denominator r >= 1:                                                                          OK
          ✓ propPosDen passed 100 tests.
      recip r * r = 1 for r /= 0:                                                                  OK
          ✓ propRecipSelf passed 100 tests.
      abs r >= 0:                                                                                  OK
          ✓ propAbs passed 100 tests.
      abs r * abs r' = abs (r * r'):                                                               OK
          ✓ probAbsTimes passed 100 tests.
      r = n + f, where (n, f) = properFraction r:                                                  OK
          ✓ propProperFrac passed 100 tests.
      signs of properFraction components match sign of input:                                      OK (1.27s)
          ✓ signs of properFraction components match sign of input passed 8000 tests.
            zero     34% ██████▉············· ✓ 30%
            negative 33% ██████▌············· ✓ 30%
            positive 33% ██████▌············· ✓ 30%
      abs f < 1, where (_, f) = properFraction r:                                                  OK
          ✓ propProperFracAbs passed 100 tests.
      abs (round r) >= abs n, where (n, _) = properFraction r:                                     OK
          ✓ propAbsRound passed 100 tests.
      halves round as expected:                                                                    OK
          ✓ propRoundHalf passed 100 tests.
      if abs f < half, then round r = truncate r, where (_, f) = properFraction r:                 OK
          ✓ propRoundLow passed 100 tests.
      if abs f > half, then abs (round r) = abs (truncate r) + 1, where (_, f) = properFraction r: OK
          ✓ propRoundHigh passed 100 tests.
  PlutusTx.Show property-based tests
    PlutusTx.Show @Integer:                                                                        OK
        ✓ PlutusTx.Show @Integer passed 100 tests.
    PlutusTx.Show @BuiltinByteString:                                                              OK (0.03s)
        ✓ PlutusTx.Show @BuiltinByteString passed 100 tests.
  Show
    product-type:                                                                                  OK (0.15s)
    product-type-2:                                                                                OK (0.09s)
    sum-type-1:                                                                                    OK (0.09s)
    sum-type-2:                                                                                    OK (0.06s)
    record-type:                                                                                   OK (0.05s)
    infix-type:                                                                                    OK (0.07s)
    infix-type-2:                                                                                  OK (0.10s)
    gadt:                                                                                          OK (0.04s)
    poly:                                                                                          OK (0.05s)
  PlutusTx.Blueprint.Definition
    Derived definitions are empty when no types are provided.:                                     OK
    There are not less schema definitions than listed domain types.:                               OK
    All referenced schema definitions are defined.:                                                OK

All 125 tests passed (6.04s)

Step 1

Derivation

/nix/store/ni3glb6j30b99qg046qhd3sx1xxw40ka-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv

Log

unpacking sources
unpacking source archive /nix/store/dji4v9vql7ax14kb5p07n8fj0jwnpi18-source-root-plutus-tx-test-plutus-tx-test-root
source root is source-root-plutus-tx-test-plutus-tx-test-root
patching sources
building
/nix/store/ll1p3af2n65dpwyc4x8yz45nn10vm710-plutus-tx-test-plutus-tx-test-1.26.0.0/bin:
patching script interpreter paths in /private/tmp/nix-build-plutus-tx-test-plutus-tx-test-1.26.0.0-check.drv-0/tmp.rKeKUjVuHI/bin
plutus-tx
  Data serialisation
    data round-trip:                                                                               OK (6.02s)
        ✓ dataRoundTrip passed 100 tests.
    no big bytestrings:                                                                            OK (0.10s)
        ✓ noBigByteStrings passed 100 tests.
    no big integers:                                                                               OK
        ✓ noBigIntegers passed 100 tests.
  isqrt/rsqrt tests
    isqrt x^2 = x:                                                                                 OK (0.05s)
        ✓ isqrtRoundTrip passed 100 tests.
    rsqrt (a/b)^2 = integer part of a/b:                                                           OK
        ✓ rsqrtRoundTrip passed 100 tests.
    rsqrt (-x/b) = Imaginary:                                                                      OK
        ✓ rsqrtRoundTripImaginary passed 100 tests.
  Ratio
    reciprocal ordering 1:                                                                         OK
        ✓ reciprocalOrdering1 passed 100 tests.
    reciprocal ordering 2:                                                                         OK (0.01s)
        ✓ reciprocalOrdering2 passed 100 tests.
    reciprocal ordering 3:                                                                         OK (0.01s)
        ✓ reciprocalOrdering3 passed 100 tests.
    recip 0 % 2 fails:                                                                             OK
  ByteString
    takeByteString
      take 0:                                                                                      OK
      take 1:                                                                                      OK
      take 3:                                                                                      OK
      take 10:                                                                                     OK
    dropByteString
      drop 0:                                                                                      OK
      drop 1:                                                                                      OK
      drop 3:                                                                                      OK
      drop 10:                                                                                     OK
  Enum
    enumFromTo
      enumFromTo (-2) 2 == [-2..2]:                                                                OK
      enumFromTo 2 (-2) == []:                                                                     OK
      enumFromTo 42 42 == [42]:                                                                    OK
    enumFromThenTo
      enumFromThenTo 1 2 100  == [1..100]:                                                         OK
      enumFromThenTo 1 2 100  == [1,2..100]:                                                       OK
      enumFromThenTo 100 99 1 == [100,99..1]:                                                      OK
      enumFromThenTo 100 17 (-700) == [100,17..(-700)]:                                            OK
      enumFromThenTo 0 5 99   == [0,5..99]:                                                        OK
      enumFromThenTo 0 5 100  == [0,5..100]:                                                       OK
      enumFromThenTo 0 5 101  == [0,5..101]:                                                       OK
      enumFromThenTo 100 95 0 == [100,95..0]:                                                      OK
      enumFromThenTo 100 95 (-9) == [100,95..(-9)]:                                                OK
      enumFromThenTo 100 95 (-10) == [100,95..(-10)]:                                              OK
      enumFromThenTo 100 95 (-11) == [100,95..(-11)]:                                              OK
      enumFromThenTo 42 42 41 == []:                                                               OK
      enumFromThenTo 42 42 42 == [42*]:                                                            OK
      enumFromThenTo 42 42 43 == [42*]:                                                            OK
      enumFromThenTo False False False == [False*]:                                                OK
      enumFromThenTo False False True  == [False*]:                                                OK
      enumFromThenTo False True  False == [False]:                                                 OK
      enumFromThenTo False True  True  == [False,True]:                                            OK
      enumFromThenTo True  False False == [True,False]:                                            OK
      enumFromThenTo True  False True  == [True]:                                                  OK
      enumFromThenTo True  True  False == []:                                                      OK
      enumFromThenTo True  True  True  == [True*]:                                                 OK
      enumFromThenTo () () () == [()*]:                                                            OK
  PlutusTx.List tests
    null:                                                                                          OK
        ✓ <interactive> passed 100 tests.
    and:                                                                                           OK (0.01s)
        ✓ <interactive> passed 100 tests.
    or:                                                                                            OK (0.02s)
        ✓ <interactive> passed 100 tests.
    any:                                                                                           OK (0.02s)
        ✓ <interactive> passed 100 tests.
    all:                                                                                           OK (0.01s)
        ✓ <interactive> passed 100 tests.
    elem:                                                                                          OK (0.01s)
        ✓ <interactive> passed 100 tests.
    notElem:                                                                                       OK (0.01s)
        ✓ <interactive> passed 100 tests.
    find:                                                                                          OK
        ✓ <interactive> passed 100 tests.
    findIndex:                                                                                     OK (0.03s)
        ✓ <interactive> passed 100 tests.
    nubBy
      equal up to mod 3:                                                                           OK
    nub
      [] == []:                                                                                    OK
      [1, 2, 2] == [1, 2]:                                                                         OK
      [2, 1, 1] == [2, 1]:                                                                         OK
      [1, 1, 1] == [1]:                                                                            OK
      [1, 2, 3, 4, 5] == [1, 2, 3, 4, 5]:                                                          OK
    partition
      partition "aeiou" "Hello World!":                                                            OK
      partition even [1,2,3,4,5,6]:                                                                OK
    sort
      sort [1,6,4,3,2,5]:                                                                          OK
    sortBy
      sortBy second pairs:                                                                         OK
  Rational laws
    Eq
      == is reflexive:                                                                             OK
          ✓ propEqRefl passed 100 tests.
      == is symmetric:                                                                             OK (1.05s)
          ✓ == is symmetric passed 8000 tests.
            identical          50% ██████████·········· ✓ 45%
            possibly different 50% █████████▉·········· ✓ 45%
      == is transitive:                                                                            OK (1.21s)
          ✓ == is transitive passed 8000 tests.
            identical          51% ██████████▏········· ✓ 45%
            possibly different 49% █████████▊·········· ✓ 45%
      == implies substitution:                                                                     OK (1.83s)
          ✓ == implies substitution passed 8000 tests.
            identical          51% ██████████·········· ✓ 45%
            possibly different 49% █████████▉·········· ✓ 45%
    Ord
      <= is reflexive:                                                                             OK (0.01s)
          ✓ propOrdRefl passed 100 tests.
      <= is anti-symmetric:                                                                        OK (1.20s)
          ✓ <= is anti-symmetric passed 8000 tests.
            identical          50% █████████▉·········· ✓ 45%
            possibly different 50% ██████████·········· ✓ 45%
      <= is transitive:                                                                            OK (1.27s)
          ✓ <= is transitive passed 8000 tests.
            identical          51% ██████████·········· ✓ 45%
            possibly different 49% █████████▉·········· ✓ 45%
      == implies EQ:                                                                               OK (0.98s)
          ✓ == implies EQ passed 8000 tests.
            identical          50% █████████▉·········· ✓ 45%
            possibly different 50% ██████████·········· ✓ 45%
    AdditiveGroup
      + commutes:                                                                                  OK
          ✓ propPlusComm passed 100 tests.
      + associates:                                                                                OK
          ✓ propPlusAssoc passed 100 tests.
      zero is an identity:                                                                         OK
          ✓ propZeroId passed 100 tests.
      x - x = zero:                                                                                OK
          ✓ propMinusCancel passed 100 tests.
      negate . negate = id:                                                                        OK
          ✓ propDoubleNeg passed 100 tests.
    MultiplicativeMonoid
      * associates:                                                                                OK
          ✓ propTimesAssoc passed 100 tests.
      one is a left identity:                                                                      OK
          ✓ propOneLeftId passed 100 tests.
      one is a right identity:                                                                     OK
          ✓ propOneRightId passed 100 tests.
    Ring
      zero is a left annihilator:                                                                  OK
          ✓ propZeroLeftAnnih passed 100 tests.
      zero is a right annihilator:                                                                 OK
          ✓ propZeroRightAnnih passed 100 tests.
      * left-distributes over +:                                                                   OK (0.01s)
          ✓ propTimesLeftDistPlus passed 100 tests.
      * right-distributes over +:                                                                  OK
          ✓ propTimesRightDistPlus passed 100 tests.
    Module
      scale 0 = 0:                                                                                 OK
          ✓ propScaleZero passed 100 tests.
      scale 1 = id:                                                                                OK
          ✓ propScaleOne passed 100 tests.
      scale distributes over +:                                                                    OK
          ✓ propScaleDistPlus passed 100 tests.
      scale x (scale y r) = scale (x * y) r:                                                       OK (0.03s)
          ✓ propScaleTimes passed 100 tests.
    Serialization
      FromBuiltinData-ToBuiltinData roundtrip:                                                     OK (0.11s)
          ✓ propIsDataRound passed 100 tests.
      unsafeFromBuiltinData . toBuiltinData = id:                                                  OK (0.01s)
          ✓ propUnsafeIsData passed 100 tests.
      FromJSON-ToJSON roundtrip:                                                                   OK
          ✓ propIsJSONRound passed 100 tests.
    Construction
      ratio x 0 = Nothing:                                                                         OK
          ✓ propZeroDenom passed 100 tests.
      ratio x 1 = Just . fromInteger $ x:                                                          OK
          ✓ propOneDenom passed 100 tests.
      ratio x x = Just 1 for x /= 0:                                                               OK
          ✓ propRatioSelf passed 100 tests.
      sign of result depends on signs of arguments:                                                OK (1.23s)
          ✓ sign of result depends on signs of arguments passed 8000 tests.
            zero numerator  33% ██████▌············· ✓ 30%
            same signs      33% ██████▋············· ✓ 30%
            different signs 34% ██████▊············· ✓ 30%
      if ratio x y = Just r, then unsafeRatio x y = r:                                             OK
          ✓ propConstructionAgreement passed 100 tests.
      if r = fromInteger x, then numerator r = x:                                                  OK
          ✓ propFromIntegerNum passed 100 tests.
      if r = fromInteger x, then denominator r = 1:                                                OK
          ✓ propFromIntegerDen passed 100 tests.
      ratio x y = ratio (x * z) (y * z) for z /= 0:                                                OK
          ✓ propRatioScale passed 100 tests.
      denominator (unsafeRatio x y) > 0:                                                           OK
          ✓ propUnsafeRatioDenomPos passed 100 tests.
    Other
      numerator r = numerator . scale (denominator r) $ r:                                         OK
          ✓ propNumeratorScale passed 100 tests.
      denominator r >= 1:                                                                          OK
          ✓ propPosDen passed 100 tests.
      recip r * r = 1 for r /= 0:                                                                  OK
          ✓ propRecipSelf passed 100 tests.
      abs r >= 0:                                                                                  OK
          ✓ propAbs passed 100 tests.
      abs r * abs r' = abs (r * r'):                                                               OK
          ✓ probAbsTimes passed 100 tests.
      r = n + f, where (n, f) = properFraction r:                                                  OK
          ✓ propProperFrac passed 100 tests.
      signs of properFraction components match sign of input:                                      OK (1.27s)
          ✓ signs of properFraction components match sign of input passed 8000 tests.
            zero     34% ██████▉············· ✓ 30%
            negative 33% ██████▌············· ✓ 30%
            positive 33% ██████▌············· ✓ 30%
      abs f < 1, where (_, f) = properFraction r:                                                  OK
          ✓ propProperFracAbs passed 100 tests.
      abs (round r) >= abs n, where (n, _) = properFraction r:                                     OK
          ✓ propAbsRound passed 100 tests.
      halves round as expected:                                                                    OK
          ✓ propRoundHalf passed 100 tests.
      if abs f < half, then round r = truncate r, where (_, f) = properFraction r:                 OK
          ✓ propRoundLow passed 100 tests.
      if abs f > half, then abs (round r) = abs (truncate r) + 1, where (_, f) = properFraction r: OK
          ✓ propRoundHigh passed 100 tests.
  PlutusTx.Show property-based tests
    PlutusTx.Show @Integer:                                                                        OK
        ✓ PlutusTx.Show @Integer passed 100 tests.
    PlutusTx.Show @BuiltinByteString:                                                              OK (0.03s)
        ✓ PlutusTx.Show @BuiltinByteString passed 100 tests.
  Show
    product-type:                                                                                  OK (0.15s)
    product-type-2:                                                                                OK (0.09s)
    sum-type-1:                                                                                    OK (0.09s)
    sum-type-2:                                                                                    OK (0.06s)
    record-type:                                                                                   OK (0.05s)
    infix-type:                                                                                    OK (0.07s)
    infix-type-2:                                                                                  OK (0.10s)
    gadt:                                                                                          OK (0.04s)
    poly:                                                                                          OK (0.05s)
  PlutusTx.Blueprint.Definition
    Derived definitions are empty when no types are provided.:                                     OK
    There are not less schema definitions than listed domain types.:                               OK
    All referenced schema definitions are defined.:                                                OK

All 125 tests passed (6.04s)