Skip to content

Instantly share code, notes, and snippets.

@vinhnx
Forked from mattt/NSDecimalNumber.swift
Created October 8, 2016 02:02
Show Gist options
  • Save vinhnx/d332df5b28779c1676593a9c67a5eb6b to your computer and use it in GitHub Desktop.
Save vinhnx/d332df5b28779c1676593a9c67a5eb6b to your computer and use it in GitHub Desktop.
NSDecimalNumber Additions for Swift
import Foundation
// MARK: - Comparable
extension NSDecimalNumber: Comparable {}
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.decimalNumberByMultiplyingBy(NSDecimalNumber(mantissa: 1, exponent: 0, isNegative: true))
}
public func +(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.decimalNumberByAdding(rhs)
}
public func -(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.decimalNumberBySubtracting(rhs)
}
public func *(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.decimalNumberByMultiplyingBy(rhs)
}
public func /(lhs: NSDecimalNumber, rhs: NSDecimalNumber) -> NSDecimalNumber {
return lhs.decimalNumberByDividingBy(rhs)
}
public func ^(lhs: NSDecimalNumber, rhs: Int) -> NSDecimalNumber {
return lhs.decimalNumberByRaisingToPower(rhs)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment