apple / swift-numerics

Advanced mathematical types and functions for Swift
Apache License 2.0
1.69k stars 147 forks source link

[BigInt tests] ❌ Unary `+`, `-` and `~` #253

Open LiarPrincess opened 1 year ago

LiarPrincess commented 1 year ago

Please read the #242 Using tests from “Violet - Python VM written in Swift” before.


❌ Failures

  func test_unaryMinus() {
    // -9223372036854775808 = Int.min
    // 'Int.min' negation overflows
    let int = -9223372036854775808
    let expected = BigInt(.positive, magnitude: BigIntPrototype.Word(int.magnitude))

    let big = -BigInt(int)
    XCTAssertEqual(big, expected)

    var negated = BigInt(int)
    negated.negate()
    XCTAssertEqual(negated, expected, "\(negated) == \(expected)")
  }