Skip to content

Instantly share code, notes, and snippets.

@dlo
Forked from mattt/NSDecimalNumber.swift
Last active November 13, 2017 10:23
Show Gist options
  • Save dlo/04fa7a7e756ad676a0f73a65bf3b2c3b to your computer and use it in GitHub Desktop.
Save dlo/04fa7a7e756ad676a0f73a65bf3b2c3b to your computer and use it in GitHub Desktop.
NSDecimalNumber Additions for Swift 3 - Updated
import Foundation
public func ==(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> Bool {
return lhs.compare(rhs) == .orderedSame
}
public func <(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> Bool {
return lhs.compare(rhs) == .orderedAscending
}
// MARK: - Arithmetic Operators
public prefix func -(value: NSDecimalNumber) -> NSDecimalNumber {
return value.multiplying(by: NSDecimalNumber(mantissa: 1, exponent: 0, isNegative: true))
}
public func +(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.adding(rhs)
}
public func -(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.subtracting(rhs)
}
public func *(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.multiplying(by: rhs)
}
public func /(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.dividing(by: rhs)
}
public func ^(lhs: NSDecimalNumber, rhs: Int) -> NSDecimalNumber {
return lhs.raising(toPower: rhs)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment