# Floating-Point Operators for Float

Perform arithmetic and bitwise operations or compare values.

## Topics

### Arithmetic

`static func + (Float, Float) -> Float`

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

`static func - (Float, Float) -> Float`

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

`static func * (Float, Float) -> Float`

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

`static func / (Float, Float) -> Float`

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

### Arithmetic with Assignment

`static func += (inout Float, Float)`

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

`static func -= (inout Float, Float)`

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

`static func *= (inout Float, Float)`

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

`static func /= (inout Float, Float)`

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

### Comparison

`static func == (Float, Float) -> Bool`

Returns a Boolean value indicating whether two values are equal.

`static func == (Float, Float) -> Bool`

Returns a Boolean value indicating whether two values are equal.

`static func != (Float, Float) -> Bool`

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

`static func < (Float, Float) -> Bool`

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

`static func < (Float, Float) -> Bool`

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

`static func <= (Float, Float) -> 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 <= (Float, Float) -> 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 > (Float, Float) -> Bool`

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

`static func > (Float, Float) -> Bool`

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

`static func >= (Float, Float) -> 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 >= (Float, Float) -> Bool`

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

### Negation

`static func - (Float) -> Float`

Calculates the additive inverse of a value.

`static func - (Float) -> Float`

Returns the additive inverse of the specified value.

`static func + (Float) -> Float`

Returns the given number unchanged.

### Range Expressions

`static func ..< (Float) -> PartialRangeUpTo<Float>`

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

`static func ... (Float) -> PartialRangeThrough<Float>`

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

`static func ... (Float) -> PartialRangeFrom<Float>`

Returns a partial range extending upward from a lower bound.

### Performing Calculations

`func addingProduct(Float, Float) -> Float`

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

`func addProduct(Float, Float)`

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

`func squareRoot() -> Float`

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

`func formSquareRoot()`

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

`func remainder(dividingBy: Float) -> Float`

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

`func formRemainder(dividingBy: Float)`

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

`func truncatingRemainder(dividingBy: Float) -> Float`

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

`func formTruncatingRemainder(dividingBy: Float)`

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

`func negate()`

Replaces this value with its additive inverse.