Skip to content

Commit a80603f

Browse files
committed
stdlib/Floating point: switch infinity, NaN, quietNaN to properties
Swift SVN r18348
1 parent e7ad745 commit a80603f

5 files changed

+25
-27
lines changed

stdlib/core/FloatingPoint.swift.gyb

+5-5
Original file line numberDiff line numberDiff line change
@@ -181,19 +181,19 @@ extension ${Self} : FloatingPointNumber {
181181
return _toBitPattern() & mask
182182
}
183183

184-
static func infinity() -> ${Self} {
184+
static var infinity: ${Self} {
185185
return _fromBitPattern(${getInfBitPattern(bits)})
186186
}
187187

188-
static func NaN() -> ${Self} {
189-
return quietNaN()
188+
static var NaN: ${Self} {
189+
return quietNaN
190190
}
191191

192-
static func quietNaN() -> ${Self} {
192+
static var quietNaN: ${Self} {
193193
return _fromBitPattern(${getQuietNaNBitPattern(bits)})
194194
}
195195

196-
var isSignMinus: Bool {
196+
var isSignMinus: Bool {
197197
return __getSignBit() == 1
198198
}
199199

stdlib/core/FloatingPointOperations.swift

+6-8
Original file line numberDiff line numberDiff line change
@@ -44,21 +44,19 @@ func ==(lhs: FloatingPointClassification, rhs: FloatingPointClassification) -> B
4444
}
4545
}
4646

47-
4847
protocol FloatingPointNumber {
4948
typealias _BitsType
5049
class func _fromBitPattern(bits: _BitsType) -> Self
5150
func _toBitPattern() -> _BitsType
5251

53-
// FIXME: make these readonly static properties.
54-
55-
/// Returns positive infinity.
56-
class func infinity() -> Self
52+
/// The positive infinity.
53+
class var infinity: Self { get }
5754

58-
/// Returns a quiet NaN.
59-
class func NaN() -> Self
55+
/// A quiet NaN.
56+
class var NaN: Self { get }
6057

61-
class func quietNaN() -> Self
58+
/// A quiet NaN.
59+
class var quietNaN: Self { get }
6260

6361
/// @{
6462
/// IEEE 754-2008 Non-computational operations.

test/stdlib/Float.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -168,12 +168,12 @@ func checkInf(inf: TestFloat) {
168168
}
169169

170170
func testInf() {
171-
var stdlibPlusInf = TestFloat.infinity()
171+
var stdlibPlusInf = TestFloat.infinity
172172
checkInf(stdlibPlusInf)
173173
_precondition(!stdlibPlusInf.isSignMinus)
174174
_precondition(stdlibPlusInf.floatingPointClass == .PositiveInfinity)
175175

176-
var stdlibMinusInf = -TestFloat.infinity()
176+
var stdlibMinusInf = -TestFloat.infinity
177177
checkInf(stdlibMinusInf)
178178
_precondition(stdlibMinusInf.isSignMinus)
179179
_precondition(stdlibMinusInf.floatingPointClass == .NegativeInfinity)
@@ -220,11 +220,11 @@ func checkQNaN(qnan: TestFloat) {
220220
}
221221

222222
func testNaN() {
223-
var stdlibDefaultNaN = TestFloat.NaN()
223+
var stdlibDefaultNaN = TestFloat.NaN
224224
checkQNaN(stdlibDefaultNaN)
225225
_precondition(stdlibDefaultNaN != stdlibDefaultNaN)
226226

227-
var stdlibQNaN = TestFloat.quietNaN()
227+
var stdlibQNaN = TestFloat.quietNaN
228228
checkQNaN(stdlibQNaN)
229229
_precondition(stdlibQNaN != stdlibQNaN)
230230

test/stdlib/FloatingPointConversionOverflow.swift

+4-4
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ import Darwin
4141
// Interpret the command line arguments.
4242
let arg = Process.arguments[1]
4343

44-
let pd = +Double.infinity()
45-
let nd = -Double.infinity()
46-
let pf = +Float.infinity()
47-
let nf = -Float.infinity()
44+
let pd = +Double.infinity
45+
let nd = -Double.infinity
46+
let pf = +Float.infinity
47+
let nf = -Float.infinity
4848

4949
println("GOOD") // CHECK: GOOD
5050

test/stdlib/Print.swift

+6-6
Original file line numberDiff line numberDiff line change
@@ -213,18 +213,18 @@ test_IntegerPrinting()
213213
// CHECK: test_IntegerPrinting done
214214

215215
func test_FloatingPointPrinting() {
216-
printedIs(Float.infinity(), "inf")
217-
printedIs(-Float.infinity(), "-inf")
218-
printedIs(Float.NaN(), "nan")
216+
printedIs(Float.infinity, "inf")
217+
printedIs(-Float.infinity, "-inf")
218+
printedIs(Float.NaN, "nan")
219219
printedIs(Float(0.0), "0.0")
220220
printedIs(Float(1.0), "1.0")
221221
printedIs(Float(-1.0), "-1.0")
222222
printedIs(Float(100.125), "100.125")
223223
printedIs(Float(-100.125), "-100.125")
224224

225-
printedIs(Double.infinity(), "inf")
226-
printedIs(-Double.infinity(), "-inf")
227-
printedIs(Double.NaN(), "nan")
225+
printedIs(Double.infinity, "inf")
226+
printedIs(-Double.infinity, "-inf")
227+
printedIs(Double.NaN, "nan")
228228
printedIs(Double(0.0), "0.0")
229229
printedIs(Double(1.0), "1.0")
230230
printedIs(Double(-1.0), "-1.0")

0 commit comments

Comments
 (0)