Structure

# Int16

A 16-bit signed integer value type.

## Topics

### Type Aliases

`typealias Int16.Stride`

A type that represents the distance between two values.

`typealias Int16.IntegerLiteralType`

A type that represents an integer literal.

`typealias Int16.Magnitude`

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

### Initializers

`init()`

Creates a new value equal to zero.

`init(Float)`

Creates an integer from the given floating-point value, rounding toward zero.

`init(Double)`

Creates an integer from the given floating-point value, rounding toward zero.

`init(Float80)`

Creates an integer from the given floating-point value, rounding toward zero.

`init<T>(T)`

Creates an integer from the given floating-point value, rounding toward zero. Any fractional part of the value passed as `source` is removed.

`init<T>(T)`

Creates a new instance from the given integer.

`init?(String)`

Creates a new integer value from the given string.

`init?<S>(S, radix: Int)`

Creates a new integer value from the given string and radix.

`init(bigEndian: Int16)`

Creates an integer from its big-endian representation, changing the byte order if necessary.

`init(bitPattern: UInt16)`

Creates a new instance with the same memory representation as the given value.

`init<Other>(clamping: Other)`

Creates a new instance with the representable value that’s closest to the given integer.

`init?(exactly: Float)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init?(exactly: Double)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init?(exactly: Float80)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init?<T>(exactly: T)`

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

`init?<T>(exactly: T)`

Creates an integer from the given floating-point value, if it can be represented exactly.

`init(from: Decoder)`

Creates a new instance by decoding from the given decoder.

`init(integerLiteral: Int16)`

Creates an instance initialized to the specified integer value.

`init(littleEndian: Int16)`

Creates an integer from its little-endian representation, changing the byte order if necessary.

`init<T>(truncatingIfNeeded: T)`

Creates a new instance from the bit pattern of the given instance by truncating or sign-extending if needed to fit this type.

### Instance Properties

`var bigEndian: Int16`

The big-endian representation of this integer.

`var bitWidth: Int`

The number of bits in the binary representation of this value.

`var byteSwapped: Int16`

A representation of this integer with the byte order swapped.

`var customMirror: Mirror`

A mirror that reflects the `Int16` instance.

`var customPlaygroundQuickLook: _PlaygroundQuickLook`

A custom playground Quick Look for the `Int16` instance.

Deprecated
`var description: String`

A textual representation of this value.

`var leadingZeroBitCount: Int`

The number of leading zeros in this value’s binary representation.

`var littleEndian: Int16`

The little-endian representation of this integer.

`var magnitude: UInt16`

The magnitude of this value.

`var nonzeroBitCount: Int`

The number of bits equal to 1 in this value’s binary representation.

`var trailingZeroBitCount: Int`

The number of trailing zeros in this value’s binary representation.

`var words: Int16.Words`

A collection containing the words of this value’s binary representation, in order from the least significant to most significant.

### Type Properties

`static var bitWidth: Int`

The number of bits used for the underlying binary representation of values of this type.

`static var isSigned: Bool`

A Boolean value indicating whether this type is a signed integer type.

`static var max: Int16`

The maximum representable integer in this type.

`static var min: Int16`

The minimum representable integer in this type.

### Instance Methods

`func addingReportingOverflow(Int16) -> (partialValue: Int16, overflow: Bool)`

Returns the sum of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.

`func advanced(by: Int) -> Int16`

Returns a value that is offset the specified distance from this value.

`func distance(to: Int16) -> Int`

Returns the distance from this value to the given value, expressed as a stride.

`func dividedReportingOverflow(by: Int16) -> (partialValue: Int16, overflow: Bool)`

Returns the quotient obtained by dividing this value by the given value, along with a Boolean value indicating whether overflow occurred in the operation.

`func dividingFullWidth((high: Int16, low: Int16.Magnitude)) -> (quotient: Int16, remainder: Int16)`

Returns a tuple containing the quotient and remainder of dividing the given value by this value.

`func encode(to: Encoder)`

Encodes this value into the given encoder.

`func hash(into: inout Hasher)`

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

`func isMultiple(of: Int16) -> Bool`

Returns `true` if this value is a multiple of the given value, and `false` otherwise.

`func multipliedFullWidth(by: Int16) -> (high: Int16, low: Int16.Magnitude)`

Returns a tuple containing the high and low parts of the result of multiplying this value by the given value.

`func multipliedReportingOverflow(by: Int16) -> (partialValue: Int16, overflow: Bool)`

Returns the product of this value and the given value, along with a Boolean value indicating whether overflow occurred in the operation.

`func negate()`

Replaces this value with its additive inverse.

`func quotientAndRemainder(dividingBy: Int16) -> (quotient: Int16, remainder: Int16)`

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

`func remainderReportingOverflow(dividingBy: Int16) -> (partialValue: Int16, overflow: Bool)`

Returns the remainder after dividing this value by the given value, along with a Boolean value indicating whether overflow occurred during division.

`func signum() -> Int16`

Returns `-1` if this value is negative and `1` if it’s positive; otherwise, `0`.

`func subtractingReportingOverflow(Int16) -> (partialValue: Int16, overflow: Bool)`

Returns the difference obtained by subtracting the given value from this value, along with a Boolean value indicating whether overflow occurred in the operation.

### Type Methods

`static func random(in: ClosedRange<Int16>) -> Int16`

Returns a random value within the specified range.

`static func random(in: Range<Int16>) -> Int16`

Returns a random value within the specified range.

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

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

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

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

### Operator Functions

`static func != <Other>(Int16, Other) -> Bool`

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

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

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

`static func % (Int16, Int16) -> Int16`

Returns the remainder of dividing the first value by the second.

`static func %= (inout Int16, Int16)`

Divides the first value by the second and stores the remainder in the left-hand-side variable.

`static func & (Int16, Int16) -> Int16`

Returns the result of performing a bitwise AND operation on the two given values.

`static func & (Int16, Int16) -> Int16`

Returns the result of performing a bitwise AND operation on the two given values.

`static func &* (Int16, Int16) -> Int16`

Returns the product of the two given values, wrapping the result in case of any overflow.

`static func &*= (inout Int16, Int16)`

Multiplies two values and stores the result in the left-hand-side variable, wrapping any overflow.

`static func &+ (Int16, Int16) -> Int16`

Returns the sum of the two given values, wrapping the result in case of any overflow.

`static func &+= (inout Int16, Int16)`

Adds two values and stores the result in the left-hand-side variable, wrapping any overflow.

`static func &- (Int16, Int16) -> Int16`

Returns the difference of the two given values, wrapping the result in case of any overflow.

`static func &-= (inout Int16, Int16)`

Subtracts the second value from the first and stores the difference in the left-hand-side variable, wrapping any overflow.

`static func &<< <Other>(Int16, Other) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.

`static func &<< (Int16, Int16) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.

`static func &<< (Int16, Int16) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width.

`static func &<<= <Other>(inout Int16, Other)`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

`static func &<<= (inout Int16, Int16)`

Returns the result of shifting a value’s binary representation the specified number of digits to the left, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

`static func &= (inout Int16, Int16)`

Stores the result of performing a bitwise AND operation on the two given values in the left-hand-side variable.

`static func &>> <Other>(Int16, Other) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.

`static func &>> (Int16, Int16) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.

`static func &>> (Int16, Int16) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width.

`static func &>>= (inout Int16, Int16)`

Calculates the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

`static func &>>= <Other>(inout Int16, Other)`

Calculates the result of shifting a value’s binary representation the specified number of digits to the right, masking the shift amount to the type’s bit width, and stores the result in the left-hand-side variable.

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

Multiplies two values and produces their product.

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

Multiplies two values and stores the result in the left-hand-side variable.

`static func + (Int16) -> Int16`

Returns the given number unchanged.

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

Adds two values and produces their sum.

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

Adds two values and stores the result in the left-hand-side variable.

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

Adds two values and stores the result in the left-hand-side variable.

`static func - (Int16) -> Int16`

Returns the additive inverse of the specified value.

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

Subtracts one value from another and produces their difference.

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

Subtracts the second value from the first and stores the difference in the left-hand-side variable.

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

Subtracts the second value from the first and stores the difference in the left-hand-side variable.

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

Returns a partial range extending upward from a lower bound.

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

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

`static func ... (Int16, Int16) -> ClosedRange<Int16>`

Returns a closed range that contains both of its bounds.

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

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

`static func ..< (Int16, Int16) -> Range<Int16>`

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

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

Returns the quotient of dividing the first value by the second.

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

Divides the first value by the second and stores the quotient in the left-hand-side variable.

`static func < <Other>(Int16, Other) -> Bool`

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

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

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

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

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

`static func << <Other>(Int16, Other) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left.

`static func << <RHS>(Int16, RHS) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the left.

`static func <<= <Other>(inout Int16, Other)`

Stores the result of shifting a value’s binary representation the specified number of digits to the left in the left-hand-side variable.

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

Returns a Boolean value indicating whether the two given values are equal.

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

Returns a Boolean value indicating whether two values are equal.

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

Returns a Boolean value indicating whether two values are equal.

`static func > <Other>(Int16, Other) -> Bool`

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

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

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

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

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

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

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

`static func >= <Other>(Int16, Other) -> 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 >= (Int16, Int16) -> 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 >= (Int16, Int16) -> 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 >= (Int16, Int16) -> 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 >> <Other>(Int16, Other) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right.

`static func >> <RHS>(Int16, RHS) -> Int16`

Returns the result of shifting a value’s binary representation the specified number of digits to the right.

`static func >>= <Other>(inout Int16, Other)`

Stores the result of shifting a value’s binary representation the specified number of digits to the right in the left-hand-side variable.

`static func ^ (Int16, Int16) -> Int16`

Returns the result of performing a bitwise XOR operation on the two given values.

`static func ^ (Int16, Int16) -> Int16`

Returns the result of performing a bitwise XOR operation on the two given values.

`static func ^= (inout Int16, Int16)`

Stores the result of performing a bitwise XOR operation on the two given values in the left-hand-side variable.

`static func | (Int16, Int16) -> Int16`

Returns the result of performing a bitwise OR operation on the two given values.

`static func | (Int16, Int16) -> Int16`

Returns the result of performing a bitwise OR operation on the two given values.

`static func |= (inout Int16, Int16)`

Stores the result of performing a bitwise OR operation on the two given values in the left-hand-side variable.

`static func ~ (Int16) -> Int16`

Returns the inverse of the bits set in the argument.

### Structures

`struct Int16.SIMD16Storage`

Storage for a vector of 16 integers.

`struct Int16.SIMD2Storage`

Storage for a vector of two integers.

`struct Int16.SIMD32Storage`

Storage for a vector of 32 integers.

`struct Int16.SIMD4Storage`

Storage for a vector of four integers.

`struct Int16.SIMD64Storage`

Storage for a vector of 64 integers.

`struct Int16.SIMD8Storage`

Storage for a vector of eight integers.

`struct Int16.Words`

A type that represents the words of this integer.

## Relationships

### Signed Integers

`struct Int8`

An 8-bit signed integer value type.

`struct Int32`

A 32-bit signed integer value type.

`struct Int64`

A 64-bit signed integer value type.