mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[python] Make python lint pass (#4296)
This commit is contained in:
committed by
GitHub
parent
46858eb2ee
commit
751e8c51ac
@@ -1,4 +1,4 @@
|
||||
# ===--- SwiftFloatingPointTypes.py ----------------------------*- coding: utf-8 -*-===//
|
||||
# ===--- SwiftFloatingPointTypes.py ------------------*- coding: utf-8 -*-===//
|
||||
#
|
||||
# This source file is part of the Swift.org open source project
|
||||
#
|
||||
@@ -8,21 +8,25 @@
|
||||
# See http://swift.org/LICENSE.txt for license information
|
||||
# See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
||||
|
||||
|
||||
# returns (lower, upper) exclusive bounds for the integer values
|
||||
# that can be stored into a float
|
||||
def getFtoIBounds(floatBits, intBits, signed):
|
||||
sigBits = floating_point_bits_to_type()[floatBits].explicit_significand_bits
|
||||
if not signed:
|
||||
return (-1, 1 << intBits)
|
||||
upper = 1 << (intBits - 1)
|
||||
if intBits <= sigBits:
|
||||
return (-upper - 1, upper)
|
||||
ulp = 1 << (intBits - sigBits)
|
||||
return (-upper - ulp, upper)
|
||||
floatTy = floating_point_bits_to_type()[floatBits]
|
||||
sigBits = floatTy.explicit_significand_bits
|
||||
if not signed:
|
||||
return (-1, 1 << intBits)
|
||||
upper = 1 << (intBits - 1)
|
||||
if intBits <= sigBits:
|
||||
return (-upper - 1, upper)
|
||||
ulp = 1 << (intBits - sigBits)
|
||||
return (-upper - ulp, upper)
|
||||
|
||||
|
||||
class SwiftFloatType(object):
|
||||
|
||||
def __init__(self, name, cFuncSuffix, significandBits, exponentBits, significandSize, totalBits):
|
||||
|
||||
def __init__(self, name, cFuncSuffix, significandBits, exponentBits,
|
||||
significandSize, totalBits):
|
||||
self.stdlib_name = name
|
||||
self.cFuncSuffix = cFuncSuffix
|
||||
self.significand_bits = significandBits
|
||||
@@ -30,19 +34,26 @@ class SwiftFloatType(object):
|
||||
self.exponent_bits = exponentBits
|
||||
self.explicit_significand_bits = significandBits + 1
|
||||
self.bits = totalBits
|
||||
|
||||
|
||||
|
||||
def floating_point_bits_to_type():
|
||||
return {
|
||||
32: SwiftFloatType(name="Float", cFuncSuffix="f", significandBits=23, exponentBits=8, significandSize=32, totalBits=32),
|
||||
64: SwiftFloatType(name="Double", cFuncSuffix="", significandBits=52, exponentBits=11, significandSize=64, totalBits=64),
|
||||
80: SwiftFloatType(name="Float80", cFuncSuffix="l", significandBits=63, exponentBits=15, significandSize=64, totalBits=80),
|
||||
32: SwiftFloatType(name="Float", cFuncSuffix="f", significandBits=23,
|
||||
exponentBits=8, significandSize=32, totalBits=32),
|
||||
64: SwiftFloatType(name="Double", cFuncSuffix="", significandBits=52,
|
||||
exponentBits=11, significandSize=64, totalBits=64),
|
||||
80: SwiftFloatType(name="Float80", cFuncSuffix="l", significandBits=63,
|
||||
exponentBits=15, significandSize=64, totalBits=80),
|
||||
}
|
||||
|
||||
|
||||
def all_floating_point_types():
|
||||
return floating_point_bits_to_type().values()
|
||||
|
||||
# // Bit counts for all floating point types.
|
||||
# // 80-bit floating point types are only permitted on x86 architectures. This
|
||||
# // restriction is handled via #if's in the generated code.
|
||||
|
||||
# Bit counts for all floating point types.
|
||||
#
|
||||
# 80-bit floating point types are only permitted on x86 architectures. This
|
||||
# restriction is handled via #if's in the generated code.
|
||||
def all_floating_point_bits():
|
||||
return floating_point_bits_to_type().keys()
|
||||
|
||||
Reference in New Issue
Block a user