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.

Beta
`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.

Beta
`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.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.