Structure

Float80

An extended-precision, floating-point value type.

Declaration

@frozen struct Float80

Topics

Type Aliases

typealias Float80.Exponent

A type that can represent any written exponent.

typealias Float80.FloatLiteralType

A type that represents a floating-point literal.

typealias Float80.IntegerLiteralType

A type that represents an integer literal.

typealias Float80.RawExponent

A type that represents the encoded exponent of a value.

typealias Float80.Stride

A type that represents the distance between two values.

typealias Float80.Magnitude

A type that can represent the absolute value of any possible value of this type.

typealias Float80.RawSignificand

A type that represents the encoded significand of a value.

Initializers

init()

Creates a value initialized to zero.

init(Float80)

Creates a new instance initialized to the given value.

init(Double)

Creates a new instance that approximates the given value.

init(Int)

Creates a new value, rounded to the closest possible representation.

init(Float)

Creates a new instance that approximates the given value.

init?<S>(S)

Creates a new instance from the given string.

init<Source>(Source)

Creates a new value, rounded to the closest possible representation.

init<Source>(Source)

Creates a new instance from the given value, rounded to the closest possible representation.

init<Source>(Source)

Creates a new value, rounded to the closest possible representation.

init?(exactly: Float)

Creates a new instance initialized to the given value, if it can be represented without rounding.

init?(exactly: Float80)

Creates a new instance initialized to the given value, if it can be represented without rounding.

init?(exactly: Double)

Creates a new instance initialized to the given value, if it can be represented without rounding.

init?<Source>(exactly: Source)

Creates a new instance from the given value, if it can be represented exactly.

init?<Source>(exactly: Source)

Creates a new value, if the given integer can be represented exactly.

init(floatLiteral: Float80)

Creates a new value from the given floating-point literal.

init(integerLiteral: Int64)

Creates a new value from the given integer literal.

init(integerLiteral: Float80)

Creates an instance initialized to the specified integer value.

init(nan: Float80.RawSignificand, signaling: Bool)

Creates a NaN (“not a number”) value with the specified payload.

init(sign: FloatingPointSign, exponent: Int, significand: Float80)

Creates a new value from the given sign, exponent, and significand.

init(sign: FloatingPointSign, exponentBitPattern: UInt, significandBitPattern: UInt64)

Creates a new instance from the specified sign and bit patterns.

init(signOf: Float80, magnitudeOf: Float80)

Creates a new floating-point value using the sign of one value and the magnitude of another.

Instance Properties

var binade: Float80

The floating-point value with the same sign and exponent as this value, but with a significand of 1.0.

var customMirror: Mirror

A mirror that reflects the Float80 instance.

var debugDescription: String

A textual representation of the value, suitable for debugging.

var description: String

A textual representation of the value.

var exponent: Int

The exponent of the floating-point value.

var exponentBitPattern: UInt

The raw encoding of the value’s exponent field.

var hashValue: Int

The hash value.

var isCanonical: Bool

A Boolean value indicating whether the instance’s representation is in the canonical form.

var isFinite: Bool

A Boolean value indicating whether this instance is finite.

var isInfinite: Bool

A Boolean value indicating whether the instance is infinite.

var isNaN: Bool

A Boolean value indicating whether the instance is NaN (“not a number”).

var isNormal: Bool

A Boolean value indicating whether this instance is normal.

var isSignalingNaN: Bool

A Boolean value indicating whether the instance is a signaling NaN.

var isSubnormal: Bool

A Boolean value indicating whether the instance is subnormal.

var isZero: Bool

A Boolean value indicating whether the instance is equal to zero.

var magnitude: Float80

The magnitude of this value.

var nextDown: Float80

The greatest representable value that compares less than this value.

var nextUp: Float80

The least representable value that compares greater than this value.

var sign: FloatingPointSign

The sign of the floating-point value.

var significand: Float80

The significand of the floating-point value.

var significandBitPattern: UInt64

The raw encoding of the value’s significand field.

var significandWidth: Int

The number of bits required to represent the value’s significand.

var ulp: Float80

The unit in the last place of this value.

Type Properties

static var exponentBitCount: Int

The number of bits used to represent the type’s exponent.

static var greatestFiniteMagnitude: Float80

The greatest finite number representable by this type.

static var leastNormalMagnitude: Float80

The least positive normal number.

static var nan: Float80

A quiet NaN (“not a number”).

static var pi: Float80

The mathematical constant pi.

static var radix: Int

The radix, or base of exponentiation, for this floating-point type.

static var signalingNaN: Float80

A signaling NaN (“not a number”).

static var significandBitCount: Int

The available number of fractional significand bits.

static var ulpOfOne: Float80

The unit in the last place of 1.0.

Instance Methods

func addProduct(Float80, Float80)

Adds the product of the two given values to this value in place, computed without intermediate rounding.

func addingProduct(Float80, Float80) -> Float80

Returns the result of adding the product of the two given values to this value, computed without intermediate rounding.

func advanced(by: Float80) -> Float80

Returns a new value advanced by the given distance.

func distance(to: Float80) -> Float80

Returns the distance from this value to the specified value.

func formRemainder(dividingBy: Float80)

Replaces this value with the remainder of itself divided by the given value.

func formSquareRoot()

Replaces this value with its square root, rounded to a representable value.

func formTruncatingRemainder(dividingBy: Float80)

Replaces this value with the remainder of itself divided by the given value using truncating division.

func hash(into: inout Hasher)

Hashes the essential components of this value by feeding them into the given hasher.

func isEqual(to: Float80) -> Bool

Returns a Boolean value indicating whether this instance is equal to the given value.

func isLess(than: Float80) -> Bool

Returns a Boolean value indicating whether this instance is less than the given value.

func isLessThanOrEqualTo(Float80) -> Bool

Returns a Boolean value indicating whether this instance is less than or equal to the given value.

func isTotallyOrdered(belowOrEqualTo: Float80) -> Bool

Returns a Boolean value indicating whether this instance should precede or tie positions with the given value in an ascending sort.

func negate()

Replaces this value with its additive inverse.

func remainder(dividingBy: Float80) -> Float80

Returns the remainder of this value divided by the given value.

func round()

Rounds this value to an integral value using “schoolbook rounding.”

func round(FloatingPointRoundingRule)

Rounds the value to an integral value using the specified rounding rule.

func rounded() -> Float80

Returns this value rounded to an integral value using “schoolbook rounding.”

func rounded(FloatingPointRoundingRule) -> Float80

Returns this value rounded to an integral value using the specified rounding rule.

func squareRoot() -> Float80

Returns the square root of the value, rounded to a representable value.

func truncatingRemainder(dividingBy: Float80) -> Float80

Returns the remainder of this value divided by the given value using truncating division.

func write<Target>(to: inout Target)

Writes a textual representation of this instance into the given output stream.

Type Methods

static func maximum(Float80, Float80) -> Float80

Returns the greater of the two given values.

static func maximumMagnitude(Float80, Float80) -> Float80

Returns the value with greater magnitude.

static func minimum(Float80, Float80) -> Float80

Returns the lesser of the two given values.

static func minimumMagnitude(Float80, Float80) -> Float80

Returns the value with lesser magnitude.

static func random(in: ClosedRange<Float80>) -> Float80

Returns a random value within the specified range.

static func random(in: Range<Float80>) -> Float80

Returns a random value within the specified range.

static func random<T>(in: ClosedRange<Float80>, using: inout T) -> Float80

Returns a random value within the specified range, using the given generator as a source for randomness.

static func random<T>(in: Range<Float80>, using: inout T) -> Float80

Returns a random value within the specified range, using the given generator as a source for randomness.

Operator Functions

static func != (Float80, Float80) -> Bool

Returns a Boolean value indicating whether two values are not equal.

static func * (Float80, Float80) -> Float80

Multiplies two values and produces their product, rounding to a representable value.

static func *= (inout Float80, Float80)

Multiplies two values and stores the result in the left-hand-side variable, rounding to a representable value.

static func + (Float80) -> Float80

Returns the given number unchanged.

static func + (Float80, Float80) -> Float80

Adds two values and produces their sum, rounded to a representable value.

static func += (inout Float80, Float80)

Adds two values and stores the result in the left-hand-side variable, rounded to a representable value.

static func - (Float80) -> Float80

Returns the additive inverse of the specified value.

static func - (Float80) -> Float80

Calculates the additive inverse of a value.

static func - (Float80, Float80) -> Float80

Subtracts one value from another and produces their difference, rounded to a representable value.

static func -= (inout Float80, Float80)

Subtracts the second value from the first and stores the difference in the left-hand-side variable, rounding to a representable value.

static func ... (Float80) -> PartialRangeFrom<Float80>

Returns a partial range extending upward from a lower bound.

static func ... (Float80) -> PartialRangeThrough<Float80>

Returns a partial range up to, and including, its upper bound.

static func ... (Float80, Float80) -> ClosedRange<Float80>

Returns a closed range that contains both of its bounds.

static func ..< (Float80) -> PartialRangeUpTo<Float80>

Returns a partial range up to, but not including, its upper bound.

static func ..< (Float80, Float80) -> Range<Float80>

Returns a half-open range that contains its lower bound but not its upper bound.

static func / (Float80, Float80) -> Float80

Returns the quotient of dividing the first value by the second, rounded to a representable value.

static func /= (inout Float80, Float80)

Divides the first value by the second and stores the quotient in the left-hand-side variable, rounding to a representable value.

static func < (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

static func < (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is less than that of the second argument.

static func <= (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

static func <= (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is less than or equal to that of the second argument.

static func == (Float80, Float80) -> Bool

Returns a Boolean value indicating whether two values are equal.

static func == (Float80, Float80) -> Bool

Returns a Boolean value indicating whether two values are equal.

static func > (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.

static func > (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is greater than that of the second argument.

static func >= (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.

static func >= (Float80, Float80) -> Bool

Returns a Boolean value indicating whether the value of the first argument is greater than or equal to that of the second argument.