Appleのドキュメントによると、Swiftはプリプロセッサディレクティブをサポートしていません。C/ Objective-cでは、 "INFINITY"定義は一部のチェックに非常に役立ちます。もう少し少ないですか?
ビルトインインフィニティとチェック関数がすでにあります。また、直接<と比較することもできます。
var infinity = Double.infinity
var isInfinite = infinity.isInfinite
var someDouble = 234432.0
if someDouble < infinity {
println("Less than")
} else {
println("Small than")
}
// And the answer is Less than.
整数値の場合は、Int.max
を使用する必要があります。
var highestNumber = Int.max
//if you need negative infinity
var lowestNumber = Int.min
Int.max
の代わりにNSIntegerMax
を使用することも、-1 * NSIntegerMax
の代わりにInt.min
を使用することも同等ですが、見栄えがよくありません。 (@Charlesismに感謝)
Float値の場合、
import UIKit
typealias Space = Float
var MaxSpaceSize = Space.infinity
var space:Space = 1100
space = space * 2
たとえば、finite
を試すことができます。
let x:CDouble = 0.1
finite(x) // which return a CInt