Structure

Int32

A 32-bit signed integer value type.

Declaration

@frozen struct Int32

Topics

Type Aliases

typealias Int32.Stride

A type that represents the distance between two values.

typealias Int32.IntegerLiteralType

A type that represents an integer literal.

typealias Int32.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(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(Float)

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(NSNumber)Deprecated
init?<S>(S, radix: Int)

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

init(bigEndian: Int32)

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

init(bitPattern: UInt32)

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: Double)

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

init?(exactly: Float)

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 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(from: Decoder)

Creates a new instance by decoding from the given decoder.

init(integerLiteral: Int32)

Creates an instance initialized to the specified integer value.

init(littleEndian: Int32)

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: Int32

The big-endian representation of this integer.

var bitWidth: Int

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

var byteSwapped: Int32

A representation of this integer with the byte order swapped.

var customMirror: Mirror

A mirror that reflects the Int32 instance.

var customPlaygroundQuickLook: _PlaygroundQuickLook

A custom playground Quick Look for the Int32 instance.

Deprecated
var description: String

A textual representation of this value.

var hashValue: Int

The hash value.

var leadingZeroBitCount: Int

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

var littleEndian: Int32

The little-endian representation of this integer.

var magnitude: UInt32

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: Int32.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: Int32

The maximum representable integer in this type.

static var min: Int32

The minimum representable integer in this type.

static var zero: Int32

The zero value.

Instance Methods

func addingReportingOverflow(Int32) -> (partialValue: Int32, 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) -> Int32

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

func distance(to: Int32) -> Int

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

func dividedReportingOverflow(by: Int32) -> (partialValue: Int32, 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: Int32, low: Int32.Magnitude)) -> (quotient: Int32, remainder: Int32)

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: Int32) -> Bool

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

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

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

func multipliedReportingOverflow(by: Int32) -> (partialValue: Int32, 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: Int32) -> (quotient: Int32, remainder: Int32)

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

func remainderReportingOverflow(dividingBy: Int32) -> (partialValue: Int32, 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() -> Int32

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

func subtractingReportingOverflow(Int32) -> (partialValue: Int32, 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<Int32>) -> Int32

Returns a random value within the specified range.

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

Returns a random value within the specified range.

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

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

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

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

Operator Functions

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

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

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

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

static func % (Int32, Int32) -> Int32

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

static func %= (inout Int32, Int32)

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

static func & (Int32, Int32) -> Int32

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

static func & (Int32, Int32) -> Int32

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

static func &* (Int32, Int32) -> Int32

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

static func &*= (inout Int32, Int32)

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

static func &+ (Int32, Int32) -> Int32

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

static func &+= (inout Int32, Int32)

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

static func &- (Int32, Int32) -> Int32

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

static func &-= (inout Int32, Int32)

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

static func &<< <Other>(Int32, Other) -> Int32

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 &<< (Int32, Int32) -> Int32

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 &<< (Int32, Int32) -> Int32

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 Int32, 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 Int32, Int32)

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 Int32, Int32)

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

static func &>> <Other>(Int32, Other) -> Int32

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 &>> (Int32, Int32) -> Int32

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 &>> (Int32, Int32) -> Int32

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 Int32, Int32)

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 Int32, 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 * (Int32, Int32) -> Int32

Multiplies two values and produces their product.

static func *= (inout Int32, Int32)

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

static func + (Int32) -> Int32

Returns the given number unchanged.

static func + (Int32, Int32) -> Int32

Adds two values and produces their sum.

static func += (inout Int32, Int32)

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

static func - (Int32) -> Int32

Returns the additive inverse of the specified value.

static func - (Int32, Int32) -> Int32

Subtracts one value from another and produces their difference.

static func -= (inout Int32, Int32)

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

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

Returns a partial range extending upward from a lower bound.

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

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

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

Returns a closed range that contains both of its bounds.

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

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

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

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

static func / (Int32, Int32) -> Int32

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

static func /= (inout Int32, Int32)

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

static func < <Other>(Int32, Other) -> Bool

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

static func < (Int32, Int32) -> Bool

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

static func < (Int32, Int32) -> Bool

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

static func << <Other>(Int32, Other) -> Int32

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

static func << <RHS>(Int32, RHS) -> Int32

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

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

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

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

Returns a Boolean value indicating whether two values are equal.

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

Returns a Boolean value indicating whether two values are equal.

static func > <Other>(Int32, Other) -> Bool

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

static func > (Int32, Int32) -> Bool

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

static func > (Int32, Int32) -> Bool

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

static func > (Int32, Int32) -> Bool

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

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

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

static func >> <RHS>(Int32, RHS) -> Int32

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

static func >>= <Other>(inout Int32, 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 ^ (Int32, Int32) -> Int32

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

static func ^ (Int32, Int32) -> Int32

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

static func ^= (inout Int32, Int32)

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

static func | (Int32, Int32) -> Int32

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

static func | (Int32, Int32) -> Int32

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

static func |= (inout Int32, Int32)

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

static func ~ (Int32) -> Int32

Returns the inverse of the bits set in the argument.

Structures

struct Int32.SIMD16Storage

Storage for a vector of 16 integers.

struct Int32.SIMD2Storage

Storage for a vector of two integers.

struct Int32.SIMD32Storage

Storage for a vector of 32 integers.

struct Int32.SIMD4Storage

Storage for a vector of four integers.

struct Int32.SIMD64Storage

Storage for a vector of 64 integers.

struct Int32.SIMD8Storage

Storage for a vector of eight integers.

struct Int32.Words

A type that represents the words of this integer.

See Also

Signed Integers

struct Int8

An 8-bit signed integer value type.

struct Int16

A 16-bit signed integer value type.

struct Int64

A 64-bit signed integer value type.